Updated to 69.0.3437.100

This commit is contained in:
Алзим 2018-09-22 00:11:52 +03:00
parent 3d14435f53
commit f11a1a7f9c
13 changed files with 660 additions and 236 deletions

View file

@ -1,5 +1,5 @@
sources:
chromium-68.0.3440.106.tar.xz: a52bdc6623286a7681939096cf57ca1aafa29aec
chromium-69.0.3497.100.tar.xz: 79c8fb089e8f344dce40c6495a006a172d4fc4ac
depot_tools.tar.xz: 082b7f9a4dfa7eb03900755b4866aef2d73543a5
icons.tar.bz2: a835954af164bf38f8ea4ea80608839bed7800a3
new-system-icons.tar.xz: 89339b8b3b05359a8745ed7968fe148902a2fa28

View file

@ -28,18 +28,18 @@ diff -up chromium-60.0.3112.40/third_party/pdfium/BUILD.gn.pdfium-system-libtiff
diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp
--- chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200
+++ chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiffmodule.cpp 2017-06-24 00:05:50.524671846 +0200
@@ -17,9 +17,7 @@
@@ -19,9 +19,7 @@
#include "third_party/base/logging.h"
#include "third_party/base/ptr_util.h"
-extern "C" {
-#include "third_party/libtiff/tiffiop.h"
-}
-} // extern C
+#include <tiffio.h>
class CTiffContext : public CCodec_TiffModule::Context {
public:
@@ -176,7 +174,7 @@
namespace {
@@ -188,7 +186,7 @@
tiff_write, tiff_seek, tiff_close, tiff_get_size,
tiff_map, tiff_unmap);
if (tif) {
@ -51,10 +51,10 @@ diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/ccodec_tiff
diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h
--- chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h.pdfium-system-libtiff-libpng 2017-06-24 00:05:50.526671809 +0200
+++ chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/cjpx_decoder.h 2017-06-25 12:29:14.039984794 +0200
@@ -12,7 +12,7 @@
@@ -13,7 +13,7 @@
#include "core/fxcodec/codec/codec_int.h"
#include "core/fxcrt/unowned_ptr.h"
#include "third_party/base/span.h"
-#include "third_party/libopenjpeg20/openjpeg.h"
+#include <openjpeg.h>
@ -90,15 +90,15 @@ diff -up chromium-60.0.3112.40/third_party/pdfium/core/fxcodec/codec/fx_codec_jp
namespace {
@@ -484,7 +488,7 @@
m_Image = nullptr;
@@ -514,7 +518,7 @@
return false;
}
m_Image = pTempImage;
- m_Image->pdfium_use_colorspace = !!m_ColorSpace;
+// m_Image->pdfium_use_colorspace = !!m_ColorSpace;
if (!m_Parameters.nb_tile_to_decode) {
if (!opj_set_decode_area(m_Codec, m_Image, m_Parameters.DA_x0,
if (!opj_set_decode_area(m_Codec.Get(), m_Image.Get(), m_Parameters.DA_x0,
diff -up chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn.pdfium-system-libtiff-libpng chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn
--- chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn.pdfium-system-libtiff-libpng 2017-06-22 00:04:10.000000000 +0200
+++ chromium-60.0.3112.40/third_party/pdfium/third_party/BUILD.gn 2017-06-24 22:25:18.901585830 +0200

View file

@ -80,7 +80,7 @@ diff -up chromium-62.0.3192.0/media/base/decode_capabilities.cc.extra-media chro
diff -up chromium-62.0.3192.0/media/base/mime_util_internal.cc.extra-media chromium-62.0.3192.0/media/base/mime_util_internal.cc
--- chromium-62.0.3192.0/media/base/mime_util_internal.cc.extra-media 2017-08-22 21:04:45.000000000 +0200
+++ chromium-62.0.3192.0/media/base/mime_util_internal.cc 2017-08-30 15:44:46.519076991 +0200
@@ -74,6 +74,10 @@ const base::flat_map<std::string, MimeUt
@@ -74,6 +74,10 @@
{"vorbis", MimeUtil::VORBIS}, {"opus", MimeUtil::OPUS},
{"flac", MimeUtil::FLAC}, {"vp8", MimeUtil::VP8},
{"vp8.0", MimeUtil::VP8}, {"theora", MimeUtil::THEORA},
@ -88,10 +88,10 @@ diff -up chromium-62.0.3192.0/media/base/mime_util_internal.cc.extra-media chrom
+ {"mp2", MimeUtil::MP2},
+ {"mp4v.20.8", MimeUtil::MPEG4_SP},
+ {"mp4v.20.240", MimeUtil::MPEG4_ASP},
// TODO(dalecurtis): This is not the correct final string. Fix before enabling
// by default. http://crbug.com/784607
#if BUILDFLAG(ENABLE_AV1_DECODER)
@@ -177,6 +181,9 @@ VideoCodec MimeUtilToVideoCodec(MimeUtil
},
base::KEEP_FIRST_OF_DUPES);
@@ -172,6 +176,9 @@
return kCodecTheora;
case MimeUtil::DOLBY_VISION:
return kCodecDolbyVision;
@ -101,7 +101,7 @@ diff -up chromium-62.0.3192.0/media/base/mime_util_internal.cc.extra-media chrom
default:
break;
}
@@ -271,6 +278,32 @@ void MimeUtil::AddSupportedMediaFormats(
@@ -266,6 +273,32 @@
CodecSet ogg_codecs(ogg_audio_codecs);
ogg_codecs.insert(ogg_video_codecs.begin(), ogg_video_codecs.end());
@ -134,7 +134,7 @@ diff -up chromium-62.0.3192.0/media/base/mime_util_internal.cc.extra-media chrom
const CodecSet webm_audio_codecs{OPUS, VORBIS};
CodecSet webm_video_codecs{VP8, VP9};
#if BUILDFLAG(ENABLE_AV1_DECODER)
@@ -309,6 +342,8 @@ void MimeUtil::AddSupportedMediaFormats(
@@ -304,6 +337,8 @@
#endif // BUILDFLAG(ENABLE_MPEG_H_AUDIO_DEMUXING)
mp4_video_codecs.emplace(H264);
@ -143,7 +143,7 @@ diff -up chromium-62.0.3192.0/media/base/mime_util_internal.cc.extra-media chrom
#if BUILDFLAG(ENABLE_HEVC_DEMUXING)
mp4_video_codecs.emplace(HEVC);
#endif // BUILDFLAG(ENABLE_HEVC_DEMUXING)
@@ -346,12 +381,16 @@ void MimeUtil::AddSupportedMediaFormats(
@@ -341,12 +376,16 @@
DCHECK(!mp4_video_codecs.empty());
AddContainerWithCodecs("video/mp4", mp4_codecs, false);
@ -160,7 +160,7 @@ diff -up chromium-62.0.3192.0/media/base/mime_util_internal.cc.extra-media chrom
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
// TODO(ddorwin): Exactly which codecs should be supported?
@@ -975,10 +1014,14 @@ bool MimeUtil::IsCodecProprietary(Codec
@@ -968,10 +1007,14 @@
case H264:
case HEVC:
case DOLBY_VISION:

View file

@ -0,0 +1,17 @@
diff -up chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix chromium-60.0.3112.78/third_party/libpng/pnglibconf.h
--- chromium-60.0.3112.78/third_party/libpng/pnglibconf.h.noprefix 2017-08-01 14:42:54.321986758 -0400
+++ chromium-60.0.3112.78/third_party/libpng/pnglibconf.h 2017-08-01 14:43:01.493845832 -0400
@@ -225,13 +225,4 @@
#define PNG_USER_CHUNK_MALLOC_MAX 4000000L
/* end of chromium settings */
-/* chromium prefixing */
-/*
- * This is necessary to build multiple copies of libpng. We need this while pdfium builds
- * its own copy of libpng.
- */
-#define PNG_PREFIX
-#include "pngprefix.h"
-/* end of chromium prefixing */
-
#endif /* PNGLCONF_H */

View file

@ -1,11 +0,0 @@
--- chromium-68.0.3440.7/third_party/blink/renderer/platform/image-encoders/image_encoder.h.system-libjpeg 2018-05-31 12:46:15.000000000 +0200
+++ chromium-68.0.3440.7/third_party/blink/renderer/platform/image-encoders/image_encoder.h 2018-06-02 21:16:02.569351181 +0200
@@ -7,7 +7,7 @@
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
-#include "third_party/libjpeg/jpeglib.h" // for JPEG_MAX_DIMENSION
+#include "jpeglib.h" // for JPEG_MAX_DIMENSION
#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION
#include "third_party/skia/include/core/SkStream.h"
#include "third_party/skia/include/encode/SkJpegEncoder.h"

View file

@ -0,0 +1,223 @@
commit 578ae487fd88397ea292cf66dca6f0d3cdf68292
Author: Adenilson Cavalcanti <adenilson.cavalcanti@arm.com>
Date: Tue Mar 7 10:48:54 2017 -0800
Remove exported symbols redefinition
By using the same zlib in pdfium, we no longer have the
need to redefine the exported symbols.
This will speed up the process of syncing with upstream zlib.
diff --git a/third_party/zlib/BUILD.gn b/third_party/zlib/BUILD.gn
index 5086563..3ff08df 100644
--- a/third_party/zlib/BUILD.gn
+++ b/third_party/zlib/BUILD.gn
@@ -60,7 +60,6 @@ static_library("zlib") {
"inflate.h",
"inftrees.c",
"inftrees.h",
- "names.h",
"trees.c",
"trees.h",
"uncompr.c",
--- chromium-68.0.3440.106/third_party/zlib/names.h-del 2018-08-08 22:11:58.000000000 +0300
+++ chromium-68.0.3440.106/third_party/zlib/names.h 1970-01-01 03:00:00.000000000 +0300
@@ -1,183 +0,0 @@
-/* Copyright 2017 The Chromium Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#ifndef THIRD_PARTY_ZLIB_NAMES_H_
-#define THIRD_PARTY_ZLIB_NAMES_H_
-
-/* Rename all zlib names with a Cr_z_ prefix. This is based on the Z_PREFIX
- * option from zconf.h, but with a custom prefix. Where zconf.h would rename
- * both a macro and its underscore-suffixed internal implementation (such as
- * deflateInit2 and deflateInit2_), only the implementation is renamed here.
- * The Byte type is also omitted.
- *
- * To generate this list, run
- * sed -rn -e 's/^# *define +([^ ]+) +(z_[^ ]+)$/#define \1 Cr_\2/p' zconf.h
- * (use -E instead of -r on macOS).
- *
- * gzread is also addressed by modifications in gzread.c and zlib.h. */
-
-#define Z_CR_PREFIX_SET
-
-#define _dist_code Cr_z__dist_code
-#define _length_code Cr_z__length_code
-#define _tr_align Cr_z__tr_align
-#define _tr_flush_bits Cr_z__tr_flush_bits
-#define _tr_flush_block Cr_z__tr_flush_block
-#define _tr_init Cr_z__tr_init
-#define _tr_stored_block Cr_z__tr_stored_block
-#define _tr_tally Cr_z__tr_tally
-#define adler32 Cr_z_adler32
-#define adler32_combine Cr_z_adler32_combine
-#define adler32_combine64 Cr_z_adler32_combine64
-#define adler32_z Cr_z_adler32_z
-#define compress Cr_z_compress
-#define compress2 Cr_z_compress2
-#define compressBound Cr_z_compressBound
-#define crc32 Cr_z_crc32
-#define crc32_combine Cr_z_crc32_combine
-#define crc32_combine64 Cr_z_crc32_combine64
-#define crc32_z Cr_z_crc32_z
-#define deflate Cr_z_deflate
-#define deflateBound Cr_z_deflateBound
-#define deflateCopy Cr_z_deflateCopy
-#define deflateEnd Cr_z_deflateEnd
-#define deflateGetDictionary Cr_z_deflateGetDictionary
-/* #undef deflateInit */
-/* #undef deflateInit2 */
-#define deflateInit2_ Cr_z_deflateInit2_
-#define deflateInit_ Cr_z_deflateInit_
-#define deflateParams Cr_z_deflateParams
-#define deflatePending Cr_z_deflatePending
-#define deflatePrime Cr_z_deflatePrime
-#define deflateReset Cr_z_deflateReset
-#define deflateResetKeep Cr_z_deflateResetKeep
-#define deflateSetDictionary Cr_z_deflateSetDictionary
-#define deflateSetHeader Cr_z_deflateSetHeader
-#define deflateTune Cr_z_deflateTune
-#define deflate_copyright Cr_z_deflate_copyright
-#define get_crc_table Cr_z_get_crc_table
-#define gz_error Cr_z_gz_error
-#define gz_intmax Cr_z_gz_intmax
-#define gz_strwinerror Cr_z_gz_strwinerror
-#define gzbuffer Cr_z_gzbuffer
-#define gzclearerr Cr_z_gzclearerr
-#define gzclose Cr_z_gzclose
-#define gzclose_r Cr_z_gzclose_r
-#define gzclose_w Cr_z_gzclose_w
-#define gzdirect Cr_z_gzdirect
-#define gzdopen Cr_z_gzdopen
-#define gzeof Cr_z_gzeof
-#define gzerror Cr_z_gzerror
-#define gzflush Cr_z_gzflush
-#define gzfread Cr_z_gzfread
-#define gzfwrite Cr_z_gzfwrite
-#define gzgetc Cr_z_gzgetc
-#define gzgetc_ Cr_z_gzgetc_
-#define gzgets Cr_z_gzgets
-#define gzoffset Cr_z_gzoffset
-#define gzoffset64 Cr_z_gzoffset64
-#define gzopen Cr_z_gzopen
-#define gzopen64 Cr_z_gzopen64
-#define gzopen_w Cr_z_gzopen_w
-#define gzprintf Cr_z_gzprintf
-#define gzputc Cr_z_gzputc
-#define gzputs Cr_z_gzputs
-#define gzread Cr_z_gzread
-#define gzrewind Cr_z_gzrewind
-#define gzseek Cr_z_gzseek
-#define gzseek64 Cr_z_gzseek64
-#define gzsetparams Cr_z_gzsetparams
-#define gztell Cr_z_gztell
-#define gztell64 Cr_z_gztell64
-#define gzungetc Cr_z_gzungetc
-#define gzvprintf Cr_z_gzvprintf
-#define gzwrite Cr_z_gzwrite
-#define inflate Cr_z_inflate
-#define inflateBack Cr_z_inflateBack
-#define inflateBackEnd Cr_z_inflateBackEnd
-/* #undef inflateBackInit */
-#define inflateBackInit_ Cr_z_inflateBackInit_
-#define inflateCodesUsed Cr_z_inflateCodesUsed
-#define inflateCopy Cr_z_inflateCopy
-#define inflateEnd Cr_z_inflateEnd
-#define inflateGetDictionary Cr_z_inflateGetDictionary
-#define inflateGetHeader Cr_z_inflateGetHeader
-/* #undef inflateInit */
-/* #undef inflateInit2 */
-#define inflateInit2_ Cr_z_inflateInit2_
-#define inflateInit_ Cr_z_inflateInit_
-#define inflateMark Cr_z_inflateMark
-#define inflatePrime Cr_z_inflatePrime
-#define inflateReset Cr_z_inflateReset
-#define inflateReset2 Cr_z_inflateReset2
-#define inflateResetKeep Cr_z_inflateResetKeep
-#define inflateSetDictionary Cr_z_inflateSetDictionary
-#define inflateSync Cr_z_inflateSync
-#define inflateSyncPoint Cr_z_inflateSyncPoint
-#define inflateUndermine Cr_z_inflateUndermine
-#define inflateValidate Cr_z_inflateValidate
-#define inflate_copyright Cr_z_inflate_copyright
-#define inflate_fast Cr_z_inflate_fast
-#define inflate_table Cr_z_inflate_table
-#define uncompress Cr_z_uncompress
-#define uncompress2 Cr_z_uncompress2
-#define zError Cr_z_zError
-#define zcalloc Cr_z_zcalloc
-#define zcfree Cr_z_zcfree
-#define zlibCompileFlags Cr_z_zlibCompileFlags
-#define zlibVersion Cr_z_zlibVersion
-/* #undef Byte */
-#define Bytef Cr_z_Bytef
-#define alloc_func Cr_z_alloc_func
-#define charf Cr_z_charf
-#define free_func Cr_z_free_func
-#define gzFile Cr_z_gzFile
-#define gz_header Cr_z_gz_header
-#define gz_headerp Cr_z_gz_headerp
-#define in_func Cr_z_in_func
-#define intf Cr_z_intf
-#define out_func Cr_z_out_func
-#define uInt Cr_z_uInt
-#define uIntf Cr_z_uIntf
-#define uLong Cr_z_uLong
-#define uLongf Cr_z_uLongf
-#define voidp Cr_z_voidp
-#define voidpc Cr_z_voidpc
-#define voidpf Cr_z_voidpf
-#define gz_header_s Cr_z_gz_header_s
-#define internal_state Cr_z_internal_state
-/* #undef z_off64_t */
-
-/* An exported symbol that isn't handled by Z_PREFIX in zconf.h */
-#define z_errmsg Cr_z_z_errmsg
-
-/* Symbols added in simd.patch */
-#define copy_with_crc Cr_z_copy_with_crc
-#define crc_finalize Cr_z_crc_finalize
-#define crc_fold_512to32 Cr_z_crc_fold_512to32
-#define crc_fold_copy Cr_z_crc_fold_copy
-#define crc_fold_init Cr_z_crc_fold_init
-#define crc_reset Cr_z_crc_reset
-#define fill_window_sse Cr_z_fill_window_sse
-#define deflate_read_buf Cr_z_deflate_read_buf
-#define x86_check_features Cr_z_x86_check_features
-#define x86_cpu_enable_simd Cr_z_x86_cpu_enable_simd
-
-/* Symbols added by adler_simd.c */
-#define adler32_simd_ Cr_z_adler32_simd_
-#define x86_cpu_enable_ssse3 Cr_z_x86_cpu_enable_ssse3
-
-/* Symbols added by contrib/optimizations/inffast_chunk */
-#define inflate_fast_chunk_ Cr_z_inflate_fast_chunk_
-
-/* Symbols added by crc32_simd.c */
-#define crc32_sse42_simd_ Cr_z_crc32_sse42_simd_
-
-/* Symbols added by armv8_crc32 */
-#define arm_cpu_enable_crc32 Cr_z_arm_cpu_enable_crc32
-#define arm_cpu_enable_pmull Cr_z_arm_cpu_enable_pmull
-#define arm_check_features Cr_z_arm_check_features
-#define armv8_crc32_little Cr_z_armv8_crc32_little
-
-#endif /* THIRD_PARTY_ZLIB_NAMES_H_ */
diff --git a/third_party/zlib/zconf.h b/third_party/zlib/zconf.h
index a7a815f..2424b2c 100644
--- a/third_party/zlib/zconf.h
+++ b/third_party/zlib/zconf.h
@@ -8,9 +8,6 @@
#ifndef ZCONF_H
#define ZCONF_H
-/* This include does prefixing as below, but with an updated set of names */
-#include "names.h"
-
/*
* If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.

View file

@ -0,0 +1,12 @@
diff -up chromium-68.0.3440.106/content/common/user_agent.cc.fedora-user-agent chromium-68.0.3440.106/content/common/user_agent.cc
--- chromium-68.0.3440.106/content/common/user_agent.cc.fedora-user-agent 2018-08-09 03:27:45.965769824 -0400
+++ chromium-68.0.3440.106/content/common/user_agent.cc 2018-08-09 03:28:34.001586650 -0400
@@ -135,7 +135,7 @@ std::string getUserAgentPlatform() {
#elif defined(OS_MACOSX)
"Macintosh; ";
#elif defined(USE_X11) || defined(USE_OZONE)
- "X11; "; // strange, but that's what Firefox uses
+ "X11; OS ROSA; "; // strange, but that's what Firefox uses
#elif defined(OS_ANDROID)
"Linux; ";
#elif defined(OS_POSIX) || defined(OS_FUCHSIA)

View file

@ -0,0 +1,17 @@
--- chromium-69.0.3497.100/build/config/compiler/BUILD.gn.orig
+++ chromium-69.0.3497.100/build/config/compiler/BUILD.gn
@@ -666,10 +666,10 @@
# This flag enforces that member pointer base types are complete. It helps
# prevent us from running into problems in the Microsoft C++ ABI (see
# https://crbug.com/847724).
- if (is_clang && !is_nacl && target_os != "chromeos" && !use_xcode_clang &&
- (is_win || use_custom_libcxx)) {
- cflags += [ "-fcomplete-member-pointers" ]
- }
+ #if (is_clang && !is_nacl && target_os != "chromeos" && !use_xcode_clang &&
+ # (is_win || use_custom_libcxx)) {
+ # cflags += [ "-fcomplete-member-pointers" ]
+ #}
# Pass the same C/C++ flags to the objective C/C++ compiler.
cflags_objc += cflags_c

View file

@ -34,8 +34,8 @@
Summary: A fast web browser based on the Blink engine
Name: chromium-browser-stable
Version: 68.0.3440.106
Release: 2
Version: 69.0.3497.100
Release: 1
License: BSD, LGPL
Group: Networking/WWW
Url: https://www.chromium.org/Home
@ -69,8 +69,6 @@ Patch35: chromium-50-system-ffmpeg-3.patch
Patch36: chromium-58-glib.patch
# clang builtin subtract functions, scoped enum
Patch47: chromium-61-gcc5.patch
# (cjw) fix jpeglib.h include
Patch188: chromium-68-system-libjpeg.patch
# New from Debian
Patch500: chromium-third-party-cookies-off-by-default.patch
@ -84,7 +82,7 @@ Patch502: chromium-45.0.2454.101-system-icu-54-does-not-have-detectHostTimeZone.
# fix build with icu other than 54
Patch504: chromium-system-icu-r0.patch
# https://aur.archlinux.org/packages/chromium-vaapi/
Patch508: chromium-vaapi-r19.patch
Patch508: chromium-vaapi-r20.patch
Patch509: chromium-widevine-r2.patch
# ROSA Build
@ -97,11 +95,20 @@ Patch602: chromium-gcc5-r4.patch
# https://github.com/RussianFedora/chromium/blob/fedora-stable/chromium-66.0.3359.81-system-clang.patch
Patch603: chromium-66.0.3359.81-system-clang.patch
# http://ftp.riken.jp/Linux/gentoo/www-client/chromium/files/
Patch604: chromium-compiler-r2.patch
Patch605: chromium-ffmpeg-r1.patch
Patch604: chromium-compiler-r4.patch
Patch605: chromium-ffmpeg-ebp-r1.patch
# https://chromium.googlesource.com/chromium/src/+/40a8d84a54ac47d3299194c5377aebd71714f1f0%5E%21/
Patch607: chromium-67.0.3396.87-fix-build-llvm-ar.patch
# /usr/bin/ld.lld: error: undefined symbol: Cr_z_***
Patch626: chromium-68.0.3440.106-linker-build-error.patch
# Add "ROSA" to the user agent string
Patch627: chromium-68.0.3440.106-rosa-user-agent.patch
# Do not prefix libpng functions
Patch629: chromium-60.0.3112.78-no-libpng-prefix.patch
# Fix errors build in 69
Patch631: chromium-69.0.3497.100-build-error-in-clang6.patch
Provides: %{crname} = %{EVRD}
Conflicts: chromium-browser-unstable
Conflicts: chromium-browser-beta
@ -113,6 +120,8 @@ BuildRequires: lld
BuildRequires: libcxx-devel
BuildRequires: libcxxabi-devel
%endif
# gn needs these
BuildRequires: libstdc++-static-devel
BuildRequires: flex
BuildRequires: git
BuildRequires: gperf
@ -180,6 +189,8 @@ BuildRequires: pkgconfig(xscrnsaver)
BuildRequires: pkgconfig(xt)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(zlib)
BuildRequires: pythonegg(beautifulsoup4)
BuildRequires: pythonegg(html5lib)
Suggests: chromium-browser-pepper-flash
Conflicts: chromium-widevinecdm-plugin < 54
@ -238,6 +249,7 @@ fi
Summary: A fast web browser based on the Blink engine
Epoch: 1
Group: Networking/WWW
# No %%{EVRD}
Requires: %{name} = %{version}-%{release}
%description -n chromium-browser
@ -255,7 +267,8 @@ chromium-browser-unstable package instead.
%package -n chromedriver
Summary: WebDriver for Google Chrome/Chromium
Group: Development/Other
Requires: %{name} = %{EVRD}
# No %%{EVRD}
Requires: %{name} = %{version}-%{release}
%description -n chromedriver
WebDriver is an open source tool for automated testing of webapps across many
@ -286,7 +299,6 @@ members of the Chromium and WebDriver teams.
%endif
%patch36 -p1
%patch47 -p1
%patch188 -p1
# new from debian
%patch500 -p1
@ -312,86 +324,210 @@ members of the Chromium and WebDriver teams.
%patch607 -p1
%patch626 -p1
%patch627 -p1
%patch629 -p1
%patch631 -p1 -b .clang6
mkdir -p third_party/llvm-build/Release+Asserts/bin
pushd third_party/llvm-build/Release+Asserts/bin
ln -sf /usr/bin/clang clang
ln -sf /usr/bin/clang++ clang++
popd
# files we do not want from upstream source bundles
rm -rf breakpad/src/processor/testdata/
rm -rf chrome/app/test_data/dlls/
rm -rf chrome/common/extensions/docs/
rm -rf chrome/test/data/{android,app_shim,apptest,ash,autofill,automation,automation_proxy_snapshot,banners,bookmark_html_reader,bookmarks,captive_portal,chromedriver,chrome_endure,chromeos,chromeproxy,cld2_component,click_modifier,components,constrained_files,content,content_setting_bubble,devtools,diagnostics,dom_automation,dom_checker,dom_distiller,downloads,drive_first_run,dromaeo,durable,edge_database_reader,edge_profile,encoding_tests,extensions,fast_shutdown,fast_tab_close,favicon,feeds,file_select_helper,find_in_page,firefox320_profile,firefox35_profile,firefox3_nss,firefox3_nss_mac,firefox3_profile,firefox_profile,firefox_searchplugins,focus,frame_dom_access,frame_tree,ftp,fullscreen_mouselock,geolocation,google,gpu,History,image_decoding,image_search,import,indexeddb,inspector,installer,interstitial_page,keyboard,login,native_messaging,navigation_interception,notifications,page_cycler,page_load_metrics,panels,password,pdf,pepper,perf,permissions,plugin_power_saver,policy,popup_blocker,predictor,prefs,pref_service,prerender,printing,profiles,push_messaging,referrer_policy,requirements_checker,safe_browsing,SafeBrowsing,save_page,scroll,sdch,search,session_history,session_restore,sessions,settings,speech,ssl,subresource_filter,sunspider,sync,template_url_scraper,textinput,third_party,top_sites,translate,unit,v8_benchmark_v6,viewsource,web_app_info,webapps,webrtc,websocket,webui_test_resources.grd,whitelists,workers}
touch chrome/test/data/webui/i18n_process_css_test.html
rm -rf chrome/tools/test/reference_build/chrome_linux/
rm -rf components/test/data/component_updater/jebgalgnebhfojomionfpkfelancnnkf/component1.dll
rm -rf content/test/data/
#rm -rf net/data/
#rm -rf ppapi/examples/
rm -rf ppapi/native_client/tests/
rm -rf third_party/apache-win32/
rm -rf third_party/binutils/
rm -rf third_party/expat/files/
%if 0%{?ffmpeg}
rm -rf third_party/ffmpeg/*/*
rm -rf third_party/ffmpeg/*.[ch]
%endif
rm -rf third_party/flac/{include,src}
#rm -rf third_party/icu/{android,linux,mac,patches,public,source,windows}
rm -rf third_party/lcov
#rm -rf base/third_party/libevent/*/*
#rm -rf base/third_party/libevent/*.[ch]
#rm -rf third_party/libvpx/source/libvpx
rm -rf third_party/libexif/sources
rm -rf third_party/libjpeg/*.[ch]
rm -rf third_party/libjpeg_turbo/*.[ch]
rm -f third_party/pdfium/third_party/libopenjpeg20/*.[ch]
rm -rf third_party/libpng/*.[ch]
rm -rf third_party/libxslt/{libexslt,libxslt,linux,mac,win32}
#rm -rf third_party/mesa/src/src
rm -rf third_party/swig
rm -rf third_party/WebKit/LayoutTests/
rm -rf third_party/WebKit/Tools/Scripts/
rm -rf third_party/xdg-utils/tests/
rm -rf third_party/yasm/source/
rm -rf third_party/zlib/{*.[ch],contrib/minizip}
rm -rf tools/gyp/test/
#rm -rf v8/test/
#rm -f third_party/pdfium/third_party/libtiff/*.[ch]
rm -f third_party/skia/platform_tools/android/apps/gradle/wrapper/gradle-wrapper.jar
rm -f third_party/WebKit/Source/devtools/scripts/jsdoc-validator/jsdoc-validator.jar
rm -f third_party/WebKit/Source/devtools/scripts/closure/compiler.jar
rm -f third_party/WebKit/Source/devtools/scripts/compiler-runner/closure-runner.jar
rm -rf third_party/sfntly/src/java/lib
rm -f third_party/haha/haha-2.0.2.jar
rm -f third_party/android_platform/webview/frameworks_5.1.0_r1.jar
rm -f third_party/android_platform/webview/frameworks_6.0.jar
rm -f third_party/libphonenumber/dist/tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar
rm -f third_party/libphonenumber/dist/tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar
rm -rf third_party/libphonenumber/dist/java/demo/war/WEB-INF/lib
rm -rf third_party/libphonenumber/dist/java/lib
rm -f third_party/webrtc/examples/androidapp/third_party/autobanh/autobanh.jar
rm -rf third_party/cacheinvalidation/src/example-app-build/libs
rm -f third_party/closure_compiler/runner/runner.jar
rm -f third_party/closure_compiler/compiler/compiler.jar
rm -rf third_party/proguard/lib
rm -f third_party/checkstyle/checkstyle-6.5-all.jar
rm -rf third_party/sfntly/src/cpp/ext
#rm -rf third_party/node
# Remove most of the bundled libraries. Libraries specified below (taken from
# Gentoo's Chromium ebuild) are the libraries that needs to be preserved.
build/linux/unbundle/remove_bundled_libraries.py \
'buildtools/third_party/libc++' \
'buildtools/third_party/libc++abi' \
'base/third_party/dmg_fp' \
'base/third_party/dynamic_annotations' \
'base/third_party/icu' \
'base/third_party/libevent' \
'base/third_party/nspr' \
'base/third_party/superfasthash' \
'base/third_party/symbolize' \
'base/third_party/valgrind' \
'base/third_party/xdg_mime' \
'base/third_party/xdg_user_dirs' \
'chrome/third_party/mozilla_security_manager' \
'courgette/third_party' \
'net/third_party/http2' \
'net/third_party/mozilla_security_manager' \
'net/third_party/nss' \
'net/third_party/quic' \
'net/third_party/spdy' \
'third_party/WebKit' \
'third_party/abseil-cpp' \
'third_party/adobe' \
'third_party/analytics' \
'third_party/angle' \
'third_party/angle/src/common/third_party/base' \
'third_party/angle/src/common/third_party/smhasher' \
'third_party/angle/src/third_party/compiler' \
'third_party/angle/src/third_party/libXNVCtrl' \
'third_party/angle/src/third_party/trace_event' \
'third_party/angle/third_party/glslang' \
'third_party/angle/third_party/spirv-headers' \
'third_party/angle/third_party/spirv-tools' \
'third_party/angle/third_party/vulkan-headers' \
'third_party/angle/third_party/vulkan-loader' \
'third_party/angle/third_party/vulkan-tools' \
'third_party/angle/third_party/vulkan-validation-layers' \
'third_party/apple_apsl' \
'third_party/blanketjs' \
'third_party/blink' \
'third_party/boringssl' \
'third_party/boringssl/src/third_party/fiat' \
'third_party/breakpad' \
'third_party/breakpad/breakpad/src/third_party/curl' \
'third_party/brotli' \
'third_party/cacheinvalidation' \
'third_party/catapult' \
'third_party/catapult/common/py_vulcanize/third_party/rcssmin' \
'third_party/catapult/common/py_vulcanize/third_party/rjsmin' \
'third_party/catapult/third_party/beautifulsoup4' \
'third_party/catapult/third_party/html5lib-python' \
'third_party/catapult/third_party/polymer' \
'third_party/catapult/third_party/six' \
'third_party/catapult/tracing/third_party/d3' \
'third_party/catapult/tracing/third_party/gl-matrix' \
'third_party/catapult/tracing/third_party/jszip' \
'third_party/catapult/tracing/third_party/mannwhitneyu' \
'third_party/catapult/tracing/third_party/oboe' \
'third_party/catapult/tracing/third_party/pako' \
'third_party/ced' \
'third_party/cld_3' \
'third_party/crashpad' \
'third_party/crashpad/crashpad/third_party/zlib/' \
'third_party/crc32c' \
'third_party/cros_system_api' \
'third_party/devscripts' \
'third_party/dom_distiller_js' \
'third_party/expat' \
'third_party/ffmpeg' \
'third_party/fips181' \
'third_party/flac' \
'third_party/flatbuffers' \
'third_party/flot' \
'third_party/fontconfig' \
'third_party/freetype' \
'third_party/glslang-angle' \
'third_party/google_input_tools' \
'third_party/google_input_tools/third_party/closure_library' \
'third_party/google_input_tools/third_party/closure_library/third_party/closure' \
'third_party/googletest' \
'third_party/harfbuzz-ng' \
'third_party/hunspell' \
'third_party/iccjpeg' \
'third_party/icu' \
'third_party/inspector_protocol' \
'third_party/jinja2' \
'third_party/jstemplate' \
'third_party/khronos' \
'third_party/leveldatabase' \
'third_party/libXNVCtrl' \
'third_party/libaddressinput' \
'third_party/libaom' \
'third_party/libdrm' \
'third_party/libjingle' \
'third_party/libjpeg_turbo' \
'third_party/libphonenumber' \
'third_party/libpng' \
'third_party/libsecret' \
'third_party/libsrtp' \
'third_party/libsync' \
'third_party/libudev' \
'third_party/libusb' \
'third_party/libvpx' \
'third_party/libvpx/source/libvpx/third_party/x86inc' \
'third_party/libxml' \
'third_party/libxml/chromium' \
'third_party/libxslt' \
'third_party/libwebm' \
'third_party/libwebp' \
'third_party/libyuv' \
'third_party/llvm-build' \
'third_party/lss' \
'third_party/lzma_sdk' \
'third_party/markupsafe' \
'third_party/mesa' \
'third_party/metrics_proto' \
'third_party/modp_b64' \
'third_party/node' \
'third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2' \
'third_party/openh264' \
'third_party/openmax_dl' \
'third_party/opus' \
'third_party/ots' \
'third_party/pdfium' \
'third_party/pdfium/third_party/agg23' \
'third_party/pdfium/third_party/base' \
'third_party/pdfium/third_party/bigint' \
'third_party/pdfium/third_party/freetype' \
'third_party/pdfium/third_party/lcms' \
'third_party/pdfium/third_party/libopenjpeg20' \
'third_party/pdfium/third_party/libpng16' \
'third_party/pdfium/third_party/libtiff' \
'third_party/pdfium/third_party/skia_shared' \
'third_party/perfetto' \
'third_party/ply' \
'third_party/polymer' \
'third_party/protobuf' \
'third_party/protobuf/third_party/six' \
'third_party/pyjson5' \
'third_party/qcms' \
'third_party/qunit' \
'third_party/re2' \
'third_party/rnnoise' \
'third_party/s2cellid' \
'third_party/sfntly' \
'third_party/simplejson' \
'third_party/sinonjs' \
'third_party/skia' \
'third_party/skia/third_party/gif' \
'third_party/skia/third_party/skcms' \
'third_party/skia/third_party/vulkan' \
'third_party/smhasher' \
'third_party/snappy' \
'third_party/speech-dispatcher' \
'third_party/spirv-headers' \
'third_party/spirv-tools-angle' \
'third_party/sqlite' \
'third_party/swiftshader' \
'third_party/swiftshader/third_party/subzero' \
'third_party/swiftshader/third_party/LLVM' \
'third_party/swiftshader/third_party/llvm-subzero' \
'third_party/tcmalloc' \
'third_party/test_fonts' \
'third_party/unrar' \
'third_party/usb_ids' \
'third_party/usrsctp' \
'third_party/vulkan' \
'third_party/vulkan-validation-layers' \
'third_party/web-animations-js' \
'third_party/webdriver' \
'third_party/webrtc' \
'third_party/widevine' \
'third_party/woff2' \
'third_party/xdg-utils' \
'third_party/yasm' \
'third_party/zlib' \
'third_party/zlib/google' \
'tools/gn/base/third_party/icu' \
'url/third_party/mozilla' \
'v8/src/third_party/utf8-decoder' \
'v8/src/third_party/valgrind' \
'v8/third_party/antlr4' \
'v8/third_party/inspector_protocol' \
--do-remove
# Remove bundled ICU; its header files appear to get picked up instead of
# the system ones, leading to errors during the final link stage.
# https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/BNGvJc08B6Q
#find third_party/icu -type f \! -regex '.*\.\(gn\|gni\|isolate\)' -delete
### build with widevine support
# Patch from crbug (chromium bugtracker)
# fix the missing define (if not, fail build) (need upstream fix) (https://crbug.com/473866)
sed '14i#define WIDEVINE_CDM_VERSION_STRING "Something fresh"' -i "third_party/widevine/cdm/stub/widevine_cdm_version.h"
# Hard code extra version
FILE=chrome/common/channel_info_posix.cc
sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"%{product_vendor} %{product_version}"/' $FILE
@ -487,6 +623,9 @@ export CC=clang
export CXX=clang++
export AR=ar
export NM=nm
# flags to fix i586 builds
export LDFLAGS="$LDFLAGS -Wl,-z,notext"
%else
%setup_compile_flags
CC=%{__cc}; export CC
@ -500,7 +639,7 @@ CFLAGS=$(echo "$CFLAGS"|sed -e 's/-gdwarf-4//' -e 's/-fvar-tracking-assignments/
CXXFLAGS=$(echo "$CXXFLAGS"|sed -e 's/-gdwarf-4//' -e 's/-fvar-tracking-assignments//' -e 's/-frecord-gcc-switches//')
CFLAGS="$CFLAGS -Wno-error=pointer-to-int-cast -Wno-error=int-to-pointer-cast"
CXXFLAGS="$CXXFLAGS -Wno-error=attributes -Wno-error=comment -Wno-error=unused-variable -Wno-error=strict-overflow -Wno-error=deprecated-declarations "
CXXFLAGS="$CXXFLAGS -Wno-error=attributes -Wno-error=comment -Wno-error=unused-variable -Wno-error=strict-overflow -Wno-error=deprecated-declarations"
%endif
python tools/gn/bootstrap/bootstrap.py --gn-gen-args='%{gn_config}'

View file

@ -1,4 +1,4 @@
From 4310db462fab74bf14066f2a6f7cf250ecba0cf1 Mon Sep 17 00:00:00 2001
From 777d166eec22c1894108dce985498f75ac5931e8 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
Date: Wed, 25 Apr 2018 13:22:49 -0400
Subject: [PATCH] Disable various compiler configs
@ -8,10 +8,10 @@ Subject: [PATCH] Disable various compiler configs
1 file changed, 18 insertions(+), 43 deletions(-)
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 83337d52e4b9..f2c192fc31ca 100644
index 6e38ad782d38..87bbd423f67f 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -228,8 +228,6 @@ config("compiler") {
@@ -225,8 +225,6 @@ config("compiler") {
configs += [
# See the definitions below.
@ -39,18 +39,18 @@ index 83337d52e4b9..f2c192fc31ca 100644
# Print absolute paths in diagnostics. There is no precedent for doing this
# on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and
# Windows developers rely on it (crbug.com/636109) so only do this on Windows.
@@ -1415,10 +1401,6 @@ config("default_warnings") {
# TODO(hans): https://crbug.com/766891
"-Wno-null-pointer-arithmetic",
@@ -1473,10 +1459,6 @@ config("default_warnings") {
cflags += [
# TODO(thakis): https://crbug.com/753973
"-Wno-enum-compare-switch",
-
- # Ignore warnings about MSVC optimization pragmas.
- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
- "-Wno-ignored-pragma-optimize",
]
} else if (use_xcode_clang) {
cflags += [
@@ -1462,22 +1444,6 @@ config("chromium_code") {
- # Ignore warnings about MSVC optimization pragmas.
- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
- "-Wno-ignored-pragma-optimize",
]
}
}
@@ -1518,22 +1500,6 @@ config("chromium_code") {
"__STDC_FORMAT_MACROS",
]
@ -73,7 +73,7 @@ index 83337d52e4b9..f2c192fc31ca 100644
if (is_mac || is_ios) {
cflags_objc = [ "-Wobjc-missing-property-synthesis" ]
cflags_objcc = [ "-Wobjc-missing-property-synthesis" ]
@@ -1807,7 +1773,8 @@ config("default_stack_frames") {
@@ -1863,7 +1829,8 @@ config("default_stack_frames") {
}
# Default "optimization on" config.
@ -83,7 +83,7 @@ index 83337d52e4b9..f2c192fc31ca 100644
if (is_win) {
# TODO(thakis): Remove is_clang here, https://crbug.com/598772
if (is_official_build && full_wpo_on_official && !is_clang) {
@@ -1841,7 +1808,8 @@ config("optimize") {
@@ -1897,7 +1864,8 @@ config("optimize") {
}
# Same config as 'optimize' but without the WPO flag.
@ -93,7 +93,7 @@ index 83337d52e4b9..f2c192fc31ca 100644
if (is_win) {
# Favor size over speed, /O1 must be before the common flags. The GYP
# build also specifies /Os and /GF but these are implied by /O1.
@@ -1864,7 +1832,8 @@ config("optimize_no_wpo") {
@@ -1920,7 +1888,8 @@ config("optimize_no_wpo") {
}
# Turn off optimizations.
@ -103,7 +103,7 @@ index 83337d52e4b9..f2c192fc31ca 100644
if (is_win) {
cflags = [
"/Od", # Disable optimization.
@@ -1888,7 +1857,8 @@ config("no_optimize") {
@@ -1944,7 +1913,8 @@ config("no_optimize") {
# Turns up the optimization level. On Windows, this implies whole program
# optimization and link-time code generation which is very expensive and should
# be used sparingly.
@ -113,7 +113,7 @@ index 83337d52e4b9..f2c192fc31ca 100644
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
@@ -1935,7 +1905,8 @@ config("optimize_max") {
@@ -1991,7 +1961,8 @@ config("optimize_max") {
#
# TODO(crbug.com/621335) - rework how all of these configs are related
# so that we don't need this disclaimer.
@ -123,7 +123,7 @@ index 83337d52e4b9..f2c192fc31ca 100644
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
@@ -1973,7 +1944,8 @@ config("optimize_speed") {
@@ -2029,7 +2000,8 @@ config("optimize_speed") {
}
}
@ -133,7 +133,7 @@ index 83337d52e4b9..f2c192fc31ca 100644
cflags = [ "-O1" ] + common_optimize_on_cflags
ldflags = common_optimize_on_ldflags
visibility = [ ":default_optimization" ]
@@ -2057,7 +2029,8 @@ config("afdo") {
@@ -2115,7 +2087,8 @@ config("afdo") {
# configs += [ "//build/config/compiler:symbols" ]
# Full symbols.
@ -143,7 +143,7 @@ index 83337d52e4b9..f2c192fc31ca 100644
if (is_win) {
if (use_goma || is_clang) {
# Note that with VC++ this requires is_win_fastlink, enforced elsewhere.
@@ -2155,7 +2128,8 @@ config("symbols") {
@@ -2213,7 +2186,8 @@ config("symbols") {
# Minimal symbols.
# This config guarantees to hold symbol for stack trace which are shown to user
# when crash happens in unittests running on buildbot.
@ -153,7 +153,7 @@ index 83337d52e4b9..f2c192fc31ca 100644
if (is_win) {
# Linker symbols for backtraces only.
cflags = []
@@ -2186,7 +2160,8 @@ config("minimal_symbols") {
@@ -2244,7 +2218,8 @@ config("minimal_symbols") {
}
# No symbols.
@ -164,5 +164,5 @@ index 83337d52e4b9..f2c192fc31ca 100644
cflags = [ "-g0" ]
asmflags = cflags
--
2.17.0
2.18.0

View file

@ -0,0 +1,18 @@
https://bugs.chromium.org/p/chromium/issues/detail?id=796379
https://bugs.gentoo.org/656902
--- a/third_party/ffmpeg/BUILD.gn
+++ b/third_party/ffmpeg/BUILD.gn
@@ -239,11 +239,7 @@
# Windows builds can't compile without EBP because we can't omit frame
# pointers like we do on posix.
if (target_cpu == "x86") {
- if (using_sanitizer || is_win) {
- defines += [ "HAVE_EBP_AVAILABLE=0" ]
- } else {
- defines += [ "HAVE_EBP_AVAILABLE=1" ]
- }
+ defines += [ "HAVE_EBP_AVAILABLE=0" ]
}
if (is_posix || is_fuchsia) {

View file

@ -1,22 +0,0 @@
--- a/build/linux/unbundle/ffmpeg.gn
+++ b/build/linux/unbundle/ffmpeg.gn
@@ -14,8 +14,8 @@ pkg_config("system_ffmpeg") {
]
}
-buildflag_header("ffmpeg_buildflags") {
- header = "ffmpeg_buildflags.h"
+buildflag_header("ffmpeg_features") {
+ header = "ffmpeg_features.h"
flags = [ "USE_SYSTEM_FFMPEG=true" ]
}
@@ -30,7 +30,7 @@ shim_headers("ffmpeg_shim") {
source_set("ffmpeg") {
deps = [
- ":ffmpeg_buildflags",
+ ":ffmpeg_features",
":ffmpeg_shim",
]
public_configs = [ ":system_ffmpeg" ]

View file

@ -36,7 +36,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1277,12 +1277,14 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1273,12 +1273,14 @@ const FeatureEntry kFeatureEntries[] = {
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
flag_descriptions::kUiPartialSwapDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
@ -51,7 +51,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
{"enable-webrtc-hw-h264-encoding",
flag_descriptions::kWebrtcHwH264EncodingName,
flag_descriptions::kWebrtcHwH264EncodingDescription, kOsAndroid | kOsCrOS,
@@ -1611,6 +1613,13 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1647,6 +1649,13 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kShowTouchHudDescription, kOsCrOS,
SINGLE_VALUE_TYPE(ash::switches::kAshTouchHud)},
#endif // OS_CHROMEOS
@ -65,7 +65,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
{
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
@@ -1618,6 +1627,7 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1654,6 +1663,7 @@ const FeatureEntry kFeatureEntries[] = {
kOsMac | kOsWin | kOsCrOS | kOsAndroid,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
@ -73,7 +73,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
#if defined(OS_WIN)
{"enable-hdr", flag_descriptions::kEnableHDRName,
flag_descriptions::kEnableHDRDescription, kOsWin,
@@ -2296,12 +2306,17 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2326,12 +2336,17 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kOpenVR)},
#endif // ENABLE_OPENVR
#endif // ENABLE_VR
@ -118,10 +118,10 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
::switches::kDisableBlinkFeatures,
::switches::kDisableCastStreamingHWEncoding,
::switches::kDisableGpu,
@@ -159,8 +165,10 @@ void DeriveCommandLine(const GURL& start
::switches::kDisableWebGLImageChromium,
@@ -160,8 +166,10 @@ void DeriveCommandLine(const GURL& start
::switches::kEnableWebGLImageChromium,
::switches::kEnableWebVR,
::switches::kEnableUnsafeWebGPU,
+#if (defined(OS_CHROMEOS) || defined(OS_ANDROID))
::switches::kDisableWebRtcHWDecoding,
::switches::kDisableWebRtcHWEncoding,
@ -145,7 +145,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
const char kAcceleratedVideoDecodeName[] = "Hardware-accelerated video decode";
const char kAcceleratedVideoDecodeDescription[] =
"Hardware-accelerated video decode where available.";
@@ -1845,6 +1852,7 @@ const char kWebrtcEchoCanceller3Name[] =
@@ -1986,6 +1993,7 @@ const char kWebrtcEchoCanceller3Name[] =
const char kWebrtcEchoCanceller3Description[] =
"Experimental WebRTC echo canceller (AEC3).";
@ -153,7 +153,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
const char kWebrtcHwDecodingName[] = "WebRTC hardware video decoding";
const char kWebrtcHwDecodingDescription[] =
"Support in WebRTC for decoding video streams using platform hardware.";
@@ -1852,6 +1860,7 @@ const char kWebrtcHwDecodingDescription[
@@ -1993,6 +2001,7 @@ const char kWebrtcHwDecodingDescription[
const char kWebrtcHwEncodingName[] = "WebRTC hardware video encoding";
const char kWebrtcHwEncodingDescription[] =
"Support in WebRTC for encoding video streams using platform hardware.";
@ -161,7 +161,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
const char kWebrtcHwH264EncodingName[] = "WebRTC hardware h264 video encoding";
const char kWebrtcHwH264EncodingDescription[] =
@@ -2659,14 +2668,16 @@ const char kTabStripKeyboardFocusDescrip
@@ -2892,14 +2901,16 @@ const char kTabStripKeyboardFocusDescrip
// Chrome OS -------------------------------------------------------------------
@ -192,7 +192,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
extern const char kAcceleratedVideoDecodeName[];
extern const char kAcceleratedVideoDecodeDescription[];
@@ -1627,13 +1631,17 @@ extern const char kPermissionPromptPersi
@@ -1762,13 +1766,17 @@ extern const char kPermissionPromptPersi
#endif // defined(OS_MACOSX)
@ -229,10 +229,10 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
true, true},
--- a/content/browser/gpu/gpu_process_host.cc
+++ b/content/browser/gpu/gpu_process_host.cc
@@ -185,7 +185,9 @@ static const char* const kSwitchNames[]
switches::kDisableGLExtensions,
@@ -209,7 +209,9 @@ static const char* const kSwitchNames[]
switches::kDisableLogging,
switches::kDisableShaderNameHashing,
switches::kDisableSkiaRuntimeOpts,
+#if !defined(OS_LINUX)
switches::kDisableWebRtcHWEncoding,
+#endif
@ -241,7 +241,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
#endif
--- a/content/browser/renderer_host/media/video_capture_browsertest.cc
+++ b/content/browser/renderer_host/media/video_capture_browsertest.cc
@@ -163,8 +163,13 @@ class VideoCaptureBrowserTest : public C
@@ -165,8 +165,13 @@ class VideoCaptureBrowserTest : public C
base::CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kUseFakeJpegDecodeAccelerator);
} else {
@ -255,37 +255,9 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
}
}
--- a/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
+++ b/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
@@ -66,15 +66,21 @@ void VideoCaptureGpuJpegDecoder::Initial
bool is_platform_supported =
base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kUseFakeJpegDecodeAccelerator);
-#if defined(OS_CHROMEOS)
- // Non-ChromeOS platforms do not support HW JPEG decode now. Do not establish
- // gpu channel to avoid introducing overhead.
+#if !defined(OS_ANDROID) && defined(OS_LINUX)
+ // Non-ChromeOS or Non-Linux platforms do not support HW JPEG decode now. Do
+ // not establish gpu channel to avoid introducing overhead.
is_platform_supported = true;
#endif
if (!is_platform_supported ||
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
+ !base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableAcceleratedMjpegDecode)
+#else
base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kDisableAcceleratedMjpegDecode)) {
+ switches::kDisableAcceleratedMjpegDecode)
+#endif
+ ) {
decoder_status_ = FAILED;
RecordInitDecodeUMA_Locked();
return;
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -2691,7 +2691,11 @@ void RenderProcessHostImpl::PropagateBro
@@ -2799,7 +2799,11 @@ void RenderProcessHostImpl::PropagateBro
switches::kDefaultTileHeight,
switches::kDisable2dCanvasImageChromium,
switches::kDisableAcceleratedJpegDecoding,
@ -297,7 +269,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
switches::kDisableBackgroundTasks,
switches::kDisableBackgroundTimerThrottling,
switches::kDisableBreakpad,
@@ -2825,8 +2829,10 @@ void RenderProcessHostImpl::PropagateBro
@@ -2936,8 +2940,10 @@ void RenderProcessHostImpl::PropagateBro
#if BUILDFLAG(ENABLE_RUNTIME_MEDIA_RENDERER_SELECTION)
switches::kDisableMojoRenderer,
#endif
@ -326,7 +298,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
private:
--- a/content/gpu/BUILD.gn
+++ b/content/gpu/BUILD.gn
@@ -134,4 +134,8 @@ target(link_target_type, "gpu_sources")
@@ -133,4 +133,8 @@ target(link_target_type, "gpu_sources")
(!is_chromecast || is_cast_desktop_build)) {
configs += [ "//build/config/linux/dri" ]
}
@ -337,7 +309,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
}
--- a/content/gpu/gpu_main.cc
+++ b/content/gpu/gpu_main.cc
@@ -286,7 +286,7 @@ int GpuMain(const MainFunctionParams& pa
@@ -284,7 +284,7 @@ int GpuMain(const MainFunctionParams& pa
base::PlatformThread::SetName("CrGpuMain");
@ -346,7 +318,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
// Set thread priority before sandbox initialization.
base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY);
#endif
@@ -315,7 +315,7 @@ int GpuMain(const MainFunctionParams& pa
@@ -317,7 +317,7 @@ int GpuMain(const MainFunctionParams& pa
GetContentClient()->SetGpuInfo(gpu_init->gpu_info());
base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL;
@ -357,7 +329,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
--- a/content/public/browser/gpu_utils.cc
+++ b/content/public/browser/gpu_utils.cc
@@ -58,9 +58,17 @@ const gpu::GpuPreferences GetGpuPreferen
@@ -57,9 +57,17 @@ const gpu::GpuPreferences GetGpuPreferen
gpu_preferences.in_process_gpu =
command_line->HasSwitch(switches::kInProcessGPU);
gpu_preferences.disable_accelerated_video_decode =
@ -377,20 +349,9 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
gpu::GpuPreferences::VPX_VENDOR_MICROSOFT;
--- a/content/public/common/content_switches.cc
+++ b/content/public/common/content_switches.cc
@@ -78,12 +78,21 @@ const char kDisable3DAPIs[]
@@ -79,6 +79,11 @@ const char kDisable3DAPIs[]
// Disable gpu-accelerated 2d canvas.
const char kDisableAccelerated2dCanvas[] = "disable-accelerated-2d-canvas";
-
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+// Enable hardware accelerated mjpeg decode on linux
+const char kEnableAcceleratedMjpegDecode[] = "enable-accelerated-mjpeg-decode";
+#else
// Disable hardware acceleration of mjpeg decode for captured frame, where
// available.
const char kDisableAcceleratedMjpegDecode[] =
"disable-accelerated-mjpeg-decode";
+#endif
+#if defined(OS_LINUX)
+// Enables hardware acceleration of video for Linux only. VA-API driver
@ -400,7 +361,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
// Disables hardware acceleration of video decode, where available.
const char kDisableAcceleratedVideoDecode[] =
"disable-accelerated-video-decode";
@@ -856,11 +865,13 @@ const char kWaitForDebuggerChildren[]
@@ -868,11 +873,13 @@ const char kWaitForDebuggerChildren[]
// ignores this switch on its stable and beta channels.
const char kDisableWebRtcEncryption[] = "disable-webrtc-encryption";
@ -416,29 +377,17 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
// See https://tools.ietf.org/html/rfc7714 for further information.
--- a/content/public/common/content_switches.h
+++ b/content/public/common/content_switches.h
@@ -33,7 +33,11 @@ CONTENT_EXPORT extern const char kDisabl
CONTENT_EXPORT extern const char kDisable3DAPIs[];
CONTENT_EXPORT extern const char kDisableAccelerated2dCanvas[];
CONTENT_EXPORT extern const char kDisableAcceleratedJpegDecoding[];
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+CONTENT_EXPORT extern const char kEnableAcceleratedMjpegDecode[];
+#else
CONTENT_EXPORT extern const char kDisableAcceleratedMjpegDecode[];
+#endif
CONTENT_EXPORT extern const char kDisableAcceleratedVideoDecode[];
CONTENT_EXPORT extern const char kDisableAcceleratedVideoEncode[];
CONTENT_EXPORT extern const char kDisableAudioSupportForDesktopShare[];
@@ -105,6 +109,9 @@ CONTENT_EXPORT extern const char kDisabl
@@ -104,6 +104,9 @@ CONTENT_EXPORT extern const char kDisabl
CONTENT_EXPORT extern const char kDomAutomationController[];
extern const char kDisable2dCanvasClipAntialiasing[];
CONTENT_EXPORT extern const char kDumpBlinkRuntimeCallStats[];
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
+CONTENT_EXPORT extern const char kEnableAcceleratedVideo[];
+#endif
CONTENT_EXPORT extern const char kEnableAccessibilityObjectModel[];
CONTENT_EXPORT extern const char kEnableAggressiveDOMStorageFlushing[];
CONTENT_EXPORT extern const char kEnableAutomation[];
CONTENT_EXPORT extern const char kEnablePreferCompositingToLCDText[];
@@ -237,8 +244,10 @@ CONTENT_EXPORT extern const char kValida
@@ -241,8 +244,10 @@ CONTENT_EXPORT extern const char kValida
CONTENT_EXPORT extern const char kWaitForDebuggerChildren[];
CONTENT_EXPORT extern const char kDisableWebRtcEncryption[];
@ -472,8 +421,8 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -1479,7 +1479,11 @@ media::GpuVideoAcceleratorFactories* Ren
kGpuStreamIdMedia, kGpuStreamPriorityMedia);
@@ -1441,7 +1441,11 @@ media::GpuVideoAcceleratorFactories* Ren
kGpuStreamPriorityMedia);
const bool enable_video_accelerator =
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
@ -506,7 +455,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
"cr_bugs": [145531, 332596, 571899, 629434],
--- a/media/gpu/BUILD.gn
+++ b/media/gpu/BUILD.gn
@@ -500,6 +500,14 @@ if (use_v4l2_codec || use_vaapi || is_ma
@@ -495,6 +495,14 @@ if (use_v4l2_codec || use_vaapi || is_ma
}
}
@ -521,7 +470,7 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
if (use_vaapi) {
test("jpeg_encode_accelerator_unittest") {
deps = [
@@ -558,6 +566,10 @@ if (use_v4l2_codec || use_vaapi) {
@@ -559,6 +567,10 @@ if (use_v4l2_codec || use_vaapi) {
if (use_ozone) {
deps += [ "//ui/ozone" ]
}
@ -532,3 +481,85 @@ Signed-off-by: Daniel Charles <daniel.charles@intel.com>
}
}
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -117,10 +117,15 @@ const char kUseFileForFakeAudioCapture[]
// accelerator hardware to be present.
const char kUseFakeJpegDecodeAccelerator[] = "use-fake-jpeg-decode-accelerator";
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+// Enable hardware accelerated mjpeg decode on linux
+const char kEnableAcceleratedMjpegDecode[] = "enable-accelerated-mjpeg-decode";
+#else
// Disable hardware acceleration of mjpeg decode for captured frame, where
// available.
const char kDisableAcceleratedMjpegDecode[] =
"disable-accelerated-mjpeg-decode";
+#endif
// When running tests on a system without the required hardware or libraries,
// this flag will cause the tests to fail. Otherwise, they silently succeed.
@@ -462,15 +467,22 @@ const base::Feature kPreloadMediaEngagem
#endif
bool IsVideoCaptureAcceleratedJpegDecodingEnabled() {
+
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableAcceleratedMjpegDecode)
+#else
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kDisableAcceleratedMjpegDecode)) {
+ switches::kDisableAcceleratedMjpegDecode)
+#endif
+ ) {
return false;
}
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kUseFakeJpegDecodeAccelerator)) {
return true;
}
-#if defined(OS_CHROMEOS)
+#if !defined(OS_ANDROID) && defined(OS_LINUX)
return true;
#endif
return false;
--- a/media/base/media_switches.h
+++ b/media/base/media_switches.h
@@ -66,7 +66,11 @@ MEDIA_EXPORT extern const char kUseFakeD
MEDIA_EXPORT extern const char kUseFileForFakeVideoCapture[];
MEDIA_EXPORT extern const char kUseFileForFakeAudioCapture[];
MEDIA_EXPORT extern const char kUseFakeJpegDecodeAccelerator[];
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+MEDIA_EXPORT extern const char kEnableAcceleratedMjpegDecode[];
+#else
MEDIA_EXPORT extern const char kDisableAcceleratedMjpegDecode[];
+#endif
MEDIA_EXPORT extern const char kRequireAudioHardwareForTesting[];
MEDIA_EXPORT extern const char kMuteAudio[];
--- a/content/browser/utility_process_host.cc
+++ b/content/browser/utility_process_host.cc
@@ -296,7 +296,11 @@ bool UtilityProcessHost::StartProcess()
switches::kOverrideUseSoftwareGLForTests,
switches::kOverrideEnabledCdmInterfaceVersion,
switches::kProxyServer,
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
+ switches::kEnableAcceleratedMjpegDecode,
+#else
switches::kDisableAcceleratedMjpegDecode,
+#endif
switches::kUseFakeDeviceForMediaStream,
switches::kUseFakeJpegDecodeAccelerator,
switches::kUseFileForFakeVideoCapture,
--- chromium-69.0.3497.92.orig/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc 2018-09-11 21:09:48.000000000 +0200
+++ chromium-69.0.3497.92/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc 2018-09-12 08:48:49.606320048 +0200
@@ -174,7 +174,7 @@ bool VaapiJpegDecodeAccelerator::OutputP
VAImage image = {};
VAImageFormat format = {};
- format.fourcc = VA_FOURCC_I420;
+ format.fourcc = libyuv::FOURCC_I420;
format.byte_order = VA_LSB_FIRST;
format.bits_per_pixel = 12; // 12 for I420