diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index 5814444ec921..76a29debe85c 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -23,7 +23,7 @@ index ad0092ef2e13853e4bb8b923481559a043b00ab7..1c2dfd23f18733e21312992877ae1499 int32_t world_id) {} virtual void DidClearWindowObject() {} diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 3d0544422f05e2edc02921fc39335bf10184028e..bf44c1ffef7df44448ee7b5b176c33348599f0be 100644 +index 6f932370352cb64a218ab93fa04f70a00947c228..df0a2685638b8f9b75f97ec96dd4c8706c013e7e 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc @@ -4792,6 +4792,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local context, 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 1dd5789d75cc..a55d2f572160 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 9580623c57cb02f7e924742c6cb1638676881115..ad80d8e63dfebbbdb8eaa63bfe38a6f8 "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index 3914cb63eed91e0e8a6eb8b64092c5dbe5348781..a6a24986f33fb79d3226840ffaa62448026f7383 100644 +index c2c22a92bccb2487319affed384cac10dbc839a8..d3bccc91ebe651d3075325aaf9d0c5114e238b85 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4525,7 +4525,7 @@ static_library("browser") { +@@ -4524,7 +4524,7 @@ static_library("browser") { ] } diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index d9cd73a7c3ac..15fafcd871c5 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 95b2ad64c83361c452f9256cf96873f2cd82b446..53f96ccd4954972bc78ebccf4bf479ac8564a8d3 100644 +index f58b9b0333e01f95ecf1b1d3fd3e273b675705cc..dae7654fc44e25ddc80dab4732b617f0784b47fc 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -9179,6 +9179,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -9187,6 +9187,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 95b2ad64c83361c452f9256cf96873f2cd82b446..53f96ccd4954972bc78ebccf4bf479ac &no_javascript_access); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index ea5a63ce49a1eb99792be2eafc64c44ad6da0a60..a722f77502e8b896fb5d55df7cb44d45d13df04f 100644 +index 03b5291540931c40707fbd786645721336c72dae..67c946a84a6578eaf73f33c2ff42a55876b08404 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4891,6 +4891,12 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4893,6 +4893,12 @@ FrameTree* WebContentsImpl::CreateNewWindow( SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params, opener); @@ -37,7 +37,7 @@ index ea5a63ce49a1eb99792be2eafc64c44ad6da0a60..a722f77502e8b896fb5d55df7cb44d45 // If the new frame has a name, make sure any SiteInstances that can find // this named frame have proxies for it. Must be called after // SetSessionStorageNamespace, since this calls CreateRenderView, which uses -@@ -4932,12 +4938,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4934,12 +4940,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( AddWebContentsDestructionObserver(new_contents_impl); } @@ -148,10 +148,10 @@ index 77ee6ba6c65c95622e41f86906ea813be62f72e9..7f38098505afabe1887a6d98a705f1ad // typically happens when popups are created. virtual void WebContentsCreated(WebContents* source_contents, diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc -index 6fed6b4c7ad72bd90aeb9f6eea7a3081972c88f8..3d0544422f05e2edc02921fc39335bf10184028e 100644 +index a0e45dfcf20ed570f2751a8f194b4a82b46c87b6..6f932370352cb64a218ab93fa04f70a00947c228 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -6849,6 +6849,10 @@ WebView* RenderFrameImpl::CreateNewWindow( +@@ -6865,6 +6865,10 @@ WebView* RenderFrameImpl::CreateNewWindow( request.HasUserGesture(), GetWebFrame()->IsAdFrame(), GetWebFrame()->IsAdScriptInStack()); @@ -210,10 +210,10 @@ index c576ace24e81cc877aa2595d40e0a13a7af9f6a2..210fb97d44c19c29af424cc7b9cb3169 } // namespace blink diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc -index 00a4ed4f0625981e3bef338399957419d2cffdf0..d0db7f8727dc2fbe0a9ae0489a6aa4e278e1cb34 100644 +index ba53e2576ff7944071fd46c2d4d8635084738cb3..fb38a3b96cd32720096b106845f706d113f1794e 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -2234,6 +2234,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2235,6 +2235,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, WebWindowFeatures window_features = GetWindowFeaturesFromString(features, entered_window); diff --git a/patches/chromium/cherry-pick-1282289030ab.patch b/patches/chromium/cherry-pick-1282289030ab.patch index b35757836919..0801c3ed4948 100644 --- a/patches/chromium/cherry-pick-1282289030ab.patch +++ b/patches/chromium/cherry-pick-1282289030ab.patch @@ -1,7 +1,7 @@ -From 1282289030ab2026a8db4fb82dc6e20d3bf028be Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Kevin Ellis Date: Thu, 12 Dec 2024 06:47:30 -0800 -Subject: [PATCH] Prune superfluous calls to SetCompositorPending +Subject: Prune superfluous calls to SetCompositorPending We only need to call SetCompositorPending with the pending cancel reason if the animation is running on the compositor. @@ -17,13 +17,12 @@ Reviewed-by: Robert Flack Commit-Queue: Kevin Ellis Reviewed-by: Claire Chambers Cr-Commit-Position: refs/heads/main@{#1395390} ---- diff --git a/third_party/blink/renderer/core/animation/animation.cc b/third_party/blink/renderer/core/animation/animation.cc -index 9e162a6f..b58b017 100644 +index 1b384beef682c87b4bec3c9233d45529c5569b56..694ca51b1a59270289fabe70dbb381167fc89a83 100644 --- a/third_party/blink/renderer/core/animation/animation.cc +++ b/third_party/blink/renderer/core/animation/animation.cc -@@ -1271,14 +1271,7 @@ +@@ -1269,14 +1269,7 @@ void Animation::setEffect(AnimationEffect* new_effect) { ResolveTimelineOffsets(timeline_ ? timeline_->GetTimelineRange() : TimelineRange()); @@ -39,7 +38,7 @@ index 9e162a6f..b58b017 100644 // Notify of a potential state change. NotifyProbe(); -@@ -2375,6 +2368,26 @@ +@@ -2373,6 +2366,26 @@ void Animation::StartAnimationOnCompositor( timeline()->IsMonotonicallyIncreasing(), boundary_aligned); } @@ -66,7 +65,7 @@ index 9e162a6f..b58b017 100644 // TODO(crbug.com/960944): Rename to SetPendingCommit. This method handles both // composited and non-composited animations. The use of 'compositor' in the name // is confusing. -@@ -2833,7 +2846,7 @@ +@@ -2831,7 +2844,7 @@ bool Animation::Update(TimingUpdateReason reason) { // After updating the animation time if the animation is no longer current // blink will no longer composite the element (see // CompositingReasonFinder::RequiresCompositingFor*Animation). @@ -75,7 +74,7 @@ index 9e162a6f..b58b017 100644 SetCompositorPending(CompositorPendingReason::kPendingCancel); } } -@@ -2874,6 +2887,9 @@ +@@ -2872,6 +2885,9 @@ void Animation::UpdateIfNecessary() { } void Animation::EffectInvalidated() { @@ -85,7 +84,7 @@ index 9e162a6f..b58b017 100644 SetOutdated(); UpdateFinishedState(UpdateType::kContinuous, NotificationType::kAsync); // FIXME: Needs to consider groups when added. -@@ -3381,15 +3397,22 @@ +@@ -3379,15 +3395,22 @@ bool Animation::IsInDisplayLockedSubtree() { } void Animation::UpdateCompositedPaintStatus() { @@ -110,7 +109,7 @@ index 9e162a6f..b58b017 100644 Element* target = keyframe_effect->EffectTarget(); if (!target) { return; -@@ -3398,14 +3421,7 @@ +@@ -3396,14 +3419,7 @@ void Animation::UpdateCompositedPaintStatus() { ElementAnimations* element_animations = target->GetElementAnimations(); DCHECK(element_animations); @@ -127,10 +126,10 @@ index 9e162a6f..b58b017 100644 void Animation::Trace(Visitor* visitor) const { diff --git a/third_party/blink/renderer/core/animation/animation.h b/third_party/blink/renderer/core/animation/animation.h -index 61007d7..bc0a891 100644 +index c20180d785ca62417ba5e05417462fec5beeae5b..cfd2b44724c86b272982dee4db54ed5191e51d22 100644 --- a/third_party/blink/renderer/core/animation/animation.h +++ b/third_party/blink/renderer/core/animation/animation.h -@@ -393,6 +393,15 @@ +@@ -393,6 +393,15 @@ class CORE_EXPORT Animation : public EventTarget, start_time_ = start_time; } @@ -146,7 +145,7 @@ index 61007d7..bc0a891 100644 protected: DispatchEventResult DispatchEventInternal(Event&) override; void AddedEventListener(const AtomicString& event_type, -@@ -583,6 +592,13 @@ +@@ -583,6 +592,13 @@ class CORE_EXPORT Animation : public EventTarget, Member pending_remove_event_; @@ -161,10 +160,10 @@ index 61007d7..bc0a891 100644 // mutually exclusive pending_play_ and pending_pause_ flags. enum class CompositorAction { kNone, kStart, kCancel }; diff --git a/third_party/blink/renderer/core/animation/element_animations.cc b/third_party/blink/renderer/core/animation/element_animations.cc -index ca2864f..b1f3b32 100644 +index ca2864f2f7ef8b8969d63a25e85f23f5c9a97b74..b1f3b32332af4f948bb2598f1646f29c97660413 100644 --- a/third_party/blink/renderer/core/animation/element_animations.cc +++ b/third_party/blink/renderer/core/animation/element_animations.cc -@@ -97,43 +97,59 @@ +@@ -97,43 +97,59 @@ void ElementAnimations::RecalcCompositedStatusForKeyframeChange( Element& element, AnimationEffect* effect) { if (KeyframeEffect* keyframe_effect = DynamicTo(effect)) { @@ -251,10 +250,10 @@ index ca2864f..b1f3b32 100644 element->GetLayoutObject()->SetShouldDoFullPaintInvalidation(); // For clip paths, we also need to update the paint properties to switch diff --git a/third_party/blink/renderer/core/animation/element_animations.h b/third_party/blink/renderer/core/animation/element_animations.h -index 624f542..3171061 100644 +index 624f542785befe6ce92e7f75eb8595a2015a77ef..3171061ceb1a0dad426481454d3698c1eee22fd0 100644 --- a/third_party/blink/renderer/core/animation/element_animations.h +++ b/third_party/blink/renderer/core/animation/element_animations.h -@@ -120,7 +120,7 @@ +@@ -120,7 +120,7 @@ class CORE_EXPORT ElementAnimations final void RecalcCompositedStatusForKeyframeChange(Element& element, AnimationEffect* effect); diff --git a/patches/chromium/cherry-pick-3dc17c461b12.patch b/patches/chromium/cherry-pick-3dc17c461b12.patch index e3a67e53258a..9ca81f21b8dd 100644 --- a/patches/chromium/cherry-pick-3dc17c461b12.patch +++ b/patches/chromium/cherry-pick-3dc17c461b12.patch @@ -1,7 +1,7 @@ -From 3dc17c461b12fd735c1173a90a2ca62c086a4110 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Orko Garai Date: Fri, 29 Nov 2024 16:17:04 +0000 -Subject: [PATCH] Wayland IME: Underline composition text fallback +Subject: Wayland IME: Underline composition text fallback At this time text-input-v3 does not provide any styling information. As a quality-of-life improvement, ensure that a default composition @@ -17,13 +17,12 @@ Commit-Queue: Orko Garai Reviewed-by: Darren Shen Reviewed-by: Kramer Ge Cr-Commit-Position: refs/heads/main@{#1389833} ---- diff --git a/ui/ozone/platform/wayland/host/wayland_input_method_context.cc b/ui/ozone/platform/wayland/host/wayland_input_method_context.cc -index 715e181a..2cfa5cc 100644 +index a063ff09e6c388242b94dca73d31b586f12e80a1..23d9918afde6847a3776d810ed60738c59f80c30 100644 --- a/ui/ozone/platform/wayland/host/wayland_input_method_context.cc +++ b/ui/ozone/platform/wayland/host/wayland_input_method_context.cc -@@ -530,6 +530,7 @@ +@@ -552,6 +552,7 @@ void WaylandInputMethodContext::OnPreeditString( const gfx::Range& preedit_cursor) { CompositionText composition_text; composition_text.text = base::UTF8ToUTF16(text); @@ -31,7 +30,7 @@ index 715e181a..2cfa5cc 100644 for (const auto& span : spans) { auto start_offset = OffsetFromUTF8Offset(text, span.index); if (!start_offset) -@@ -540,9 +541,18 @@ +@@ -562,9 +563,18 @@ void WaylandInputMethodContext::OnPreeditString( const auto& style = span.style; if (!style.has_value()) continue; @@ -51,10 +50,10 @@ index 715e181a..2cfa5cc 100644 // This is the case if a preceding preedit_cursor event in text-input-v1 was // not received or an explicit negative value was requested to hide the diff --git a/ui/ozone/platform/wayland/host/wayland_input_method_context_unittest.cc b/ui/ozone/platform/wayland/host/wayland_input_method_context_unittest.cc -index d005de4..dbb339d 100644 +index 7fed0c0a206c98764abbe2fc22110dc31b9fdbd8..24b90a83f2dad3a29634549fc4716980fe409d52 100644 --- a/ui/ozone/platform/wayland/host/wayland_input_method_context_unittest.cc +++ b/ui/ozone/platform/wayland/host/wayland_input_method_context_unittest.cc -@@ -1174,6 +1174,34 @@ +@@ -1174,6 +1174,34 @@ TEST_P(WaylandInputMethodContextTest, SetInputTypeAfterFocus) { }); } @@ -89,7 +88,7 @@ index d005de4..dbb339d 100644 TEST_P(WaylandInputMethodContextTest, OnPreeditChanged) { constexpr std::string_view kPreeditString("PreeditString"); constexpr gfx::Range kSelection{7, 13}; -@@ -1181,13 +1209,19 @@ +@@ -1181,13 +1209,19 @@ TEST_P(WaylandInputMethodContextTest, OnPreeditChanged) { kPreeditString, {{0, static_cast(kPreeditString.size()), diff --git a/patches/chromium/chore_partial_revert_of.patch b/patches/chromium/chore_partial_revert_of.patch index 1f9df219200a..b6866e201a90 100644 --- a/patches/chromium/chore_partial_revert_of.patch +++ b/patches/chromium/chore_partial_revert_of.patch @@ -14,10 +14,10 @@ track down the source of this problem & figure out if we can fix it by changing something in Electron. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 5469931a7c4dc7ad8b98f5ac54c5538a7ba23a78..9bd28a4029de17833d5147986736747075ff35bc 100644 +index d1bfb30a063fb1be05cb7e3c888ed47d13935585..6c5a64fed98b7120ff2426066fbfadf5c2a6d9a0 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4817,9 +4817,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4819,9 +4819,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( bool renderer_started_hidden = params.disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB; diff --git a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch index b0a5af0e5286..f6d015efd6ff 100644 --- a/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch +++ b/patches/chromium/chore_provide_iswebcontentscreationoverridden_with_full_params.patch @@ -190,10 +190,10 @@ index 6c89a03712b9449e1a7b0e38ed9d019b30029c15..50b324ef3f1163e462ad145e58b42bf3 void SetContentsBounds(content::WebContents* source, const gfx::Rect& bounds) override; diff --git a/components/offline_pages/content/background_loader/background_loader_contents.cc b/components/offline_pages/content/background_loader/background_loader_contents.cc -index 072e7d0dde701a8f2d1de2704c8a056363324390..9e5ace2b1f32d5e5c542439f5365f9d9458cbf37 100644 +index e0e9a5a8c1d8c242d39935e2456052619af33cc6..80518793447c70e8fc1dae9b42a59d40427ae52b 100644 --- a/components/offline_pages/content/background_loader/background_loader_contents.cc +++ b/components/offline_pages/content/background_loader/background_loader_contents.cc -@@ -85,8 +85,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden( +@@ -89,8 +89,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden( content::SiteInstance* source_site_instance, content::mojom::WindowContainerType window_container_type, const GURL& opener_url, @@ -218,10 +218,10 @@ index c6838c83ef971b88769b1f3fba8095025ae25464..2da6a4e08340e72ba7de5d03444c2f17 content::WebContents* AddNewContents( content::WebContents* source, diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 1f0b9a602a9e6cf565818ad584688b783fe3430b..1d1d761f8c7ff09cbd2c6a567e070ac41d3a1759 100644 +index eecd6fee29f6fd45299e8f8790c65dc76b6cb93f..aed9541bc931ccbc1f8d80a6ce4dfe055db59da2 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4786,8 +4786,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4788,8 +4788,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( if (delegate_ && delegate_->IsWebContentsCreationOverridden( source_site_instance, params.window_container_type, diff --git a/patches/chromium/disable_unload_metrics.patch b/patches/chromium/disable_unload_metrics.patch index b1eeff6b2a0b..4995b30d3979 100644 --- a/patches/chromium/disable_unload_metrics.patch +++ b/patches/chromium/disable_unload_metrics.patch @@ -24,10 +24,10 @@ This patch temporarily disables the metrics so we can have green CI, and we should continue seeking for a real fix. diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc -index 53e54257aabbede66de278b0248c1c9959175143..69942e83c88d9c7eb99bd7b0eeae5c7b97356f17 100644 +index adbe15bbbde7096970ec4098b1aa4fbb5ba48df5..9207aff59ec5fc9733e1e161ba2688a614e8e069 100644 --- a/content/browser/renderer_host/navigator.cc +++ b/content/browser/renderer_host/navigator.cc -@@ -1435,6 +1435,7 @@ void Navigator::RecordNavigationMetrics( +@@ -1450,6 +1450,7 @@ void Navigator::RecordNavigationMetrics( .InMilliseconds()); } @@ -35,7 +35,7 @@ index 53e54257aabbede66de278b0248c1c9959175143..69942e83c88d9c7eb99bd7b0eeae5c7b // If this is a same-process navigation and we have timestamps for unload // durations, fill those metrics out as well. if (params.unload_start && params.unload_end && -@@ -1484,6 +1485,7 @@ void Navigator::RecordNavigationMetrics( +@@ -1499,6 +1500,7 @@ void Navigator::RecordNavigationMetrics( first_before_unload_start_time) .InMilliseconds()); } diff --git a/patches/chromium/expose_setuseragent_on_networkcontext.patch b/patches/chromium/expose_setuseragent_on_networkcontext.patch index 2902669fbb8c..cf7a1ef40ecc 100644 --- a/patches/chromium/expose_setuseragent_on_networkcontext.patch +++ b/patches/chromium/expose_setuseragent_on_networkcontext.patch @@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4 } // namespace net diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index 4be02fdb03038ee4c30ea699cbbf56d1f5aaa7aa..b0a994b7c6d4be648d905bc1e4157bc03b56a428 100644 +index c5199a66320bfdb7abda0878b7ae24e02f49b420..4f043e19acecfd7defcb79d397538168bb6bd42a 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -1793,6 +1793,13 @@ void NetworkContext::SetNetworkConditions( +@@ -1796,6 +1796,13 @@ void NetworkContext::SetNetworkConditions( std::move(network_conditions)); } diff --git a/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch b/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch index c094ea938a82..836034218d30 100644 --- a/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch +++ b/patches/chromium/fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch @@ -87,10 +87,10 @@ index 51522e60d6dc14f1113cc438558b6b393c3fe73a..153ed02f493a83ef9ca354cc18736f93 // The view with active text input state, i.e., a focused element. // It will be nullptr if no such view exists. Note that the active view diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index f8872945d67dacbdb9c3d610ff3719039eca7c94..5469931a7c4dc7ad8b98f5ac54c5538a7ba23a78 100644 +index 53e3bc48242f07bd984308583b1f999360f4e9d2..d1bfb30a063fb1be05cb7e3c888ed47d13935585 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -9393,7 +9393,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( +@@ -9395,7 +9395,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( "WebContentsImpl::OnFocusedElementChangedInFrame", "render_frame_host", frame); RenderWidgetHostViewBase* root_view = diff --git a/patches/chromium/fix_software_compositing_infinite_loop.patch b/patches/chromium/fix_software_compositing_infinite_loop.patch index 713801e64e22..688c2fa832a9 100644 --- a/patches/chromium/fix_software_compositing_infinite_loop.patch +++ b/patches/chromium/fix_software_compositing_infinite_loop.patch @@ -10,10 +10,10 @@ process CompositingModeFallbackToSoftware IPC to disable GPU compositing. https://issues.chromium.org/345275130 diff --git a/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc b/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc -index 001e931ba705a1a52dfbcb717fe8e30b7014fde8..c545a7257e561f86aecc336769c0dd22c9772465 100644 +index b2569e7ce111e9fd8ab76a0adebfa35c8487f53e..898528a7a0ffa279eda5ba9f81eb73b84431577b 100644 --- a/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc +++ b/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc -@@ -381,9 +381,13 @@ void LayerTreeView::DidFailToInitializeLayerTreeFrameSink() { +@@ -387,9 +387,13 @@ void LayerTreeView::DidFailToInitializeLayerTreeFrameSink() { // unable to be killed after Chrome is closed. // https://issues.chromium.org/336164423 if (!Platform::Current()->IsGpuRemoteDisconnected()) { diff --git a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch index 4cc0f55677a4..44b772a7c27d 100644 --- a/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch +++ b/patches/chromium/network_service_allow_remote_certificate_verification_logic.patch @@ -7,7 +7,7 @@ This adds a callback from the network service that's used to implement session.setCertificateVerifyCallback. diff --git a/services/network/network_context.cc b/services/network/network_context.cc -index cae84c27a26d6198d9da5913b008e748d6680037..4be02fdb03038ee4c30ea699cbbf56d1f5aaa7aa 100644 +index f03bc67fbd15625b4935c0333f1b3f129a8ce246..c5199a66320bfdb7abda0878b7ae24e02f49b420 100644 --- a/services/network/network_context.cc +++ b/services/network/network_context.cc @@ -158,6 +158,11 @@ @@ -122,7 +122,7 @@ index cae84c27a26d6198d9da5913b008e748d6680037..4be02fdb03038ee4c30ea699cbbf56d1 constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; NetworkContext::NetworkContextHttpAuthPreferences:: -@@ -1000,6 +1098,13 @@ void NetworkContext::SetClient( +@@ -1003,6 +1101,13 @@ void NetworkContext::SetClient( client_.Bind(std::move(client)); } @@ -136,7 +136,7 @@ index cae84c27a26d6198d9da5913b008e748d6680037..4be02fdb03038ee4c30ea699cbbf56d1 void NetworkContext::CreateURLLoaderFactory( mojo::PendingReceiver receiver, mojom::URLLoaderFactoryParamsPtr params) { -@@ -2569,6 +2674,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2572,6 +2677,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( std::move(cert_verifier)); cert_verifier = std::move(cert_verifier_with_trust_anchors); #endif // BUILDFLAG(IS_CHROMEOS) diff --git a/patches/chromium/notification_provenance.patch b/patches/chromium/notification_provenance.patch index b472c0a3a47e..857ccf6be859 100644 --- a/patches/chromium/notification_provenance.patch +++ b/patches/chromium/notification_provenance.patch @@ -133,7 +133,7 @@ index 05d3a12dd84c7005d46cc73b312f97ef418d96f5..4765de982802541b3efc7211d106acc7 const GURL& document_url, const WeakDocumentPtr& weak_document_ptr, diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc -index 09b7137cd3e26a1aef2c93ff7f08641df56704c0..732978b9650cac5102007c27b9226ff053c92d4f 100644 +index 10a3e987def641bc3504d20a591cc95f1b9fe84f..eca2f5da88dd911ce64824479aac01320840cc22 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -2106,7 +2106,7 @@ void RenderProcessHostImpl::CreateNotificationService( diff --git a/patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch b/patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch index d8de456cbfcb..802e9501ea9b 100644 --- a/patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch +++ b/patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch @@ -10,7 +10,7 @@ an about:blank check to this area. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5403876 diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 7b7e21c5b4b2e6657965c4433c6f9bc064a4ef9f..5abddf5b5cf2ab5e8e03066143b1824908257e87 100644 +index 8938f2b9d680c1850958b4a0a8794c351f318524..3e23e69b59be317a1a316d562a66d6a7378bf3a9 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc @@ -784,8 +784,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch( diff --git a/patches/chromium/printing.patch b/patches/chromium/printing.patch index cf5e305e7a35..30c5efcea9fd 100644 --- a/patches/chromium/printing.patch +++ b/patches/chromium/printing.patch @@ -653,7 +653,7 @@ index 3c2fdc9f9a6c60efc4b0afacbfb83eef55917791..8fd9aff538fa03da6c171927c316d4f6 PrintingFailed(int32 cookie, PrintFailureReason reason); diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc -index 423cea4420bc868baad6260fb7c6b33430eaaf95..2b105dc1fb2a7b06fe717df9edf897446aca606c 100644 +index 423cea4420bc868baad6260fb7c6b33430eaaf95..4a51a5156b9e15e2bbfac521cfbb3f397acaeccc 100644 --- a/components/printing/renderer/print_render_frame_helper.cc +++ b/components/printing/renderer/print_render_frame_helper.cc @@ -52,6 +52,7 @@ @@ -771,7 +771,7 @@ index 423cea4420bc868baad6260fb7c6b33430eaaf95..2b105dc1fb2a7b06fe717df9edf89744 // Check if `this` is still valid. if (!self) return; -@@ -2360,29 +2375,37 @@ void PrintRenderFrameHelper::IPCProcessed() { +@@ -2360,29 +2375,44 @@ void PrintRenderFrameHelper::IPCProcessed() { } bool PrintRenderFrameHelper::InitPrintSettings(blink::WebLocalFrame* frame, @@ -801,12 +801,22 @@ index 423cea4420bc868baad6260fb7c6b33430eaaf95..2b105dc1fb2a7b06fe717df9edf89744 return false; } - bool center_on_paper = !IsPrintingPdfFrame(frame, node); +- bool center_on_paper = !IsPrintingPdfFrame(frame, node); - settings.params->print_scaling_option = -+ settings->params->print_scaling_option = - center_on_paper ? mojom::PrintScalingOption::kCenterShrinkToFitPaper - : mojom::PrintScalingOption::kSourceSize; +- center_on_paper ? mojom::PrintScalingOption::kCenterShrinkToFitPaper +- : mojom::PrintScalingOption::kSourceSize; - RecordDebugEvent(settings.params->printed_doc_type == ++ bool silent = new_settings.FindBool("silent").value_or(false); ++ if (silent) { ++ settings->params->print_scaling_option = mojom::PrintScalingOption::kFitToPrintableArea; ++ } else { ++ const auto plugin_node = delegate_->GetPdfElement(frame); ++ const bool center_on_paper = !IsPrintingPdfFrame(frame, plugin_node); ++ settings->params->print_scaling_option = ++ center_on_paper ? mojom::PrintScalingOption::kCenterShrinkToFitPaper ++ : mojom::PrintScalingOption::kSourceSize; ++ } ++ + RecordDebugEvent(settings->params->printed_doc_type == mojom::SkiaDocumentType::kMSKP ? DebugEvent::kSetPrintSettings5 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 50095dc9dafc..164cbe66a015 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -44,10 +44,10 @@ index 886d70636aedfa714b29625f58420ad11ede9ffd..7906b94983733a9deb2365fb2a134619 void RenderWidgetHostImpl::ShowContextMenuAtPoint( diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index a722f77502e8b896fb5d55df7cb44d45d13df04f..1f0b9a602a9e6cf565818ad584688b783fe3430b 100644 +index 67c946a84a6578eaf73f33c2ff42a55876b08404..eecd6fee29f6fd45299e8f8790c65dc76b6cb93f 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -5616,6 +5616,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { +@@ -5618,6 +5618,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { return text_input_manager_.get(); } diff --git a/patches/chromium/refactor_unfilter_unresponsive_events.patch b/patches/chromium/refactor_unfilter_unresponsive_events.patch index cdd0b1234980..e28051778012 100644 --- a/patches/chromium/refactor_unfilter_unresponsive_events.patch +++ b/patches/chromium/refactor_unfilter_unresponsive_events.patch @@ -15,10 +15,10 @@ This CL removes these filters so the unresponsive event can still be accessed from our JS event. The filtering is moved into Electron's code. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 9bd28a4029de17833d5147986736747075ff35bc..140e94cd6dfba03260ff9e2cf4b38459cdaaf9ba 100644 +index 6c5a64fed98b7120ff2426066fbfadf5c2a6d9a0..d7f7bfe232d6eeca8e75d6f3ce3fafbc7515727a 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -9527,25 +9527,13 @@ void WebContentsImpl::RendererUnresponsive( +@@ -9529,25 +9529,13 @@ void WebContentsImpl::RendererUnresponsive( base::RepeatingClosure hang_monitor_restarter) { OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive", "render_widget_host", render_widget_host); diff --git a/patches/chromium/support_mixed_sandbox_with_zygote.patch b/patches/chromium/support_mixed_sandbox_with_zygote.patch index 3af86b56f915..a228b2c00a16 100644 --- a/patches/chromium/support_mixed_sandbox_with_zygote.patch +++ b/patches/chromium/support_mixed_sandbox_with_zygote.patch @@ -22,7 +22,7 @@ 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 732978b9650cac5102007c27b9226ff053c92d4f..851eff886b5827e362b260f6a954a9081417b067 100644 +index eca2f5da88dd911ce64824479aac01320840cc22..12aa181c5dd8782c1901cc92b12039fd28e712b5 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -1754,6 +1754,10 @@ bool RenderProcessHostImpl::Init() { diff --git a/patches/chromium/web_contents.patch b/patches/chromium/web_contents.patch index 6f4db654265e..e4d0aa194c12 100644 --- a/patches/chromium/web_contents.patch +++ b/patches/chromium/web_contents.patch @@ -9,7 +9,7 @@ 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 1d1d761f8c7ff09cbd2c6a567e070ac41d3a1759..50dd1fe97063a3d763461fe3ff7af340e7c4ad05 100644 +index aed9541bc931ccbc1f8d80a6ce4dfe055db59da2..c4185b6238acefefc89b421a6e7fd0744f07ca17 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -3758,6 +3758,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index 45878951c0fa..e239c6f10b18 100644 --- a/patches/chromium/webview_fullscreen.patch +++ b/patches/chromium/webview_fullscreen.patch @@ -15,10 +15,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 53f96ccd4954972bc78ebccf4bf479ac8564a8d3..7b7e21c5b4b2e6657965c4433c6f9bc064a4ef9f 100644 +index dae7654fc44e25ddc80dab4732b617f0784b47fc..8938f2b9d680c1850958b4a0a8794c351f318524 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -8286,6 +8286,17 @@ void RenderFrameHostImpl::EnterFullscreen( +@@ -8294,6 +8294,17 @@ void RenderFrameHostImpl::EnterFullscreen( } } @@ -37,7 +37,7 @@ index 53f96ccd4954972bc78ebccf4bf479ac8564a8d3..7b7e21c5b4b2e6657965c4433c6f9bc0 if (had_fullscreen_token && !GetView()->HasFocus()) GetView()->Focus(); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc -index 50dd1fe97063a3d763461fe3ff7af340e7c4ad05..f8872945d67dacbdb9c3d610ff3719039eca7c94 100644 +index c4185b6238acefefc89b421a6e7fd0744f07ca17..53e3bc48242f07bd984308583b1f999360f4e9d2 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -4015,21 +4015,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(