diff options
-rw-r--r-- | chromium/chromium/chromium-disable-unrar.patch | 55 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc8-r630084.patch | 108 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc8-r630140.patch | 51 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc8-r630249.patch | 69 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc8-r630355.patch | 99 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc8-r631472.patch | 59 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc8-r631962.patch | 65 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc8-r632385.patch | 100 | ||||
-rw-r--r-- | chromium/chromium/chromium-nacl-llvm-ar.patch | 12 | ||||
-rw-r--r-- | chromium/chromium/chromium.spec | 21 |
10 files changed, 603 insertions, 36 deletions
diff --git a/chromium/chromium/chromium-disable-unrar.patch b/chromium/chromium/chromium-disable-unrar.patch index 698c7e9..7395711 100644 --- a/chromium/chromium/chromium-disable-unrar.patch +++ b/chromium/chromium/chromium-disable-unrar.patch @@ -11,19 +11,19 @@ index af72d11371e1..472cb0098d5e 100644 #include "components/download/public/common/download_item.h" #include "components/history/core/browser/history_service.h" diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc -index f46d4ed23669..05b9a5c5071a 100644 +index 683d4f23f2c6..35483e4a4041 100644 --- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc +++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc -@@ -94,8 +94,6 @@ void FileAnalyzer::Start(const base::FilePath& target_path, +@@ -99,8 +99,6 @@ void FileAnalyzer::Start(const base::FilePath& target_path, - if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".zip"))) { + if (inspection_type == DownloadFileType::ZIP) { StartExtractZipFeatures(); -- } else if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".rar"))) { +- } else if (inspection_type == DownloadFileType::RAR) { - StartExtractRarFeatures(); #if defined(OS_MACOSX) - } else if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".dmg")) || - target_path_.MatchesExtension(FILE_PATH_LITERAL(".img")) || -@@ -211,6 +209,7 @@ void FileAnalyzer::OnZipAnalysisFinished( + } else if (inspection_type == DownloadFileType::DMG) { + StartExtractDmgFeatures(); +@@ -210,6 +208,7 @@ void FileAnalyzer::OnZipAnalysisFinished( std::move(callback_).Run(std::move(results_)); } @@ -31,7 +31,7 @@ index f46d4ed23669..05b9a5c5071a 100644 void FileAnalyzer::StartExtractRarFeatures() { DCHECK_CURRENTLY_ON(BrowserThread::UI); -@@ -267,6 +266,7 @@ void FileAnalyzer::OnRarAnalysisFinished( +@@ -266,6 +265,7 @@ void FileAnalyzer::OnRarAnalysisFinished( std::move(callback_).Run(std::move(results_)); } @@ -72,20 +72,20 @@ index a1f5abf77f5c..6e88eb7954ad 100644 scoped_refptr<SandboxedDMGAnalyzer> dmg_analyzer_; base::TimeTicks dmg_analysis_start_time_; diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/BUILD.gn -index b93eeaeb7e87..7f2f94c6e377 100644 +index d96e5f17cb6f..a00dbd53cfdd 100644 --- a/chrome/common/safe_browsing/BUILD.gn +++ b/chrome/common/safe_browsing/BUILD.gn -@@ -68,7 +68,6 @@ if (safe_browsing_mode == 1) { - ":file_type_policies", +@@ -77,7 +77,6 @@ if (safe_browsing_mode == 1) { "//base", "//base:i18n", + "//components/safe_browsing:features", - "//third_party/unrar:unrar", ] defines = [ -@@ -150,7 +149,6 @@ source_set("safe_browsing") { - deps += [ +@@ -167,7 +166,6 @@ source_set("safe_browsing") { ":archive_analyzer_results", + ":binary_feature_extractor", ":download_type_util", - ":rar_analyzer", "//components/safe_browsing:features", @@ -103,13 +103,13 @@ index c191816456b0..49076ee372c0 100644 "+third_party/zlib", ] diff --git a/chrome/common/safe_browsing/rar_analyzer.cc b/chrome/common/safe_browsing/rar_analyzer.cc -index 996c0164ef7f..915f7f93d50b 100644 +index b8d56f05248d..dfefc7b1b05f 100644 --- a/chrome/common/safe_browsing/rar_analyzer.cc +++ b/chrome/common/safe_browsing/rar_analyzer.cc -@@ -13,7 +13,6 @@ - #include "chrome/common/safe_browsing/archive_analyzer_results.h" +@@ -15,7 +15,6 @@ #include "chrome/common/safe_browsing/download_type_util.h" #include "chrome/common/safe_browsing/file_type_policies.h" + #include "components/safe_browsing/features.h" -#include "third_party/unrar/src/unrar_wrapper.h" namespace safe_browsing { @@ -136,47 +136,52 @@ index 158cbfc6d157..6d8b0df7c59e 100644 ] diff --git a/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom b/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom -index 6983f7b415d4..15d5aaba3657 100644 +index 266160351e18..15d5aaba3657 100644 --- a/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom +++ b/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom -@@ -22,11 +22,6 @@ interface SafeArchiveAnalyzer { +@@ -22,13 +22,6 @@ interface SafeArchiveAnalyzer { // for malicious download protection. AnalyzeDmgFile(mojo_base.mojom.File dmg_file) => (SafeArchiveAnalyzerResults results); - - // Build flag FULL_SAFE_BROWSING: Analyze the |rar_file| for malicious -- // download protection. -- AnalyzeRarFile(mojo_base.mojom.File rar_file) +- // download protection. Uses the |temporary_file| to extract files from the +- // |rar_file| archive. +- AnalyzeRarFile(mojo_base.mojom.File rar_file, +- mojo_base.mojom.File temporary_file) - => (SafeArchiveAnalyzerResults results); }; [Native] diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/services/file_util/safe_archive_analyzer.cc -index a13b42b197b3..db49c37b9b49 100644 +index a58249e88d08..db49c37b9b49 100644 --- a/chrome/services/file_util/safe_archive_analyzer.cc +++ b/chrome/services/file_util/safe_archive_analyzer.cc -@@ -44,12 +44,3 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile(base::File dmg_file, +@@ -44,14 +44,3 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile(base::File dmg_file, NOTREACHED(); #endif } - -void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, +- base::File temporary_file, - AnalyzeRarFileCallback callback) { - DCHECK(rar_file.IsValid()); - - safe_browsing::ArchiveAnalyzerResults results; -- safe_browsing::rar_analyzer::AnalyzeRarFile(std::move(rar_file), &results); +- safe_browsing::rar_analyzer::AnalyzeRarFile( +- std::move(rar_file), std::move(temporary_file), &results); - std::move(callback).Run(results); -} diff --git a/chrome/services/file_util/safe_archive_analyzer.h b/chrome/services/file_util/safe_archive_analyzer.h -index f21efa6f57ba..2eda4f378bcc 100644 +index 94d6ec0e16f8..2eda4f378bcc 100644 --- a/chrome/services/file_util/safe_archive_analyzer.h +++ b/chrome/services/file_util/safe_archive_analyzer.h -@@ -25,8 +25,6 @@ class SafeArchiveAnalyzer : public chrome::mojom::SafeArchiveAnalyzer { +@@ -25,9 +25,6 @@ class SafeArchiveAnalyzer : public chrome::mojom::SafeArchiveAnalyzer { AnalyzeZipFileCallback callback) override; void AnalyzeDmgFile(base::File dmg_file, AnalyzeDmgFileCallback callback) override; - void AnalyzeRarFile(base::File rar_file, +- base::File temporary_file, - AnalyzeRarFileCallback callback) override; const std::unique_ptr<service_manager::ServiceContextRef> service_ref_; diff --git a/chromium/chromium/chromium-gcc8-r630084.patch b/chromium/chromium/chromium-gcc8-r630084.patch new file mode 100644 index 0000000..5a50700 --- /dev/null +++ b/chromium/chromium/chromium-gcc8-r630084.patch @@ -0,0 +1,108 @@ +From 2c3b57cafbbb38c13a519c9d2fda8b65691d9564 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Date: Thu, 7 Feb 2019 22:55:37 +0000 +Subject: [PATCH] allocator shim: Swap ALIGN_LINKAGE and SHIM_ALWAYS_EXPORT's + positions +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes the GCC build. GCC seems to be stricter with the position of the +linkage specification, so just swap the terms to prevent an error that looks +like: + +In file included from ../../base/allocator/allocator_shim.cc:333: +../../base/allocator/allocator_shim_override_cpp_symbols.h:39:30: error: expected unqualified-id before string constant + #define ALIGN_LINKAGE extern "C" + ^~~ +../../base/allocator/allocator_shim_override_cpp_symbols.h:99:20: note: in expansion of macro ‘ALIGN_LINKAGE’ + SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size, + ^~~~~~~~~~~~~ + +Bug: 819294 +Change-Id: I0aa16ea88cead42e83796a1c86afad8b447ddc50 +Reviewed-on: https://chromium-review.googlesource.com/c/1458256 +Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> +Reviewed-by: Primiano Tucci <primiano@chromium.org> +Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Cr-Commit-Position: refs/heads/master@{#630084} +--- + .../allocator_shim_override_cpp_symbols.h | 20 +++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/base/allocator/allocator_shim_override_cpp_symbols.h b/base/allocator/allocator_shim_override_cpp_symbols.h +index 1228f5e33d28..01d25b7f6437 100644 +--- a/base/allocator/allocator_shim_override_cpp_symbols.h ++++ b/base/allocator/allocator_shim_override_cpp_symbols.h +@@ -96,57 +96,57 @@ SHIM_ALWAYS_EXPORT void operator delete[](void* p, size_t) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW(std::size_t size, ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW(std::size_t size, + ALIGN_VAL_T alignment) { + return ShimCppAlignedNew(size, static_cast<size_t>(alignment)); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_NOTHROW( ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_NOTHROW( + std::size_t size, + ALIGN_VAL_T alignment, + const std::nothrow_t&) __THROW { + return ShimCppAlignedNew(size, static_cast<size_t>(alignment)); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW { ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL(void* p, ALIGN_VAL_T) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_SIZED(void* p, ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_SIZED(void* p, + std::size_t size, + ALIGN_VAL_T) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void + ALIGN_DEL_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR(std::size_t size, ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR(std::size_t size, + ALIGN_VAL_T alignment) { + return ShimCppAlignedNew(size, static_cast<size_t>(alignment)); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void* ALIGN_NEW_ARR_NOTHROW( ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void* ALIGN_NEW_ARR_NOTHROW( + std::size_t size, + ALIGN_VAL_T alignment, + const std::nothrow_t&) __THROW { + return ShimCppAlignedNew(size, static_cast<size_t>(alignment)); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR(void* p, ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR(void* p, + ALIGN_VAL_T) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ALIGN_DEL_ARR_SIZED(void* p, ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void ALIGN_DEL_ARR_SIZED(void* p, + std::size_t size, + ALIGN_VAL_T) __THROW { + ShimCppDelete(p); + } + +-SHIM_ALWAYS_EXPORT ALIGN_LINKAGE void ++ALIGN_LINKAGE SHIM_ALWAYS_EXPORT void + ALIGN_DEL_ARR_NOTHROW(void* p, ALIGN_VAL_T, const std::nothrow_t&) __THROW { + ShimCppDelete(p); + } +-- +2.20.1 + diff --git a/chromium/chromium/chromium-gcc8-r630140.patch b/chromium/chromium/chromium-gcc8-r630140.patch new file mode 100644 index 0000000..9d1f05a --- /dev/null +++ b/chromium/chromium/chromium-gcc8-r630140.patch @@ -0,0 +1,51 @@ +From a5ba6f9bb7665040045dc0f8087407096630ad7b Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Date: Fri, 8 Feb 2019 02:57:28 +0000 +Subject: [PATCH] color_utils: Use std::sqrt() instead of std::sqrtf() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes the build with libstdc++: + + ../../ui/gfx/color_utils.cc: In function ‘SkColor color_utils::SetDarkestColorForTesting(SkColor)’: + ../../ui/gfx/color_utils.cc:434:12: error: ‘sqrtf’ is not a member of ‘std’ + std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; + ^~~~~ + ../../ui/gfx/color_utils.cc:434:12: note: suggested alternative: ‘sqrt’ + std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; + ^~~~~ + sqrt + +sqrtf() is not formally part of C++14 as far as I can see even though libc++ +has it in <cmath>. Additionally, we're only dealing with floats in all parts +of the expression above, so using the float sqrt() overload should be +harmless anyway. + +Bug: 819294 +Change-Id: If6c7bf31819df97a761e6963def6d6506154c34d +Reviewed-on: https://chromium-review.googlesource.com/c/1458193 +Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Reviewed-by: Peter Kasting <pkasting@chromium.org> +Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Cr-Commit-Position: refs/heads/master@{#630140} +--- + ui/gfx/color_utils.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ui/gfx/color_utils.cc b/ui/gfx/color_utils.cc +index c868cd54bac3..92ba1407d594 100644 +--- a/ui/gfx/color_utils.cc ++++ b/ui/gfx/color_utils.cc +@@ -431,7 +431,7 @@ SkColor SetDarkestColorForTesting(SkColor color) { + // GetContrastRatio(kWhiteLuminance, g_luminance_midpoint). The formula below + // can be verified by plugging it into how GetContrastRatio() operates. + g_luminance_midpoint = +- std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; ++ std::sqrt((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; + + return previous_darkest_color; + } +-- +2.20.1 + diff --git a/chromium/chromium/chromium-gcc8-r630249.patch b/chromium/chromium/chromium-gcc8-r630249.patch new file mode 100644 index 0000000..9cc6cf2 --- /dev/null +++ b/chromium/chromium/chromium-gcc8-r630249.patch @@ -0,0 +1,69 @@ +From c33e832cc145c696d2157796c7640e659740dafa Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Date: Fri, 8 Feb 2019 08:44:00 +0000 +Subject: [PATCH] quic_flags_impl: Fix GCC build after #618558 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having +base::NoDestructor<T<U>> and passing an initializer list of Us does not +work if this is not done explicitly, as GCC incorrectly fails to determine +which constructor overload to use: + + ../../net/third_party/quic/platform/impl/quic_flags_impl.cc: In member function ‘bool quic::TypedQuicFlagHelper<T>::SetFlag(const string&) const [with T = bool; std::__cxx11::string = std::__cxx11::basic_string<char>]’: + ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:156:41: error: call of overloaded ‘NoDestructor(<brace-enclosed initializer list>)’ is ambiguous + {"", "1", "t", "true", "y", "yes"}); + ^ + In file included from ../../net/third_party/quic/platform/impl/quic_flags_impl.h:16, + from ../../net/third_party/quic/platform/impl/quic_flags_impl.cc:5: + ../../base/no_destructor.h:62:3: note: candidate: ‘base::NoDestructor<T>::NoDestructor(const base::NoDestructor<T>&) [with T = std::set<std::__cxx11::basic_string<char> >]’ <deleted> + NoDestructor(const NoDestructor&) = delete; + ^~~~~~~~~~~~ + ../../base/no_destructor.h:60:12: note: candidate: ‘base::NoDestructor<T>::NoDestructor(T&&) [with T = std::set<std::__cxx11::basic_string<char> >]’ + explicit NoDestructor(T&& x) { new (storage_) T(std::move(x)); } + ^~~~~~~~~~~~ + ../../base/no_destructor.h:59:12: note: candidate: ‘base::NoDestructor<T>::NoDestructor(const T&) [with T = std::set<std::__cxx11::basic_string<char> >]’ + explicit NoDestructor(const T& x) { new (storage_) T(x); } + ^~~~~~~~~~~~ + +Explicitly use an std::initializer_list to make the build work everywhere. + +Bug: 819294 +Change-Id: I775be20e3766a88a656b58c94c40869cb1bee2a8 +Reviewed-on: https://chromium-review.googlesource.com/c/1458214 +Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Reviewed-by: Ryan Hamilton <rch@chromium.org> +Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Cr-Commit-Position: refs/heads/master@{#630249} +--- + net/third_party/quic/platform/impl/quic_flags_impl.cc | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/net/third_party/quic/platform/impl/quic_flags_impl.cc b/net/third_party/quic/platform/impl/quic_flags_impl.cc +index 5e6962d1e770..3fa45fc6892d 100644 +--- a/net/third_party/quic/platform/impl/quic_flags_impl.cc ++++ b/net/third_party/quic/platform/impl/quic_flags_impl.cc +@@ -5,6 +5,7 @@ + #include "net/third_party/quic/platform/impl/quic_flags_impl.h" + + #include <algorithm> ++#include <initializer_list> + #include <iostream> + #include <set> + +@@ -153,9 +154,9 @@ std::string QuicFlagRegistry::GetHelp() const { + template <> + bool TypedQuicFlagHelper<bool>::SetFlag(const std::string& s) const { + static const base::NoDestructor<std::set<std::string>> kTrueValues( +- {"", "1", "t", "true", "y", "yes"}); ++ std::initializer_list<std::string>({"", "1", "t", "true", "y", "yes"})); + static const base::NoDestructor<std::set<std::string>> kFalseValues( +- {"0", "f", "false", "n", "no"}); ++ std::initializer_list<std::string>({"0", "f", "false", "n", "no"})); + if (kTrueValues->find(base::ToLowerASCII(s)) != kTrueValues->end()) { + *flag_ = true; + return true; +-- +2.20.1 + diff --git a/chromium/chromium/chromium-gcc8-r630355.patch b/chromium/chromium/chromium-gcc8-r630355.patch new file mode 100644 index 0000000..c3f8e42 --- /dev/null +++ b/chromium/chromium/chromium-gcc8-r630355.patch @@ -0,0 +1,99 @@ +From 130a5ae24a02daba8729ba2216bcaf3dbfacea69 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Date: Fri, 8 Feb 2019 16:58:38 +0000 +Subject: [PATCH] media::learning: Make LabelledExample's move assignment + operator noexcept +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The GCC build is currently broken with an error like this: + + ../../media/learning/common/labelled_example.cc:20:1: error: function ‘media::learning::LabelledExample::LabelledExample(media::learning::LabelledExample&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ + LabelledExample::LabelledExample(LabelledExample&& rhs) noexcept = default; + ^~~~~~~~~~~~~~~ + +With GCC, having that noexcept marker requires all members to be marked with +noexcept themselves, and TargetValue was missing some assignment operators +and noexcept markers. + +clang is fine because we pass -fno-exceptions and it disables the same error +there, while GCC continues to raise it (bug 843143 and its corresponding CL +have a longer discussion on this issue). + +Bug: 819294 +Change-Id: Ide30932fc466ccb52d6883a82777e703dae48798 +Reviewed-on: https://chromium-review.googlesource.com/c/1458210 +Commit-Queue: Frank Liberato <liberato@chromium.org> +Reviewed-by: Frank Liberato <liberato@chromium.org> +Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Cr-Commit-Position: refs/heads/master@{#630355} +--- + media/learning/common/labelled_example.cc | 3 ++- + media/learning/common/labelled_example.h | 2 +- + media/learning/common/value.cc | 6 ++++++ + media/learning/common/value.h | 4 ++++ + 4 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/media/learning/common/labelled_example.cc b/media/learning/common/labelled_example.cc +index 76d08509298e..43e834f9f3cf 100644 +--- a/media/learning/common/labelled_example.cc ++++ b/media/learning/common/labelled_example.cc +@@ -59,7 +59,8 @@ bool LabelledExample::operator<(const LabelledExample& rhs) const { + LabelledExample& LabelledExample::operator=(const LabelledExample& rhs) = + default; + +-LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) = default; ++LabelledExample& LabelledExample::operator=(LabelledExample&& rhs) noexcept = ++ default; + + TrainingData::TrainingData() = default; + +diff --git a/media/learning/common/labelled_example.h b/media/learning/common/labelled_example.h +index 4f43c54e7a76..365abc3c0ebf 100644 +--- a/media/learning/common/labelled_example.h ++++ b/media/learning/common/labelled_example.h +@@ -40,7 +40,7 @@ struct COMPONENT_EXPORT(LEARNING_COMMON) LabelledExample { + bool operator<(const LabelledExample& rhs) const; + + LabelledExample& operator=(const LabelledExample& rhs); +- LabelledExample& operator=(LabelledExample&& rhs); ++ LabelledExample& operator=(LabelledExample&& rhs) noexcept; + + // Observed feature values. + // Note that to interpret these values, you probably need to have the +diff --git a/media/learning/common/value.cc b/media/learning/common/value.cc +index 9c9395c25d4e..12ea399d24c3 100644 +--- a/media/learning/common/value.cc ++++ b/media/learning/common/value.cc +@@ -23,6 +23,12 @@ Value::Value(const std::string& x) : value_(base::PersistentHash(x)) {} + + Value::Value(const Value& other) : value_(other.value_) {} + ++Value::Value(Value&& rhs) noexcept = default; ++ ++Value& Value::operator=(const Value& rhs) = default; ++ ++Value& Value::operator=(Value&& rhs) noexcept = default; ++ + bool Value::operator==(const Value& rhs) const { + return value_ == rhs.value_; + } +diff --git a/media/learning/common/value.h b/media/learning/common/value.h +index 0e64da961f34..62f4953f691c 100644 +--- a/media/learning/common/value.h ++++ b/media/learning/common/value.h +@@ -38,6 +38,10 @@ class COMPONENT_EXPORT(LEARNING_COMMON) Value { + explicit Value(const std::string& x); + + Value(const Value& other); ++ Value(Value&&) noexcept; ++ ++ Value& operator=(const Value&); ++ Value& operator=(Value&&) noexcept; + + bool operator==(const Value& rhs) const; + bool operator!=(const Value& rhs) const; +-- +2.20.1 + diff --git a/chromium/chromium/chromium-gcc8-r631472.patch b/chromium/chromium/chromium-gcc8-r631472.patch new file mode 100644 index 0000000..df7d630 --- /dev/null +++ b/chromium/chromium/chromium-gcc8-r631472.patch @@ -0,0 +1,59 @@ +From bdd76190e54e6a0e11343dd19e4bf1d06956fa48 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Date: Wed, 13 Feb 2019 01:02:27 +0000 +Subject: [PATCH] BaseRenderingContext2D: Use base::CheckMul and simplify code + in putImageData() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Follow-up to commit e0b3253a56 ("Fix image conversion truncation issues"). +The current code does not build with GCC due to +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89287: + + ../../third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc: In member function ‘void blink::BaseRenderingContext2D::putImageData(blink::ImageData*, int, int, int, int, int, int, blink::ExceptionState&)’: + ../../third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc:1777:44: error: default type conversion can't deduce template argument for ‘template<class Dst, typename std::enable_if<base::internal::IsNumericRangeContained<Dst, long unsigned int, void>::value, void>::type* <anonymous> > constexpr base::internal::StrictNumeric<T>::operator Dst() const [with Dst = Dst; typename std::enable_if<base::internal::IsNumericRangeContained<Dst, T>::value>::type* <anonymous> = <enumerator>; T = long unsigned int]’ + new uint8_t[data_length.ValueOrDie()]); + ^ + +Work around it by using the more idiomatic base::CheckMul() with +AssignIfValid, so that we can have |data_length| be a size_t again and not +leave it to the compiler to figure out the type we want when creating the +|converted_pixels| array. + +Bug: 819294 +Change-Id: Id124cc4f3d749b45def4708e21e4badafd708578 +Reviewed-on: https://chromium-review.googlesource.com/c/1467201 +Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Commit-Queue: Kentaro Hara <haraken@chromium.org> +Reviewed-by: Kentaro Hara <haraken@chromium.org> +Cr-Commit-Position: refs/heads/master@{#631472} +--- + .../canvas/canvas2d/base_rendering_context_2d.cc | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +index d9fa696c9a9d..34a8a202bfd3 100644 +--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc ++++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +@@ -1769,12 +1769,12 @@ void BaseRenderingContext2D::putImageData(ImageData* data, + CanvasColorParams(ColorParams().ColorSpace(), PixelFormat(), kNonOpaque); + if (data_color_params.NeedsColorConversion(context_color_params) || + PixelFormat() == kF16CanvasPixelFormat) { +- base::CheckedNumeric<size_t> data_length = data->Size().Area(); +- data_length *= context_color_params.BytesPerPixel(); +- if (!data_length.IsValid()) ++ size_t data_length; ++ if (!base::CheckMul(data->Size().Area(), ++ context_color_params.BytesPerPixel()) ++ .AssignIfValid(&data_length)) + return; +- std::unique_ptr<uint8_t[]> converted_pixels( +- new uint8_t[data_length.ValueOrDie()]); ++ std::unique_ptr<uint8_t[]> converted_pixels(new uint8_t[data_length]); + if (data->ImageDataInCanvasColorSettings( + ColorParams().ColorSpace(), PixelFormat(), converted_pixels.get(), + kRGBAColorType)) { +-- +2.20.1 + diff --git a/chromium/chromium/chromium-gcc8-r631962.patch b/chromium/chromium/chromium-gcc8-r631962.patch new file mode 100644 index 0000000..033861e --- /dev/null +++ b/chromium/chromium/chromium-gcc8-r631962.patch @@ -0,0 +1,65 @@ +From 78b0f0dfa9e6f3c37b71102c01def92f1ab8c330 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Date: Wed, 13 Feb 2019 23:28:46 +0000 +Subject: [PATCH] CastActivityManager: Do not make DoLaunchSessionParams' move + constructor noexcept +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes the GCC build: + + ../../chrome/browser/media/router/providers/cast/cast_activity_manager.cc:806:1: error: function ‘media_router::CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams(media_router::CastActivityManager::DoLaunchSessionParams&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ + CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( + ^~~~~~~~~~~~~~~~~~~ + +With GCC, having that noexcept marker requires all members to be marked with +noexcept themselves, and MediaRoute, CastMediaSource and url::Origin need +the right annotations. Just making DoLaunchSessionParams not noexcept is the +least intrusive solution for now. + +clang is fine because we pass -fno-exceptions and it disables the same error +there, while GCC continues to raise it (bug 843143 and its corresponding CL +have a longer discussion on this issue). + +Bug: 819294 +Change-Id: Ia3a5fb60b5e74e68bd35cfa50e2fcc728b64e5eb +Reviewed-on: https://chromium-review.googlesource.com/c/1469942 +Commit-Queue: mark a. foltz <mfoltz@chromium.org> +Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Reviewed-by: mark a. foltz <mfoltz@chromium.org> +Cr-Commit-Position: refs/heads/master@{#631962} +--- + .../media/router/providers/cast/cast_activity_manager.cc | 2 +- + .../browser/media/router/providers/cast/cast_activity_manager.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc +index b7ee9695f69a..8569e0cd30a3 100644 +--- a/chrome/browser/media/router/providers/cast/cast_activity_manager.cc ++++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.cc +@@ -804,7 +804,7 @@ CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( + callback(std::move(callback)) {} + + CastActivityManager::DoLaunchSessionParams::DoLaunchSessionParams( +- DoLaunchSessionParams&& other) noexcept = default; ++ DoLaunchSessionParams&& other) = default; + + CastActivityManager::DoLaunchSessionParams::~DoLaunchSessionParams() = default; + +diff --git a/chrome/browser/media/router/providers/cast/cast_activity_manager.h b/chrome/browser/media/router/providers/cast/cast_activity_manager.h +index 325bffc725ee..08fe0ccca603 100644 +--- a/chrome/browser/media/router/providers/cast/cast_activity_manager.h ++++ b/chrome/browser/media/router/providers/cast/cast_activity_manager.h +@@ -295,7 +295,7 @@ class CastActivityManager : public cast_channel::CastMessageHandler::Observer, + const url::Origin& origin, + int tab_id, + mojom::MediaRouteProvider::CreateRouteCallback callback); +- DoLaunchSessionParams(DoLaunchSessionParams&& other) noexcept; ++ DoLaunchSessionParams(DoLaunchSessionParams&& other); + ~DoLaunchSessionParams(); + DoLaunchSessionParams& operator=(DoLaunchSessionParams&&) = delete; + +-- +2.20.1 + diff --git a/chromium/chromium/chromium-gcc8-r632385.patch b/chromium/chromium/chromium-gcc8-r632385.patch new file mode 100644 index 0000000..d8eca1e --- /dev/null +++ b/chromium/chromium/chromium-gcc8-r632385.patch @@ -0,0 +1,100 @@ +From cf4c534f04c223f8a9d65407852e2a531a6d7fb6 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Date: Thu, 14 Feb 2019 22:22:21 +0000 +Subject: [PATCH] chrome/browser: Replace some forward declarations with actual + includes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This fixes the GCC build which was failing like this: + + ../../base/scoped_observer.h: In instantiation of ‘void ScopedObserver<Source, Observer>::RemoveAll() [with Source = TabStripModel; Observer = TabStripModelObserver]’: + ../../base/scoped_observer.h:26:5: required from ‘ScopedObserver<Source, Observer>::~ScopedObserver() [with Source = TabStripModel; Observer = TabStripModelObserver]’ + ../../chrome/browser/ui/views/extensions/extension_popup.h:115:70: required from here + ../../base/scoped_observer.h:45:20: error: invalid use of incomplete type ‘class TabStripModel’ + sources_[i]->RemoveObserver(observer_); + ~~~~~~~~~~~~~^~~~~~~~~~~~~~ + +This is caused by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89311 ("Brace +initialization needlessly invokes destructor"), i.e. having something like + + ScopedObserver<T, U> observer_{this}; + +in a header declaration requires T and U to be fully declared because +ScopedObserver's destructor references them. In a few cases, T was only +forward-declared. + +Bug: 819294 +Change-Id: Ie5b9dc2745e27d4532c5539e3845a8c9147a0595 +Reviewed-on: https://chromium-review.googlesource.com/c/1472576 +Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> +Commit-Queue: Alan Cutter <alancutter@chromium.org> +Reviewed-by: Finnur Thorarinsson <finnur@chromium.org> +Reviewed-by: Alan Cutter <alancutter@chromium.org> +Cr-Commit-Position: refs/heads/master@{#632385} +--- + chrome/browser/ui/views/extensions/extension_popup.cc | 1 - + chrome/browser/ui/views/extensions/extension_popup.h | 1 + + chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc | 1 - + chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h | 2 +- + .../web_applications/extensions/bookmark_app_tab_helper.cc | 1 - + .../web_applications/extensions/bookmark_app_tab_helper.h | 2 +- + 6 files changed, 3 insertions(+), 5 deletions(-) + +diff --git a/chrome/browser/ui/views/extensions/extension_popup.cc b/chrome/browser/ui/views/extensions/extension_popup.cc +index 80b5a17eb84f..656640e21e58 100644 +--- a/chrome/browser/ui/views/extensions/extension_popup.cc ++++ b/chrome/browser/ui/views/extensions/extension_popup.cc +@@ -8,7 +8,6 @@ + #include "chrome/browser/devtools/devtools_window.h" + #include "chrome/browser/extensions/extension_view_host.h" + #include "chrome/browser/ui/browser.h" +-#include "chrome/browser/ui/tabs/tab_strip_model.h" + #include "content/public/browser/devtools_agent_host.h" + #include "content/public/browser/notification_details.h" + #include "content/public/browser/notification_source.h" +diff --git a/chrome/browser/ui/views/extensions/extension_popup.h b/chrome/browser/ui/views/extensions/extension_popup.h +index ae8853766e15..ab007fe09e9a 100644 +--- a/chrome/browser/ui/views/extensions/extension_popup.h ++++ b/chrome/browser/ui/views/extensions/extension_popup.h +@@ -9,6 +9,7 @@ + #include "base/compiler_specific.h" + #include "base/macros.h" + #include "base/scoped_observer.h" ++#include "chrome/browser/ui/tabs/tab_strip_model.h" + #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" + #include "chrome/browser/ui/views/extensions/extension_view_views.h" + #include "content/public/browser/devtools_agent_host_observer.h" +diff --git a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc +index d0ebf139b57d..beeaed9bf431 100644 +--- a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc ++++ b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.cc +@@ -9,7 +9,6 @@ + #include "base/single_thread_task_runner.h" + #include "base/threading/thread_task_runner_handle.h" + #include "base/time/time.h" +-#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" + #include "chrome/browser/ui/views/frame/browser_view.h" + #include "chrome/browser/ui/views/toolbar/app_menu.h" + #include "chrome/browser/ui/views/toolbar/browser_actions_container.h" +diff --git a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h +index d9814594270a..f5fee9f4fbe7 100644 +--- a/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h ++++ b/chrome/browser/ui/views/toolbar/extension_toolbar_menu_view.h +@@ -8,6 +8,7 @@ + #include "base/macros.h" + #include "base/memory/weak_ptr.h" + #include "base/scoped_observer.h" ++#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" + #include "chrome/browser/ui/toolbar/toolbar_actions_bar_observer.h" + #include "chrome/browser/ui/views/toolbar/app_menu_observer.h" + #include "ui/views/controls/scroll_view.h" +@@ -15,7 +16,6 @@ + class AppMenu; + class Browser; + class BrowserActionsContainer; +-class ToolbarActionsBar; + + namespace views { + class MenuItemView; diff --git a/chromium/chromium/chromium-nacl-llvm-ar.patch b/chromium/chromium/chromium-nacl-llvm-ar.patch index 40bc529..e3c7dfd 100644 --- a/chromium/chromium/chromium-nacl-llvm-ar.patch +++ b/chromium/chromium/chromium-nacl-llvm-ar.patch @@ -1,21 +1,21 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 08939c54483d..a7008d7278b8 100644 +index 68dc6a001a49..5f828d828464 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -1688,7 +1688,7 @@ config("thin_archive") { +@@ -1695,7 +1695,7 @@ config("thin_archive") { # have a "thin archive" mode (it does accept -T, but it means truncating # archive names to 16 characters, which is not what we want). if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) { - arflags = [ "-T" ] + arflags = [ "T" ] + } else if (is_win && use_lld) { + arflags = [ "/llvmlibthin" ] } - } - diff --git a/build/toolchain/gcc_toolchain.gni b/build/toolchain/gcc_toolchain.gni -index e7c88708c366..bdb8ab4d36a0 100644 +index d3bf0ae004be..20be4a557ed3 100644 --- a/build/toolchain/gcc_toolchain.gni +++ b/build/toolchain/gcc_toolchain.gni -@@ -336,7 +336,7 @@ template("gcc_toolchain") { +@@ -351,7 +351,7 @@ template("gcc_toolchain") { } else { rspfile = "{{output}}.rsp" rspfile_content = "{{inputs}}" diff --git a/chromium/chromium/chromium.spec b/chromium/chromium/chromium.spec index 16859d7..577f1b1 100644 --- a/chromium/chromium/chromium.spec +++ b/chromium/chromium/chromium.spec @@ -47,7 +47,7 @@ %bcond_with fedora_compilation_flags Name: chromium -Version: 72.0.3626.121 +Version: 73.0.3683.75 Release: 100%{?dist} Summary: A WebKit (Blink) powered web browser @@ -94,8 +94,16 @@ Patch50: chromium-nacl-llvm-ar.patch # https://src.fedoraproject.org/rpms/chromium/c/cb0be2c990fc724e Patch60: chromium-bootstrap-python2.patch -# Fix missing includes -Patch70: chromium-webrtc-string.patch +# Pull upstream patches from Gentoo +# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a18dfb2bc7b05084 +# https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8a4db4358f52de35 +Patch70: chromium-gcc8-r630084.patch +Patch71: chromium-gcc8-r630140.patch +Patch72: chromium-gcc8-r630249.patch +Patch73: chromium-gcc8-r630355.patch +Patch74: chromium-gcc8-r631472.patch +Patch75: chromium-gcc8-r631962.patch +Patch76: chromium-gcc8-r632385.patch # I don't have time to test whether it work on other architectures ExclusiveArch: x86_64 @@ -217,11 +225,9 @@ find -type f -exec \ courgette/third_party \ native_client/src/third_party/dlmalloc \ native_client/src/third_party/valgrind \ - net/third_party/http2 \ net/third_party/mozilla_security_manager \ net/third_party/nss \ net/third_party/quic \ - net/third_party/spdy \ net/third_party/uri_template \ third_party/abseil-cpp \ third_party/adobe \ @@ -348,6 +354,7 @@ find -type f -exec \ third_party/s2cellid \ third_party/sfntly \ third_party/skia \ + third_party/skia/include/third_party/vulkan \ third_party/skia/third_party/gif \ third_party/skia/third_party/skcms \ third_party/skia/third_party/vulkan \ @@ -380,6 +387,7 @@ find -type f -exec \ third_party/zlib/google \ tools/gn/base/third_party/icu \ url/third_party/mozilla \ + v8/src/third_party/siphash \ v8/src/third_party/valgrind \ v8/src/third_party/utf8-decoder \ v8/third_party/inspector_protocol \ @@ -618,6 +626,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* Wed Mar 13 2019 - Ting-Wei Lan <lantw44@gmail.com> - 73.0.3683.75-100 +- Update to 73.0.3683.75 + * Sat Mar 02 2019 - Ting-Wei Lan <lantw44@gmail.com> - 72.0.3626.121-100 - Update to 72.0.3626.121 |