diff --git a/extra/chromium/0001-ARM-toolchain-fixes.patch b/extra/chromium/0001-ARM-toolchain-fixes.patch deleted file mode 100644 index cb4536c59..000000000 --- a/extra/chromium/0001-ARM-toolchain-fixes.patch +++ /dev/null @@ -1,58 +0,0 @@ -From eb185b185e741acd88be56f7f77ee6b333399cf1 Mon Sep 17 00:00:00 2001 -From: Kevin Mihelich -Date: Sun, 23 Oct 2016 10:57:25 -0600 -Subject: [PATCH 1/7] ARM toolchain fixes - ---- - build/toolchain/linux/BUILD.gn | 24 ++++++++++-------------- - 1 file changed, 10 insertions(+), 14 deletions(-) - -diff --git a/build/toolchain/linux/BUILD.gn b/build/toolchain/linux/BUILD.gn -index 4e9ff440d18c..7f528b08c98a 100644 ---- a/build/toolchain/linux/BUILD.gn -+++ b/build/toolchain/linux/BUILD.gn -@@ -22,15 +22,13 @@ clang_toolchain("clang_arm64") { - } - - gcc_toolchain("arm64") { -- toolprefix = "aarch64-linux-gnu-" -- -- cc = "${toolprefix}gcc" -- cxx = "${toolprefix}g++" -+ cc = "gcc" -+ cxx = "g++" - -- ar = "${toolprefix}ar" -+ ar = "ar" - ld = cxx -- readelf = "${toolprefix}readelf" -- nm = "${toolprefix}nm" -+ readelf = "readelf" -+ nm = "nm" - - toolchain_args = { - current_cpu = "arm64" -@@ -40,15 +38,13 @@ gcc_toolchain("arm64") { - } - - gcc_toolchain("arm") { -- toolprefix = "arm-linux-gnueabihf-" -- -- cc = "${toolprefix}gcc" -- cxx = "${toolprefix}g++" -+ cc = "gcc" -+ cxx = "g++" - -- ar = "${toolprefix}ar" -+ ar = "ar" - ld = cxx -- readelf = "${toolprefix}readelf" -- nm = "${toolprefix}nm" -+ readelf = "readelf" -+ nm = "nm" - - toolchain_args = { - current_cpu = "arm" --- -2.17.0 - diff --git a/extra/chromium/0002-GCC-build-fix-mark-is_trivially_copy_constructible-f.patch b/extra/chromium/0002-GCC-build-fix-mark-is_trivially_copy_constructible-f.patch deleted file mode 100644 index 73d8b1a75..000000000 --- a/extra/chromium/0002-GCC-build-fix-mark-is_trivially_copy_constructible-f.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 502ce644e4a319e99d25602356895831ec16c033 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 7 Mar 2018 18:50:50 +0000 -Subject: [PATCH 2/7] GCC build fix: mark is_trivially_copy_constructible for - WTF::Vector as false. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Compilation in GCC fails because of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654 -if T in WTF::Optional> is not trivially copy constructible. -The problem already happened in std::vector and was workarounded. This -change implements a similar fix for WTF::Vector. - -Bug: 816952 - -Change-Id: If87f01beb952e03eb49dcaf0c5db6efd745bf05e -Reviewed-on: https://chromium-review.googlesource.com/944404 -Commit-Queue: José Dapena Paz -Reviewed-by: Kentaro Hara -Cr-Commit-Position: refs/heads/master@{#541516} ---- - third_party/WebKit/Source/platform/wtf/DEPS | 1 + - third_party/WebKit/Source/platform/wtf/Vector.h | 17 +++++++++++++++++ - 2 files changed, 18 insertions(+) - -diff --git a/third_party/WebKit/Source/platform/wtf/DEPS b/third_party/WebKit/Source/platform/wtf/DEPS -index a2b6603245b4..bccf1e08c77d 100644 ---- a/third_party/WebKit/Source/platform/wtf/DEPS -+++ b/third_party/WebKit/Source/platform/wtf/DEPS -@@ -16,6 +16,7 @@ include_rules = [ - "+base/process/process_metrics.h", - "+base/rand_util.h", - "+base/strings", -+ "+base/template_util.h", - "+base/threading/thread_checker.h", - "+base/time/time.h", - "+base/tuple.h", -diff --git a/third_party/WebKit/Source/platform/wtf/Vector.h b/third_party/WebKit/Source/platform/wtf/Vector.h -index c356287b2f42..8421b135e162 100644 ---- a/third_party/WebKit/Source/platform/wtf/Vector.h -+++ b/third_party/WebKit/Source/platform/wtf/Vector.h -@@ -28,6 +28,7 @@ - #include - - #include "base/macros.h" -+#include "base/template_util.h" - #include "build/build_config.h" - #include "platform/wtf/Alignment.h" - #include "platform/wtf/ConditionalDestructor.h" -@@ -1995,6 +1996,22 @@ Vector::Trace(VisitorDispatcher visitor) { - - } // namespace WTF - -+namespace base { -+ -+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7 -+// Workaround for g++7 and earlier family. -+// Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654, without this -+// Optional> where T is non-copyable causes a compile error. -+// As we know it is not trivially copy constructible, explicitly declare so. -+// -+// It completes the declaration in base/template_util.h that was provided -+// for std::vector -+template -+struct is_trivially_copy_constructible> : std::false_type {}; -+#endif -+ -+} // namespace base -+ - using WTF::Vector; - - #endif // WTF_Vector_h --- -2.17.0 - diff --git a/extra/chromium/0003-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch b/extra/chromium/0003-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch deleted file mode 100644 index 5fd1dcac5..000000000 --- a/extra/chromium/0003-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 4bfee656740d6f6a28cc822cf781bffac1c1ca24 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Mon, 5 Mar 2018 14:19:54 +0000 -Subject: [PATCH 3/7] GCC build fix: base::Optional requires the full - declaration of T -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In GCC 7.2/7.3, base::Optional fails to compile, if T has still -only been forward declared, as it cannot properly resolve the -is_trivially_* declarations. In this case it is needed to include the -full declaration of the type, and not only the forward declaration. - -Change-Id: I63e5c6307394c6c2eda6af108c80395152bfc04f -Reviewed-on: https://chromium-review.googlesource.com/944401 -Commit-Queue: José Dapena Paz -Reviewed-by: Bernhard Bauer -Cr-Commit-Position: refs/heads/master@{#540815} ---- - services/preferences/tracked/pref_hash_filter.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/services/preferences/tracked/pref_hash_filter.h b/services/preferences/tracked/pref_hash_filter.h -index c425aee850dd..2bad7bb5ce8b 100644 ---- a/services/preferences/tracked/pref_hash_filter.h -+++ b/services/preferences/tracked/pref_hash_filter.h -@@ -21,9 +21,9 @@ - #include "services/preferences/public/mojom/preferences.mojom.h" - #include "services/preferences/tracked/hash_store_contents.h" - #include "services/preferences/tracked/interceptable_pref_filter.h" -+#include "services/preferences/tracked/pref_hash_store.h" - #include "services/preferences/tracked/tracked_preference.h" - --class PrefHashStore; - class PrefService; - - namespace base { --- -2.17.0 - diff --git a/extra/chromium/0004-GCC-IDB-methods-String-renamed-to-GetString.patch b/extra/chromium/0004-GCC-IDB-methods-String-renamed-to-GetString.patch deleted file mode 100644 index 4d8078ba4..000000000 --- a/extra/chromium/0004-GCC-IDB-methods-String-renamed-to-GetString.patch +++ /dev/null @@ -1,163 +0,0 @@ -From 5ab7125656d24d876b08958f7718e2b8cbbaea1b Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Mon, 5 Mar 2018 23:43:08 +0000 -Subject: [PATCH 4/7] GCC: IDB methods String() renamed to GetString() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GCC 7.2/7.3 complains for redefining String as a method, in IDB code, -because the string accessor is named String(). So rename the accessor -to be GetString. - -It seems basic.scope.hiding should imply the original code is valid, -so reported as a bug to GCC: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84709 - -Change-Id: Ide66104bd0953f5bb03a1bc62d7f238833ea62e7 -Reviewed-on: https://chromium-review.googlesource.com/944406 -Commit-Queue: José Dapena Paz -Reviewed-by: Kentaro Hara -Reviewed-by: Victor Costan -Reviewed-by: Kinuko Yasuda -Cr-Commit-Position: refs/heads/master@{#540986} ---- - .../Source/bindings/modules/v8/V8BindingForModules.cpp | 10 +++++----- - .../bindings/modules/v8/V8BindingForModulesTest.cpp | 2 +- - .../WebKit/Source/modules/exported/WebIDBKey.cpp | 2 +- - .../WebKit/Source/modules/indexeddb/IDBDatabase.cpp | 2 +- - third_party/WebKit/Source/modules/indexeddb/IDBKey.h | 2 +- - .../WebKit/Source/modules/indexeddb/IDBKeyPath.h | 2 +- - .../modules/indexeddb/InspectorIndexedDBAgent.cpp | 2 +- - 7 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp b/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp -index 63e7e711431f..f9f9ce518c22 100644 ---- a/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp -+++ b/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp -@@ -68,7 +68,7 @@ v8::Local ToV8(const IDBKeyPath& value, - case IDBKeyPath::kNullType: - return v8::Null(isolate); - case IDBKeyPath::kStringType: -- return V8String(isolate, value.String()); -+ return V8String(isolate, value.GetString()); - case IDBKeyPath::kArrayType: - return ToV8(value.Array(), creation_context, isolate); - } -@@ -97,7 +97,7 @@ v8::Local ToV8(const IDBKey* key, - case IDBKey::kNumberType: - return v8::Number::New(isolate, key->Number()); - case IDBKey::kStringType: -- return V8String(isolate, key->String()); -+ return V8String(isolate, key->GetString()); - case IDBKey::kBinaryType: - // https://w3c.github.io/IndexedDB/#convert-a-value-to-a-key - return ToV8(DOMArrayBuffer::Create(key->Binary()), creation_context, -@@ -375,7 +375,7 @@ static std::unique_ptr CreateIDBKeyFromValueAndKeyPath( - } - - DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType); -- return CreateIDBKeyFromValueAndKeyPath(isolate, value, key_path.String(), -+ return CreateIDBKeyFromValueAndKeyPath(isolate, value, key_path.GetString(), - exception_state); - } - -@@ -479,7 +479,7 @@ bool InjectV8KeyIntoV8Value(v8::Isolate* isolate, - DCHECK(isolate->InContext()); - - DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType); -- Vector key_path_elements = ParseKeyPath(key_path.String()); -+ Vector key_path_elements = ParseKeyPath(key_path.GetString()); - - // The conbination of a key generator and an empty key path is forbidden by - // spec. -@@ -565,7 +565,7 @@ bool CanInjectIDBKeyIntoScriptValue(v8::Isolate* isolate, - const IDBKeyPath& key_path) { - IDB_TRACE("canInjectIDBKeyIntoScriptValue"); - DCHECK_EQ(key_path.GetType(), IDBKeyPath::kStringType); -- Vector key_path_elements = ParseKeyPath(key_path.String()); -+ Vector key_path_elements = ParseKeyPath(key_path.GetString()); - - if (!key_path_elements.size()) - return false; -diff --git a/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModulesTest.cpp b/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModulesTest.cpp -index 8f79cd7d1560..9add0d0e971d 100644 ---- a/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModulesTest.cpp -+++ b/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModulesTest.cpp -@@ -118,7 +118,7 @@ void CheckKeyPathStringValue(v8::Isolate* isolate, - CheckKeyFromValueAndKeyPathInternal(isolate, value, key_path); - ASSERT_TRUE(idb_key); - ASSERT_EQ(IDBKey::kStringType, idb_key->GetType()); -- ASSERT_TRUE(expected == idb_key->String()); -+ ASSERT_TRUE(expected == idb_key->GetString()); - } - - void CheckKeyPathNumberValue(v8::Isolate* isolate, -diff --git a/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp b/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp -index 86015cdab573..4f6657af8fc9 100644 ---- a/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp -+++ b/third_party/WebKit/Source/modules/exported/WebIDBKey.cpp -@@ -56,7 +56,7 @@ WebData WebIDBKeyView::Binary() const { - } - - WebString WebIDBKeyView::String() const { -- return private_->String(); -+ return private_->GetString(); - } - - double WebIDBKeyView::Date() const { -diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp -index cd4a379398e6..b563e355bab7 100644 ---- a/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp -+++ b/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp -@@ -297,7 +297,7 @@ IDBObjectStore* IDBDatabase::createObjectStore( - } - - if (auto_increment && ((key_path.GetType() == IDBKeyPath::kStringType && -- key_path.String().IsEmpty()) || -+ key_path.GetString().IsEmpty()) || - key_path.GetType() == IDBKeyPath::kArrayType)) { - exception_state.ThrowDOMException( - kInvalidAccessError, -diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBKey.h b/third_party/WebKit/Source/modules/indexeddb/IDBKey.h -index d5f062867441..19d5c0222b64 100644 ---- a/third_party/WebKit/Source/modules/indexeddb/IDBKey.h -+++ b/third_party/WebKit/Source/modules/indexeddb/IDBKey.h -@@ -106,7 +106,7 @@ class MODULES_EXPORT IDBKey { - return binary_; - } - -- const String& String() const { -+ const String& GetString() const { - DCHECK_EQ(type_, kStringType); - return string_; - } -diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h b/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h -index 953c58a40a67..9f4a0532e211 100644 ---- a/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h -+++ b/third_party/WebKit/Source/modules/indexeddb/IDBKeyPath.h -@@ -65,7 +65,7 @@ class MODULES_EXPORT IDBKeyPath { - return array_; - } - -- const String& String() const { -+ const String& GetString() const { - DCHECK_EQ(type_, kStringType); - return string_; - } -diff --git a/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp b/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp -index 47d3a98bf19c..06080a30718d 100644 ---- a/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp -+++ b/third_party/WebKit/Source/modules/indexeddb/InspectorIndexedDBAgent.cpp -@@ -399,7 +399,7 @@ static std::unique_ptr KeyPathFromIDBKeyPath( - case IDBKeyPath::kStringType: - key_path = KeyPath::create() - .setType(KeyPath::TypeEnum::String) -- .setString(idb_key_path.String()) -+ .setString(idb_key_path.GetString()) - .build(); - break; - case IDBKeyPath::kArrayType: { --- -2.17.0 - diff --git a/extra/chromium/0005-GCC-explicitely-std-move-to-base-Optional-instead-of.patch b/extra/chromium/0005-GCC-explicitely-std-move-to-base-Optional-instead-of.patch deleted file mode 100644 index f62e5ea4d..000000000 --- a/extra/chromium/0005-GCC-explicitely-std-move-to-base-Optional-instead-of.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 0aeaee3dd895eda3953d35193756724d3235c0bf Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 6 Mar 2018 02:13:13 +0000 -Subject: [PATCH 5/7] GCC: explicitely std::move to base::Optional instead of - implicit conversion to base::Optional in return - -GCC 7.2/7.3 complains in this pattern of code: -base::Optional -Method() { - ... - Foo response; - ... - return response; -} - -It seems it cannot properly resolve the implicit move to base::Optional, and -ends up failing to compile. To avoid that, this change explicitely moves to -base::Optional as return value: - return base::Optional(std::move(response)); - -Change-Id: Ic0390e1c31340dc34a71bb4175bd63a4631248d6 -Reviewed-on: https://chromium-review.googlesource.com/944402 -Commit-Queue: Victor Costan -Reviewed-by: Matt Falkenhagen -Reviewed-by: Victor Costan -Reviewed-by: Reilly Grant -Cr-Commit-Position: refs/heads/master@{#541029} ---- - content/browser/appcache/appcache_request_handler.cc | 2 +- - .../service_worker_controllee_request_handler.cc | 2 +- - device/fido/device_response_converter.cc | 4 ++-- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/content/browser/appcache/appcache_request_handler.cc b/content/browser/appcache/appcache_request_handler.cc -index 63cc984b4276..ff638ab56571 100644 ---- a/content/browser/appcache/appcache_request_handler.cc -+++ b/content/browser/appcache/appcache_request_handler.cc -@@ -639,7 +639,7 @@ AppCacheRequestHandler::MaybeCreateSubresourceLoaderParams() { - - SubresourceLoaderParams params; - params.loader_factory_info = factory_ptr.PassInterface(); -- return params; -+ return base::Optional(std::move(params)); - } - - void AppCacheRequestHandler::MaybeCreateSubresourceLoader( -diff --git a/content/browser/service_worker/service_worker_controllee_request_handler.cc b/content/browser/service_worker/service_worker_controllee_request_handler.cc -index 2ed0c353cad3..5b09f6d670c4 100644 ---- a/content/browser/service_worker/service_worker_controllee_request_handler.cc -+++ b/content/browser/service_worker/service_worker_controllee_request_handler.cc -@@ -271,7 +271,7 @@ ServiceWorkerControlleeRequestHandler::MaybeCreateSubresourceLoaderParams() { - controller_info->object_info = provider_host_->GetOrCreateServiceWorkerHandle( - provider_host_->controller()); - params.controller_service_worker_info = std::move(controller_info); -- return params; -+ return base::Optional(std::move(params)); - } - - void ServiceWorkerControlleeRequestHandler::PrepareForMainResource( -diff --git a/device/fido/device_response_converter.cc b/device/fido/device_response_converter.cc -index 050ff2fc5d10..096f9f44872b 100644 ---- a/device/fido/device_response_converter.cc -+++ b/device/fido/device_response_converter.cc -@@ -121,7 +121,7 @@ base::Optional ReadCTAPGetAssertionResponse( - response.SetNumCredentials(it->second.GetUnsigned()); - } - -- return response; -+ return base::Optional(std::move(response)); - } - - base::Optional ReadCTAPGetInfoResponse( -@@ -241,7 +241,7 @@ base::Optional ReadCTAPGetInfoResponse( - response.SetPinProtocols(std::move(supported_pin_protocols)); - } - -- return response; -+ return base::Optional(std::move(response)); - } - - } // namespace device --- -2.17.0 - diff --git a/extra/chromium/0006-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch b/extra/chromium/0006-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch deleted file mode 100644 index e2af8eaea..000000000 --- a/extra/chromium/0006-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 152c1544d6966e15ca0b976c4e498caf56b79c73 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Mon, 5 Mar 2018 15:59:12 +0000 -Subject: [PATCH 6/7] GCC: do not use initializer list for NoDestructor of a - flat_set. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Compilation in GCC 7.x fails in SupervisedURLFilter, creating a -base::NoDestructor of a flat_set initialized with braces initializer -list syntax, as it fails to retrieve the right constructor (it states -the constructors are ambiguous). - -Workaround the problem explicitely declaring flat_set constructor. - -Change-Id: Icff5021685a6cbc727d5f4fb5fc6d2ce94fe9921 -Reviewed-on: https://chromium-review.googlesource.com/944405 -Commit-Queue: José Dapena Paz -Reviewed-by: Bernhard Bauer -Reviewed-by: Marc Treib -Cr-Commit-Position: refs/heads/master@{#540828} ---- - chrome/browser/supervised_user/supervised_user_url_filter.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chrome/browser/supervised_user/supervised_user_url_filter.cc b/chrome/browser/supervised_user/supervised_user_url_filter.cc -index 64d6569088d1..a3a81d77f0a3 100644 ---- a/chrome/browser/supervised_user/supervised_user_url_filter.cc -+++ b/chrome/browser/supervised_user/supervised_user_url_filter.cc -@@ -368,7 +368,7 @@ SupervisedUserURLFilter::GetFilteringBehaviorForURL( - - // Allow navigations to whitelisted origins (currently families.google.com). - static const base::NoDestructor> kWhitelistedOrigins( -- {GURL(kFamiliesUrl).GetOrigin()}); -+ base::flat_set({GURL(kFamiliesUrl).GetOrigin()})); - if (base::ContainsKey(*kWhitelistedOrigins, effective_url.GetOrigin())) - return ALLOW; - --- -2.17.0 - diff --git a/extra/chromium/0007-GCC-PlaybackImageProvider-Settings-explicitely-set-c.patch b/extra/chromium/0007-GCC-PlaybackImageProvider-Settings-explicitely-set-c.patch deleted file mode 100644 index f0f40f999..000000000 --- a/extra/chromium/0007-GCC-PlaybackImageProvider-Settings-explicitely-set-c.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 71e1ac4b000ff9a7714323e21b800ec99d8bf048 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 8 Mar 2018 17:46:02 +0000 -Subject: [PATCH 7/7] GCC: PlaybackImageProvider::Settings: explicitely set - copy constructor. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GCC fails to resolve the default copy constructor of the flat_map, so -we add an explicit reference to use default copy constructor. - -Bug: 819294 - -Change-Id: Ie2d69bdbe60742e9253251c965cbf0a936037871 -Reviewed-on: https://chromium-review.googlesource.com/944403 -Reviewed-by: David Reveman -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#541827} ---- - cc/raster/playback_image_provider.cc | 7 +++++-- - cc/raster/playback_image_provider.h | 6 ++++-- - cc/raster/playback_image_provider_unittest.cc | 15 ++++++++++----- - 3 files changed, 19 insertions(+), 9 deletions(-) - -diff --git a/cc/raster/playback_image_provider.cc b/cc/raster/playback_image_provider.cc -index 557b421bbaef..b2ace4dc4fa8 100644 ---- a/cc/raster/playback_image_provider.cc -+++ b/cc/raster/playback_image_provider.cc -@@ -20,7 +20,7 @@ void UnrefImageFromCache(DrawImage draw_image, - PlaybackImageProvider::PlaybackImageProvider( - ImageDecodeCache* cache, - const gfx::ColorSpace& target_color_space, -- base::Optional settings) -+ base::Optional&& settings) - : cache_(cache), - target_color_space_(target_color_space), - settings_(std::move(settings)) { -@@ -70,7 +70,10 @@ PlaybackImageProvider::GetDecodedDrawImage(const DrawImage& draw_image) { - } - - PlaybackImageProvider::Settings::Settings() = default; --PlaybackImageProvider::Settings::Settings(const Settings& other) = default; -+PlaybackImageProvider::Settings::Settings(PlaybackImageProvider::Settings&&) = -+ default; - PlaybackImageProvider::Settings::~Settings() = default; -+PlaybackImageProvider::Settings& PlaybackImageProvider::Settings::operator=( -+ PlaybackImageProvider::Settings&&) = default; - - } // namespace cc -diff --git a/cc/raster/playback_image_provider.h b/cc/raster/playback_image_provider.h -index 67974f3f341d..a33092d2b5b4 100644 ---- a/cc/raster/playback_image_provider.h -+++ b/cc/raster/playback_image_provider.h -@@ -20,8 +20,10 @@ class CC_EXPORT PlaybackImageProvider : public ImageProvider { - public: - struct CC_EXPORT Settings { - Settings(); -- Settings(const Settings& other); -+ Settings(const Settings&) = delete; -+ Settings(Settings&&); - ~Settings(); -+ Settings& operator=(Settings&&); - - // The set of image ids to skip during raster. - PaintImageIdFlatSet images_to_skip; -@@ -34,7 +36,7 @@ class CC_EXPORT PlaybackImageProvider : public ImageProvider { - // If no settings are provided, all images are skipped during rasterization. - PlaybackImageProvider(ImageDecodeCache* cache, - const gfx::ColorSpace& target_color_space, -- base::Optional settings); -+ base::Optional&& settings); - ~PlaybackImageProvider() override; - - PlaybackImageProvider(PlaybackImageProvider&& other); -diff --git a/cc/raster/playback_image_provider_unittest.cc b/cc/raster/playback_image_provider_unittest.cc -index 0206999d6e4a..40036e87032d 100644 ---- a/cc/raster/playback_image_provider_unittest.cc -+++ b/cc/raster/playback_image_provider_unittest.cc -@@ -85,7 +85,8 @@ TEST(PlaybackImageProviderTest, SkipsSomeImages) { - settings.emplace(); - settings->images_to_skip = {skip_image.stable_id()}; - -- PlaybackImageProvider provider(&cache, gfx::ColorSpace(), settings); -+ PlaybackImageProvider provider(&cache, gfx::ColorSpace(), -+ std::move(settings)); - - SkIRect rect = SkIRect::MakeWH(10, 10); - SkMatrix matrix = SkMatrix::I(); -@@ -99,7 +100,8 @@ TEST(PlaybackImageProviderTest, RefAndUnrefDecode) { - - base::Optional settings; - settings.emplace(); -- PlaybackImageProvider provider(&cache, gfx::ColorSpace(), settings); -+ PlaybackImageProvider provider(&cache, gfx::ColorSpace(), -+ std::move(settings)); - - { - SkRect rect = SkRect::MakeWH(10, 10); -@@ -127,7 +129,8 @@ TEST(PlaybackImageProviderTest, SwapsGivenFrames) { - settings.emplace(); - settings->image_to_current_frame_index = image_to_frame; - -- PlaybackImageProvider provider(&cache, gfx::ColorSpace(), settings); -+ PlaybackImageProvider provider(&cache, gfx::ColorSpace(), -+ std::move(settings)); - - SkIRect rect = SkIRect::MakeWH(10, 10); - SkMatrix matrix = SkMatrix::I(); -@@ -143,7 +146,8 @@ TEST(PlaybackImageProviderTest, BitmapImages) { - - base::Optional settings; - settings.emplace(); -- PlaybackImageProvider provider(&cache, gfx::ColorSpace(), settings); -+ PlaybackImageProvider provider(&cache, gfx::ColorSpace(), -+ std::move(settings)); - - { - SkIRect rect = SkIRect::MakeWH(10, 10); -@@ -174,7 +178,8 @@ TEST(PlaybackImageProviderTest, TextureImages) { - MockDecodeCache cache; - base::Optional settings; - settings.emplace(); -- PlaybackImageProvider provider(&cache, gfx::ColorSpace(), settings); -+ PlaybackImageProvider provider(&cache, gfx::ColorSpace(), -+ std::move(settings)); - { - SkIRect rect = SkIRect::MakeWH(10, 10); - SkMatrix matrix = SkMatrix::I(); --- -2.17.0 - diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index 3b3f68e27..f642884d9 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -5,26 +5,29 @@ # Contributor: Daniel J Griffiths # ALARM: Kevin Mihelich +# - build with system ffmpeg, patch to fix build +# - patch to fix skia build on AArch64 # - makeflags to -j4 on v7, RAM constraints -# - patch to fix GN ARM toolchain definitions -# - remove makedepend on clang, build with gcc +# - build ARMv7 with NEON +# - let build set march on AArch64 +# - disable cfi, gold linker buildarch=12 highmem=1 -noautobuild=1 pkgname=chromium pkgver=66.0.3359.139 pkgrel=1 _launcher_ver=6 pkgdesc="A web browser built for speed, simplicity, and security" -arch=('i686' 'x86_64' 'armv7h' 'aarch64') +arch=('x86_64') url="https://www.chromium.org/Home" license=('BSD') depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt' 'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib' 'desktop-file-utils' 'hicolor-icon-theme') -makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git') +makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' + 'clang' 'lld' 'distcc-clang') optdepends=('kdialog: needed for file dialogs in KDE' 'gnome-keyring: for storing passwords in GNOME keyring' 'kwallet: for storing passwords in KWallet') @@ -36,37 +39,17 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn fix-frame-buttons-rendering-too-large-when-using-OSX.patch chromium-skia-harmony.patch chromium-widevine.patch - 0001-ARM-toolchain-fixes.patch - 0002-GCC-build-fix-mark-is_trivially_copy_constructible-f.patch - 0003-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch - 0004-GCC-IDB-methods-String-renamed-to-GetString.patch - 0005-GCC-explicitely-std-move-to-base-Optional-instead-of.patch - 0006-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch - 0007-GCC-PlaybackImageProvider-Settings-explicitely-set-c.patch - skia_buildfix.patch) + skia_buildfix.patch + chromium-ffmpeg-r1.patch) sha256sums=('be75a5b5f8c5789d359238f374a43bf52ded49425f13ed68b8021c24e2e264b2' '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' - '2771c049b66c9aba3b945fe065f2610f164d55506eb5d71751a26aaf8b40d4ee' + '34eb82c625b7050021a8d3334ceaa7fa3d042dd816c228c14abb52b29796f7b9' 'e3fb73b43bb8c69ff517e66b2cac73d6e759fd240003eb35598df9af442422fe' - '4327289866d0b3006de62799ec06b07198a738e50e0a5c2e41ff62dbe00b4a2c' 'bd5e0e61df3f89172590801aea7c8ac75162c10c7fe83e262e96a14388d1633a' - 'b20bb43c89dd1fb5fc787e52b7ef6f4f20714f7d74e33372c0979fe398b5b436' 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3' - '4495e8b29dae242c79ffe4beefc5171eb3c7aacb7e9aebfd2d4d69b9d8c958d3' - 'fe0ab86aa5b0072db730eccda3e1582ebed4af25815bfd49fe0da24cf63ca902' - 'c00d2506f1078b38a8ebec474a7318e76a61db1298afb40088a34210f137210f' 'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808' - '66c665564d2055c570a058a5ba75d92cb39b6e1d09e58d6d1ccbed3a432c5efc' - '6a59ec7dbf3e09c5fb991f8902262faf951abc7e9a0b46aa08f3ccee7d36531b' - '06723f032086a80002e0982ce5872a392c82d99ce7ccd93719775423bea6b360' - '8bfe11e36521d00dbec018ab5e8d3e41da72b90173cafd3768c7c80ff096d49a' - '96646072a129166ac62ba269caddbbe6dd814f70f34d55014f78d1e69d47bc06' - 'd512efc5780b0d187764cb7b52a71297b5423480d91a7cf5ec36690714b9551b' - '1b756d2d23724003e2f0516525c86218dcf49b14e776081f9d904fee847a243d' - '5087247e56a1196e3ef6b27bbb0aa9986288687183de78b8dea3d68f9f69451d' - '2cc6abc906f267a6c2621a793dffd20d99b3d7f017bd574c79dbe7ef8f6f8730' - 'df836800052c1a9a29b048cffb542169a9f4dfe0383207322a2d85fa87c9423e' - '3da0ab55bf92307fe80ed7c9cce6443f5bebc96ba50e751d24f7302786a0406e') + '3da0ab55bf92307fe80ed7c9cce6443f5bebc96ba50e751d24f7302786a0406e' + 'aa885330bc4180b78d915f9dfdfc3210038a0acab7b16735ea9828ab6a633bde') # Possible replacements are listed in build/linux/unbundle/replace_gn_files.py # Keys are the names in the above script; values are the dependencies in Arch @@ -121,17 +104,15 @@ prepare() { tools/generate_shim_headers/generate_shim_headers.py # Arch Linux ARM fixes - patch -Np1 -i ../0001-ARM-toolchain-fixes.patch - patch -Np1 -i ../0002-GCC-build-fix-mark-is_trivially_copy_constructible-f.patch - patch -Np1 -i ../0003-GCC-build-fix-base-Optional-T-requires-the-full-decl.patch - patch -Np1 -i ../0004-GCC-IDB-methods-String-renamed-to-GetString.patch - patch -Np1 -i ../0005-GCC-explicitely-std-move-to-base-Optional-instead-of.patch - patch -Np1 -i ../0006-GCC-do-not-use-initializer-list-for-NoDestructor-of-.patch - patch -Np1 -i ../0007-GCC-PlaybackImageProvider-Settings-explicitely-set-c.patch patch -Np1 -i ../skia_buildfix.patch + patch -Np1 -i ../chromium-ffmpeg-r1.patch + # Build ARMv7 with NEON [[ $CARCH == "armv7h" ]] && MAKEFLAGS="-j4" && CFLAGS=`echo $CFLAGS | sed -e 's/vfpv3-d16/neon/'` && CXXFLAGS="$CFLAGS" + # Allow build to set march and options on AArch64 (crc, crypto) + [[ $CARCH == "aarch64" ]] && CFLAGS=`echo $CFLAGS | sed -e 's/-march=armv8-a//'` && CXXFLAGS="$CFLAGS" + # Enable support for the Widevine CDM plugin # libwidevinecdm.so is not included, but can be copied over from Chrome # (Version string doesn't seem to matter so let's go with "Pinkie Pie") @@ -186,13 +167,18 @@ build() { export CCACHE_SLOPPINESS=time_macros fi + export CC=clang + export CXX=clang++ + export AR=ar + export NM=nm + local _flags=( - 'is_clang=false' + 'custom_toolchain="//build/toolchain/linux/unbundle:default"' + 'host_toolchain="//build/toolchain/linux/unbundle:default"' 'clang_use_chrome_plugins=false' 'is_official_build=true' # implies is_cfi=true on x86_64 'is_cfi=false' 'is_debug=false' - 'fatal_linker_warnings=false' 'treat_warnings_as_errors=false' 'fieldtrial_testing_like_official_build=true' 'remove_webcore_debug_symbols=true' @@ -201,7 +187,6 @@ build() { 'link_pulseaudio=true' 'use_gnome_keyring=false' 'use_gold=false' - 'use_lld=false' 'use_sysroot=false' 'linux_use_bundled_binutils=false' 'use_custom_libcxx=false' diff --git a/extra/chromium/chromium-ffmpeg-r1.patch b/extra/chromium/chromium-ffmpeg-r1.patch new file mode 100644 index 000000000..53d61e8f3 --- /dev/null +++ b/extra/chromium/chromium-ffmpeg-r1.patch @@ -0,0 +1,22 @@ +--- 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" ]