diff --git a/chromium-80.0.3987.87-missing-cstdint-header.patch b/chromium-80.0.3987.87-missing-cstdint-header.patch index 755bff5..abeafa5 100644 --- a/chromium-80.0.3987.87-missing-cstdint-header.patch +++ b/chromium-80.0.3987.87-missing-cstdint-header.patch @@ -1,14 +1,3 @@ -diff -up chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h ---- chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint 2020-02-21 12:29:43.393191877 -0500 -+++ chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h 2020-02-21 12:29:43.393191877 -0500 -@@ -17,6 +17,7 @@ - #ifndef INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_ - #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_ - -+#include - #include - - #include "perfetto/base/export.h" diff -up chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h --- chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint 2020-02-21 12:30:30.739332871 -0500 +++ chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h 2020-02-21 12:30:30.747332725 -0500 diff --git a/chromium-82-gcc-incomplete-type.patch b/chromium-82-gcc-incomplete-type.patch new file mode 100644 index 0000000..a339340 --- /dev/null +++ b/chromium-82-gcc-incomplete-type.patch @@ -0,0 +1,53 @@ +From c0b32910da192edf1b41eb52c088d0213ab2807a Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Sun, 05 Apr 2020 08:29:21 +0000 +Subject: [PATCH] libstdc++: fix incomplete-type in AXTree for NodeSetSizePosInSetInfo + +std::unordered_map requires U to be fully declared. ax_tree.h +has only forward declaration of NodeSetSizePosInSetInfo. Therefore, +move declaration from ax_tree.cc. +Bug: 957519 +Change-Id: Ic1f4bf3ebfea229ece84251e46d4461b31873868 +--- + +diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc +index 7b8d9b1..e915402 100644 +--- a/ui/accessibility/ax_tree.cc ++++ b/ui/accessibility/ax_tree.cc +@@ -567,14 +567,8 @@ + const AXTree& tree; + }; + +-struct AXTree::NodeSetSizePosInSetInfo { +- NodeSetSizePosInSetInfo() = default; +- ~NodeSetSizePosInSetInfo() = default; +- +- int32_t pos_in_set = 0; +- int32_t set_size = 0; +- base::Optional lowest_hierarchical_level; +-}; ++AXTree::NodeSetSizePosInSetInfo::NodeSetSizePosInSetInfo() = default; ++AXTree::NodeSetSizePosInSetInfo::~NodeSetSizePosInSetInfo() = default; + + struct AXTree::OrderedSetContent { + explicit OrderedSetContent(const AXNode* ordered_set = nullptr) +diff --git a/ui/accessibility/ax_tree.h b/ui/accessibility/ax_tree.h +index a51ca8d..8c1c575 100644 +--- a/ui/accessibility/ax_tree.h ++++ b/ui/accessibility/ax_tree.h +@@ -328,7 +328,14 @@ + bool enable_extra_mac_nodes_ = false; + + // Contains pos_in_set and set_size data for an AXNode. +- struct NodeSetSizePosInSetInfo; ++ struct NodeSetSizePosInSetInfo { ++ NodeSetSizePosInSetInfo(); ++ ~NodeSetSizePosInSetInfo(); ++ ++ int32_t pos_in_set = 0; ++ int32_t set_size = 0; ++ base::Optional lowest_hierarchical_level; ++ }; + + // Represents the content of an ordered set which includes the ordered set + // items and the ordered set container if it exists. diff --git a/chromium-82-gcc-iterator.patch b/chromium-82-gcc-iterator.patch new file mode 100644 index 0000000..6405d52 --- /dev/null +++ b/chromium-82-gcc-iterator.patch @@ -0,0 +1,23 @@ +diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h +index b3c7624..85936aa 100644 +--- a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h ++++ b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h +@@ -5,6 +5,8 @@ + #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_NG_PHYSICAL_CONTAINER_FRAGMENT_H_ + #define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_NG_PHYSICAL_CONTAINER_FRAGMENT_H_ + ++#include ++ + #include "base/containers/span.h" + #include "third_party/blink/renderer/core/core_export.h" + #include "third_party/blink/renderer/core/layout/geometry/physical_rect.h" +@@ -31,7 +33,8 @@ class CORE_EXPORT NGPhysicalContainerFragment : public NGPhysicalFragment { + PostLayoutChildLinkList(wtf_size_t count, const NGLink* buffer) + : count_(count), buffer_(buffer) {} + +- class ConstIterator { ++ class ConstIterator : public std::iterator { + STACK_ALLOCATED(); + + public: diff --git a/chromium-82-gcc-noexcept.patch b/chromium-82-gcc-noexcept.patch new file mode 100644 index 0000000..1c7de53 --- /dev/null +++ b/chromium-82-gcc-noexcept.patch @@ -0,0 +1,35 @@ +diff --git a/ui/color/color_set.cc b/ui/color/color_set.cc +index 56564d7..2798a3c 100644 +--- a/ui/color/color_set.cc ++++ b/ui/color/color_set.cc +@@ -11,7 +11,7 @@ ColorSet::ColorSet(ColorSetId id, ColorMap&& colors) + + ColorSet::ColorSet(ColorSet&&) noexcept = default; + +-ColorSet& ColorSet::operator=(ColorSet&&) noexcept = default; ++ColorSet& ColorSet::operator=(ColorSet&&) = default; + + ColorSet::~ColorSet() = default; + +diff --git a/third_party/blink/public/platform/cross_variant_mojo_util.h b/third_party/blink/public/platform/cross_variant_mojo_util.h +index dee0b95..0c83580 100644 +--- a/third_party/blink/public/platform/cross_variant_mojo_util.h ++++ b/third_party/blink/public/platform/cross_variant_mojo_util.h +@@ -124,7 +124,7 @@ class CrossVariantMojoAssociatedReceiver { + ~CrossVariantMojoAssociatedReceiver() = default; + + CrossVariantMojoAssociatedReceiver( +- CrossVariantMojoAssociatedReceiver&&) noexcept = default; ++ CrossVariantMojoAssociatedReceiver&&) = default; + CrossVariantMojoAssociatedReceiver& operator=( + CrossVariantMojoAssociatedReceiver&&) noexcept = default; + +@@ -155,7 +155,7 @@ class CrossVariantMojoAssociatedRemote { + ~CrossVariantMojoAssociatedRemote() = default; + + CrossVariantMojoAssociatedRemote( +- CrossVariantMojoAssociatedRemote&&) noexcept = default; ++ CrossVariantMojoAssociatedRemote&&) = default; + CrossVariantMojoAssociatedRemote& operator=( + CrossVariantMojoAssociatedRemote&&) noexcept = default; + diff --git a/chromium-82-gcc-template.patch b/chromium-82-gcc-template.patch new file mode 100644 index 0000000..90909c5 --- /dev/null +++ b/chromium-82-gcc-template.patch @@ -0,0 +1,50 @@ +diff --git a/content/public/browser/web_ui.h b/content/public/browser/web_ui.h +index 4e6aa0e..fa6f10c 100644 +--- a/content/public/browser/web_ui.h ++++ b/content/public/browser/web_ui.h +@@ -138,22 +138,6 @@ class CONTENT_EXPORT WebUI { + template + static T GetValue(const base::Value& value); + +- template <> +- inline bool GetValue(const base::Value& value) { +- return value.GetBool(); +- } +- +- template <> +- inline int GetValue(const base::Value& value) { +- return value.GetInt(); +- } +- +- template <> +- inline const std::string& GetValue( +- const base::Value& value) { +- return value.GetString(); +- } +- + template + struct Call; + +@@ -169,6 +153,22 @@ class CONTENT_EXPORT WebUI { + }; + }; + ++template <> ++inline bool WebUI::GetValue(const base::Value& value) { ++ return value.GetBool(); ++} ++ ++template <> ++inline int WebUI::GetValue(const base::Value& value) { ++ return value.GetInt(); ++} ++ ++template <> ++inline const std::string& WebUI::GetValue( ++ const base::Value& value) { ++ return value.GetString(); ++} ++ + } // namespace content + + #endif // CONTENT_PUBLIC_BROWSER_WEB_UI_H_ diff --git a/chromium-83-gcc-include.patch b/chromium-83-gcc-include.patch new file mode 100644 index 0000000..9c405e8 --- /dev/null +++ b/chromium-83-gcc-include.patch @@ -0,0 +1,75 @@ +From 3681c96f54b34f60493cbbf5ec830f158e469799 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Thu, 2 Apr 2020 14:35:44 +0000 +Subject: [PATCH] IWYU: std::find is defined in algorithm + +--- + extensions/browser/install/crx_install_error.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/extensions/browser/install/crx_install_error.cc b/extensions/browser/install/crx_install_error.cc +index a9765bb..bd0d3e3 100644 +--- a/extensions/browser/install/crx_install_error.cc ++++ b/extensions/browser/install/crx_install_error.cc +@@ -4,6 +4,8 @@ + + #include "extensions/browser/install/crx_install_error.h" + ++#include ++ + #include "base/logging.h" + #include "extensions/browser/install/sandboxed_unpacker_failure_reason.h" + +-- +2.24.1 + +From 80044e30e0014c4c322178e4b56ddbb10eede304 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Thu, 9 Apr 2020 17:58:06 +0000 +Subject: [PATCH] IWYU: std::unique_ptr is defined in memory + +--- + .../blink/renderer/core/html/trust_token_attribute_parsing.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h +index f5a7ab0..ef19cfa 100644 +--- a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h ++++ b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h +@@ -5,6 +5,8 @@ + #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_ + #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_ + ++#include ++ + #include "base/optional.h" + #include "services/network/public/mojom/trust_tokens.mojom-blink-forward.h" + #include "third_party/blink/renderer/core/core_export.h" +-- +2.24.1 + +From 4f4d0a6d453bc22a6397dadaf6d866b4eb2d6b95 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Fri, 10 Apr 2020 08:31:08 +0000 +Subject: [PATCH] IWYU: std::numeric_limits is defined in limits + +--- + .../graph/policies/background_tab_loading_policy_helpers.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc +index 6ab117b..43aa602 100644 +--- a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc ++++ b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc +@@ -2,6 +2,8 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + ++#include ++ + #include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h" + #include "base/logging.h" + +-- +2.24.1 + diff --git a/chromium-83-gcc-iterator.patch b/chromium-83-gcc-iterator.patch new file mode 100644 index 0000000..3df0327 --- /dev/null +++ b/chromium-83-gcc-iterator.patch @@ -0,0 +1,41 @@ +From 4abcf0a76a7cb5c343be7d17c60cb908f3673c3d Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Thu, 9 Apr 2020 17:03:38 +0000 +Subject: [PATCH] libstdc++: replace std::any_of in blink::SerializedScriptValue + +Use of std::any_of requires STL compliant iterator. However, +HashTableIterator does not define iterator_tag and therefore +is no STL iterator. +--- + .../core/v8/serialization/serialized_script_value.h | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h +index bbf10ef..53d98c9 100644 +--- a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h ++++ b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h +@@ -268,12 +268,17 @@ class CORE_EXPORT SerializedScriptValue + MessagePortChannelArray& GetStreamChannels() { return stream_channels_; } + + bool IsLockedToAgentCluster() const { ++ auto AnyOfIsLockedToAgentCluster = [&]() { ++ for (auto entry = attachments_.begin(); ++ entry != attachments_.end(); ++entry) { ++ if (entry->value->IsLockedToAgentCluster()) ++ return true; ++ } ++ return false; ++ }; + return !wasm_modules_.IsEmpty() || + !shared_array_buffers_contents_.IsEmpty() || +- std::any_of(attachments_.begin(), attachments_.end(), +- [](const auto& entry) { +- return entry.value->IsLockedToAgentCluster(); +- }); ++ AnyOfIsLockedToAgentCluster(); + } + + // Returns true after serializing script values that remote origins cannot +-- +2.24.1 + diff --git a/chromium-83-gcc-ozone-wayland.patch b/chromium-83-gcc-ozone-wayland.patch new file mode 100644 index 0000000..5b2c81c --- /dev/null +++ b/chromium-83-gcc-ozone-wayland.patch @@ -0,0 +1,12 @@ +diff -up chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h.gcc-ozone-wayland chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h +--- chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h.gcc-ozone-wayland 2020-06-05 09:16:08.903282140 -0400 ++++ chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h 2020-06-05 09:16:31.131863653 -0400 +@@ -68,7 +68,7 @@ class XDGSurfaceWrapperImpl : public She + static void CloseTopLevelV6(void* data, + struct zxdg_toplevel_v6* zxdg_toplevel_v6); + +- xdg_surface* xdg_surface() const; ++ struct xdg_surface* xdg_surface() const; + zxdg_surface_v6* zxdg_surface() const; + + private: diff --git a/chromium-83-gcc-permissive.patch b/chromium-83-gcc-permissive.patch new file mode 100644 index 0000000..a87f1c4 --- /dev/null +++ b/chromium-83-gcc-permissive.patch @@ -0,0 +1,31 @@ +From fdf2767e8dc54727c9536a4d39d230a959e3698c Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Thu, 2 Apr 2020 16:16:14 +0000 +Subject: [PATCH] GCC: add missing apps namespace to BrowserAppLauncher + +GCC does not get namespace of BrowserAppLauncher right and +fails like this: + +chrome/browser/apps/app_service/app_service_proxy.h:82:23: error: +declaration of 'apps::BrowserAppLauncher& +apps::AppServiceProxy::BrowserAppLauncher()' changes meaning of +'BrowserAppLauncher' [-fpermissive] +--- + chrome/browser/apps/app_service/app_service_proxy.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chrome/browser/apps/app_service/app_service_proxy.h b/chrome/browser/apps/app_service/app_service_proxy.h +index b7fff63..1ecd49d 100644 +--- a/chrome/browser/apps/app_service/app_service_proxy.h ++++ b/chrome/browser/apps/app_service/app_service_proxy.h +@@ -79,7 +79,7 @@ class AppServiceProxy : public KeyedService, + apps::InstanceRegistry& InstanceRegistry(); + #endif + +- BrowserAppLauncher& BrowserAppLauncher(); ++ apps::BrowserAppLauncher& BrowserAppLauncher(); + + apps::PreferredAppsList& PreferredApps(); + +-- +2.24.1 diff --git a/chromium-83-gcc-serviceworker.patch b/chromium-83-gcc-serviceworker.patch new file mode 100644 index 0000000..a836e7f --- /dev/null +++ b/chromium-83-gcc-serviceworker.patch @@ -0,0 +1,130 @@ +From 0914a38252f205fc04fa50e858b24fa5f535ab11 Mon Sep 17 00:00:00 2001 +From: Hiroki Nakagawa +Date: Wed, 29 Apr 2020 11:46:54 +0900 +Subject: [PATCH] ServiceWorker: Avoid double destruction of ServiceWorkerObjectHost on connection error + +This CL avoids the case where ServiceWorkerObjectHost is destroyed twice +on ServiceWorkerObjectHost::OnConnectionError() when Chromium is built +with the GCC build toolchain. + +> How does the issue happen? + +ServiceWorkerObjectHost has a cyclic reference like this: + +ServiceWorkerObjectHost + --([1] scoped_refptr)--> ServiceWorkerVersion + --([2] std::unique_ptr)--> ServiceWorkerProviderHost + --([3] std::unique_ptr)--> ServiceWorkerContainerHost + --([4] std::unique_ptr)--> ServiceWorkerObjectHost + +Note that ServiceWorkerContainerHost manages ServiceWorkerObjectHost in +map>. + +When ServiceWorkerObjectHost::OnConnectionError() is called, the +function removes the reference [4] from the map, and destroys +ServiceWorkerObjectHost. If the object host has the last reference [1] +to ServiceWorkerVersion, the destruction also cuts off the references +[2] and [3], and destroys ServiceWorkerProviderHost and +ServiceWorkerContainerHost. + +This seems to work well on the Chromium's default toolchain, but not +work on the GCC toolchain. According to the report, destruction of +ServiceWorkerContainerHost happens while the map owned by the container +host is erasing the ServiceWorkerObjectHost, and this results in crash +due to double destruction of the object host. + +I don't know the reason why this happens only on the GCC toolchain, but +I suspect the order of object destruction on std::map::erase() could be +different depending on the toolchains. + +> How does this CL fix this? + +The ideal fix is to redesign the ownership model of +ServiceWorkerVersion, but it's not feasible in the short term. + +Instead, this CL avoids destruction of ServiceWorkerObjectHost on +std::map::erase(). The new code takes the ownership of the object host +from the map first, and then erases the entry from the map. This +separates timings to erase the map entry and to destroy the object host, +so the crash should no longer happen. + +Bug: 1056598 +Change-Id: Id30654cb575bc557c42044d6f0c6f1f9bfaed613 +--- + +diff --git a/content/browser/service_worker/service_worker_container_host.cc b/content/browser/service_worker/service_worker_container_host.cc +index c631bcd..ff917f8 100644 +--- a/content/browser/service_worker/service_worker_container_host.cc ++++ b/content/browser/service_worker/service_worker_container_host.cc +@@ -717,6 +717,16 @@ + int64_t version_id) { + DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId()); + DCHECK(base::Contains(service_worker_object_hosts_, version_id)); ++ ++ // ServiceWorkerObjectHost to be deleted may have the last reference to ++ // ServiceWorkerVersion that indirectly owns this ServiceWorkerContainerHost. ++ // If we erase the object host directly from the map, |this| could be deleted ++ // during the map operation and may crash. To avoid the case, we take the ++ // ownership of the object host from the map first, and then erase the entry ++ // from the map. See https://crbug.com/1056598 for details. ++ std::unique_ptr to_be_deleted = ++ std::move(service_worker_object_hosts_[version_id]); ++ DCHECK(to_be_deleted); + service_worker_object_hosts_.erase(version_id); + } + +diff --git a/content/browser/service_worker/service_worker_object_host_unittest.cc b/content/browser/service_worker/service_worker_object_host_unittest.cc +index 238cb8b..f60c7a2 100644 +--- a/content/browser/service_worker/service_worker_object_host_unittest.cc ++++ b/content/browser/service_worker/service_worker_object_host_unittest.cc +@@ -200,6 +200,19 @@ + return registration_info; + } + ++ void CallOnConnectionError(ServiceWorkerContainerHost* container_host, ++ int64_t version_id) { ++ // ServiceWorkerObjectHost has the last reference to the version. ++ ServiceWorkerObjectHost* object_host = ++ GetServiceWorkerObjectHost(container_host, version_id); ++ EXPECT_TRUE(object_host->version_->HasOneRef()); ++ ++ // Make sure that OnConnectionError induces destruction of the version and ++ // the object host. ++ object_host->receivers_.Clear(); ++ object_host->OnConnectionError(); ++ } ++ + BrowserTaskEnvironment task_environment_; + std::unique_ptr helper_; + scoped_refptr registration_; +@@ -409,5 +422,30 @@ + events[0]->source_info_for_client->client_type); + } + ++// This is a regression test for https://crbug.com/1056598. ++TEST_F(ServiceWorkerObjectHostTest, OnConnectionError) { ++ const GURL scope("https://www.example.com/"); ++ const GURL script_url("https://www.example.com/service_worker.js"); ++ Initialize(std::make_unique(base::FilePath())); ++ SetUpRegistration(scope, script_url); ++ ++ // Create the provider host. ++ ASSERT_EQ(blink::ServiceWorkerStatusCode::kOk, ++ StartServiceWorker(version_.get())); ++ ++ // Set up the case where the last reference to the version is owned by the ++ // service worker object host. ++ ServiceWorkerContainerHost* container_host = ++ version_->provider_host()->container_host(); ++ ServiceWorkerVersion* version_rawptr = version_.get(); ++ version_ = nullptr; ++ ASSERT_TRUE(version_rawptr->HasOneRef()); ++ ++ // Simulate the connection error that induces the object host destruction. ++ // This shouldn't crash. ++ CallOnConnectionError(container_host, version_rawptr->version_id()); ++ base::RunLoop().RunUntilIdle(); ++} ++ + } // namespace service_worker_object_host_unittest + } // namespace content diff --git a/chromium-83-gcc-template.patch b/chromium-83-gcc-template.patch new file mode 100644 index 0000000..2736522 --- /dev/null +++ b/chromium-83-gcc-template.patch @@ -0,0 +1,69 @@ +From 8d115ddda495d0d2e1e1447392db6e9e6a8a1b32 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Tue, 07 Apr 2020 00:23:57 +0000 +Subject: [PATCH] GCC: fix template specialization in WTF::VectorMover + +GCC complains that explicit specialization in non-namespace scope +is happening for MoveOverlappingImpl. However, secialization is +not really necessary here with templates and can be moved +into MoveOverlappingImpl method without changing generated code. + +Bug: 819294 +Change-Id: I90b893b9701748302f7b900fbcc2c341685fe0d3 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2126290 +Reviewed-by: Kent Tamura +Commit-Queue: Kent Tamura +Cr-Commit-Position: refs/heads/master@{#756880} +--- + +diff --git a/third_party/blink/renderer/platform/wtf/vector.h b/third_party/blink/renderer/platform/wtf/vector.h +index 632d308..82aaf96 100644 +--- a/third_party/blink/renderer/platform/wtf/vector.h ++++ b/third_party/blink/renderer/platform/wtf/vector.h +@@ -205,30 +205,23 @@ + } + } + +- template +- static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst); +- template <> +- static void MoveOverlappingImpl(const T* src, +- const T* src_end, +- T* dst) { +- memmove(dst, src, +- reinterpret_cast(src_end) - +- reinterpret_cast(src)); +- } +- template <> +- static void MoveOverlappingImpl(const T* src, +- const T* src_end, +- T* dst) { +- if (src == dst) +- return; +- if (dst < src) { +- for (; src < src_end; ++src, ++dst) +- AtomicWriteMemcpy(dst, src); ++ static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst) { ++ if (Allocator::kIsGarbageCollected) { ++ if (src == dst) ++ return; ++ if (dst < src) { ++ for (; src < src_end; ++src, ++dst) ++ AtomicWriteMemcpy(dst, src); ++ } else { ++ --src_end; ++ T* dst_end = dst + (src_end - src); ++ for (; src_end >= src; --src_end, --dst_end) ++ AtomicWriteMemcpy(dst_end, src_end); ++ } + } else { +- --src_end; +- T* dst_end = dst + (src_end - src); +- for (; src_end >= src; --src_end, --dst_end) +- AtomicWriteMemcpy(dst_end, src_end); ++ memmove(dst, src, ++ reinterpret_cast(src_end) - ++ reinterpret_cast(src)); + } + } + diff --git a/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch b/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch new file mode 100644 index 0000000..d1a496b --- /dev/null +++ b/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch @@ -0,0 +1,13 @@ +diff -up chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache chromium-83.0.4103.61/base/test/BUILD.gn +--- chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache 2020-05-29 12:30:03.409707011 -0400 ++++ chromium-83.0.4103.61/base/test/BUILD.gn 2020-05-29 12:30:22.593275137 -0400 +@@ -188,9 +188,6 @@ static_library("test_support") { + sources += [ "test_file_util_linux.cc" ] + public_deps += [ ":fontconfig_util_linux" ] + data_deps = [ "//third_party/test_fonts" ] +- if (current_toolchain == host_toolchain) { +- data_deps += [ ":do_generate_fontconfig_caches" ] +- } + } + + if (is_mac) { diff --git a/chromium-83.0.4103.61-missing-cstddef-header.patch b/chromium-83.0.4103.61-missing-cstddef-header.patch new file mode 100644 index 0000000..bd7d51d --- /dev/null +++ b/chromium-83.0.4103.61-missing-cstddef-header.patch @@ -0,0 +1,34 @@ +diff -up chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h +--- chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef 2020-05-18 14:39:11.000000000 -0400 ++++ chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h 2020-05-29 15:37:52.370693881 -0400 +@@ -6,6 +6,7 @@ + #define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_ + + #include ++#include + + class GURL; + +diff -up chromium-83.0.4103.61/media/cdm/supported_cdm_versions.h.missing-cstddef chromium-83.0.4103.61/media/cdm/supported_cdm_versions.h +diff -up chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h.missing-cstddef chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h +--- chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h.missing-cstddef 2020-05-29 15:37:52.374693782 -0400 ++++ chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h 2020-05-29 15:39:47.343874233 -0400 +@@ -12,6 +12,7 @@ + #include + #include + #include ++#include + + #define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482 + +diff -up chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h +--- chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef 2020-05-18 14:42:43.000000000 -0400 ++++ chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-05-29 15:37:52.376693733 -0400 +@@ -12,6 +12,7 @@ + #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_ + + #include ++#include + + namespace webrtc { + diff --git a/chromium-83.0.4103.61-norar.patch b/chromium-83.0.4103.61-norar.patch new file mode 100644 index 0000000..9180933 --- /dev/null +++ b/chromium-83.0.4103.61-norar.patch @@ -0,0 +1,79 @@ +diff -up chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn +--- chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn.nounrar 2020-05-29 12:21:53.249790785 -0400 ++++ chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn 2020-05-29 12:22:27.825004615 -0400 +@@ -57,39 +57,6 @@ if (safe_browsing_mode == 1) { + public_deps = [ "//components/safe_browsing/core:csd_proto" ] + } + +- source_set("rar_analyzer") { +- sources = [ +- "rar_analyzer.cc", +- "rar_analyzer.h", +- ] +- +- deps = [ +- ":archive_analyzer_results", +- ":download_type_util", +- "//base", +- "//base:i18n", +- "//components/safe_browsing/core:features", +- "//components/safe_browsing/core:file_type_policies", +- "//third_party/unrar:unrar", +- ] +- +- defines = [ +- "_FILE_OFFSET_BITS=64", +- "LARGEFILE_SOURCE", +- "RAR_SMP", +- "SILENT", +- +- # The following is set to disable certain macro definitions in the unrar +- # source code. +- "CHROMIUM_UNRAR", +- +- # Disables exceptions in unrar, replaces them with process termination. +- "UNRAR_NO_EXCEPTIONS", +- ] +- +- public_deps = [ "//components/safe_browsing/core:csd_proto" ] +- } +- + source_set("disk_image_type_sniffer_mac") { + sources = [ + "disk_image_type_sniffer_mac.cc", +@@ -156,7 +123,6 @@ source_set("safe_browsing") { + ":archive_analyzer_results", + ":binary_feature_extractor", + ":download_type_util", +- ":rar_analyzer", + "//components/safe_browsing/core:features", + ] + +diff -up chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS.nounrar chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS +--- chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS.nounrar 2020-05-18 14:39:13.000000000 -0400 ++++ chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS 2020-05-29 12:21:08.563806866 -0400 +@@ -1,6 +1,5 @@ + include_rules = [ + "+components/safe_browsing", + "+third_party/protobuf", +- "+third_party/unrar", + "+third_party/zlib", + ] +diff -up chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc +--- chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2020-05-18 14:39:13.000000000 -0400 ++++ chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc 2020-05-29 12:21:08.565806820 -0400 +@@ -46,10 +46,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile + void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, + base::File temporary_file, + AnalyzeRarFileCallback callback) { ++#if 0 + DCHECK(rar_file.IsValid()); + + safe_browsing::ArchiveAnalyzerResults results; + safe_browsing::rar_analyzer::AnalyzeRarFile( + std::move(rar_file), std::move(temporary_file), &results); + std::move(callback).Run(results); ++#else ++ NOTREACHED(); ++#endif + } diff --git a/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch b/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch new file mode 100644 index 0000000..74fbb7d --- /dev/null +++ b/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch @@ -0,0 +1,23 @@ +diff -up chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn.i686permissive chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn +--- chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn.i686permissive 2020-06-07 10:58:00.309383632 -0400 ++++ chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn 2020-06-07 10:58:47.532340933 -0400 +@@ -13,6 +13,10 @@ import("//ui/ozone/ozone.gni") + assert(is_linux) # is_chromeos is a subset of is_linux + assert(use_vaapi) + ++config("vaapi_permissive") { ++ cflags = [ "-fpermissive" ] ++} ++ + generate_stubs("libva_stubs") { + extra_header = "va_stub_header.fragment" + sigs = [ "va.sigs" ] +@@ -108,6 +112,8 @@ source_set("vaapi") { + ] + } + ++ configs += [ ":vaapi_permissive" ] ++ + if (use_x11) { + configs += [ "//build/config/linux:x11" ] + deps += [ "//ui/gfx/x" ] diff --git a/chromium.spec b/chromium.spec index 3d9f828..e8a8b7b 100644 --- a/chromium.spec +++ b/chromium.spec @@ -17,6 +17,9 @@ # We usually want this. %global build_headless 1 +# This doesn't work and it doesn't even build as of Chromium 83 +%global build_remoting 0 + # We'd like to always have this on. %global use_vaapi 1 @@ -156,14 +159,14 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 81 +%global majorversion 83 %if %{freeworld} Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.4044.138 +Version: %{majorversion}.0.4103.97 Release: 1%{?dist} %if %{?freeworld} %if %{?shared} @@ -196,12 +199,12 @@ Patch5: chromium-60.0.3112.78-jpeg-nomangle.patch # Do not mangle zlib Patch6: chromium-77.0.3865.75-no-zlib-mangle.patch # Do not use unrar code, it is non-free -Patch7: chromium-81.0.4044.92-norar.patch +Patch7: chromium-83.0.4103.61-norar.patch # Use Gentoo's Widevine hack # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch Patch8: chromium-71.0.3578.98-widevine-r3.patch # Disable fontconfig cache magic that breaks remoting -Patch9: chromium-81.0.4044.92-disable-fontconfig-cache-magic.patch +Patch9: chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch # drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) Patch10: chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch # Try to load widevine from other places @@ -229,27 +232,40 @@ Patch57: chromium-78-protobuf-export.patch Patch59: chromium-77-clang.patch # /../../ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc:53:15: error: 'find_if' is not a member of 'std'; did you mean 'find'? Patch63: chromium-79.0.3945.56-fix-find_if.patch -# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-80-gcc-blink.patch -Patch68: chromium-80-gcc-blink.patch # https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-80-gcc-quiche.patch Patch70: chromium-80-gcc-quiche.patch -# ../../base/trace_event/trace_event_memory_overhead.h:15:1: note: 'std::string' is defined in header ''; did you forget to '#include '? -Patch71: chromium-80.0.3987.87-missing-string-header.patch # ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: 'uint32_t' has not been declared Patch72: chromium-80.0.3987.87-missing-cstdint-header.patch # ../../third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:34:3: error: 'size_t' does not name a type -Patch73: chromium-80.0.3987.106-missing-cstddef-header.patch +Patch73: chromium-83.0.4103.61-missing-cstddef-header.patch # Missing (thanks c++17) Patch75: chromium-80.0.3987.106-missing-cstring-header.patch -# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-81-gcc-constexpr.patch -Patch76: chromium-81-gcc-constexpr.patch # prepare for using system ffmpeg (clean) # http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-53-ffmpeg-no-deprecation-errors.patch?view=markup Patch77: chromium-53-ffmpeg-no-deprecation-errors.patch -# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-81-gcc-noexcept.patch -Patch78: chromium-81-gcc-noexcept.patch +# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-82-gcc-noexcept.patch +Patch78: chromium-82-gcc-noexcept.patch # ../../base/test/icu_test_util.h:12:1: note: 'std::unique_ptr' is defined in header ''; did you forget to '#include '? Patch79: chromium-81.0.4044.92-missing-memory-header.patch +# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-82-gcc-incomplete-type.patch +Patch80: chromium-82-gcc-incomplete-type.patch +# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-82-gcc-template.patch +Patch81: chromium-82-gcc-template.patch +# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-82-gcc-iterator.patch +Patch82: chromium-82-gcc-iterator.patch +# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-83-gcc-template.patch +Patch83: chromium-83-gcc-template.patch +# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-83-gcc-include.patch +Patch84: chromium-83-gcc-include.patch +# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-83-gcc-permissive.patch +Patch85: chromium-83-gcc-permissive.patch +# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-83-gcc-iterator.patch +Patch86: chromium-83-gcc-iterator.patch +# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-83-gcc-serviceworker.patch +Patch87: chromium-83-gcc-serviceworker.patch +# https://chromium.googlesource.com/chromium/src/+/0d3ef4b1247f766eed37c546571a2c872fde2bf2%5E%21/#F0 +Patch88: chromium-83-gcc-ozone-wayland.patch + # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch @@ -259,11 +275,8 @@ Patch102: chromium-80.0.3987.132-el7-noexcept.patch # Enable VAAPI support on Linux # NOTE: This patch will never land upstream Patch202: enable-vaapi.patch -Patch203: chromium-80.0.3987.122-vaapi-i686-fpermissive.patch +Patch203: chromium-83.0.4103.97-vaapi-i686-fpermissive.patch Patch205: chromium-81.0.4044.92-fix-vaapi-on-intel.patch -# upstream backports to fix vaapi, thanks rpmfusion -Patch206: chromium-81-vaapi-r737459.patch -Patch207: chromium-81-vaapi-r738595.patch # Apply these patches to work around EPEL8 issues Patch300: chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch @@ -737,6 +750,7 @@ Shared libraries used by the chromium media subsystem. %endif %endif +%if %{build_remoting} %package -n chrome-remote-desktop Requires(pre): shadow-utils Requires(post): systemd @@ -753,6 +767,7 @@ Summary: Remote desktop support for google-chrome & chromium %description -n chrome-remote-desktop Remote desktop support for google-chrome & chromium. +%endif %package -n chromedriver Summary: WebDriver for Google Chrome/Chromium @@ -811,16 +826,22 @@ udev. %patch57 -p1 -b .protobuf-export %patch59 -p1 -b .clang-supports-location-builtins %patch63 -p1 -b .fix-find_if -%patch68 -p1 -b .gcc-blink %patch70 -p1 -b .gcc-quiche -%patch71 -p1 -b .missing-string %patch72 -p1 -b .missing-cstdint %patch73 -p1 -b .missing-cstddef %patch75 -p1 -b .missing-cstring -%patch76 -p1 -b .gcc-constexpr %patch77 -p1 -b .ffmpeg-deprecations %patch78 -p1 -b .gcc-noexcept %patch79 -p1 -b .missing-memory +%patch80 -p1 -b .gcc-incomplete-type +%patch81 -p1 -b .gcc-template +%patch82 -p1 -b .gcc-iterator +%patch83 -p1 -b .gcc-template2 +%patch84 -p1 -b .gcc-include +%patch85 -p1 -b .gcc-permissive +%patch86 -p1 -b .gcc-iterator2 +%patch87 -p1 -b .gcc-serviceworker +%patch88 -p1 -b .gcc-ozone-wayland # Fedora branded user agent %if 0%{?fedora} @@ -840,8 +861,6 @@ udev. %patch203 -p1 -b .i686permissive %endif %patch205 -p1 -b .vaapi-intel-fix -%patch206 -p1 -b .r737459 -%patch207 -p1 -b .r738595 %endif %if 0%{?rhel} == 8 @@ -916,7 +935,12 @@ cp -a /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf /usr/share/fonts/dejavu- %else cp -a /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf . %endif +%if 0%{?fedora} >= 33 +cp -a /usr/share/fonts/thai-scalable/Garuda.otf . +sed -i 's|Garuda.ttf|Garuda.otf|g' ../BUILD.gn +%else cp -a /usr/share/fonts/thai-scalable/Garuda.ttf . +%endif cp -a /usr/share/fonts/lohit-devanagari/Lohit-Devanagari.ttf /usr/share/fonts/lohit-tamil/Lohit-Tamil.ttf . cp -a /usr/share/fonts/google-noto/NotoSansKhmer-Regular.ttf . popd @@ -929,7 +953,7 @@ CHROMIUM_CORE_GN_DEFINES+=' is_debug=false' CHROMIUM_CORE_GN_DEFINES+=' system_libdir="lib64"' %endif CHROMIUM_CORE_GN_DEFINES+=' google_api_key="%{api_key}" google_default_client_id="%{default_client_id}" google_default_client_secret="%{default_client_secret}"' -CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false use_gold=false fieldtrial_testing_like_official_build=true use_lld=false rtc_enable_symbol_export=true' +CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false use_gold=false fieldtrial_testing_like_official_build=true use_lld=false use_ozone=true rtc_enable_symbol_export=true' %if %{freeworld} CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="ChromeOS" proprietary_codecs=true' %else @@ -959,6 +983,7 @@ CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false is_component_build=fals CHROMIUM_BROWSER_GN_DEFINES+=' blink_symbol_level=0 enable_hangout_services_extension=true' CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true' CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true' +CHROMIUM_BROWSER_GN_DEFINES+=' ozone_platform="x11" ozone_platform_x11=true' %if %{use_vaapi} %if 0%{?fedora} >= 28 CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true' @@ -970,11 +995,11 @@ CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=true rtc_link_pipewire=true' export CHROMIUM_BROWSER_GN_DEFINES CHROMIUM_HEADLESS_GN_DEFINES="" -CHROMIUM_HEADLESS_GN_DEFINES+=' use_ozone=true ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true' +CHROMIUM_HEADLESS_GN_DEFINES+=' ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true' CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_embedded_resources=true icu_use_data_file=false v8_use_external_startup_data=false' CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false enable_remoting=false use_alsa=false' CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=false use_gio=false use_kerberos=false use_libpci=false' -CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false' +CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=false' export CHROMIUM_HEADLESS_GN_DEFINES %if 0%{?rhel} == 7 @@ -1040,6 +1065,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ '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/google-endpoints' \ 'third_party/catapult/third_party/html5lib-python' \ 'third_party/catapult/third_party/polymer' \ 'third_party/catapult/third_party/six' \ @@ -1066,6 +1092,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/devtools-frontend/src/third_party/axe-core' \ 'third_party/devtools-frontend/src/third_party/typescript' \ 'third_party/devtools-frontend/src/front_end/third_party/fabricjs' \ + 'third_party/devtools-frontend/src/front_end/third_party/lighthouse' \ 'third_party/devtools-frontend/src/front_end/third_party/wasmparser' \ 'third_party/dom_distiller_js' \ 'third_party/emoji-segmenter' \ @@ -1119,6 +1146,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/libyuv' \ 'third_party/lss' \ 'third_party/lzma_sdk' \ + 'third_party/mako' \ %if 0%{?bundlepylibs} 'third_party/markupsafe' \ %endif @@ -1161,6 +1189,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ %endif 'third_party/rnnoise' \ 'third_party/s2cellid' \ + 'third_party/schema_org' \ 'third_party/simplejson' \ 'third_party/sinonjs' \ 'third_party/skia' \ @@ -1175,6 +1204,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/SPIRV-Tools' \ 'third_party/sqlite' \ 'third_party/swiftshader' \ + 'third_party/swiftshader/third_party/astc-encoder' \ 'third_party/swiftshader/third_party/llvm-subzero' \ 'third_party/swiftshader/third_party/llvm-7.0' \ 'third_party/swiftshader/third_party/marl' \ @@ -1185,6 +1215,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/usb_ids' \ 'third_party/usrsctp' \ 'third_party/vulkan' \ + 'third_party/wayland' \ 'third_party/web-animations-js' \ 'third_party/webdriver' \ 'third_party/webrtc' \ @@ -1312,7 +1343,9 @@ tools/gn/bootstrap/bootstrap.py -v --no-clean --gn-gen-args="$CHROMIUM_CORE_GN_D %endif %endif +%if %{build_remoting} %{builddir}/gn --script-executable=/usr/bin/python2 gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir} +%endif %if %{bundlelibusbx} # no hackity hack hack @@ -1340,7 +1373,7 @@ ulimit -n 4096 %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') %endif -export PYTHONPATH="../../third_party/pyjson5/src" +export PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints" echo # Now do the full browser @@ -1358,173 +1391,175 @@ echo %build_target %{builddir} clear_key_cdm %build_target %{builddir} policy_templates +%if %{build_remoting} # remote client # ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host remoting_native_messaging_manifests remoting_resources %build_target %{remotingbuilddir} remoting_all %endif +%endif %install rm -rf %{buildroot} %if 0%{freeworld} -mkdir -p %{buildroot}%{chromium_path} - -pushd %{builddir} -cp -a libffmpeg.so* %{buildroot}%{chromium_path} -cp -a libmedia.so* %{buildroot}%{chromium_path} -mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} -mv %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}} -mv %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}} -mv %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}} -popd -%else -mkdir -p %{buildroot}%{_bindir} -mkdir -p %{buildroot}%{chromium_path} -cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh -export BUILD_TARGET=`cat /etc/redhat-release` -export CHROMIUM_PATH=%{chromium_path} -export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel} -sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh -sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh -sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh -%if "%{chromium_channel}" == "%%{nil}" -sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh -%else -# Enable debug outputs for beta and dev channels -export EXTRA_FLAGS="--enable-logging=stderr --v=2" -sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh -%endif - -ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} -mkdir -p %{buildroot}%{_mandir}/man1/ - -pushd %{builddir} -cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} -# Reasonably sure we don't need this anymore. Chrome doesn't include it. -%if 0 -cp -a protoc pyproto %{buildroot}%{chromium_path} -%endif -%ifarch x86_64 i686 aarch64 -cp -a swiftshader %{buildroot}%{chromium_path} -%endif -cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel} -cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox -cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 -sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 -sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 -# V8 initial snapshots -# https://code.google.com/p/chromium/issues/detail?id=421063 -cp -a snapshot_blob.bin %{buildroot}%{chromium_path} -cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path} -cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path} -cp -a MEIPreload %{buildroot}%{chromium_path} -%if 0%{?shared} -cp -a lib*.so* %{buildroot}%{chromium_path} -# cp -p %%{buildroot}%{chromium_path}/libwidevinecdm.so{,.fedora} -cp -p %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} -cp -p %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}} -cp -p %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}} -cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}} -%endif - -# chromedriver -cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver -ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver - -# Remote desktop bits -mkdir -p %{buildroot}%{crd_path} - -%if 0%{?shared} -pushd %{buildroot}%{crd_path} -for i in ../chromium-browser%{?chromium_channel}/lib*.so; do - libname=`basename $i` - ln -s $i $libname -done -popd -%endif -popd - -pushd %{remotingbuilddir} - -# See remoting/host/installer/linux/Makefile for logic -cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host -cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host -cp -a remoting_locales %{buildroot}%{crd_path}/ -cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host -cp -a remoting_start_host %{buildroot}%{crd_path}/start-host -cp -a remoting_user_session %{buildroot}%{crd_path}/user-session -chmod +s %{buildroot}%{crd_path}/user-session - -# chromium -mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts -# google-chrome -mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/ -cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/ -for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do - sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i -done -mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts -pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts -for i in ../../../chromium/native-messaging-hosts/*; do -# rpm gets unhappy when we symlink here - cp -a $i . -done -popd -popd - -mkdir -p %{buildroot}/var/lib/chrome-remote-desktop -touch %{buildroot}/var/lib/chrome-remote-desktop/hashes - -mkdir -p %{buildroot}%{_sysconfdir}/pam.d/ -pushd %{buildroot}%{_sysconfdir}/pam.d/ -ln -s system-auth chrome-remote-desktop -popd - -%if %{build_headless} -pushd %{headlessbuilddir} -cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path} -popd -%endif - -cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop -cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/ - -mkdir -p %{buildroot}%{_unitdir} -cp -a %{SOURCE11} %{buildroot}%{_unitdir}/ -sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service - -# Add directories for policy management -mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed -mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended - -cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html . -cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json . - -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps -cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps -cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps -cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps -cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps -cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png - -# Install the master_preferences file -mkdir -p %{buildroot}%{_sysconfdir}/%{name} -install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/ - -mkdir -p %{buildroot}%{_datadir}/applications/ -desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4} - -install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml -appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml - -mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/ -cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/ - -mkdir -p %{buildroot}%{chromium_path}/PepperFlash + mkdir -p %{buildroot}%{chromium_path} + + pushd %{builddir} + cp -a libffmpeg.so* %{buildroot}%{chromium_path} + cp -a libmedia.so* %{buildroot}%{chromium_path} + mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} + mv %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}} + mv %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}} + mv %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}} + popd +%else + mkdir -p %{buildroot}%{_bindir} + mkdir -p %{buildroot}%{chromium_path} + cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh + export BUILD_TARGET=`cat /etc/redhat-release` + export CHROMIUM_PATH=%{chromium_path} + export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel} + sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh + sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh + sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh + %if "%{chromium_channel}" == "%%{nil}" + sed -i "s|@@EXTRA_FLAGS@@||g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh + %else + # Enable debug outputs for beta and dev channels + export EXTRA_FLAGS="--enable-logging=stderr --v=2" + sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g" %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh + %endif + + ln -s %{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel} + mkdir -p %{buildroot}%{_mandir}/man1/ + + pushd %{builddir} + cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} + %ifarch x86_64 i686 aarch64 + cp -a swiftshader %{buildroot}%{chromium_path} + %endif + cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel} + cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox + cp -a ../../chrome/app/resources/manpage.1.in %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 + sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 + sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g" %{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1 + # V8 initial snapshots + # https://code.google.com/p/chromium/issues/detail?id=421063 + cp -a snapshot_blob.bin %{buildroot}%{chromium_path} + cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path} + cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path} + cp -a MEIPreload %{buildroot}%{chromium_path} + %if 0%{?shared} + cp -a lib*.so* %{buildroot}%{chromium_path} + # cp -p %%{buildroot}%{chromium_path}/libwidevinecdm.so{,.fedora} + cp -p %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}} + cp -p %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}} + cp -p %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}} + cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}} + %endif + + # chromedriver + cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver + ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver + + %if %{build_remoting} + # Remote desktop bits + mkdir -p %{buildroot}%{crd_path} + + %if 0%{?shared} + pushd %{buildroot}%{crd_path} + for i in ../chromium-browser%{?chromium_channel}/lib*.so; do + libname=`basename $i` + ln -s $i $libname + done + popd + %endif + %endif + popd + %if %{build_remoting} + pushd %{remotingbuilddir} + + # See remoting/host/installer/linux/Makefile for logic + cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host + cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host + cp -a remoting_locales %{buildroot}%{crd_path}/ + cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host + cp -a remoting_start_host %{buildroot}%{crd_path}/start-host + cp -a remoting_user_session %{buildroot}%{crd_path}/user-session + chmod +s %{buildroot}%{crd_path}/user-session + + # chromium + mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts + # google-chrome + mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/ + cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/ + for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do + sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i + done + mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts + pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts + for i in ../../../chromium/native-messaging-hosts/*; do + # rpm gets unhappy when we symlink here + cp -a $i . + done + popd + popd + + mkdir -p %{buildroot}/var/lib/chrome-remote-desktop + touch %{buildroot}/var/lib/chrome-remote-desktop/hashes + + mkdir -p %{buildroot}%{_sysconfdir}/pam.d/ + pushd %{buildroot}%{_sysconfdir}/pam.d/ + ln -s system-auth chrome-remote-desktop + %endif + + %if %{build_headless} + pushd %{headlessbuilddir} + cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path} + popd + %endif + + %if %{build_remoting} + cp -a remoting/host/linux/linux_me2me_host.py %{buildroot}%{crd_path}/chrome-remote-desktop + cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/ + + mkdir -p %{buildroot}%{_unitdir} + cp -a %{SOURCE11} %{buildroot}%{_unitdir}/ + sed -i 's|@@CRD_PATH@@|%{crd_path}|g' %{buildroot}%{_unitdir}/chrome-remote-desktop@.service + %endif + + # Add directories for policy management + mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed + mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended + + cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html . + cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json . + + mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps + cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png + mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps + cp -a chrome/app/theme/chromium/product_logo_128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png + mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps + cp -a chrome/app/theme/chromium/product_logo_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png + mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps + cp -a chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png + mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps + cp -a chrome/app/theme/chromium/product_logo_24.png %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png + + # Install the master_preferences file + mkdir -p %{buildroot}%{_sysconfdir}/%{name} + install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/ + + mkdir -p %{buildroot}%{_datadir}/applications/ + desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4} + + install -D -m0644 chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml + appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml + + mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/ + cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/ + + mkdir -p %{buildroot}%{chromium_path}/PepperFlash # freeworld conditional %endif @@ -1539,12 +1574,14 @@ if selinuxenabled; then restorecon -R -v %{chromium_path}/%{chromium_browser_channel} &>/dev/null || : fi +%if %{build_remoting} %pretrans -n chrome-remote-desktop -p path = "/etc/opt/chrome/native-messaging-hosts" st = posix.stat(path) if st and st.type == "link" then os.remove(path) end +%endif %if %{shared} %if %{freeworld} @@ -1584,6 +1621,7 @@ fi %endif %endif +%if %{build_remoting} %pre -n chrome-remote-desktop getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop @@ -1595,6 +1633,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %postun -n chrome-remote-desktop %systemd_postun_with_restart chrome-remote-desktop@.service +%endif %if 0%{freeworld} # We only build libs-media-freeworld. @@ -1716,6 +1755,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{chromium_path}/lib*.so* %endif +%if %{build_remoting} %files -n chrome-remote-desktop %{crd_path}/chrome-remote-desktop %{crd_path}/chrome-remote-desktop-host @@ -1733,6 +1773,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %{crd_path}/user-session %{_unitdir}/chrome-remote-desktop@.service /var/lib/chrome-remote-desktop/ +%endif %files -n chromedriver %doc AUTHORS @@ -1756,6 +1797,13 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Sun Jun 7 2020 Tom Callaway - 83.0.4103.97-1 +- update to 83.0.4103.97 + +* Tue Jun 2 2020 Tom Callaway - 83.0.4103.61-1 +- update to 83.0.4103.61 +- conditionalize and disable remoting + * Thu May 7 2020 Tom Callaway - 81.0.4044.138-1 - update to 81.0.4044.138 diff --git a/enable-vaapi.patch b/enable-vaapi.patch index f31122a..5fe02e2 100644 --- a/enable-vaapi.patch +++ b/enable-vaapi.patch @@ -1,7 +1,7 @@ -diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi chromium-81.0.4044.92/chrome/browser/about_flags.cc ---- chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi 2020-04-03 00:11:28.000000000 -0400 -+++ chromium-81.0.4044.92/chrome/browser/about_flags.cc 2020-04-13 15:09:02.982509507 -0400 -@@ -1920,7 +1920,7 @@ const FeatureEntry kFeatureEntries[] = { +diff -up chromium-83.0.4103.61/chrome/browser/about_flags.cc.vaapi chromium-83.0.4103.61/chrome/browser/about_flags.cc +--- chromium-83.0.4103.61/chrome/browser/about_flags.cc.vaapi 2020-05-18 14:40:20.000000000 -0400 ++++ chromium-83.0.4103.61/chrome/browser/about_flags.cc 2020-05-29 15:50:25.144232561 -0400 +@@ -2153,7 +2153,7 @@ const FeatureEntry kFeatureEntries[] = { "disable-accelerated-video-decode", flag_descriptions::kAcceleratedVideoDecodeName, flag_descriptions::kAcceleratedVideoDecodeDescription, @@ -10,9 +10,9 @@ diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi chromium-81.0 SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), }, { -@@ -2352,12 +2352,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, - #endif // !defined(OS_ANDROID) +@@ -2585,12 +2585,12 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop, + MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)}, #endif // ENABLE_VR -#if defined(OS_CHROMEOS) +#if defined(OS_CHROMEOS) || defined(OS_LINUX) @@ -22,14 +22,14 @@ diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi chromium-81.0 + flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, -#endif // OS_CHROMEOS -+#endif // OS_CHROMEOS | OS_LINUX ++#endif // OS_CHROMEOS || OS_LINUX {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc ---- chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi 2020-04-03 00:11:29.000000000 -0400 -+++ chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc 2020-04-13 15:09:02.983509488 -0400 -@@ -2999,16 +2999,19 @@ const char kMetalDescription[] = +diff -up chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc.vaapi chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc +--- chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc.vaapi 2020-05-18 14:40:21.000000000 -0400 ++++ chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc 2020-05-29 15:47:52.347979793 -0400 +@@ -2980,16 +2980,19 @@ const char kMetalDescription[] = #endif @@ -52,10 +52,10 @@ diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi chromiu const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML."; const char kAggregatedMlAppRankingDescription[] = "Use the aggregated ML model to rank the suggested apps."; -diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi chromium-81.0.4044.92/chrome/browser/flag_descriptions.h ---- chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi 2020-04-03 00:11:29.000000000 -0400 -+++ chromium-81.0.4044.92/chrome/browser/flag_descriptions.h 2020-04-13 15:09:02.983509488 -0400 -@@ -1730,13 +1730,19 @@ extern const char kMetalDescription[]; +diff -up chromium-83.0.4103.61/chrome/browser/flag_descriptions.h.vaapi chromium-83.0.4103.61/chrome/browser/flag_descriptions.h +--- chromium-83.0.4103.61/chrome/browser/flag_descriptions.h.vaapi 2020-05-18 14:40:21.000000000 -0400 ++++ chromium-83.0.4103.61/chrome/browser/flag_descriptions.h 2020-05-29 15:47:52.348979768 -0400 +@@ -1711,13 +1711,19 @@ extern const char kMetalDescription[]; #endif // defined(OS_MACOSX) @@ -77,9 +77,9 @@ diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi chromium extern const char kAggregatedMlAppRankingName[]; extern const char kAggregatedMlAppRankingDescription[]; -diff -up chromium-81.0.4044.92/gpu/config/software_rendering_list.json.vaapi chromium-81.0.4044.92/gpu/config/software_rendering_list.json ---- chromium-81.0.4044.92/gpu/config/software_rendering_list.json.vaapi 2020-04-13 15:09:02.988509396 -0400 -+++ chromium-81.0.4044.92/gpu/config/software_rendering_list.json 2020-04-13 15:19:03.380353582 -0400 +diff -up chromium-83.0.4103.61/gpu/config/software_rendering_list.json.vaapi chromium-83.0.4103.61/gpu/config/software_rendering_list.json +--- chromium-83.0.4103.61/gpu/config/software_rendering_list.json.vaapi 2020-05-18 14:40:24.000000000 -0400 ++++ chromium-83.0.4103.61/gpu/config/software_rendering_list.json 2020-05-29 15:47:52.349979744 -0400 @@ -337,11 +337,12 @@ }, { diff --git a/sources b/sources index 6391e4d..55b9f3e 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v10.15.3-linux-x64.tar.gz) = 5eb544ef706562981340a82acc79e2162c6a3e4049b4a95f69ce353ee5b0f929c60b1fc457e8249b3fb0696f82fc28c5f543f5947db19fae4e9d5c21b906bb20 -SHA512 (chromium-81.0.4044.138-clean.tar.xz) = 24c52a2b5973896ff823e989e92747fb3d71fed74a38eb970efd74492d1f980c9135334ec2c74cdafb1edc91d66d7195e66bb6ac38cb201cb3e08386e26665eb +SHA512 (chromium-83.0.4103.97-clean.tar.xz) = 00abd69dd041613e5cd3ad6c41f51013b05405b6f19e6b1acfc9709d738ac8c2adcfc67b64801f6583270a58849e2690e91b2ebcaf3b82a25b381b580426c1a4