Merge branch 'master' into f31

epel8
Tom Callaway 5 years ago
commit 3c5c85c4d8

@ -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 <cstdint>
#include <functional>
#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

@ -0,0 +1,53 @@
From c0b32910da192edf1b41eb52c088d0213ab2807a Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Sun, 05 Apr 2020 08:29:21 +0000
Subject: [PATCH] libstdc++: fix incomplete-type in AXTree for NodeSetSizePosInSetInfo
std::unordered_map<T, U> 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<int> 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<int> lowest_hierarchical_level;
+ };
// Represents the content of an ordered set which includes the ordered set
// items and the ordered set container if it exists.

@ -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 <iterator>
+
#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<std::input_iterator_tag,
+ NGLink> {
STACK_ALLOCATED();
public:

@ -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;

@ -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 <typename T>
static T GetValue(const base::Value& value);
- template <>
- inline bool GetValue<bool>(const base::Value& value) {
- return value.GetBool();
- }
-
- template <>
- inline int GetValue<int>(const base::Value& value) {
- return value.GetInt();
- }
-
- template <>
- inline const std::string& GetValue<const std::string&>(
- const base::Value& value) {
- return value.GetString();
- }
-
template <typename Is, typename... Args>
struct Call;
@@ -169,6 +153,22 @@ class CONTENT_EXPORT WebUI {
};
};
+template <>
+inline bool WebUI::GetValue<bool>(const base::Value& value) {
+ return value.GetBool();
+}
+
+template <>
+inline int WebUI::GetValue<int>(const base::Value& value) {
+ return value.GetInt();
+}
+
+template <>
+inline const std::string& WebUI::GetValue<const std::string&>(
+ const base::Value& value) {
+ return value.GetString();
+}
+
} // namespace content
#endif // CONTENT_PUBLIC_BROWSER_WEB_UI_H_

@ -0,0 +1,75 @@
From 3681c96f54b34f60493cbbf5ec830f158e469799 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
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 <algorithm>
+
#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 <stha09@googlemail.com>
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 <memory>
+
#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 <stha09@googlemail.com>
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 <limits>
+
#include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h"
#include "base/logging.h"
--
2.24.1

@ -0,0 +1,41 @@
From 4abcf0a76a7cb5c343be7d17c60cb908f3673c3d Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
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

@ -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:

@ -0,0 +1,31 @@
From fdf2767e8dc54727c9536a4d39d230a959e3698c Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
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

@ -0,0 +1,130 @@
From 0914a38252f205fc04fa50e858b24fa5f535ab11 Mon Sep 17 00:00:00 2001
From: Hiroki Nakagawa <nhiroki@chromium.org>
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<int64_t version_id, std::unique_ptr<ServiceWorkerObjectHost>>.
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<ServiceWorkerObjectHost> 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<EmbeddedWorkerTestHelper> helper_;
scoped_refptr<ServiceWorkerRegistration> 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<EmbeddedWorkerTestHelper>(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

@ -0,0 +1,69 @@
From 8d115ddda495d0d2e1e1447392db6e9e6a8a1b32 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
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 <tkent@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
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 <bool = Allocator::kIsGarbageCollected>
- static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst);
- template <>
- static void MoveOverlappingImpl<false>(const T* src,
- const T* src_end,
- T* dst) {
- memmove(dst, src,
- reinterpret_cast<const char*>(src_end) -
- reinterpret_cast<const char*>(src));
- }
- template <>
- static void MoveOverlappingImpl<true>(const T* src,
- const T* src_end,
- T* dst) {
- if (src == dst)
- return;
- if (dst < src) {
- for (; src < src_end; ++src, ++dst)
- AtomicWriteMemcpy<sizeof(T)>(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<sizeof(T)>(dst, src);
+ } else {
+ --src_end;
+ T* dst_end = dst + (src_end - src);
+ for (; src_end >= src; --src_end, --dst_end)
+ AtomicWriteMemcpy<sizeof(T)>(dst_end, src_end);
+ }
} else {
- --src_end;
- T* dst_end = dst + (src_end - src);
- for (; src_end >= src; --src_end, --dst_end)
- AtomicWriteMemcpy<sizeof(T)>(dst_end, src_end);
+ memmove(dst, src,
+ reinterpret_cast<const char*>(src_end) -
+ reinterpret_cast<const char*>(src));
}
}

@ -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) {

@ -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 <array>
+#include <cstddef>
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 <stdint.h>
#include <stdlib.h>
#include <array>
+#include <cstddef>
#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 <array>
+#include <cstddef>
namespace webrtc {

@ -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
}

@ -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" ]

@ -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 '<string>'; did you forget to '#include <string>'?
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 <cstring> (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 '<memory>'; did you forget to '#include <memory>'?
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,10 +1391,12 @@ 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}
@ -1400,10 +1435,6 @@ 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
@ -1431,6 +1462,7 @@ cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
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}
@ -1442,8 +1474,9 @@ for i in ../chromium-browser%{?chromium_channel}/lib*.so; do
done
popd
%endif
%endif
popd
%if %{build_remoting}
pushd %{remotingbuilddir}
# See remoting/host/installer/linux/Makefile for logic
@ -1478,7 +1511,7 @@ 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
%endif
%if %{build_headless}
pushd %{headlessbuilddir}
@ -1486,12 +1519,14 @@ 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
@ -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 <lua>
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 <spot@fedoraproject.org> - 83.0.4103.97-1
- update to 83.0.4103.97
* Tue Jun 2 2020 Tom Callaway <spot@fedoraproject.org> - 83.0.4103.61-1
- update to 83.0.4103.61
- conditionalize and disable remoting
* Thu May 7 2020 Tom Callaway <spot@fedoraproject.org> - 81.0.4044.138-1
- update to 81.0.4044.138

@ -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 @@
},
{

@ -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

Loading…
Cancel
Save