diff --git a/DEPS b/DEPS index fcb9238f4e23c..2af2b6afda815 100644 --- a/DEPS +++ b/DEPS @@ -15,7 +15,7 @@ gclient_gn_args = [ vars = { 'chromium_version': - '94.0.4584.0', + '94.0.4590.2', 'node_version': 'v16.5.0', 'nan_version': diff --git a/patches/boringssl/expose_aes-cfb.patch b/patches/boringssl/expose_aes-cfb.patch index 24189f70ae817..0ab27b4106211 100644 --- a/patches/boringssl/expose_aes-cfb.patch +++ b/patches/boringssl/expose_aes-cfb.patch @@ -31,7 +31,7 @@ index 786a5d5fb13d7ceafc9b7d58c0aaccb88552506d..5ede89f9f0761d1da1baa899e9a02b77 return EVP_aes_128_ctr(); } else if (OPENSSL_strcasecmp(name, "aes-192-ctr") == 0) { diff --git a/decrepit/evp/evp_do_all.c b/decrepit/evp/evp_do_all.c -index 53cb9d2dc8f1962a70dc12b648d27c32be8aca4b..84af06fc56e4aa72d4d48801d7c037add0221747 100644 +index 5a41a7b7dc9afee65d9004c497da735073715bd3..c6c901eaff474eaa3f06128ea825b8203d064a52 100644 --- a/decrepit/evp/evp_do_all.c +++ b/decrepit/evp/evp_do_all.c @@ -20,8 +20,10 @@ void EVP_CIPHER_do_all_sorted(void (*callback)(const EVP_CIPHER *cipher, diff --git a/patches/boringssl/expose_des-ede3.patch b/patches/boringssl/expose_des-ede3.patch index c0946b0bcb802..39520879c9406 100644 --- a/patches/boringssl/expose_des-ede3.patch +++ b/patches/boringssl/expose_des-ede3.patch @@ -19,7 +19,7 @@ index 5ede89f9f0761d1da1baa899e9a02b77ffcffe93..8205e121c152fe4e2d8df34a1ac2fe04 // This is not a name used by OpenSSL, but tcpdump registers it // with |EVP_add_cipher_alias|. Our |EVP_add_cipher_alias| is a diff --git a/decrepit/evp/evp_do_all.c b/decrepit/evp/evp_do_all.c -index 84af06fc56e4aa72d4d48801d7c037add0221747..fe412e350f43ad20758025da6b9754952d164938 100644 +index c6c901eaff474eaa3f06128ea825b8203d064a52..f577cd23bf72b94b2651fe5eeb757106f5adaea2 100644 --- a/decrepit/evp/evp_do_all.c +++ b/decrepit/evp/evp_do_all.c @@ -39,6 +39,7 @@ void EVP_CIPHER_do_all_sorted(void (*callback)(const EVP_CIPHER *cipher, diff --git a/patches/boringssl/expose_ripemd160.patch b/patches/boringssl/expose_ripemd160.patch index 64f3ab29da1fd..cc31f9c69acd8 100644 --- a/patches/boringssl/expose_ripemd160.patch +++ b/patches/boringssl/expose_ripemd160.patch @@ -10,10 +10,10 @@ this patch is required to provide ripemd160 support in the nodejs crypto module. diff --git a/crypto/digest_extra/digest_extra.c b/crypto/digest_extra/digest_extra.c -index 311c5cba0e359a20b34ba6c7ee84c34b6068049f..c4638d40aab0a4b9612216d68cd7fb50823a0ae6 100644 +index a93601c170dc407f7d6d628fb7e2d2f0788467f3..00911ee69bb99a34b938ea6a62cd10bc930ec95c 100644 --- a/crypto/digest_extra/digest_extra.c +++ b/crypto/digest_extra/digest_extra.c -@@ -83,6 +83,7 @@ static const struct nid_to_digest nid_to_digest_mapping[] = { +@@ -84,6 +84,7 @@ static const struct nid_to_digest nid_to_digest_mapping[] = { {NID_sha384, EVP_sha384, SN_sha384, LN_sha384}, {NID_sha512, EVP_sha512, SN_sha512, LN_sha512}, {NID_md5_sha1, EVP_md5_sha1, SN_md5_sha1, LN_md5_sha1}, @@ -62,7 +62,7 @@ index f006ebbc53eea78ce0337a076a05285f22da7a18..7b9309f39a2e5dc6e61bb89e5d32b176 + #undef CHECK diff --git a/decrepit/evp/evp_do_all.c b/decrepit/evp/evp_do_all.c -index d540144b293297791c087e0b968a47d368a73695..53cb9d2dc8f1962a70dc12b648d27c32be8aca4b 100644 +index d8023e08f70a060aed083212fefd1de3ecc142e4..5a41a7b7dc9afee65d9004c497da735073715bd3 100644 --- a/decrepit/evp/evp_do_all.c +++ b/decrepit/evp/evp_do_all.c @@ -78,6 +78,7 @@ void EVP_MD_do_all_sorted(void (*callback)(const EVP_MD *cipher, @@ -73,14 +73,16 @@ index d540144b293297791c087e0b968a47d368a73695..53cb9d2dc8f1962a70dc12b648d27c32 callback(EVP_md4(), "md4", NULL, arg); callback(EVP_md5(), "md5", NULL, arg); -@@ -86,4 +87,5 @@ void EVP_MD_do_all_sorted(void (*callback)(const EVP_MD *cipher, +@@ -86,6 +87,7 @@ void EVP_MD_do_all_sorted(void (*callback)(const EVP_MD *cipher, callback(EVP_sha256(), "sha256", NULL, arg); callback(EVP_sha384(), "sha384", NULL, arg); callback(EVP_sha512(), "sha512", NULL, arg); + callback(EVP_ripemd160(), "ripemd160", NULL, arg); } + + void EVP_MD_do_all(void (*callback)(const EVP_MD *cipher, const char *name, diff --git a/include/openssl/digest.h b/include/openssl/digest.h -index 12542c18b2563c83f0f37a0cbbab6847060ab180..f96c5c59ddfa7aee63bb0212812dd14c677b59cb 100644 +index fa7616896b6cc7422dc0171db29316f20fb25de8..6c19a0f0d454bef1abf16ebfeef380a53fb21e5c 100644 --- a/include/openssl/digest.h +++ b/include/openssl/digest.h @@ -90,6 +90,9 @@ OPENSSL_EXPORT const EVP_MD *EVP_blake2b256(void); diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 3033ec1e59b9f..b8e35a708b213 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -103,3 +103,5 @@ hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch add_gin_wrappable_crash_key.patch logging_win32_only_create_a_console_if_logging_to_stderr.patch +disable_use_lld_for_macos.patch +fix_fix_the_build_on_windows_on_arm.patch diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index a12fc613b4e40..99453306e343a 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -23,10 +23,10 @@ index e24c169444c699f295de2c1f1f42683eeca73436..4675cdccb1876a318a9a0253cdf552bb int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 4f09c48e4c3b1d8f44854ca0823fad89c7cb11ca..b84c515730e843cbbce96e6045d53b7da25579b3 100644 +index b0d68dc86bfb32f528bb392c6fe8d5c60805a41b..8c0fb0274650b2a4a36a446a1b0ce01e93c6304b 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -4407,6 +4407,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, +@@ -4413,6 +4413,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, observer.DidCreateScriptContext(context, world_id); } @@ -40,10 +40,10 @@ index 4f09c48e4c3b1d8f44854ca0823fad89c7cb11ca..b84c515730e843cbbce96e6045d53b7d int world_id) { for (auto& observer : observers_) diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h -index 240152022c7d489d81fbadddcb672b02d87443c4..6c8f1e51d646d7925801111ee857af569f28033d 100644 +index 73ad48a8f044ee4ffc795d3aeed17fc921eb44ee..27ade0af23c48dd9875d78113e6d5bb03c964fe1 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h -@@ -586,6 +586,8 @@ class CONTENT_EXPORT RenderFrameImpl +@@ -587,6 +587,8 @@ class CONTENT_EXPORT RenderFrameImpl blink::WebLocalFrameClient::LazyLoadBehavior lazy_load_behavior) override; void DidCreateScriptContext(v8::Local context, int world_id) override; @@ -53,10 +53,10 @@ index 240152022c7d489d81fbadddcb672b02d87443c4..6c8f1e51d646d7925801111ee857af56 int world_id) override; void DidChangeScrollOffset() override; diff --git a/third_party/blink/public/web/web_local_frame_client.h b/third_party/blink/public/web/web_local_frame_client.h -index 5e70b0d06e790ad28b647639c0f0a43ab4e6f9cf..6d101dc9c12c9bcbc0993d5ef7ddb8b194f6825a 100644 +index 99ddb8f449481647a499a5bb3fd7f5d5272ae414..00d7f0bbb8dc3afdc2303668481cf17fbdfbdcba 100644 --- a/third_party/blink/public/web/web_local_frame_client.h +++ b/third_party/blink/public/web/web_local_frame_client.h -@@ -585,6 +585,9 @@ class BLINK_EXPORT WebLocalFrameClient { +@@ -587,6 +587,9 @@ class BLINK_EXPORT WebLocalFrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) {} @@ -79,10 +79,10 @@ index 82750b58500681015be4cd75e9362d235a54c82f..497179aa9b4da053a44513103cdb93fd if (World().IsMainWorld()) { GetFrame()->Loader().DispatchDidClearWindowObjectInMainWorld(); diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h -index 354d705e7c5e33137767a8e75ebb2bb0bad7151b..8568d19178f5fac5c421b2e83e35341e6809a456 100644 +index fd9d33e9ee3214673757d2857f339fff70e139f2..ed2ccb72e394f177ec17d823fbf22d725ba43853 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client.h +++ b/third_party/blink/renderer/core/frame/local_frame_client.h -@@ -298,6 +298,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { +@@ -299,6 +299,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) = 0; @@ -92,7 +92,7 @@ index 354d705e7c5e33137767a8e75ebb2bb0bad7151b..8568d19178f5fac5c421b2e83e35341e int32_t world_id) = 0; virtual bool AllowScriptExtensions() = 0; diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc -index 72ea858f8021b70e1b6aeca53bc7498345f5c08f..0ac6d1b812ab8196cf326ff49047387972c0034f 100644 +index 96aea6ae2dc5322699741701569e8a1ccd4b9728..92a957fc4971ed3d5b343e8db4db9d603f11b1e9 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc +++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc @@ -273,6 +273,13 @@ void LocalFrameClientImpl::DidCreateScriptContext( @@ -110,7 +110,7 @@ index 72ea858f8021b70e1b6aeca53bc7498345f5c08f..0ac6d1b812ab8196cf326ff490473879 v8::Local context, int32_t world_id) { diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.h b/third_party/blink/renderer/core/frame/local_frame_client_impl.h -index 7ee0cd63a960e1bdb5cc9979827693c5bab7e96d..8486c97f8731ffc77d13e137819a1be8116105dc 100644 +index b66e501d692b75e37f50fa3be018df092fc35176..3135bdfa960e9e914ded8ee87f227d5897c9ed33 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client_impl.h +++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.h @@ -77,6 +77,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient { diff --git a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch index 2e657b1c80a1b..fdeb5369cf699 100644 --- a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -6,10 +6,10 @@ Subject: allow disabling blink scheduler throttling per RenderView This allows us to disable throttling for hidden windows. diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc -index ce54ce5ee0d4f421e34e2ad7c35334b5f608609f..8193988e5e9312dada93a00d38f50931acc57ee9 100644 +index 8f8e095a1dc959a2db5b1a5bc692f9b28896e282..8070f4cf34f341a772c54c47c50335b3db491b5a 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc -@@ -628,6 +628,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { +@@ -631,6 +631,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); } @@ -22,7 +22,7 @@ index ce54ce5ee0d4f421e34e2ad7c35334b5f608609f..8193988e5e9312dada93a00d38f50931 return is_active(); } diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h -index 43fb3715553154f261a10bdc2133e66f456f9cd6..7950cc266c525d6e6e12282ac48311e4da1fc418 100644 +index f6716de3d78c301cb5283dd800cd23756bb2fbfa..da1af3187872645b89997192cbf5a16f79321ddd 100644 --- a/content/browser/renderer_host/render_view_host_impl.h +++ b/content/browser/renderer_host/render_view_host_impl.h @@ -137,6 +137,7 @@ class CONTENT_EXPORT RenderViewHostImpl @@ -48,10 +48,10 @@ index 740d1c322b740d374dd0287d99daebc1fe39ceda..f6ed1402120c0d8b30356c87a52d88fe // This interface should only be implemented inside content. friend class RenderViewHostImpl; diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h -index a4e38fd9825fdb2c16f728d8012bb2392cb31dfe..2239f82411d0ba73b95020e18d3838507521dd1c 100644 +index 604edaea033172123d1e7d9c5512bebf55738db5..93b06e71dae1b9c01463c8b26b74516bad7d5b6d 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h -@@ -154,6 +154,8 @@ class CONTENT_EXPORT RenderViewImpl : public blink::WebViewClient, +@@ -150,6 +150,8 @@ class CONTENT_EXPORT RenderViewImpl : public blink::WebViewClient, static WindowOpenDisposition NavigationPolicyToDisposition( blink::WebNavigationPolicy policy); @@ -61,10 +61,10 @@ index a4e38fd9825fdb2c16f728d8012bb2392cb31dfe..2239f82411d0ba73b95020e18d383850 // ADDING NEW FUNCTIONS? Please keep private functions alphabetized and put // it in the same order in the .cc file as it was in the header. diff --git a/third_party/blink/public/mojom/page/page.mojom b/third_party/blink/public/mojom/page/page.mojom -index 8521520bb9ea48686096480700966dabae1de777..a9ef1a5f2ad6882308790cf571a3099815e68f80 100644 +index df834821bd082b92a9b4bd0858d900f554469afe..1e3b281eab8de5d3ab46a01d520737ecc477c3ff 100644 --- a/third_party/blink/public/mojom/page/page.mojom +++ b/third_party/blink/public/mojom/page/page.mojom -@@ -80,4 +80,7 @@ interface PageBroadcast { +@@ -91,4 +91,7 @@ interface PageBroadcast { // Sent to whole page, but should only be used by the main frame. SetPageBaseBackgroundColor(skia.mojom.SkColor? color); @@ -85,10 +85,10 @@ index f54b993e9fb9fedcedef327290c2e5d706c699a7..73874e124e2810f07b72fc094f57c85c // Visibility ----------------------------------------------------------- diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc -index 2f9022d37ab989ea5bc2946ff6f0aeff22bf9fab..c493aa8366366da89f642d77838169deda8b210a 100644 +index 920ccfdb9d4c465e2ddf3963bf9c20df22c013da..afe02087fb46273f76069cf5c8d605a0d1e8ec3f 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -3594,6 +3594,13 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -3625,6 +3625,13 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } @@ -102,7 +102,7 @@ index 2f9022d37ab989ea5bc2946ff6f0aeff22bf9fab..c493aa8366366da89f642d77838169de void WebViewImpl::SetVisibilityState( mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) { -@@ -3605,7 +3612,8 @@ void WebViewImpl::SetVisibilityState( +@@ -3636,7 +3643,8 @@ void WebViewImpl::SetVisibilityState( } GetPage()->SetVisibilityState(visibility_state, is_initial_state); GetPage()->GetPageScheduler()->SetPageVisible( @@ -113,10 +113,10 @@ index 2f9022d37ab989ea5bc2946ff6f0aeff22bf9fab..c493aa8366366da89f642d77838169de mojom::blink::PageVisibilityState WebViewImpl::GetVisibilityState() { diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h -index 97e3d30f1427b56d4711ca358bef74397affa480..faf957547df2a80f4fa267733f6145776a865853 100644 +index e7b0409bd60df8c1476f0c9ce14380bfade9773d..3a955aa7fcf08a7d7222eca37222870c6ec8fe36 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h -@@ -414,6 +414,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -416,6 +416,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, LocalDOMWindow* PagePopupWindow() const; PageScheduler* Scheduler() const override; @@ -124,7 +124,7 @@ index 97e3d30f1427b56d4711ca358bef74397affa480..faf957547df2a80f4fa267733f614577 void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state, bool is_initial_state) override; mojom::blink::PageVisibilityState GetVisibilityState() override; -@@ -845,6 +846,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -847,6 +848,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, // If true, we send IPC messages when |preferred_size_| changes. bool send_preferred_size_changes_ = false; diff --git a/patches/chromium/blink_local_frame.patch b/patches/chromium/blink_local_frame.patch index 04732f5942769..c6a7d1bdebabd 100644 --- a/patches/chromium/blink_local_frame.patch +++ b/patches/chromium/blink_local_frame.patch @@ -49,10 +49,10 @@ index 8bf6b4bc077cc41da5e0e6b13302bc343537c68f..01bddc0bcb7476408023c4cfc042a088 // its owning reference back to our owning LocalFrame. client_->Detached(type); diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc -index 1ea4cd1b5ca426f9a18ad7b0bfdf0e5aaa4a90a4..c7e3c460d1461fbe91a83a1dc1f56dd93a0d92fc 100644 +index c90b14523f9507c41cc0c723d46a20cdb0fdbac4..c261a26a81d7491b17969a250ccc80def4bfec91 100644 --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -560,10 +560,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { +@@ -553,10 +553,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { } DCHECK(!view_ || !view_->IsAttached()); @@ -63,7 +63,7 @@ index 1ea4cd1b5ca426f9a18ad7b0bfdf0e5aaa4a90a4..c7e3c460d1461fbe91a83a1dc1f56dd9 if (!Client()) return false; -@@ -610,6 +606,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { +@@ -603,6 +599,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { DCHECK(!view_->IsAttached()); Client()->WillBeDetached(); diff --git a/patches/chromium/build_add_electron_tracing_category.patch b/patches/chromium/build_add_electron_tracing_category.patch index a3f9eb5af5ecd..c9e46a7e8760e 100644 --- a/patches/chromium/build_add_electron_tracing_category.patch +++ b/patches/chromium/build_add_electron_tracing_category.patch @@ -8,7 +8,7 @@ categories in use are known / declared. This patch is required for us to introduce a new Electron category for Electron-specific tracing. diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h -index 96624924dd6f7b52cef042d707790a37cf648b95..008f4c2822897a4192ff361bcd2a1173414153cc 100644 +index 81dea0e4a02ae26b2b55e6839202d6864a120d45..5174db10126c9cb81dc422bdac9ba18e498debe8 100644 --- a/base/trace_event/builtin_categories.h +++ b/base/trace_event/builtin_categories.h @@ -77,6 +77,7 @@ diff --git a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch index 114ce789da27f..96e0b6f4d013b 100644 --- a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch +++ b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch @@ -33,10 +33,10 @@ index 8e91c62655726024b75aefa312bbe2bd1dae1e76..5be231490705a83533e358e85278f959 "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index 022a61c9d3fc394e3cfdb1825fd9716f104e5342..f6b1179e02b7d2ffa33b76d38c9aa1e2e2c62636 100644 +index 741c131a70336335690cc0c8790da7b526e86d9d..fc12d5e2b41f4bbcc38f9c38299b611c8cf0d21e 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4321,7 +4321,7 @@ static_library("browser") { +@@ -4326,7 +4326,7 @@ static_library("browser") { # On Windows, the hashes are embedded in //chrome:chrome_initial rather # than here in :chrome_dll. @@ -46,10 +46,10 @@ index 022a61c9d3fc394e3cfdb1825fd9716f104e5342..f6b1179e02b7d2ffa33b76d38c9aa1e2 } diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index 52076828b335c301d587de67590c941c2421b0d4..d6932d1724864db1050a8558ffe2fdb80da30b50 100644 +index dd272ac9bde95c6b4a972bc4e3ca13d9d23c627f..b5b8ce4d721d9fbd596e1d2c38d174a18e91ff27 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -5300,7 +5300,6 @@ test("unit_tests") { +@@ -5292,7 +5292,6 @@ test("unit_tests") { assert(toolkit_views) sources += [ "../browser/ui/startup/credential_provider_signin_info_fetcher_win_unittest.cc" ] deps += [ @@ -57,7 +57,7 @@ index 52076828b335c301d587de67590c941c2421b0d4..d6932d1724864db1050a8558ffe2fdb8 "//chrome/browser:chrome_process_finder", "//chrome/browser/safe_browsing/chrome_cleaner", "//chrome/browser/safe_browsing/chrome_cleaner:public", -@@ -5313,6 +5312,12 @@ test("unit_tests") { +@@ -5305,6 +5304,12 @@ test("unit_tests") { "//components/chrome_cleaner/public/proto", "//ui/events/devices:test_support", ] @@ -70,7 +70,7 @@ index 52076828b335c301d587de67590c941c2421b0d4..d6932d1724864db1050a8558ffe2fdb8 } if (is_win || is_chromeos_ash || is_mac) { -@@ -5880,7 +5885,6 @@ test("unit_tests") { +@@ -5876,7 +5881,6 @@ test("unit_tests") { } deps += [ @@ -78,7 +78,7 @@ index 52076828b335c301d587de67590c941c2421b0d4..d6932d1724864db1050a8558ffe2fdb8 "//chrome/browser:cart_db_content_proto", "//chrome/browser/media/router:test_support", "//chrome/browser/promo_browser_command:mojo_bindings", -@@ -5916,6 +5920,9 @@ test("unit_tests") { +@@ -5912,6 +5916,9 @@ test("unit_tests") { "//ui/color:test_support", "//ui/native_theme:test_support", ] diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index d623714090361..ef17032354ead 100644 --- a/patches/chromium/can_create_window.patch +++ b/patches/chromium/can_create_window.patch @@ -9,10 +9,10 @@ potentially prevent a window from being created. TODO(loc): this patch is currently broken. diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 6162f83c8dd9b081a12cdb3079a6d0b6d51b3bce..8b5e24a52b3c89c29440406472b52224d83a015e 100644 +index c58f10aadf159d30531b6d3ad53cc735ca3868d0..8b7cc22096230163a1c1212c37b65b24add07474 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -6233,6 +6233,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -6266,6 +6266,7 @@ void RenderFrameHostImpl::CreateNewWindow( last_committed_origin_, params->window_container_type, params->target_url, params->referrer.To(), params->frame_name, params->disposition, *params->features, @@ -21,10 +21,10 @@ index 6162f83c8dd9b081a12cdb3079a6d0b6d51b3bce..8b5e24a52b3c89c29440406472b52224 &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 330c9beb1216f21e4b600b4ed2e41035031f1e36..1409770828f88d990d11d5a022b10bea5dadf35c 100644 +index a55a44e2a72f3245211fe6afe8fb827c06da8a2e..fb42b663cf63c38de27c7da98630951be77c3ee1 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3723,6 +3723,14 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3735,6 +3735,14 @@ FrameTree* WebContentsImpl::CreateNewWindow( } auto* new_contents_impl = new_contents.get(); @@ -39,7 +39,7 @@ index 330c9beb1216f21e4b600b4ed2e41035031f1e36..1409770828f88d990d11d5a022b10bea new_contents_impl->GetController().SetSessionStorageNamespace( partition_id, session_storage_namespace); -@@ -3765,12 +3773,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3777,12 +3785,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( AddWebContentsDestructionObserver(new_contents_impl); } @@ -150,10 +150,10 @@ index 78d340f66b5573fd9039956c9aa9f54a206055cd..a5c1cd18896881066cc4a8954092ab85 // typically happens when popups are created. virtual void WebContentsCreated(WebContents* source_contents, diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc -index 30882aa4a8082a6597e1c8c0c26cc98c4e75bff7..612656c87f3565c5cfa7c0a52feff84a48d7334b 100644 +index afec7767d905488a51b2dbba031b8a85d6d0138a..57f970d15bf03f817680982fa8605c333485804b 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc -@@ -27,6 +27,7 @@ +@@ -31,6 +31,7 @@ #include "third_party/blink/public/platform/impression_conversions.h" #include "third_party/blink/public/platform/modules/video_capture/web_video_capture_impl_manager.h" #include "third_party/blink/public/platform/url_conversion.h" @@ -161,7 +161,7 @@ index 30882aa4a8082a6597e1c8c0c26cc98c4e75bff7..612656c87f3565c5cfa7c0a52feff84a #include "third_party/blink/public/web/modules/mediastream/web_media_stream_device_observer.h" #include "third_party/blink/public/web/web_frame_widget.h" #include "third_party/blink/public/web/web_local_frame.h" -@@ -285,6 +286,10 @@ WebView* RenderViewImpl::CreateView( +@@ -289,6 +290,10 @@ WebView* RenderViewImpl::CreateView( params->impression = blink::ConvertWebImpressionToImpression(*impression); } diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index abaf66d3709f3..f37d73ac3e58e 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -108,10 +108,10 @@ index ef84e04d628fb5cdbaf8fbbf84af3bf23e00c522..f1ee0bee5bfd08227a29498f8410d5d3 } diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc -index 6457f70efbfa752087a0f0fc63e758aa8e82e517..d369f8d8934b5d9e8bc77587b5ea44ae7a26bee4 100644 +index 6de89182ca0e481a82bfb4671888919eddcceb42..805b6f82adb55db387cc64d6031a76197e825b3e 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -1780,12 +1780,11 @@ bool Browser::IsWebContentsCreationOverridden( +@@ -1786,12 +1786,11 @@ bool Browser::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -127,10 +127,10 @@ index 6457f70efbfa752087a0f0fc63e758aa8e82e517..d369f8d8934b5d9e8bc77587b5ea44ae WebContents* Browser::CreateCustomWebContents( diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h -index c9e430a6ddcd5089bfa6e0f8b24e326412f5b207..4c736a1aa2a824ae59bc75290a6b86ede369b0bb 100644 +index feee6e100b38a76302cfdd95954cf9c7e64c9ff5..163b199dd5de858c4adcb93c54cefd335e32c3f3 100644 --- a/chrome/browser/ui/browser.h +++ b/chrome/browser/ui/browser.h -@@ -790,8 +790,7 @@ class Browser : public TabStripModelObserver, +@@ -802,8 +802,7 @@ class Browser : public TabStripModelObserver, content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -232,10 +232,10 @@ index c5c5a7b63b5b3b62a9517cbef3ae23ce57a3c89c..4f1b7e88d6d2ae89a60311c8aeb1fcee void AddNewContents(content::WebContents* source, std::unique_ptr new_contents, diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 44962d3588752685a9f274cd61b5dbe00e1564a7..2c21f22aa27609ab5421e35184a24c2572812b7a 100644 +index fef25ed773a93ff56cc31c2a81fb3b2d188b664b..a4d8c96190c97162ce1adaab3a3bb2a3a666dd8a 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -3671,8 +3671,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3683,8 +3683,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( source_site_instance, params.window_container_type, diff --git a/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch b/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch index b74fabc33d471..283b01f28e954 100644 --- a/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch +++ b/patches/chromium/chore_use_electron_resources_not_chrome_for_spellchecker.patch @@ -7,10 +7,10 @@ spellchecker uses a few IDS_ resources. We need to load these from Electrons grit header instead of Chromes diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index 373fa2f3375b42fc4f410e5ad75cd5069bbebedb..022a61c9d3fc394e3cfdb1825fd9716f104e5342 100644 +index 0341863512846e143ccba91f3ae56b65a8ca8ff8..741c131a70336335690cc0c8790da7b526e86d9d 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -6517,6 +6517,7 @@ static_library("browser") { +@@ -6551,6 +6551,7 @@ static_library("browser") { deps += [ "//components/spellcheck/browser", "//components/spellcheck/common", @@ -44,7 +44,7 @@ index 1ece01a38683e81fdf07ec475c2bf1bf19fab891..668789ca5c0b3b6381313dbb4cccf119 ] } diff --git a/components/language/core/browser/language_prefs.cc b/components/language/core/browser/language_prefs.cc -index ba4d8473077d1cc35cec531750460a7ee289c1b0..1b19de36dc654f3b8c544f6ce8fc5ac058354cbc 100644 +index e60cd8642a901b6f187eecb0b130c1a3a4516865..e77301f02ed8e40b8a2880cc53ddfc71300620d4 100644 --- a/components/language/core/browser/language_prefs.cc +++ b/components/language/core/browser/language_prefs.cc @@ -23,7 +23,7 @@ diff --git a/patches/chromium/dcheck.patch b/patches/chromium/dcheck.patch index ecfa88c0ab14e..f0979a8eeaa44 100644 --- a/patches/chromium/dcheck.patch +++ b/patches/chromium/dcheck.patch @@ -17,10 +17,10 @@ only one or two specific checks fail. Then it's better to simply comment out the failing checks and allow the rest of the target to have them enabled. diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc -index 81b5e9cdec8c1cf231f9e2e41e2fb38e932c4734..441bf38faeefc4d0b98010e8051df2ed4ab73dd4 100644 +index 2e5645c53037a156cb2a2d1fe6d3a78b8ab685ee..ab43c864fd0b51f1c9c3e6da8383862f6096a543 100644 --- a/ui/base/clipboard/clipboard_win.cc +++ b/ui/base/clipboard/clipboard_win.cc -@@ -913,10 +913,10 @@ SkBitmap ClipboardWin::ReadImageInternal(ClipboardBuffer buffer) const { +@@ -938,10 +938,10 @@ SkBitmap ClipboardWin::ReadImageInternal(ClipboardBuffer buffer) const { void ClipboardWin::WriteToClipboard(ClipboardFormatType format, HANDLE handle) { UINT cf_format = format.ToFormatEtc().cfFormat; diff --git a/patches/chromium/disable_color_correct_rendering.patch b/patches/chromium/disable_color_correct_rendering.patch index a73453a605391..5e64ccc9aee63 100644 --- a/patches/chromium/disable_color_correct_rendering.patch +++ b/patches/chromium/disable_color_correct_rendering.patch @@ -20,10 +20,10 @@ to deal with color spaces. That is being tracked at https://crbug.com/634542 and https://crbug.com/711107. diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc -index bc0b6cae531402000f783861077363777f6ab8ac..f3b75991c76dbdda138d64a24666243329de47c3 100644 +index e1a99c0a66bfc4fcc6af07632543066a592b9cff..359be58dcba64bb9cfa1b1b543b1c576c27826ae 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -1799,6 +1799,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( +@@ -1783,6 +1783,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw( gfx::ColorSpace LayerTreeHostImpl::GetRasterColorSpace( gfx::ContentColorUsage content_color_usage) const { @@ -35,10 +35,10 @@ index bc0b6cae531402000f783861077363777f6ab8ac..f3b75991c76dbdda138d64a246662433 // If we are likely to software composite the resource, we use sRGB because diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h -index bd5bcf4a03022869fe610015e882ff1980d8a0e8..a3fdd7ae208719bd10ddf1044a501e44e0897ae8 100644 +index e38646f8834e07e02845ea96f60f9b067c3bc09a..50a1c9884fa181524dd14e4cce61b0ec0921e4e6 100644 --- a/cc/trees/layer_tree_settings.h +++ b/cc/trees/layer_tree_settings.h -@@ -95,6 +95,8 @@ class CC_EXPORT LayerTreeSettings { +@@ -93,6 +93,8 @@ class CC_EXPORT LayerTreeSettings { bool use_rgba_4444 = false; bool unpremultiply_and_dither_low_bit_depth_tiles = false; @@ -229,10 +229,10 @@ index 2cd58b05621c11ccda6163cb471b719015b74379..1911003301766cbf05ce0f0b828b8faf + +#undef PATCH_CS diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc -index f82f2836f270e4f924c0bdc761eb028a05ea504e..d27017508a5f4afdacfcf4757da46bcc26be40c3 100644 +index 90cfcd777422e9e4a0ab3aa5216305102b2c4f35..621e300402ff646bafbf6d5d8101012cef24121d 100644 --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc -@@ -225,6 +225,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( +@@ -224,6 +224,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( // Command-line switches to propagate to the GPU process. static const char* const kSwitchNames[] = { @@ -241,10 +241,10 @@ index f82f2836f270e4f924c0bdc761eb028a05ea504e..d27017508a5f4afdacfcf4757da46bcc sandbox::policy::switches::kGpuSandboxAllowSysVShm, sandbox::policy::switches::kGpuSandboxFailuresFatal, diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 224e23ad3584dd4511a4173d632547d4a2ee4e9c..0dbb7fad5c9f3b3889b0825d553992d6fe2745f9 100644 +index bad0a564a81fc45d86558be449d83dbc6d7c073f..bfe45bdb892f610304e0b3a10ce160d2aa8da29d 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -217,6 +217,7 @@ +@@ -219,6 +219,7 @@ #include "ui/accessibility/accessibility_switches.h" #include "ui/base/ui_base_switches.h" #include "ui/display/display_switches.h" @@ -252,7 +252,7 @@ index 224e23ad3584dd4511a4173d632547d4a2ee4e9c..0dbb7fad5c9f3b3889b0825d553992d6 #include "ui/gl/gl_switches.h" #include "ui/native_theme/native_theme_features.h" #include "url/origin.h" -@@ -3368,6 +3369,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3356,6 +3357,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( // Propagate the following switches to the renderer command line (along // with any associated values) if present in the browser command line. static const char* const kSwitchNames[] = { @@ -293,7 +293,7 @@ index 94ca8fd75212fa5c7b90823a112309dd7961353b..566393827ef739eb8fc0e24e6ee505e1 } diff --git a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc -index 4d87cdf578fdd2cbde7929e3a8c7cabfbb1fc836..be8550927a7c9cdc001dedef66672453846c5dfa 100644 +index 083e7c6d49574ae5d1beeba02b334ae864d60afb..85626cd2354b0c13caceb8a1b4f7d585f400cb2c 100644 --- a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc +++ b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc @@ -25,6 +25,7 @@ diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index f2a5dffcfdbfc..78e92c68a5418 100644 --- a/patches/chromium/disable_hidden.patch +++ b/patches/chromium/disable_hidden.patch @@ -6,10 +6,10 @@ Subject: disable_hidden.patch Electron uses this to disable background throttling for hidden windows. diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index bb1ae483eb57232ed560b7a894bba0a6fe4ddd37..025875d71d85e3242a2d890d983a191479d40a43 100644 +index 6db8f91c390a0338588ec144d018e94aadd5e302..ce7e99c55b9c555ca8b6d0b7755db64e8f56330e 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -770,6 +770,9 @@ void RenderWidgetHostImpl::WasHidden() { +@@ -771,6 +771,9 @@ void RenderWidgetHostImpl::WasHidden() { if (is_hidden_) return; diff --git a/patches/chromium/disable_use_lld_for_macos.patch b/patches/chromium/disable_use_lld_for_macos.patch new file mode 100644 index 0000000000000..224ff930175a6 --- /dev/null +++ b/patches/chromium/disable_use_lld_for_macos.patch @@ -0,0 +1,21 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: mlaurencin +Date: Fri, 6 Aug 2021 15:29:48 -0700 +Subject: disable use_lld for macOS + +This patch disables use_lld on macOS, in order to prevent a linking bug +that occurs when building for arm64. + +diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni +index 995ee26e64fb65310e50442b0e5922a756e10a05..0bce1708a755405daa28a59c56231679e3e3d6f1 100644 +--- a/build/config/compiler/compiler.gni ++++ b/build/config/compiler/compiler.gni +@@ -200,7 +200,7 @@ declare_args() { + # Set to true to use lld, the LLVM linker. + # The default linker everywhere except on iOS. + # TODO(https://crbug.com/1233174): Make work in mac PGO builds. +- use_lld = is_clang && !is_ios && !(is_mac && chrome_pgo_phase == 1) ++ use_lld = is_clang && !is_ios + } + + declare_args() { diff --git a/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch index c90843c00fcb7..4c83d510e2512 100644 --- a/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch +++ b/patches/chromium/don_t_use_potentially_null_getwebframe_-_view_when_get_blink.patch @@ -11,10 +11,10 @@ This regressed in https://chromium-review.googlesource.com/c/chromium/src/+/2572 Upstream: https://chromium-review.googlesource.com/c/chromium/src/+/2598393 diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index b84c515730e843cbbce96e6045d53b7da25579b3..ddf84929bb62219f3564243866ca0bdd2839dc6c 100644 +index 8c0fb0274650b2a4a36a446a1b0ce01e93c6304b..b55db9ecdd824f3a4c473980f2050ed661c4c4ac 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -2355,7 +2355,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const { +@@ -2356,7 +2356,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const { } const blink::web_pref::WebPreferences& RenderFrameImpl::GetBlinkPreferences() { diff --git a/patches/chromium/extend_apply_webpreferences.patch b/patches/chromium/extend_apply_webpreferences.patch index 171989eeb85c3..66f387a1bb2f1 100644 --- a/patches/chromium/extend_apply_webpreferences.patch +++ b/patches/chromium/extend_apply_webpreferences.patch @@ -12,7 +12,7 @@ Ideally we could add an embedder observer pattern here but that can be done in future work. diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc -index c493aa8366366da89f642d77838169deda8b210a..7bd00ed55390c3af46c89439cc92736669429e4b 100644 +index afe02087fb46273f76069cf5c8d605a0d1e8ec3f..8003ef3231e1fa392c071f8c9ce2113fe3fb7506 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc @@ -155,6 +155,7 @@ diff --git a/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch b/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch index 9c9741177575c..5f68866978282 100644 --- a/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch +++ b/patches/chromium/feat_add_set_theme_source_to_allow_apps_to.patch @@ -13,10 +13,10 @@ uses internally for things like menus and devtools. We can remove this patch once it has in some shape been upstreamed. diff --git a/ui/native_theme/native_theme.cc b/ui/native_theme/native_theme.cc -index 7a09fd387933897025f4ff03ca798811aa5013a6..abebf78242030a2c28d9d6b85b1d87cdaabd4884 100644 +index be9f0b16529c27f3631e70941b05b8977c78e063..37614c69f19211d50532ef76a04395a8b038f3a6 100644 --- a/ui/native_theme/native_theme.cc +++ b/ui/native_theme/native_theme.cc -@@ -144,6 +144,8 @@ absl::optional NativeTheme::GetColorProviderColor( +@@ -148,6 +148,8 @@ absl::optional NativeTheme::GetColorProviderColor( } bool NativeTheme::ShouldUseDarkColors() const { @@ -26,7 +26,7 @@ index 7a09fd387933897025f4ff03ca798811aa5013a6..abebf78242030a2c28d9d6b85b1d87cd } diff --git a/ui/native_theme/native_theme.h b/ui/native_theme/native_theme.h -index 21624242634805ecb1d66b166eb3d569cab479a8..77338dc6a87b88f536ab7ba7d2081dcd8bf48975 100644 +index ca2b4479866644b510a0381b7e2107dbc1ff71bf..8c70e2fdb17a60ab657acdc1e11e790bfc3c6663 100644 --- a/ui/native_theme/native_theme.h +++ b/ui/native_theme/native_theme.h @@ -404,6 +404,22 @@ class NATIVE_THEME_EXPORT NativeTheme { @@ -52,7 +52,7 @@ index 21624242634805ecb1d66b166eb3d569cab479a8..77338dc6a87b88f536ab7ba7d2081dcd // Returns a shared instance of the native theme that should be used for web // rendering. Do not use it in a normal application context (i.e. browser). // The returned object should not be deleted by the caller. This function is -@@ -577,6 +593,7 @@ class NATIVE_THEME_EXPORT NativeTheme { +@@ -580,6 +596,7 @@ class NATIVE_THEME_EXPORT NativeTheme { bool forced_colors_ = false; PreferredColorScheme preferred_color_scheme_ = PreferredColorScheme::kLight; PreferredContrast preferred_contrast_ = PreferredContrast::kNoPreference; diff --git a/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch b/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch index e01c86828801c..2e9ad36d56722 100644 --- a/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch +++ b/patches/chromium/feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch @@ -26,15 +26,14 @@ index 3a116703a77ef03715c8e3afca77b90205b32d63..e2bfe736c76d2c35ab5a0533b7569d86 // in-memory sliding window. // diff --git a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc -index 4b37d8de877ad9ff94f11152eefb01117d1afe66..7db4a9c407d18279603c16b3b58f2456cc1e86fa 100644 +index fa51f3f0c43a4b2e33fb8dc94bba18462903a051..e1ec6fe15613a55aa71b31d136a3c12b461cb784 100644 --- a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc +++ b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc -@@ -9,9 +9,11 @@ - #include "base/bind.h" +@@ -10,8 +10,10 @@ #include "base/callback_helpers.h" + #include "base/cxx17_backports.h" #include "base/location.h" +#include "base/no_destructor.h" - #include "base/numerics/ranges.h" #include "base/numerics/safe_conversions.h" #include "base/single_thread_task_runner.h" +#include "base/strings/string_util.h" diff --git a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch index 508276e29675e..c40ede52df7b5 100644 --- a/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch +++ b/patches/chromium/feat_enable_offscreen_rendering_with_viz_compositor.patch @@ -81,7 +81,7 @@ index 1026b739d283f0fc252fa2af83a6d4cf51bc8553..fe562ab60ce98b8bb0c5080a6428deb3 private: const HWND hwnd_; diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn -index 4e93b8609553ec903fe9a7b48019c6c7e0390bf7..5d67d1c65ed158099372e7e4d263fbf59dfad1af 100644 +index ab57419ebec4ea33d7063a803af97c5adda71b52..607669250e9525fd565063cbb253481e454778b8 100644 --- a/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn @@ -137,6 +137,8 @@ viz_component("service") { diff --git a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch index 11d521153e028..3ee0848b3aa3a 100644 --- a/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch +++ b/patches/chromium/fix_expose_decrementcapturercount_in_web_contents_impl.patch @@ -8,10 +8,10 @@ we invoke it in order to expose contents.decrementCapturerCount([stayHidden, sta to users. We should try to upstream this. diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h -index 4b7ea168e6f1c578c9fbe8df4d35b2a0a075a5bb..600fe102ff1180b1e566c6cd3e56f84babe8743c 100644 +index 6ddba0914379d2f1135144447f2cf6c990f34e94..19dbad406dcffad2ef588358fcef6ed7f7cbfaca 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -1777,10 +1777,12 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -1782,10 +1782,12 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, // outermost frame trees in this WebContents. std::vector GetOutermostMainFrames(); diff --git a/patches/chromium/fix_fix_the_build_on_windows_on_arm.patch b/patches/chromium/fix_fix_the_build_on_windows_on_arm.patch new file mode 100644 index 0000000000000..0b6d814e265e8 --- /dev/null +++ b/patches/chromium/fix_fix_the_build_on_windows_on_arm.patch @@ -0,0 +1,34 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Charles Kerr +Date: Tue, 10 Aug 2021 11:54:41 -0500 +Subject: fix: Fix the build on Windows on ARM + +https://chromium-review.googlesource.com/c/chromium/src/+/3056003 + +Cherry-picking this upstream fix because the roll has been paused for +a long time and this appears to be the only blocker remaining before the +current roller-bot PR goes green, so the risk/reward of bumping DEPS +leans in favor of merging what we've got before unpausing. + +diff --git a/chrome/installer/util/additional_parameters.cc b/chrome/installer/util/additional_parameters.cc +index 275c635154111521a27a174b590685062021a09d..ddddd5bbfb4058b10d6cb21f69216b5fd5940e21 100644 +--- a/chrome/installer/util/additional_parameters.cc ++++ b/chrome/installer/util/additional_parameters.cc +@@ -201,6 +201,8 @@ std::wstring GetChannelIdentifier(version_info::Channel channel, + static constexpr base::WStringPiece kArchSuffix = L"-arch_x64"; + #elif defined(ARCH_CPU_X86) + static constexpr base::WStringPiece kArchSuffix = L"-arch_x86"; ++#elif defined(ARCH_CPU_ARM64) ++ static constexpr base::WStringPiece kArchSuffix = L"-arch_arm64"; + #else + #error unsupported processor architecture. + #endif +@@ -236,6 +238,8 @@ std::wstring GetChannelIdentifier(version_info::Channel channel, + return L"x64-stable"; + #elif defined(ARCH_CPU_X86) + return L"stable-arch_x86"; ++#elif defined(ARCH_CPU_ARM64) ++ return L"stable-arch_arm64"; + #else + #error unsupported processor architecture. + #endif diff --git a/patches/chromium/frame_host_manager.patch b/patches/chromium/frame_host_manager.patch index a9a51e7e25e36..7b5c3b93c37fe 100644 --- a/patches/chromium/frame_host_manager.patch +++ b/patches/chromium/frame_host_manager.patch @@ -6,10 +6,10 @@ Subject: frame_host_manager.patch Allows embedder to intercept site instances created by chromium. diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc -index 246fc1f4fd3a9caa453ef49d2286617afaa30b15..99ef06f7fc3c5532984150060fe06e630971ebc2 100644 +index 70b9878fe12c1bf57b598150bcb2bcbde9a6c86f..e29deff6b7312601daac5785461ca3811785836a 100644 --- a/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc -@@ -3038,6 +3038,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( +@@ -3045,6 +3045,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( request->ResetStateForSiteInstanceChange(); } diff --git a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch index 81e28088f5a67..198a2d296e6a2 100644 --- a/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch +++ b/patches/chromium/gpu_notify_when_dxdiag_request_fails.patch @@ -12,7 +12,7 @@ rendering and there is no signal from browser process on this event to identify it. diff --git a/content/browser/gpu/gpu_data_manager_impl.cc b/content/browser/gpu/gpu_data_manager_impl.cc -index b55ab1c2e4172b069ee9f0a7dbce3b8a64cfe6da..19c138929e28bd155c1c510bbd1abc2712b6a29e 100644 +index 7821945da13ece57529c1de14d1cbd7f645d19ab..9be940f4ee047279f5969a6c572d6acbd408ddc5 100644 --- a/content/browser/gpu/gpu_data_manager_impl.cc +++ b/content/browser/gpu/gpu_data_manager_impl.cc @@ -229,6 +229,11 @@ void GpuDataManagerImpl::TerminateInfoCollectionGpuProcess() { @@ -28,10 +28,10 @@ index b55ab1c2e4172b069ee9f0a7dbce3b8a64cfe6da..19c138929e28bd155c1c510bbd1abc27 void GpuDataManagerImpl::UpdateDawnInfo( diff --git a/content/browser/gpu/gpu_data_manager_impl.h b/content/browser/gpu/gpu_data_manager_impl.h -index 008795fbdc8724931852399704a945563fd0b3f2..6b295d21deebf59a79a205ef2fa8579d689a7c72 100644 +index a8c0d59cb825a791c44c54e55ad7f295ad07a309..a1ef53aa46fb0cfc7bcac121244f77af64a7539f 100644 --- a/content/browser/gpu/gpu_data_manager_impl.h +++ b/content/browser/gpu/gpu_data_manager_impl.h -@@ -115,6 +115,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDataManager, +@@ -122,6 +122,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDataManager, // BrowserMainParts override instead. void PostCreateThreads(); void TerminateInfoCollectionGpuProcess(); @@ -40,10 +40,10 @@ index 008795fbdc8724931852399704a945563fd0b3f2..6b295d21deebf59a79a205ef2fa8579d void UpdateDawnInfo(const std::vector& dawn_info_list); diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc -index b7ad87a73ce1e7da9ea2a7b2557d97ebe1f84298..cb8197061cb1424d533d17cad3e22cb8b30c0a34 100644 +index 569c179aed6ab7b68b484f55d0abf9562044c389..9612ed45ed7d987c5d4e8f7ef348860ab4fc4252 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.cc +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1108,6 +1108,12 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() { +@@ -1219,6 +1219,12 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() { if (host) host->ForceShutdown(); } @@ -57,10 +57,10 @@ index b7ad87a73ce1e7da9ea2a7b2557d97ebe1f84298..cb8197061cb1424d533d17cad3e22cb8 void GpuDataManagerImplPrivate::UpdateDawnInfo( diff --git a/content/browser/gpu/gpu_data_manager_impl_private.h b/content/browser/gpu/gpu_data_manager_impl_private.h -index b4256db01335ec312fd6be0060bc2ad4ee496ae6..b028d8feffe05ef37a8e5f16e35c2da3a5a1cc33 100644 +index afd9e892bd94314b5dc979dadf6fd91f8ad9ff04..02134414e3bab125697b5f3080af2c90d4cee07c 100644 --- a/content/browser/gpu/gpu_data_manager_impl_private.h +++ b/content/browser/gpu/gpu_data_manager_impl_private.h -@@ -79,6 +79,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { +@@ -84,6 +84,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { bool VulkanRequested() const; void PostCreateThreads(); void TerminateInfoCollectionGpuProcess(); diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index e867aa4f23f40..985898aac4671 100644 --- a/patches/chromium/gritsettings_resource_ids.patch +++ b/patches/chromium/gritsettings_resource_ids.patch @@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch Add electron resources file to the list of resource ids generation. diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec -index 385b7436407fbbcb15e538c148f342711be02b79..f877319f92d404cd320e81ae0de37e8e78a64753 100644 +index c921510f74cbeee5d5004a2057a8c27fc744b24c..0d00c29a73790b954259f4c537d79ed6dd0064a1 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -825,6 +825,11 @@ +@@ -837,6 +837,11 @@ "includes": [3880], }, diff --git a/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch b/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch index 5c4da35a68a73..faaf9fbbd9d8e 100644 --- a/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch +++ b/patches/chromium/hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch @@ -11,10 +11,10 @@ If removing this patch causes no sync failures, it's safe to delete :+1: Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903 diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py -index 6b57177276bcc74c2ede0471daac400599128abb..93947d92c483def78f0ebbeb1a6f6921a174237d 100755 +index b8f44d2cfbd1810f2861a71a3b3d11fcec1c18bc..8928b73e328fad7b3ec7280249060d2c857e753c 100755 --- a/tools/clang/scripts/update.py +++ b/tools/clang/scripts/update.py -@@ -286,6 +286,8 @@ def main(): +@@ -287,6 +287,8 @@ def main(): 'win32': 'win', } default_host_os = _PLATFORM_HOST_OS_MAP.get(sys.platform, sys.platform) diff --git a/patches/chromium/mas_disable_custom_window_frame.patch b/patches/chromium/mas_disable_custom_window_frame.patch index 21b7def5591b5..e64c5fd2f5049 100644 --- a/patches/chromium/mas_disable_custom_window_frame.patch +++ b/patches/chromium/mas_disable_custom_window_frame.patch @@ -95,7 +95,7 @@ index 5a23ea7558814eec59eda349bc7194afcb70d01e..c9147bbe5a225291552082434e5db342 // The NSWindow used by BridgedNativeWidget. Provides hooks into AppKit that // can only be accomplished by overriding methods. diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm -index f4104fe938bb8c5d35e3396506ce0a6163a738da..7eb9070dc96b27dfe02046f75b45dee3e868d83a 100644 +index 83e08e8e56f8fdfe5c321c33b451b9bde8ee819a..f48d8ac4816e2d775c16758e086eb56ad456bd01 100644 --- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm +++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm @@ -16,7 +16,9 @@ diff --git a/patches/chromium/mas_disable_remote_accessibility.patch b/patches/chromium/mas_disable_remote_accessibility.patch index bea15174f1397..363b05d1a3ae6 100644 --- a/patches/chromium/mas_disable_remote_accessibility.patch +++ b/patches/chromium/mas_disable_remote_accessibility.patch @@ -205,7 +205,7 @@ index e7adfee3210ec723c687adfcc4bee8827ef643e7..25a924a47eeb30d783ef83dbb4896c4b + #endif // UI_BASE_COCOA_REMOTE_ACCESSIBILITY_API_H_ diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.h b/ui/views/cocoa/native_widget_mac_ns_window_host.h -index 9f5543d22e7a72dc7ca031e04434279b5066215c..2eaaa54778f1f5d450389967ae77c5e4d578eb04 100644 +index ce96d1bee29c8ee13f4a10bb17a7000b332637c8..74bfcc4eb8490f8b27363283372525dfffd11776 100644 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.h +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.h @@ -30,7 +30,9 @@ @@ -218,7 +218,7 @@ index 9f5543d22e7a72dc7ca031e04434279b5066215c..2eaaa54778f1f5d450389967ae77c5e4 @class NSView; namespace remote_cocoa { -@@ -420,11 +422,13 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost +@@ -424,11 +426,13 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost mojo::AssociatedRemote remote_ns_window_remote_; @@ -233,7 +233,7 @@ index 9f5543d22e7a72dc7ca031e04434279b5066215c..2eaaa54778f1f5d450389967ae77c5e4 // Used to force the NSApplication's focused accessibility element to be the // views::Views accessibility tree when the NSView for this is focused. diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm -index a756f7b856196606c1cd4fc26e8a907d9891d36c..2dce88094b9a697bd7f4d85a69294a098a2dd427 100644 +index da26f5e6bee82cb16d2a192e26f206e491b5a068..6b62858ddb2bf3e977550ee6d257e8d6d99d4d90 100644 --- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm +++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm @@ -285,14 +285,22 @@ void HandleAccelerator(const ui::Accelerator& accelerator, @@ -259,7 +259,7 @@ index a756f7b856196606c1cd4fc26e8a907d9891d36c..2dce88094b9a697bd7f4d85a69294a09 } remote_cocoa::mojom::NativeWidgetNSWindow* -@@ -1197,6 +1205,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -1201,6 +1209,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator, void NativeWidgetMacNSWindowHost::SetRemoteAccessibilityTokens( const std::vector& window_token, const std::vector& view_token) { @@ -267,7 +267,7 @@ index a756f7b856196606c1cd4fc26e8a907d9891d36c..2dce88094b9a697bd7f4d85a69294a09 remote_window_accessible_ = ui::RemoteAccessibility::GetRemoteElementFromToken(window_token); remote_view_accessible_ = -@@ -1204,14 +1213,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator, +@@ -1208,14 +1217,17 @@ void HandleAccelerator(const ui::Accelerator& accelerator, [remote_view_accessible_ setWindowUIElement:remote_window_accessible_.get()]; [remote_view_accessible_ setTopLevelUIElement:remote_window_accessible_.get()]; diff --git a/patches/chromium/mas_disable_remote_layer.patch b/patches/chromium/mas_disable_remote_layer.patch index 71651b7052d5f..e8847fdfae99f 100644 --- a/patches/chromium/mas_disable_remote_layer.patch +++ b/patches/chromium/mas_disable_remote_layer.patch @@ -16,7 +16,7 @@ cases where performance improves when disabling remote CoreAnimation (remote CoreAnimation is really only about battery usage). diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.h b/gpu/ipc/service/image_transport_surface_overlay_mac.h -index d565d2ab23d7a42e6787b58103fd40a8675b8e28..4cb9681c1f810a0cbd7f7ef04c4a7c73ca10c2b0 100644 +index 2be155f12e8d1e66cf7123ed44246d2ac8537c3b..7bc2f4eded2ed1bc450f804f88663269c122b703 100644 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.h +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.h @@ -20,7 +20,9 @@ @@ -29,7 +29,7 @@ index d565d2ab23d7a42e6787b58103fd40a8675b8e28..4cb9681c1f810a0cbd7f7ef04c4a7c73 @class CALayer; namespace ui { -@@ -116,7 +118,9 @@ class ImageTransportSurfaceOverlayMacBase : public BaseClass, +@@ -117,7 +119,9 @@ class ImageTransportSurfaceOverlayMacBase : public BaseClass, base::WeakPtr delegate_; bool use_remote_layer_api_; @@ -40,7 +40,7 @@ index d565d2ab23d7a42e6787b58103fd40a8675b8e28..4cb9681c1f810a0cbd7f7ef04c4a7c73 gfx::Size pixel_size_; diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.mm b/gpu/ipc/service/image_transport_surface_overlay_mac.mm -index e50c7c28083e731597bf8cc9d2ded070fa0d45c9..abbe71d404e358f7fb14e810c5ab5823f0362113 100644 +index efb3585ab339147158e8a80f967d373792ed758f..66d8d5ef9265455fea7ceba54e620fb5995e6d5b 100644 --- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm +++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm @@ -53,7 +53,7 @@ diff --git a/patches/chromium/mas_no_private_api.patch b/patches/chromium/mas_no_private_api.patch index 7d51dee2a68ff..1229f1321d54e 100644 --- a/patches/chromium/mas_no_private_api.patch +++ b/patches/chromium/mas_no_private_api.patch @@ -7,10 +7,10 @@ Guard usages in blink of private Mac APIs by MAS_BUILD, so they can be excluded for people who want to submit their apps to the Mac App store. diff --git a/content/browser/accessibility/accessibility_tree_formatter_mac.mm b/content/browser/accessibility/accessibility_tree_formatter_mac.mm -index c50d742ec575d831b4ae3df0220a189c554ea028..b5129cae74f72238160e5cd435ef1c1e42a49f2a 100644 +index cc78b48b37e52ca32d0bb2fc1331cf5e0e3c2d09..daf60b60b13c2a0729323583a4ee9a0fd7d10d3f 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_mac.mm +++ b/content/browser/accessibility/accessibility_tree_formatter_mac.mm -@@ -288,7 +288,7 @@ +@@ -293,7 +293,7 @@ return PopulateSize([value sizeValue]); } } @@ -19,7 +19,7 @@ index c50d742ec575d831b4ae3df0220a189c554ea028..b5129cae74f72238160e5cd435ef1c1e // AXTextMarker if (content::IsAXTextMarker(value)) { return PopulateTextPosition(content::AXTextMarkerToAXPosition(value), -@@ -299,6 +299,7 @@ +@@ -304,6 +304,7 @@ if (content::IsAXTextMarkerRange(value)) { return PopulateTextMarkerRange(value, line_indexer); } @@ -27,7 +27,7 @@ index c50d742ec575d831b4ae3df0220a189c554ea028..b5129cae74f72238160e5cd435ef1c1e // AXValue if (CFGetTypeID(value) == AXValueGetTypeID()) { -@@ -416,7 +417,7 @@ +@@ -423,7 +424,7 @@ AXMakeConst(affinity)); return set; } @@ -36,7 +36,7 @@ index c50d742ec575d831b4ae3df0220a189c554ea028..b5129cae74f72238160e5cd435ef1c1e base::Value AccessibilityTreeFormatterMac::PopulateTextMarkerRange( id marker_range, const LineIndexer* line_indexer) const { -@@ -432,7 +433,7 @@ +@@ -439,7 +440,7 @@ PopulateTextPosition(ax_range.focus()->Clone(), line_indexer)); return dict; } @@ -45,11 +45,30 @@ index c50d742ec575d831b4ae3df0220a189c554ea028..b5129cae74f72238160e5cd435ef1c1e base::Value AccessibilityTreeFormatterMac::PopulateArray( NSArray* node_array, const LineIndexer* line_indexer) const { +diff --git a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.h b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.h +index f1a82347e5c982609b8dcad10b969d332a665b30..26ab7745450cc807761026a677c435db900cdbd9 100644 +--- a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.h ++++ b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.h +@@ -133,12 +133,14 @@ class CONTENT_EXPORT AttributeInvoker final { + const ui::AXPropertyNode&, + bool log_failure = true) const; + ++#ifndef MAS_BUILD + id DictNodeToTextMarker(const ui::AXPropertyNode&, + bool log_failure = true) const; + id PropertyNodeToTextMarker(const ui::AXPropertyNode&, + bool log_failure = true) const; + id PropertyNodeToTextMarkerRange(const ui::AXPropertyNode&, + bool log_failure = true) const; ++#endif + + gfx::NativeViewAccessible LineIndexToNode( + const std::u16string line_index) const; diff --git a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm -index e919a1eea6915f02b1fe259d48e8f224a1801a2c..b5bc64c4c53ca25457fd980a7fdec7321644a3c2 100644 +index 4ce4b7ebcf8be625619e6fee0cab4185add42454..eca83c0807e37c36022a29187b1dc1c875495156 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm +++ b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm -@@ -170,9 +170,11 @@ +@@ -178,9 +178,11 @@ if (IsBrowserAccessibilityCocoa(target) || IsAXUIElement(target)) return InvokeForAXElement(target, property_node); @@ -61,7 +80,7 @@ index e919a1eea6915f02b1fe259d48e8f224a1801a2c..b5bc64c4c53ca25457fd980a7fdec732 if ([target isKindOfClass:[NSArray class]]) return InvokeForArray(target, property_node); -@@ -365,6 +367,7 @@ +@@ -373,6 +375,7 @@ property_name == "AXTextMarkerRangeForUIElement") { // UIElement return OptionalNSObject::NotNilOrError(PropertyNodeToUIElement(arg_node)); } @@ -69,7 +88,7 @@ index e919a1eea6915f02b1fe259d48e8f224a1801a2c..b5bc64c4c53ca25457fd980a7fdec732 if (property_name == "AXIndexForTextMarker" || property_name == "AXNextWordEndTextMarkerForTextMarker" || property_name == -@@ -376,6 +379,7 @@ +@@ -384,6 +387,7 @@ return OptionalNSObject::NotNilOrError( PropertyNodeToTextMarkerRange(arg_node)); } @@ -77,15 +96,50 @@ index e919a1eea6915f02b1fe259d48e8f224a1801a2c..b5bc64c4c53ca25457fd980a7fdec732 return OptionalNSObject::NotApplicable(); } -@@ -467,6 +471,7 @@ +@@ -396,6 +400,7 @@ + return value; + + // NSRange ++#ifndef MAS_BUILD + value = PropertyNodeToRange(property_node, false); + if (value) + return value; +@@ -412,6 +417,10 @@ + + // TextMarkerRange + return PropertyNodeToTextMarkerRange(property_node, false); ++#else ++ ++ return PropertyNodeToRange(property_node, false); ++#endif + } + + // NSNumber. Format: integer. +@@ -522,6 +531,7 @@ return uielement; } +#ifndef MAS_BUILD - id AttributeInvoker::DictNodeToTextMarker( - const AXPropertyNode& dictnode) const { + id AttributeInvoker::DictNodeToTextMarker(const AXPropertyNode& dictnode, + bool log_failure) const { if (!dictnode.IsDict()) { -@@ -574,6 +579,7 @@ OptionalNSObject TextMarkerRangeGetEndMarker(const OptionalNSObject& obj) { +@@ -567,6 +577,7 @@ + return content::AXTextMarkerFrom(anchor_cocoa, *offset, affinity); + } + ++#ifndef MAS_BUILD + id AttributeInvoker::PropertyNodeToTextMarker(const AXPropertyNode& dictnode, + bool log_failure) const { + return DictNodeToTextMarker(dictnode, log_failure); +@@ -611,6 +622,7 @@ + + return content::AXTextMarkerRangeFrom(anchor_textmarker, focus_textmarker); + } ++#endif + + OptionalNSObject TextMarkerRangeGetStartMarker(const OptionalNSObject& obj) { + if (!IsAXTextMarkerRange(*obj)) +@@ -650,6 +662,7 @@ OptionalNSObject TextMarkerRangeGetEndMarker(const OptionalNSObject& obj) { return OptionalNSObject::NotNilOrError(content::AXTextMarkerFrom( cocoa_node, range.focus()->text_offset(), range.focus()->affinity())); } @@ -94,10 +148,10 @@ index e919a1eea6915f02b1fe259d48e8f224a1801a2c..b5bc64c4c53ca25457fd980a7fdec732 OptionalNSObject MakePairArray(const OptionalNSObject& obj1, const OptionalNSObject& obj2) { diff --git a/content/browser/accessibility/browser_accessibility_cocoa.h b/content/browser/accessibility/browser_accessibility_cocoa.h -index a7d6351854d08926c4e9c43c95e9075bd4d4c728..9c89595cb6c37527b96b4afde387133349ec5999 100644 +index c786676b3758d004601b786c4de87f1b874f2fb7..6ae540b44f2ce1ce8aea1c43d86b600f867c62b4 100644 --- a/content/browser/accessibility/browser_accessibility_cocoa.h +++ b/content/browser/accessibility/browser_accessibility_cocoa.h -@@ -156,7 +156,9 @@ id AXTextMarkerRangeFrom(id anchor_text_marker, id focus_text_marker); +@@ -159,7 +159,9 @@ id AXTextMarkerRangeFrom(id anchor_text_marker, id focus_text_marker); @property(nonatomic, readonly) NSNumber* enabled; // Returns a text marker that points to the last character in the document that // can be selected with Voiceover. @@ -107,7 +161,7 @@ index a7d6351854d08926c4e9c43c95e9075bd4d4c728..9c89595cb6c37527b96b4afde3871333 @property(nonatomic, readonly) NSNumber* expanded; @property(nonatomic, readonly) NSNumber* focused; @property(nonatomic, readonly) NSNumber* grabbed; -@@ -168,7 +170,9 @@ id AXTextMarkerRangeFrom(id anchor_text_marker, id focus_text_marker); +@@ -171,7 +173,9 @@ id AXTextMarkerRangeFrom(id anchor_text_marker, id focus_text_marker); // Index of a row, column, or tree item. @property(nonatomic, readonly) NSNumber* index; @property(nonatomic, readonly) NSNumber* treeItemRowIndex; @@ -117,7 +171,7 @@ index a7d6351854d08926c4e9c43c95e9075bd4d4c728..9c89595cb6c37527b96b4afde3871333 @property(nonatomic, readonly) NSString* invalid; @property(nonatomic, readonly) NSNumber* isMultiSelectable; @property(nonatomic, readonly) NSString* placeholderValue; -@@ -191,14 +195,18 @@ id AXTextMarkerRangeFrom(id anchor_text_marker, id focus_text_marker); +@@ -194,14 +198,18 @@ id AXTextMarkerRangeFrom(id anchor_text_marker, id focus_text_marker); // The object is selected as a whole. @property(nonatomic, readonly) NSNumber* selected; @property(nonatomic, readonly) NSArray* selectedChildren; @@ -137,7 +191,7 @@ index a7d6351854d08926c4e9c43c95e9075bd4d4c728..9c89595cb6c37527b96b4afde3871333 // is concerned. @property(nonatomic, readonly) NSString* subrole; diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm -index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42a030e6a3 100644 +index febb3c5e24f6e1d82f5d48cae5d92ed26c051748..528188e527a169e261aab4d6f174b0ff5f5e2080 100644 --- a/content/browser/accessibility/browser_accessibility_cocoa.mm +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm @@ -205,6 +205,7 @@ @@ -172,15 +226,15 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 // Returns an autoreleased copy of the AXNodeData's attribute. NSString* NSStringForStringAttribute(BrowserAccessibility* browserAccessibility, -@@ -749,6 +753,7 @@ bool IsSelectedStateRelevant(BrowserAccessibility* item) { - #define NSAccessibilityLanguageAttribute @"AXLanguage" - #endif +@@ -754,6 +758,7 @@ bool IsSelectedStateRelevant(BrowserAccessibility* item) { + 0 == strcmp([value objCType], @encode(NSRange)); + } +#ifndef MAS_BUILD bool content::IsAXTextMarker(id object) { if (object == nil) return false; -@@ -792,6 +797,7 @@ bool IsSelectedStateRelevant(BrowserAccessibility* item) { +@@ -797,6 +802,7 @@ bool IsSelectedStateRelevant(BrowserAccessibility* item) { kCFAllocatorDefault, anchor_textmarker, focus_textmarker); return [static_cast(cf_marker_range) autorelease]; } @@ -188,7 +242,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 @implementation BrowserAccessibilityCocoa -@@ -831,7 +837,9 @@ + (void)initialize { +@@ -836,7 +842,9 @@ + (void)initialize { {NSAccessibilityEditableAncestorAttribute, @"editableAncestor"}, {NSAccessibilityElementBusyAttribute, @"elementBusy"}, {NSAccessibilityEnabledAttribute, @"enabled"}, @@ -198,7 +252,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 {NSAccessibilityExpandedAttribute, @"expanded"}, {NSAccessibilityFocusableAncestorAttribute, @"focusableAncestor"}, {NSAccessibilityFocusedAttribute, @"focused"}, -@@ -843,8 +851,10 @@ + (void)initialize { +@@ -848,8 +856,10 @@ + (void)initialize { {NSAccessibilityHighestEditableAncestorAttribute, @"highestEditableAncestor"}, {NSAccessibilityIndexAttribute, @"index"}, @@ -209,7 +263,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 {NSAccessibilityInvalidAttribute, @"invalid"}, {NSAccessibilityIsMultiSelectableAttribute, @"isMultiSelectable"}, {NSAccessibilityLanguageAttribute, @"language"}, -@@ -867,13 +877,17 @@ + (void)initialize { +@@ -872,13 +882,17 @@ + (void)initialize { {NSAccessibilityRowsAttribute, @"rows"}, // TODO(aboxhall): expose // NSAccessibilityServesAsTitleForUIElementsAttribute @@ -227,7 +281,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 {NSAccessibilitySizeAttribute, @"size"}, {NSAccessibilitySortDirectionAttribute, @"sortDirection"}, {NSAccessibilitySubroleAttribute, @"subrole"}, -@@ -1377,6 +1391,7 @@ - (NSNumber*)enabled { +@@ -1382,6 +1396,7 @@ - (NSNumber*)enabled { ax::mojom::Restriction::kDisabled); } @@ -235,7 +289,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 // Returns a text marker that points to the last character in the document that // can be selected with VoiceOver. - (id)endTextMarker { -@@ -1385,6 +1400,7 @@ - (id)endTextMarker { +@@ -1390,6 +1405,7 @@ - (id)endTextMarker { BrowserAccessibility::AXPosition position = _owner->CreateTextPositionAt(0); return CreateTextMarker(position->CreatePositionAtEndOfContent()); } @@ -243,7 +297,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 - (NSNumber*)expanded { if (![self instanceActive]) -@@ -1585,6 +1601,7 @@ - (bool)findRowIndex:(BrowserAccessibilityCocoa*)toFind +@@ -1590,6 +1606,7 @@ - (bool)findRowIndex:(BrowserAccessibilityCocoa*)toFind return false; } @@ -251,7 +305,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 - (NSNumber*)insertionPointLineNumber { if (![self instanceActive]) return nil; -@@ -1610,6 +1627,7 @@ - (NSNumber*)insertionPointLineNumber { +@@ -1615,6 +1632,7 @@ - (NSNumber*)insertionPointLineNumber { caretPosition->AsTextPosition()->text_offset()); return @(std::distance(lineBreaks.begin(), iterator)); } @@ -259,7 +313,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 // Returns whether or not this node should be ignored in the // accessibility tree. -@@ -1968,8 +1986,12 @@ - (BOOL)shouldExposeTitleUIElement { +@@ -1973,8 +1991,12 @@ - (BOOL)shouldExposeTitleUIElement { return content::AXTextEdit(newValue, std::u16string(), nil); } } @@ -272,7 +326,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 } - (BOOL)instanceActive { -@@ -2295,6 +2317,7 @@ - (NSArray*)selectedChildren { +@@ -2300,6 +2322,7 @@ - (NSArray*)selectedChildren { return ret; } @@ -280,7 +334,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 - (NSString*)selectedText { if (![self instanceActive]) return nil; -@@ -2306,11 +2329,13 @@ - (NSString*)selectedText { +@@ -2311,11 +2334,13 @@ - (NSString*)selectedText { return nil; return base::SysUTF16ToNSString(range.GetText()); } @@ -294,7 +348,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 - (NSValue*)selectedTextRange { if (![self instanceActive]) return nil; -@@ -2335,7 +2360,9 @@ - (NSValue*)selectedTextRange { +@@ -2340,7 +2365,9 @@ - (NSValue*)selectedTextRange { int selLength = range.GetText().length(); return [NSValue valueWithRange:NSMakeRange(selStart, selLength)]; } @@ -304,7 +358,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 - (id)selectedTextMarkerRange { if (![self instanceActive]) return nil; -@@ -2347,6 +2374,7 @@ - (id)selectedTextMarkerRange { +@@ -2352,6 +2379,7 @@ - (id)selectedTextMarkerRange { // words correctly. return CreateTextMarkerRange(ax_range.AsBackwardRange()); } @@ -312,7 +366,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 - (NSValue*)size { if (![self instanceActive]) -@@ -2379,6 +2407,7 @@ - (NSString*)sortDirection { +@@ -2384,6 +2412,7 @@ - (NSString*)sortDirection { return nil; } @@ -320,7 +374,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 // Returns a text marker that points to the first character in the document that // can be selected with VoiceOver. - (id)startTextMarker { -@@ -2387,6 +2416,7 @@ - (id)startTextMarker { +@@ -2392,6 +2421,7 @@ - (id)startTextMarker { BrowserAccessibility::AXPosition position = _owner->CreateTextPositionAt(0); return CreateTextMarker(position->CreatePositionAtStartOfContent()); } @@ -328,7 +382,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 // Returns a subrole based upon the role. - (NSString*)subrole { -@@ -2720,12 +2750,14 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range { +@@ -2725,12 +2755,14 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range { NSMutableAttributedString* attributedInnerText = [[[NSMutableAttributedString alloc] initWithString:base::SysUTF16ToNSString(innerText)] autorelease]; @@ -343,7 +397,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 return [attributedInnerText attributedSubstringFromRange:range]; } -@@ -2838,6 +2870,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute +@@ -2843,6 +2875,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute return ToBrowserAccessibilityCocoa(cell); } @@ -351,7 +405,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 if ([attribute isEqualToString: NSAccessibilityUIElementForTextMarkerParameterizedAttribute]) { -@@ -3161,6 +3194,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute +@@ -3166,6 +3199,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute return CreateTextMarker(root->CreateTextPositionAt(index)); } @@ -359,7 +413,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 if ([attribute isEqualToString: NSAccessibilityBoundsForRangeParameterizedAttribute]) { -@@ -3191,6 +3225,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute +@@ -3196,6 +3230,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute return nil; } @@ -367,7 +421,7 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 if ([attribute isEqualToString: NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) { -@@ -3310,6 +3345,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute +@@ -3315,6 +3350,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute return @(child->GetIndexInParent()); } @@ -375,15 +429,15 @@ index 6102a8844f65556e9a911b9ece136edc20cd27ce..bf3244b706365b98233a34d387fd2a42 return nil; } -@@ -3842,6 +3878,7 @@ - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { - _owner->CreateTextPositionAt(range.location)->AsLeafTextPosition(), - _owner->CreateTextPositionAt(NSMaxRange(range))->AsLeafTextPosition())); +@@ -3850,6 +3886,7 @@ - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { + ->AsLeafTextPosition())); + } } +#ifndef MAS_BUILD if ([attribute isEqualToString:NSAccessibilitySelectedTextMarkerRangeAttribute]) { BrowserAccessibility::AXRange range = CreateRangeFromTextMarkerRange(value); -@@ -3852,6 +3889,7 @@ - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { +@@ -3860,6 +3897,7 @@ - (void)accessibilitySetValue:(id)value forAttribute:(NSString*)attribute { BrowserAccessibility::AXRange(range.anchor()->AsLeafTextPosition(), range.focus()->AsLeafTextPosition())); } @@ -557,7 +611,7 @@ index 261596b9b7414e5c732bef945610c0cdf1384da8..f58ac1d55acac1895391579275a12b0f } diff --git a/net/dns/dns_config_service_posix.cc b/net/dns/dns_config_service_posix.cc -index 2de14574f1b7e848fc03ff1071fddf8307bc9ea2..75a86416bad754f1e9c92afb2fad27a501b9cc6c 100644 +index c9640117214022052aa28f6f5db7a2365c891ff1..78f9dadb51a0be31d1310ac8910b7f611eb82217 100644 --- a/net/dns/dns_config_service_posix.cc +++ b/net/dns/dns_config_service_posix.cc @@ -136,8 +136,8 @@ class DnsConfigServicePosix::Watcher : public DnsConfigService::Watcher { diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index 280d70c4178a1..0200613aa3318 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -108,10 +108,10 @@ index 9ee758d7d7a5abe59e070f65f6381186b3239249..986f20ff7b077203e1ea3c76787e9478 const GURL& document_url, mojo::PendingReceiver receiver); diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 8135d0ff1d476b06cc24abb010ad988eb880b557..55c4e3c2bb0b353724c6a1a2f6f853705d1ba501 100644 +index e1dbbdbbbc4012db533424b8053112705e5985cc..93c46f70bc733c0e50bbe4d930e90effba34e517 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -2301,7 +2301,7 @@ void RenderProcessHostImpl::CreateNotificationService( +@@ -2290,7 +2290,7 @@ void RenderProcessHostImpl::CreateNotificationService( document_url = rfh->GetLastCommittedURL(); storage_partition_impl_->GetPlatformNotificationContext()->CreateService( diff --git a/patches/chromium/picture-in-picture.patch b/patches/chromium/picture-in-picture.patch index 33f5d2b047cd3..9edf2aa6ead40 100644 --- a/patches/chromium/picture-in-picture.patch +++ b/patches/chromium/picture-in-picture.patch @@ -22,7 +22,7 @@ index 3afa0d34a6aff1d8882592fc4a3720698124a9c4..18de9f4e9c3c9599d1ab83a638bbd887 #include "ui/base/metadata/metadata_impl_macros.h" #include "ui/gfx/color_palette.h" diff --git a/chrome/browser/ui/views/overlay/back_to_tab_label_button.cc b/chrome/browser/ui/views/overlay/back_to_tab_label_button.cc -index 59f3c768cc3d6f359472ee4baa8534004129df12..64d2de476940c7f9c84bc9e4d544ab58b0ba5fbd 100644 +index 4a6cb79a1589c0be623277accc17142d501b50b4..5af6119affd28eff7e3547965bac8e52752638db 100644 --- a/chrome/browser/ui/views/overlay/back_to_tab_label_button.cc +++ b/chrome/browser/ui/views/overlay/back_to_tab_label_button.cc @@ -5,7 +5,7 @@ @@ -61,7 +61,7 @@ index 7b711bdbaf4afddd6ccf300af7bab26487942243..987a60b81554b676661d8f1a53facbc9 #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/paint_vector_icon.h" diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc -index 72a70d9e356dc7c5ac80bdc9954a0c03dda809c5..7700d386e39dd511abb1c53cd4871bd51e04cd46 100644 +index d437976fa81a9b8f35f8649631b1c29594e214e2..28663e10cd36b96b554621afa3876e2acefc3869 100644 --- a/chrome/browser/ui/views/overlay/overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc @@ -16,9 +16,11 @@ @@ -76,16 +76,17 @@ index 72a70d9e356dc7c5ac80bdc9954a0c03dda809c5..7700d386e39dd511abb1c53cd4871bd5 #include "chrome/browser/ui/views/overlay/back_to_tab_image_button.h" #include "chrome/browser/ui/views/overlay/back_to_tab_label_button.h" #include "chrome/browser/ui/views/overlay/close_image_button.h" -@@ -29,7 +31,7 @@ +@@ -29,7 +31,8 @@ #include "chrome/browser/ui/views/overlay/toggle_camera_button.h" #include "chrome/browser/ui/views/overlay/toggle_microphone_button.h" #include "chrome/browser/ui/views/overlay/track_image_button.h" -#include "chrome/grit/generated_resources.h" +#include "electron/grit/electron_resources.h" - #include "components/url_formatter/url_formatter.h" ++#include "components/url_formatter/url_formatter.h" #include "components/vector_icons/vector_icons.h" #include "content/public/browser/picture_in_picture_window_controller.h" -@@ -58,7 +60,7 @@ + #include "content/public/browser/web_contents.h" +@@ -57,7 +60,7 @@ #include "ui/aura/window.h" #endif @@ -94,7 +95,7 @@ index 72a70d9e356dc7c5ac80bdc9954a0c03dda809c5..7700d386e39dd511abb1c53cd4871bd5 #include "chrome/browser/shell_integration_win.h" #include "ui/aura/window.h" #include "ui/aura/window_tree_host.h" -@@ -247,7 +249,7 @@ std::unique_ptr OverlayWindowViews::Create( +@@ -246,7 +249,7 @@ std::unique_ptr OverlayWindowViews::Create( overlay_window->Init(std::move(params)); overlay_window->OnRootViewReady(); diff --git a/patches/chromium/printing.patch b/patches/chromium/printing.patch index 2c782d5945264..23622d147030e 100644 --- a/patches/chromium/printing.patch +++ b/patches/chromium/printing.patch @@ -126,7 +126,7 @@ index 2824b97e715a493082734d40f62860c8cafa5f34..584d4ef2b73a0f89458224eb134a8d8a } diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc -index 671dd26655218fdc53daf7520f07ad0f2f67c19d..497cc96ad7e75932dd3e30aaccaa9f699d5d8955 100644 +index 34e26cabaf8172a6db26c5084260f1fd88967d68..7bad89e6eedba717469feeb6e407c93b94582823 100644 --- a/chrome/browser/printing/print_view_manager_base.cc +++ b/chrome/browser/printing/print_view_manager_base.cc @@ -28,10 +28,10 @@ @@ -202,10 +202,10 @@ index 671dd26655218fdc53daf7520f07ad0f2f67c19d..497cc96ad7e75932dd3e30aaccaa9f69 + bool silent, + base::Value settings, + CompletionCallback callback) { + auto weak_this = weak_ptr_factory_.GetWeakPtr(); DisconnectFromCurrentPrintJob(); - - // Don't print / print preview crashed tabs. -@@ -364,7 +375,14 @@ bool PrintViewManagerBase::PrintNow(content::RenderFrameHost* rfh) { + if (!weak_this) +@@ -367,7 +378,14 @@ bool PrintViewManagerBase::PrintNow(content::RenderFrameHost* rfh) { // go in `ReleasePrintJob()`. SetPrintingRFH(rfh); @@ -221,7 +221,7 @@ index 671dd26655218fdc53daf7520f07ad0f2f67c19d..497cc96ad7e75932dd3e30aaccaa9f69 return true; } -@@ -519,9 +537,9 @@ void PrintViewManagerBase::ScriptedPrintReply( +@@ -522,9 +540,9 @@ void PrintViewManagerBase::ScriptedPrintReply( void PrintViewManagerBase::UpdatePrintingEnabled() { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); // The Unretained() is safe because ForEachFrame() is synchronous. @@ -234,7 +234,7 @@ index 671dd26655218fdc53daf7520f07ad0f2f67c19d..497cc96ad7e75932dd3e30aaccaa9f69 } void PrintViewManagerBase::NavigationStopped() { -@@ -635,12 +653,13 @@ void PrintViewManagerBase::DidPrintDocument( +@@ -638,12 +656,13 @@ void PrintViewManagerBase::DidPrintDocument( void PrintViewManagerBase::GetDefaultPrintSettings( GetDefaultPrintSettingsCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -249,7 +249,7 @@ index 671dd26655218fdc53daf7520f07ad0f2f67c19d..497cc96ad7e75932dd3e30aaccaa9f69 content::RenderFrameHost* render_frame_host = GetCurrentTargetFrame(); auto callback_wrapper = base::BindOnce(&PrintViewManagerBase::GetDefaultPrintSettingsReply, -@@ -658,12 +677,13 @@ void PrintViewManagerBase::UpdatePrintSettings( +@@ -661,12 +680,13 @@ void PrintViewManagerBase::UpdatePrintSettings( base::Value job_settings, UpdatePrintSettingsCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -264,12 +264,11 @@ index 671dd26655218fdc53daf7520f07ad0f2f67c19d..497cc96ad7e75932dd3e30aaccaa9f69 if (!job_settings.FindIntKey(kSettingPrinterType)) { UpdatePrintSettingsReply(std::move(callback), CreateEmptyPrintPagesParamsPtr(), false); -@@ -708,13 +728,18 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie) { +@@ -711,13 +731,17 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie) { PrintManager::PrintingFailed(cookie); #if BUILDFLAG(ENABLE_PRINT_PREVIEW) - ShowPrintErrorDialog(); -+ // ShowPrintErrorDialog(); #endif ReleasePrinterQuery(); @@ -284,7 +283,7 @@ index 671dd26655218fdc53daf7520f07ad0f2f67c19d..497cc96ad7e75932dd3e30aaccaa9f69 base::ThreadTaskRunnerHandle::Get()->PostTask( FROM_HERE, base::BindOnce(&ShowWarningMessageBox, l10n_util::GetStringUTF16( -@@ -793,6 +818,11 @@ void PrintViewManagerBase::OnNotifyPrintJobEvent( +@@ -796,6 +820,11 @@ void PrintViewManagerBase::OnNotifyPrintJobEvent( #endif break; } @@ -296,20 +295,19 @@ index 671dd26655218fdc53daf7520f07ad0f2f67c19d..497cc96ad7e75932dd3e30aaccaa9f69 case JobEventDetails::JOB_DONE: // Printing is done, we don't need it anymore. // print_job_->is_job_pending() may still be true, depending on the order -@@ -858,8 +888,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( - DCHECK(!quit_inner_loop_); - DCHECK(query); +@@ -865,7 +894,10 @@ bool PrintViewManagerBase::CreateNewPrintJob( -- // Disconnect the current |print_job_|. + // Disconnect the current |print_job_|. + auto weak_this = weak_ptr_factory_.GetWeakPtr(); - DisconnectFromCurrentPrintJob(); + if (callback_.is_null()) { + // Disconnect the current |print_job_| only when calling window.print() + DisconnectFromCurrentPrintJob(); + } + if (!weak_this) + return false; - // We can't print if there is no renderer. - if (!web_contents()->GetMainFrame()->GetRenderViewHost() || -@@ -880,8 +912,6 @@ bool PrintViewManagerBase::CreateNewPrintJob( +@@ -888,8 +920,6 @@ bool PrintViewManagerBase::CreateNewPrintJob( /*source_id=*/""); #endif @@ -318,7 +316,7 @@ index 671dd26655218fdc53daf7520f07ad0f2f67c19d..497cc96ad7e75932dd3e30aaccaa9f69 printing_succeeded_ = false; return true; } -@@ -930,14 +960,22 @@ void PrintViewManagerBase::ReleasePrintJob() { +@@ -941,14 +971,22 @@ void PrintViewManagerBase::ReleasePrintJob() { content::RenderFrameHost* rfh = printing_rfh_; printing_rfh_ = nullptr; @@ -343,7 +341,7 @@ index 671dd26655218fdc53daf7520f07ad0f2f67c19d..497cc96ad7e75932dd3e30aaccaa9f69 // Don't close the worker thread. print_job_ = nullptr; } -@@ -973,7 +1011,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { +@@ -987,7 +1025,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() { } bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) { @@ -353,7 +351,7 @@ index 671dd26655218fdc53daf7520f07ad0f2f67c19d..497cc96ad7e75932dd3e30aaccaa9f69 if (!cookie) { diff --git a/chrome/browser/printing/print_view_manager_base.h b/chrome/browser/printing/print_view_manager_base.h -index 48e2baa05cdf61ac18d9d5a357833abd07b373b0..21ed887db41c979470f2a72b7a1c1832ad0e7961 100644 +index eaa0e162a339ba68d42c920fdd30869d259b4f27..8381f5171970aa89fc5c406d57d2665e16c6678b 100644 --- a/chrome/browser/printing/print_view_manager_base.h +++ b/chrome/browser/printing/print_view_manager_base.h @@ -38,6 +38,8 @@ class PrintJob; @@ -377,7 +375,7 @@ index 48e2baa05cdf61ac18d9d5a357833abd07b373b0..21ed887db41c979470f2a72b7a1c1832 #if BUILDFLAG(ENABLE_PRINT_PREVIEW) // Prints the document in |print_data| with settings specified in -@@ -230,9 +235,15 @@ class PrintViewManagerBase : public content::NotificationObserver, +@@ -234,9 +239,15 @@ class PrintViewManagerBase : public content::NotificationObserver, // The current RFH that is printing with a system printing dialog. content::RenderFrameHost* printing_rfh_ = nullptr; diff --git a/patches/chromium/put_back_deleted_colors_for_autofill.patch b/patches/chromium/put_back_deleted_colors_for_autofill.patch index 53640cd828a96..0169929abc1bd 100644 --- a/patches/chromium/put_back_deleted_colors_for_autofill.patch +++ b/patches/chromium/put_back_deleted_colors_for_autofill.patch @@ -8,7 +8,7 @@ needed in chromium but our autofill implementation uses them. This patch can be our autofill implementation to work like Chromium's. diff --git a/ui/native_theme/common_theme.cc b/ui/native_theme/common_theme.cc -index 37fe41cb525ebc19a32a592f5695f7a083135116..d70767e072799c15b5ee0c4eeb4c76d82dfb247c 100644 +index 52daef274c283eed9334e1dfc010dd488938b608..6c03311271820689ba1106443d975155a20526b4 100644 --- a/ui/native_theme/common_theme.cc +++ b/ui/native_theme/common_theme.cc @@ -68,6 +68,14 @@ absl::optional GetDarkSchemeColor(NativeTheme::ColorId color_id, @@ -26,7 +26,7 @@ index 37fe41cb525ebc19a32a592f5695f7a083135116..d70767e072799c15b5ee0c4eeb4c76d8 // Button case NativeTheme::kColorId_ProminentButtonColor: return gfx::kGoogleBlue300; -@@ -587,6 +595,18 @@ SkColor GetDefaultColor(NativeTheme::ColorId color_id, +@@ -595,6 +603,18 @@ SkColor GetDefaultColor(NativeTheme::ColorId color_id, case NativeTheme::kColorId_WindowBackground: return SK_ColorWHITE; @@ -46,10 +46,10 @@ index 37fe41cb525ebc19a32a592f5695f7a083135116..d70767e072799c15b5ee0c4eeb4c76d8 // Keeping the kColorId_NumColors case instead of using the default case // allows ColorId additions to trigger compile error for an incomplete diff --git a/ui/native_theme/native_theme_color_id.h b/ui/native_theme/native_theme_color_id.h -index 84848edbbe9de7ef9fe6e2ab0a34d3b9428cde10..5e07980e4793cc3b19140510fb3fd3b23c6a88ef 100644 +index 0f970863cafee4ba28d953c89de4c36a44c04ef5..0b78adbea861faf3d4735d87a4a1f00c754a897e 100644 --- a/ui/native_theme/native_theme_color_id.h +++ b/ui/native_theme/native_theme_color_id.h -@@ -157,6 +157,11 @@ +@@ -159,6 +159,11 @@ OP(kColorId_TableHeaderText), \ OP(kColorId_TableHeaderBackground), \ OP(kColorId_TableHeaderSeparator), \ diff --git a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch index 8cb32d5563fc4..9429056d7f52b 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -30,10 +30,10 @@ index 8adadb641055724b4b12e0432e8a0f06a901e04e..104a38d9093dd53b8f2d08c55b207f49 // RenderWidgetHost on the main frame, and false otherwise. virtual bool IsWidgetForMainFrame(RenderWidgetHostImpl*); diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index 025875d71d85e3242a2d890d983a191479d40a43..5113ef12fced9b0456a7a42f644c54d68d7ab4ff 100644 +index ce7e99c55b9c555ca8b6d0b7755db64e8f56330e..d74b243380231018ff3beca5ad3d90016cb98e23 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -2003,6 +2003,8 @@ void RenderWidgetHostImpl::FilterDropData(DropData* drop_data) { +@@ -2004,6 +2004,8 @@ void RenderWidgetHostImpl::FilterDropData(DropData* drop_data) { void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) { if (view_) view_->UpdateCursor(WebCursor(cursor)); @@ -43,10 +43,10 @@ index 025875d71d85e3242a2d890d983a191479d40a43..5113ef12fced9b0456a7a42f644c54d6 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 1409770828f88d990d11d5a022b10bea5dadf35c..44962d3588752685a9f274cd61b5dbe00e1564a7 100644 +index fb42b663cf63c38de27c7da98630951be77c3ee1..fef25ed773a93ff56cc31c2a81fb3b2d188b664b 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4283,6 +4283,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { +@@ -4295,6 +4295,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { return text_input_manager_.get(); } @@ -59,10 +59,10 @@ index 1409770828f88d990d11d5a022b10bea5dadf35c..44962d3588752685a9f274cd61b5dbe0 RenderWidgetHostImpl* render_widget_host) { return render_widget_host == GetMainFrame()->GetRenderWidgetHost(); diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h -index c14eb61e750ac263d932df1bcb4a61e1e5b4489c..4b7ea168e6f1c578c9fbe8df4d35b2a0a075a5bb 100644 +index cfb93e11965bf3e2d44747a6a1a861e68b4c2cfa..6ddba0914379d2f1135144447f2cf6c990f34e94 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h -@@ -963,6 +963,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, +@@ -968,6 +968,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, blink::mojom::FrameVisibility visibility) override; void SendScreenRects() override; TextInputManager* GetTextInputManager() override; diff --git a/patches/chromium/render_widget_host_view_mac.patch b/patches/chromium/render_widget_host_view_mac.patch index a43524377fcda..39daaa3029133 100644 --- a/patches/chromium/render_widget_host_view_mac.patch +++ b/patches/chromium/render_widget_host_view_mac.patch @@ -10,10 +10,10 @@ kinds of utility windows. Similarly for `disableAutoHideCursor`. Additionally, disables usage of some private APIs in MAS builds. diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -index 3ff49bb2364ace2f2634e02ddffd571f5936dd64..084b94c8ffa9354bc5c263cea319fa18c6f389c3 100644 +index 43019ebb8ee8c165ffc533655fc4d38655606a6c..03230bb4de265cefc46832abbb85fa0bf659dacb 100644 --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm -@@ -153,6 +153,15 @@ void ExtractUnderlines(NSAttributedString* string, +@@ -150,6 +150,15 @@ void ExtractUnderlines(NSAttributedString* string, } // namespace @@ -29,7 +29,7 @@ index 3ff49bb2364ace2f2634e02ddffd571f5936dd64..084b94c8ffa9354bc5c263cea319fa18 // These are not documented, so use only after checking -respondsToSelector:. @interface NSApplication (UndocumentedSpeechMethods) - (void)speakString:(NSString*)string; -@@ -573,6 +582,9 @@ - (BOOL)acceptsMouseEventsWhenInactive { +@@ -570,6 +579,9 @@ - (BOOL)acceptsMouseEventsWhenInactive { } - (BOOL)acceptsFirstMouse:(NSEvent*)theEvent { @@ -39,7 +39,7 @@ index 3ff49bb2364ace2f2634e02ddffd571f5936dd64..084b94c8ffa9354bc5c263cea319fa18 return [self acceptsMouseEventsWhenInactive]; } -@@ -648,6 +660,10 @@ - (BOOL)shouldIgnoreMouseEvent:(NSEvent*)theEvent { +@@ -645,6 +657,10 @@ - (BOOL)shouldIgnoreMouseEvent:(NSEvent*)theEvent { // its parent view. BOOL hitSelf = NO; while (view) { @@ -50,7 +50,7 @@ index 3ff49bb2364ace2f2634e02ddffd571f5936dd64..084b94c8ffa9354bc5c263cea319fa18 if (view == self) hitSelf = YES; if ([view isKindOfClass:[self class]] && ![view isEqual:self] && -@@ -968,6 +984,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv { +@@ -965,6 +981,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv { eventType == NSKeyDown && !(modifierFlags & NSCommandKeyMask); @@ -61,7 +61,7 @@ index 3ff49bb2364ace2f2634e02ddffd571f5936dd64..084b94c8ffa9354bc5c263cea319fa18 // We only handle key down events and just simply forward other events. if (eventType != NSKeyDown) { _hostHelper->ForwardKeyboardEvent(event, latency_info); -@@ -1694,9 +1714,11 @@ - (NSAccessibilityRole)accessibilityRole { +@@ -1691,9 +1711,11 @@ - (NSAccessibilityRole)accessibilityRole { // Since this implementation doesn't have to wait any IPC calls, this doesn't // make any key-typing jank. --hbono 7/23/09 // @@ -73,7 +73,7 @@ index 3ff49bb2364ace2f2634e02ddffd571f5936dd64..084b94c8ffa9354bc5c263cea319fa18 - (NSArray*)validAttributesForMarkedText { // This code is just copied from WebKit except renaming variables. -@@ -1705,7 +1727,10 @@ - (NSArray*)validAttributesForMarkedText { +@@ -1702,7 +1724,10 @@ - (NSArray*)validAttributesForMarkedText { initWithObjects:NSUnderlineStyleAttributeName, NSUnderlineColorAttributeName, NSMarkedClauseSegmentAttributeName, diff --git a/patches/chromium/scroll_bounce_flag.patch b/patches/chromium/scroll_bounce_flag.patch index cf72642a5703c..c964afc05b9f1 100644 --- a/patches/chromium/scroll_bounce_flag.patch +++ b/patches/chromium/scroll_bounce_flag.patch @@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch Patch to make scrollBounce option work. diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc -index d372704f462dcc7351796b59b39b4c95d6db84d5..c11f9f72a03e8bdbd03aca30c052722371dd506e 100644 +index 1b3d844a15057a8b00c09bd0f631e6f4632475b3..3c30d8025134f9d33834b70ec53ab181c95412bf 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -1254,7 +1254,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { +@@ -1255,7 +1255,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() { } bool RenderThreadImpl::IsElasticOverscrollEnabled() { diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index b437aecfaa250..7055906c481b2 100644 --- a/patches/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it does touch a security-sensitive class. diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 55c4e3c2bb0b353724c6a1a2f6f853705d1ba501..224e23ad3584dd4511a4173d632547d4a2ee4e9c 100644 +index 93c46f70bc733c0e50bbe4d930e90effba34e517..bad0a564a81fc45d86558be449d83dbc6d7c073f 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -428,10 +428,18 @@ class RendererSandboxedProcessLauncherDelegate +@@ -430,10 +430,18 @@ class RendererSandboxedProcessLauncherDelegate public: RendererSandboxedProcessLauncherDelegate() = default; @@ -44,7 +44,7 @@ index 55c4e3c2bb0b353724c6a1a2f6f853705d1ba501..224e23ad3584dd4511a4173d632547d4 const base::CommandLine& browser_command_line = *base::CommandLine::ForCurrentProcess(); base::CommandLine::StringType renderer_prefix = -@@ -449,6 +457,11 @@ class RendererSandboxedProcessLauncherDelegate +@@ -451,6 +459,11 @@ class RendererSandboxedProcessLauncherDelegate sandbox::policy::SandboxType GetSandboxType() override { return sandbox::policy::SandboxType::kRenderer; } @@ -56,7 +56,7 @@ index 55c4e3c2bb0b353724c6a1a2f6f853705d1ba501..224e23ad3584dd4511a4173d632547d4 }; #if defined(OS_WIN) -@@ -460,6 +473,9 @@ class RendererSandboxedProcessLauncherDelegateWin +@@ -462,6 +475,9 @@ class RendererSandboxedProcessLauncherDelegateWin bool is_jit_disabled) : renderer_code_integrity_enabled_( GetContentClient()->browser()->IsRendererCodeIntegrityEnabled()) { @@ -66,7 +66,7 @@ index 55c4e3c2bb0b353724c6a1a2f6f853705d1ba501..224e23ad3584dd4511a4173d632547d4 if (is_jit_disabled) { dynamic_code_can_be_disabled_ = true; return; -@@ -2016,9 +2032,15 @@ bool RenderProcessHostImpl::Init() { +@@ -2005,9 +2021,15 @@ bool RenderProcessHostImpl::Init() { std::unique_ptr sandbox_delegate = std::make_unique( cmd_line.get(), IsJitDisabled()); diff --git a/patches/chromium/sysroot.patch b/patches/chromium/sysroot.patch index de8974b0f2238..13f063ddec35f 100644 --- a/patches/chromium/sysroot.patch +++ b/patches/chromium/sysroot.patch @@ -7,7 +7,7 @@ Make chrome's install-sysroot scripts point to our custom sysroot builds, which include extra deps that Electron needs (e.g. libnotify) diff --git a/build/linux/sysroot_scripts/install-sysroot.py b/build/linux/sysroot_scripts/install-sysroot.py -index f5f1da41bb9be11bf00c39b5c4cbfd1b2413edef..0dd2bdf66c531f34483d888abed99e8fee321588 100755 +index ada6208644cb22c9f51c571f9509e335c0836163..86b55223fc21adf0e01cb276ebc613f6ea24f8b2 100755 --- a/build/linux/sysroot_scripts/install-sysroot.py +++ b/build/linux/sysroot_scripts/install-sysroot.py @@ -41,9 +41,11 @@ except ImportError: diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index 6ae1b91f74c81..5536078eaec42 100644 --- a/patches/chromium/web_contents.patch +++ b/patches/chromium/web_contents.patch @@ -9,10 +9,10 @@ is needed for OSR. Originally landed in https://github.com/electron/libchromiumcontent/pull/226. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 2c21f22aa27609ab5421e35184a24c2572812b7a..023b8456d34f1c9651b3e5576c112589ea849156 100644 +index a4d8c96190c97162ce1adaab3a3bb2a3a666dd8a..fc543b5db446eb5a338a9cc681b3357df596b59e 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -2869,6 +2869,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2881,6 +2881,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { frame_tree_.Init(site_instance.get(), params.renderer_initiated_creation, params.main_frame_name); @@ -25,7 +25,7 @@ index 2c21f22aa27609ab5421e35184a24c2572812b7a..023b8456d34f1c9651b3e5576c112589 WebContentsViewDelegate* delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -2879,6 +2885,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -2891,6 +2897,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { view_.reset(CreateWebContentsView(this, delegate, &render_view_host_delegate_view_)); } diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index b443fa0332251..b2fe88bfc9aee 100644 --- a/patches/chromium/webview_fullscreen.patch +++ b/patches/chromium/webview_fullscreen.patch @@ -14,10 +14,10 @@ Note that we also need to manually update embedder's `api::WebContents::IsFullscreenForTabOrPending` value. diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 8b5e24a52b3c89c29440406472b52224d83a015e..a9cf0c88c08d825490f3f03429aa01c021b675ca 100644 +index 8b7cc22096230163a1c1212c37b65b24add07474..f4e36713f85d8e642237fdeca9d53d6ed40ff63b 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -5669,6 +5669,15 @@ void RenderFrameHostImpl::EnterFullscreen( +@@ -5702,6 +5702,15 @@ void RenderFrameHostImpl::EnterFullscreen( notified_instances.insert(parent_site_instance); } diff --git a/patches/config.json b/patches/config.json index b0156f7d1c057..e9a2297ba10f2 100644 --- a/patches/config.json +++ b/patches/config.json @@ -3,6 +3,8 @@ "src/electron/patches/boringssl": "src/third_party/boringssl/src", + "src/electron/patches/webrtc": "src/third_party/webrtc", + "src/electron/patches/v8": "src/v8", "src/electron/patches/node": "src/third_party/electron_node", diff --git a/patches/v8/.patches b/patches/v8/.patches index a2c70b4ec4d4c..ff0b6eb65d118 100644 --- a/patches/v8/.patches +++ b/patches/v8/.patches @@ -5,3 +5,4 @@ export_symbols_needed_for_windows_build.patch workaround_an_undefined_symbol_error.patch do_not_export_private_v8_symbols_on_windows.patch fix_build_deprecated_attirbute_for_older_msvc_versions.patch +fix_disable_implies_dcheck_for_node_stream_array_buffers.patch diff --git a/patches/v8/build_gn.patch b/patches/v8/build_gn.patch index 07df421af8b6f..72649e696c040 100644 --- a/patches/v8/build_gn.patch +++ b/patches/v8/build_gn.patch @@ -9,10 +9,10 @@ necessary for native modules to load. Also, some fixes relating to mksnapshot on ARM. diff --git a/BUILD.gn b/BUILD.gn -index d3e7c8378c5d22f1c7c2595fa75c79b13084e6ae..839cd37e41d55a4a63e49b3389a500feae985f39 100644 +index 358013a17c26a4e63a1d958915289c4e3fe92d72..d4a83c171a74a52b5f2448623ce3fc17b281a0cd 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -549,7 +549,7 @@ config("internal_config") { +@@ -545,7 +545,7 @@ config("internal_config") { ":cppgc_header_features", ] @@ -20,8 +20,8 @@ index d3e7c8378c5d22f1c7c2595fa75c79b13084e6ae..839cd37e41d55a4a63e49b3389a500fe + if (is_component_build || is_electron_build) { defines += [ "BUILDING_V8_SHARED" ] } - } -@@ -5339,7 +5339,7 @@ if (current_toolchain == v8_generator_toolchain) { + +@@ -5348,7 +5348,7 @@ if (current_toolchain == v8_generator_toolchain) { "src/interpreter/bytecodes.h", ] @@ -30,7 +30,7 @@ index d3e7c8378c5d22f1c7c2595fa75c79b13084e6ae..839cd37e41d55a4a63e49b3389a500fe deps = [ ":v8_libbase", -@@ -5377,6 +5377,8 @@ if (current_toolchain == v8_snapshot_toolchain) { +@@ -5386,6 +5386,8 @@ if (current_toolchain == v8_snapshot_toolchain) { configs = [ ":internal_config" ] diff --git a/patches/v8/dcheck.patch b/patches/v8/dcheck.patch index d153a123f3d30..5e55eccd21446 100644 --- a/patches/v8/dcheck.patch +++ b/patches/v8/dcheck.patch @@ -19,10 +19,10 @@ index 10dde3c28ad116832b5d2e50bbd97b8b09177a46..3cb9398ba4b31f23c44e66f29dd8be50 isolate->default_microtask_queue()->PerformCheckpoint(this); } diff --git a/src/heap/heap.cc b/src/heap/heap.cc -index 8af534c256f087a880bc56d00606d04a0af8ffb0..7fe005f6254e75dc5ec7a06cef8c6c556f23ee29 100644 +index 3ae0f4a3c5919c40683ea9ecb7918fd827b5583f..03257fc153372f1dbf834829c572791a77b3d75a 100644 --- a/src/heap/heap.cc +++ b/src/heap/heap.cc -@@ -5991,9 +5991,9 @@ void Heap::DeinitSharedSpaces() { +@@ -6016,9 +6016,9 @@ void Heap::DeinitSharedSpaces() { void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback, GCType gc_type, void* data) { DCHECK_NOT_NULL(callback); diff --git a/patches/v8/do_not_export_private_v8_symbols_on_windows.patch b/patches/v8/do_not_export_private_v8_symbols_on_windows.patch index 814c14aadfb68..983a9c12239c6 100644 --- a/patches/v8/do_not_export_private_v8_symbols_on_windows.patch +++ b/patches/v8/do_not_export_private_v8_symbols_on_windows.patch @@ -12,10 +12,10 @@ This patch can be safely removed if, when it is removed, `node.lib` does not contain any standard C++ library exports (e.g. `std::ostringstream`). diff --git a/BUILD.gn b/BUILD.gn -index 97c3ee6e6e9d04c38b9c3b217a1e848f660ac54a..7a6d91176f117cfcec584716488a57342a553d64 100644 +index 89f5fcfaebb994ea8d1da5a92904faadc8d1fd40..542f3fbe3b7c94f8739a46aba63b4fbb827932f3 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -549,6 +549,10 @@ config("internal_config") { +@@ -545,6 +545,10 @@ config("internal_config") { ":cppgc_header_features", ] diff --git a/patches/v8/expose_mksnapshot.patch b/patches/v8/expose_mksnapshot.patch index a1798f478a9e4..b1d37234016b9 100644 --- a/patches/v8/expose_mksnapshot.patch +++ b/patches/v8/expose_mksnapshot.patch @@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch Needed in order to target mksnapshot for mksnapshot zip. diff --git a/BUILD.gn b/BUILD.gn -index 839cd37e41d55a4a63e49b3389a500feae985f39..97c3ee6e6e9d04c38b9c3b217a1e848f660ac54a 100644 +index d4a83c171a74a52b5f2448623ce3fc17b281a0cd..89f5fcfaebb994ea8d1da5a92904faadc8d1fd40 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -5351,7 +5351,6 @@ if (current_toolchain == v8_generator_toolchain) { +@@ -5360,7 +5360,6 @@ if (current_toolchain == v8_generator_toolchain) { if (current_toolchain == v8_snapshot_toolchain) { v8_executable("mksnapshot") { diff --git a/patches/v8/fix_disable_implies_dcheck_for_node_stream_array_buffers.patch b/patches/v8/fix_disable_implies_dcheck_for_node_stream_array_buffers.patch new file mode 100644 index 0000000000000..d39f922de503f --- /dev/null +++ b/patches/v8/fix_disable_implies_dcheck_for_node_stream_array_buffers.patch @@ -0,0 +1,36 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: VerteDinde +Date: Thu, 29 Jul 2021 17:05:32 -0700 +Subject: fix: disable implies dcheck for node stream array buffers + +Added in this CL: https://chromium-review.googlesource.com/c/v8/v8/+/3035091 + +This commit was added in preparation for ResizableArrayBuffers +and GrowableSharedArrayBuffer. If a buffer is not resizable and +has a larger max_byte_length than byte_length, we throw. + +However, the check also catches on Node stream buffers, which +on readStream will slowly fill their byte length up to the +maximum length. Streams do not yet have the resizable +property. + +This patch can be removed when streams support rab/gsab, or +when support is synchronized across both v8 and node. + +diff --git a/src/objects/js-array-buffer.cc b/src/objects/js-array-buffer.cc +index 583297e20746bf1f63a8646745cb34dc2d841338..8004ffbd2803a0c5dff978e087edc70d34d41713 100644 +--- a/src/objects/js-array-buffer.cc ++++ b/src/objects/js-array-buffer.cc +@@ -73,9 +73,9 @@ void JSArrayBuffer::Attach(std::shared_ptr backing_store) { + DCHECK_NOT_NULL(backing_store); + DCHECK_EQ(is_shared(), backing_store->is_shared()); + DCHECK_EQ(is_resizable(), backing_store->is_resizable()); +- DCHECK_IMPLIES( +- !backing_store->is_wasm_memory() && !backing_store->is_resizable(), +- backing_store->byte_length() == backing_store->max_byte_length()); ++ // DCHECK_IMPLIES( ++ // !backing_store->is_wasm_memory() && !backing_store->is_resizable(), ++ // backing_store->byte_length() == backing_store->max_byte_length()); + DCHECK(!was_detached()); + Isolate* isolate = GetIsolate(); + set_backing_store(isolate, backing_store->buffer_start()); diff --git a/patches/webrtc/.patches b/patches/webrtc/.patches new file mode 100644 index 0000000000000..9cde1db8895b3 --- /dev/null +++ b/patches/webrtc/.patches @@ -0,0 +1 @@ +add_thread_local_to_x_error_trap_cc.patch diff --git a/patches/webrtc/add_thread_local_to_x_error_trap_cc.patch b/patches/webrtc/add_thread_local_to_x_error_trap_cc.patch new file mode 100644 index 0000000000000..0be67e3ccafd1 --- /dev/null +++ b/patches/webrtc/add_thread_local_to_x_error_trap_cc.patch @@ -0,0 +1,24 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jeremy Rose +Date: Tue, 27 Jul 2021 10:32:54 -0700 +Subject: add thread_local to x_error_trap.cc + +Per https://bugs.chromium.org/p/chromium/issues/detail?id=781618#c6. + +To fix this DCHECK firing: https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/modules/desktop_capture/linux/x_error_trap.cc;l=35;drc=25ab3228f3e473f2226f219531ec617d2daa175e + +diff --git a/modules/desktop_capture/linux/x_error_trap.cc b/modules/desktop_capture/linux/x_error_trap.cc +index 13233d827470d9d42be0333c3080e3d107f86fd5..62efb5b5b5194fc8961a27fe2a1efcd77e385d08 100644 +--- a/modules/desktop_capture/linux/x_error_trap.cc ++++ b/modules/desktop_capture/linux/x_error_trap.cc +@@ -19,8 +19,8 @@ namespace webrtc { + namespace { + + // TODO(sergeyu): This code is not thread safe. Fix it. Bug 2202. +-static bool g_xserver_error_trap_enabled = false; +-static int g_last_xserver_error_code = 0; ++static thread_local bool g_xserver_error_trap_enabled = false; ++static thread_local int g_last_xserver_error_code = 0; + + int XServerErrorHandler(Display* display, XErrorEvent* error_event) { + RTC_DCHECK(g_xserver_error_trap_enabled); diff --git a/shell/app/electron_content_client.cc b/shell/app/electron_content_client.cc index cd78dcf799b14..fb45801a8ced5 100644 --- a/shell/app/electron_content_client.cc +++ b/shell/app/electron_content_client.cc @@ -167,7 +167,7 @@ std::u16string ElectronContentClient::GetLocalizedString(int message_id) { base::StringPiece ElectronContentClient::GetDataResource( int resource_id, - ui::ScaleFactor scale_factor) { + ui::ResourceScaleFactor scale_factor) { return ui::ResourceBundle::GetSharedInstance().GetRawDataResourceForScale( resource_id, scale_factor); } diff --git a/shell/app/electron_content_client.h b/shell/app/electron_content_client.h index 86f4f2bd5069e..2bf2038dfd01d 100644 --- a/shell/app/electron_content_client.h +++ b/shell/app/electron_content_client.h @@ -20,7 +20,8 @@ class ElectronContentClient : public content::ContentClient { protected: // content::ContentClient: std::u16string GetLocalizedString(int message_id) override; - base::StringPiece GetDataResource(int resource_id, ui::ScaleFactor) override; + base::StringPiece GetDataResource(int resource_id, + ui::ResourceScaleFactor) override; gfx::Image& GetNativeImageNamed(int resource_id) override; base::RefCountedMemory* GetDataResourceBytes(int resource_id) override; void AddAdditionalSchemes(Schemes* schemes) override; diff --git a/shell/browser/api/gpuinfo_manager.cc b/shell/browser/api/gpuinfo_manager.cc index 8b267c11f6b9f..849f4a8840c1f 100644 --- a/shell/browser/api/gpuinfo_manager.cc +++ b/shell/browser/api/gpuinfo_manager.cc @@ -67,7 +67,7 @@ void GPUInfoManager::CompleteInfoFetcher( complete_info_promise_set_.emplace_back(std::move(promise)); if (NeedsCompleteGpuInfoCollection()) { - gpu_data_manager_->RequestDxdiagDx12VulkanGpuInfoIfNeeded( + gpu_data_manager_->RequestDxdiagDx12VulkanVideoGpuInfoIfNeeded( content::GpuDataManagerImpl::kGpuInfoRequestAll, /* delayed */ false); } else { GPUInfoManager::OnGpuInfoUpdate(); diff --git a/shell/browser/electron_browser_context.h b/shell/browser/electron_browser_context.h index 4cb737bcdff2d..9ba82e8d932b8 100644 --- a/shell/browser/electron_browser_context.h +++ b/shell/browser/electron_browser_context.h @@ -14,6 +14,7 @@ #include "content/public/browser/browser_context.h" #include "content/public/browser/resource_context.h" #include "electron/buildflags/buildflags.h" +#include "mojo/public/cpp/bindings/remote.h" #include "services/network/public/mojom/network_context.mojom.h" #include "services/network/public/mojom/url_loader_factory.mojom.h" #include "shell/browser/media/media_device_id_salt.h" diff --git a/shell/browser/extensions/electron_extensions_browser_client.h b/shell/browser/extensions/electron_extensions_browser_client.h index 823998729fdce..5d5007d032368 100644 --- a/shell/browser/extensions/electron_extensions_browser_client.h +++ b/shell/browser/extensions/electron_extensions_browser_client.h @@ -15,6 +15,7 @@ #include "extensions/browser/extensions_browser_client.h" #include "extensions/browser/kiosk/kiosk_delegate.h" #include "mojo/public/cpp/bindings/pending_remote.h" +#include "services/network/public/cpp/resource_request.h" #include "services/network/public/mojom/fetch_api.mojom.h" class PrefService; diff --git a/shell/browser/native_window_mac.mm b/shell/browser/native_window_mac.mm index 43891c73c9399..e56fad7eacd22 100644 --- a/shell/browser/native_window_mac.mm +++ b/shell/browser/native_window_mac.mm @@ -12,9 +12,9 @@ #include #include +#include "base/cxx17_backports.h" #include "base/mac/mac_util.h" #include "base/mac/scoped_cftyperef.h" -#include "base/numerics/ranges.h" #include "base/strings/sys_string_conversions.h" #include "base/task/post_task.h" #include "components/remote_cocoa/app_shim/native_widget_ns_window_bridge.h" @@ -1122,7 +1122,7 @@ void ViewDidMoveToSuperview(NSView* self, SEL _cmd) { } void NativeWindowMac::SetOpacity(const double opacity) { - const double boundedOpacity = base::ClampToRange(opacity, 0.0, 1.0); + const double boundedOpacity = base::clamp(opacity, 0.0, 1.0); [window_ setAlphaValue:boundedOpacity]; } diff --git a/shell/browser/native_window_views.cc b/shell/browser/native_window_views.cc index 9efb0e50f55f2..1c27c5b5c29ef 100644 --- a/shell/browser/native_window_views.cc +++ b/shell/browser/native_window_views.cc @@ -12,7 +12,7 @@ #include #include -#include "base/numerics/ranges.h" +#include "base/cxx17_backports.h" #include "base/stl_util.h" #include "base/strings/utf_string_conversions.h" #include "content/public/browser/browser_thread.h" @@ -1023,7 +1023,7 @@ bool NativeWindowViews::HasShadow() { void NativeWindowViews::SetOpacity(const double opacity) { #if defined(OS_WIN) - const double boundedOpacity = base::ClampToRange(opacity, 0.0, 1.0); + const double boundedOpacity = base::clamp(opacity, 0.0, 1.0); HWND hwnd = GetAcceleratedWidget(); if (!layered_) { LONG ex_style = ::GetWindowLong(hwnd, GWL_EXSTYLE); diff --git a/shell/browser/net/asar/asar_url_loader.h b/shell/browser/net/asar/asar_url_loader.h index e7c540cabe089..a2594b99a1470 100644 --- a/shell/browser/net/asar/asar_url_loader.h +++ b/shell/browser/net/asar/asar_url_loader.h @@ -6,6 +6,7 @@ #define SHELL_BROWSER_NET_ASAR_ASAR_URL_LOADER_H_ #include "mojo/public/cpp/bindings/pending_remote.h" +#include "services/network/public/cpp/resource_request.h" #include "services/network/public/mojom/url_loader.mojom.h" namespace asar { diff --git a/shell/browser/net/electron_url_loader_factory.h b/shell/browser/net/electron_url_loader_factory.h index b31be2a7cb520..7b107ed5fe3b6 100644 --- a/shell/browser/net/electron_url_loader_factory.h +++ b/shell/browser/net/electron_url_loader_factory.h @@ -15,6 +15,7 @@ #include "mojo/public/cpp/bindings/receiver_set.h" #include "mojo/public/cpp/bindings/remote.h" #include "net/url_request/url_request_job_factory.h" +#include "services/network/public/cpp/resource_request.h" #include "services/network/public/cpp/self_deleting_url_loader_factory.h" #include "services/network/public/mojom/url_loader.mojom.h" #include "services/network/public/mojom/url_loader_factory.mojom.h" diff --git a/shell/browser/net/resolve_proxy_helper.cc b/shell/browser/net/resolve_proxy_helper.cc index f74c856c5683d..69b84818f1159 100644 --- a/shell/browser/net/resolve_proxy_helper.cc +++ b/shell/browser/net/resolve_proxy_helper.cc @@ -56,7 +56,7 @@ void ResolveProxyHelper::StartPendingRequest() { browser_context_->GetDefaultStoragePartition() ->GetNetworkContext() ->LookUpProxyForURL(pending_requests_.front().url, - net::NetworkIsolationKey::Todo(), + net::NetworkIsolationKey(), std::move(proxy_lookup_client)); } diff --git a/shell/browser/net/system_network_context_manager.cc b/shell/browser/net/system_network_context_manager.cc index 74094de2498b3..0e9f0e0709c9e 100644 --- a/shell/browser/net/system_network_context_manager.cc +++ b/shell/browser/net/system_network_context_manager.cc @@ -236,8 +236,8 @@ void SystemNetworkContextManager::OnNetworkServiceCreated( if (electron::fuses::IsCookieEncryptionEnabled()) { std::string app_name = electron::Browser::Get()->GetName(); #if defined(OS_MAC) - *KeychainPassword::service_name = app_name + " Safe Storage"; - *KeychainPassword::account_name = app_name; + KeychainPassword::GetServiceName() = app_name + " Safe Storage"; + KeychainPassword::GetAccountName() = app_name; #endif // The OSCrypt keys are process bound, so if network service is out of // process, send it the required key. diff --git a/shell/browser/net/url_pipe_loader.h b/shell/browser/net/url_pipe_loader.h index 14ebcd643e0f5..e6784ff2af7bb 100644 --- a/shell/browser/net/url_pipe_loader.h +++ b/shell/browser/net/url_pipe_loader.h @@ -9,9 +9,11 @@ #include #include +#include "base/values.h" #include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/remote.h" #include "mojo/public/cpp/system/data_pipe_producer.h" +#include "services/network/public/cpp/resource_request.h" #include "services/network/public/cpp/simple_url_loader.h" #include "services/network/public/cpp/simple_url_loader_stream_consumer.h" #include "services/network/public/mojom/url_loader.mojom.h" diff --git a/shell/browser/ui/views/menu_bar.cc b/shell/browser/ui/views/menu_bar.cc index 6ebb3931520c0..b88210513d8ba 100644 --- a/shell/browser/ui/views/menu_bar.cc +++ b/shell/browser/ui/views/menu_bar.cc @@ -33,7 +33,10 @@ const char MenuBar::kViewClassName[] = "ElectronMenuBar"; MenuBar::MenuBar(NativeWindow* window, RootView* root_view) : background_color_(kDefaultColor), window_(window), root_view_(root_view) { - RefreshColorCache(); + const ui::NativeTheme* theme = root_view_->GetNativeTheme(); + if (theme) { + RefreshColorCache(theme); + } UpdateViewColors(); SetFocusBehavior(FocusBehavior::ALWAYS); SetLayoutManager(std::make_unique( @@ -147,7 +150,10 @@ bool MenuBar::SetPaneFocusAndFocusDefault() { void MenuBar::OnThemeChanged() { views::AccessiblePaneView::OnThemeChanged(); - RefreshColorCache(); + const ui::NativeTheme* theme = root_view_->GetNativeTheme(); + if (theme) { + RefreshColorCache(theme); + } UpdateViewColors(); } @@ -196,8 +202,7 @@ void MenuBar::ButtonPressed(int id, const ui::Event& event) { menu_delegate->AddObserver(this); } -void MenuBar::RefreshColorCache() { - const ui::NativeTheme* theme = GetNativeTheme(); +void MenuBar::RefreshColorCache(const ui::NativeTheme* theme) { if (theme) { #if defined(OS_LINUX) background_color_ = gtk::GetBgColor("GtkMenuBar#menubar"); diff --git a/shell/browser/ui/views/menu_bar.h b/shell/browser/ui/views/menu_bar.h index 5590fd9292514..7bed3bf961896 100644 --- a/shell/browser/ui/views/menu_bar.h +++ b/shell/browser/ui/views/menu_bar.h @@ -70,7 +70,7 @@ class MenuBar : public views::AccessiblePaneView, void RebuildChildren(); void UpdateViewColors(); - void RefreshColorCache(); + void RefreshColorCache(const ui::NativeTheme* theme); View* FindAccelChild(char16_t key); SkColor background_color_; diff --git a/shell/common/gin_converters/net_converter.h b/shell/common/gin_converters/net_converter.h index 2341202e1bdf6..db2ea11be11ee 100644 --- a/shell/common/gin_converters/net_converter.h +++ b/shell/common/gin_converters/net_converter.h @@ -11,6 +11,7 @@ #include "gin/converter.h" #include "services/network/public/mojom/fetch_api.mojom.h" +#include "services/network/public/mojom/url_request.mojom.h" #include "shell/browser/net/cert_verifier_client.h" namespace net {