diff --git a/patches/chromium/.patches b/patches/chromium/.patches index 6bae0a58f9af..e93ffbc97e79 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -145,5 +145,3 @@ ignore_parse_errors_for_pkey_appusermodel_toastactivatorclsid.patch fix_win32_synchronous_spellcheck.patch fix_drag_and_drop_icons_on_windows.patch chore_remove_conflicting_allow_unsafe_libc_calls.patch -cherry-pick-521faebc8a7c.patch -cherry-pick-9dacf5694dfd.patch 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 a551056f3627..49e0f5569195 100644 --- a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -23,10 +23,10 @@ index 6c679ef877067297ec3bf1a23af6c03a2af8dcf5..1ac93433189580c13b69cd52ce62681a return receiver_.BindNewEndpointAndPassDedicatedRemote(); } diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc -index ac0856149902d266654ed245a5b4933ad7f239d0..26560099f3419247b2d27ccce3538ca1b4b65afd 100644 +index a387789fe4270739408a9beb32a5ad1a8e51e5f6..43c108bd6b51d293e0f8b1b5393c76c5d167ccef 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc -@@ -755,6 +755,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { +@@ -765,6 +765,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); } diff --git a/patches/chromium/cherry-pick-521faebc8a7c.patch b/patches/chromium/cherry-pick-521faebc8a7c.patch deleted file mode 100644 index bae1cb95eb56..000000000000 --- a/patches/chromium/cherry-pick-521faebc8a7c.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 521faebc8a7cffe23177c6600bfcfb3c0b9ab1dc Mon Sep 17 00:00:00 2001 -From: Geoff Lang -Date: Thu, 06 Mar 2025 19:39:37 -0800 -Subject: [PATCH] Disable setting primtive restart for WebGL in the cmd decoder. - -Until it's blocked in ANGLE for WebGL contexts, disable it in the -command decoder on the service side. - -Bug: 401059730 -Change-Id: Ia9c7d951cbd122454afec2f884968e0a709cee77 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6334632 -Reviewed-by: Shahbaz Youssefi -Reviewed-by: Kenneth Russell -Commit-Queue: Kenneth Russell -Cr-Commit-Position: refs/heads/main@{#1429307} ---- - -diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc -index ad23480..733c553 100644 ---- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc -+++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc -@@ -2170,6 +2170,11 @@ - case GL_DEBUG_OUTPUT: - return true; - -+ case GL_PRIMITIVE_RESTART_FIXED_INDEX: -+ // Disable setting primitive restart at the command decoder level until -+ // it's blocked in ANGLE for WebGL contexts. -+ return feature_info_->IsWebGLContext(); -+ - default: - return false; - } diff --git a/patches/chromium/cherry-pick-9dacf5694dfd.patch b/patches/chromium/cherry-pick-9dacf5694dfd.patch deleted file mode 100644 index a67a1cbf988e..000000000000 --- a/patches/chromium/cherry-pick-9dacf5694dfd.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 9dacf5694dfdb735c335805783840584a50bface Mon Sep 17 00:00:00 2001 -From: Geoff Lang -Date: Thu, 06 Mar 2025 16:02:41 -0800 -Subject: [PATCH] Move WebGL primitive restart state setting to the GPU process. - -ANGLE will validate and initialize this state and errors are generated -when the WebGL client also initializes it on startup. - -Initialize it even in the passthrough command decoder temporarily so -that ANGLE can roll without breaking WebGL tests. - -Bug: 401059730 -Change-Id: I0bfee710673bbcea6f915ffc4fc9be20438a2654 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6330188 -Auto-Submit: Geoff Lang -Commit-Queue: Kenneth Russell -Reviewed-by: Kenneth Russell -Cr-Commit-Position: refs/heads/main@{#1429228} ---- - -diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc -index d835b1f..0eedac0 100644 ---- a/gpu/command_buffer/service/gles2_cmd_decoder.cc -+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc -@@ -3272,6 +3272,13 @@ - } - } - -+ if (feature_info_->context_type() == CONTEXT_TYPE_WEBGL2) { -+ // If WebGL 2, the PRIMITIVE_RESTART_FIXED_INDEX should be always enabled. -+ // See the section in WebGL 2 spec: -+ // https://www.khronos.org/registry/webgl/specs/latest/2.0/#4.1.4 -+ DoEnable(GL_PRIMITIVE_RESTART_FIXED_INDEX); -+ } -+ - if (group_->gpu_preferences().enable_gpu_driver_debug_logging && - feature_info_->feature_flags().khr_debug) { - InitializeGLDebugLogging(true, GLDebugMessageCallback, &logger_); -diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc -index 3ccdebc1..ad23480 100644 ---- a/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc -+++ b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc -@@ -1064,6 +1064,17 @@ - api()->glDisableFn(GL_TEXTURE_RECTANGLE_ANGLE); - #endif - -+ // TEMPORARY: Set primitive restart to enabled by default for WebGL2. Clear -+ // errors afterwards so that when this state is initialized and validated in -+ // ANGLE, it will not generate errors during command buffer initialization. -+ if (feature_info_->context_type() == CONTEXT_TYPE_WEBGL2) { -+ // If WebGL 2, the PRIMITIVE_RESTART_FIXED_INDEX should be always enabled. -+ // See the section in WebGL 2 spec: -+ // https://www.khronos.org/registry/webgl/specs/latest/2.0/#4.1.4 -+ api()->glEnableFn(GL_PRIMITIVE_RESTART_FIXED_INDEX); -+ CheckErrorCallbackState(); -+ } -+ - // Register this object as a GPU switching observer. - if (feature_info_->IsWebGLContext()) { - ui::GpuSwitchingManager::GetInstance()->AddObserver(this); -diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc -index 8e898bd..6030000 100644 ---- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc -+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc -@@ -439,6 +439,13 @@ - } - #endif - -+ if (init.context_type == CONTEXT_TYPE_WEBGL2 && -+ group_->feature_info()->gl_version_info().is_es3) { -+ EXPECT_CALL(*gl_, Enable(GL_PRIMITIVE_RESTART_FIXED_INDEX)) -+ .Times(1) -+ .RetiresOnSaturation(); -+ } -+ - if (context_->HasRobustness()) { - EXPECT_CALL(*gl_, GetGraphicsResetStatusARB()) - .WillOnce(Return(init.lose_context_on_init ? GL_GUILTY_CONTEXT_RESET_ARB -diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -index 79597c8..7c42b98 100644 ---- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -1433,12 +1433,6 @@ - WTF::BindRepeating(&WebGLRenderingContextBase::OnErrorMessage, - WrapWeakPersistent(this))); - -- // If WebGL 2, the PRIMITIVE_RESTART_FIXED_INDEX should be always enabled. -- // See the section in WebGL 2 spec: -- // https://www.khronos.org/registry/webgl/specs/latest/2.0/#4.1.4 -- if (IsWebGL2()) -- ContextGL()->Enable(GL_PRIMITIVE_RESTART_FIXED_INDEX); -- - // This ensures that the context has a valid "lastFlushID" and won't be - // mistakenly identified as the "least recently used" context. - ContextGL()->Flush(); diff --git a/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch b/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch index e2150ec42a9c..2707dde8f38d 100644 --- a/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch +++ b/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch @@ -95,10 +95,10 @@ index 801bfd401ea4a8e72417d88efaa718cc6fb60883..663fec68d0c2855cdf83bb259b85c229 friend class ContentClientCreator; friend class ContentClientInitializer; diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc -index 59abc24988ab4d194461a3ca4f4b2bb68395bada..9e0b16dda73900210bfc6305a5d32e51a704513e 100644 +index 299e0ebd4ba0599257d5ffef8cefda187e549fcb..9b80a6f0cd185e6a9ccdaf3977040a241a25e568 100644 --- a/gin/v8_initializer.cc +++ b/gin/v8_initializer.cc -@@ -663,8 +663,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out, +@@ -662,8 +662,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out, #if defined(V8_USE_EXTERNAL_STARTUP_DATA) @@ -108,7 +108,7 @@ index 59abc24988ab4d194461a3ca4f4b2bb68395bada..9e0b16dda73900210bfc6305a5d32e51 if (g_mapped_snapshot) { // TODO(crbug.com/40558459): Confirm not loading different type of snapshot // files in a process. -@@ -673,10 +672,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) { +@@ -672,10 +671,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) { base::MemoryMappedFile::Region file_region; base::File file = diff --git a/patches/chromium/fix_harden_blink_scriptstate_maybefrom.patch b/patches/chromium/fix_harden_blink_scriptstate_maybefrom.patch index f70fb46267ec..f0002496c6df 100644 --- a/patches/chromium/fix_harden_blink_scriptstate_maybefrom.patch +++ b/patches/chromium/fix_harden_blink_scriptstate_maybefrom.patch @@ -40,7 +40,7 @@ accessing uninitialized lower indexes can return garbage values that cannot be n Refer to v8::EmbedderDataSlot::store_aligned_pointer for context. diff --git a/gin/public/gin_embedders.h b/gin/public/gin_embedders.h -index 8d7c5631fd8f1499c67384286f0e3c4037673b32..99b2e2f63be8a46c5546dd53bc9b05e8c54e857c 100644 +index 8d7c5631fd8f1499c67384286f0e3c4037673b32..2b7bdfbac06a42e6bc51eb65e023c3673e6eb885 100644 --- a/gin/public/gin_embedders.h +++ b/gin/public/gin_embedders.h @@ -20,6 +20,8 @@ enum GinEmbedder : uint16_t { @@ -86,7 +86,7 @@ index e4a27a24c83dd1a478b2ada8b6c8220076790791..c76dc818f38a62fff63852dbecbc85e3 // Cut the reference from ScriptState to V8 context. diff --git a/third_party/blink/renderer/platform/bindings/script_state.h b/third_party/blink/renderer/platform/bindings/script_state.h -index b3cc8d819b06108386aed9465cab4f27a28b675f..a1757901e52360a9c2ec3c573adb20d03cd6ecae 100644 +index b3cc8d819b06108386aed9465cab4f27a28b675f..9c8818f10de59fdd2a3fd44d9cd23d40a93b53a7 100644 --- a/third_party/blink/renderer/platform/bindings/script_state.h +++ b/third_party/blink/renderer/platform/bindings/script_state.h @@ -185,7 +185,12 @@ class PLATFORM_EXPORT ScriptState : public GarbageCollected { diff --git a/patches/chromium/gin_enable_disable_v8_platform.patch b/patches/chromium/gin_enable_disable_v8_platform.patch index be706bd01c92..79b4add30b17 100644 --- a/patches/chromium/gin_enable_disable_v8_platform.patch +++ b/patches/chromium/gin_enable_disable_v8_platform.patch @@ -41,10 +41,10 @@ index cb4517de39b2ca7b32db557c6d3dd0227ba5b4c2..d1d178de28c7d46db1c96ba321070612 // Returns whether `Initialize` has already been invoked in the process. // Initialization is a one-way operation (i.e., this method cannot return diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc -index b6799720cad84282c5c4586adaf263689fd30bbb..59abc24988ab4d194461a3ca4f4b2bb68395bada 100644 +index 915ee4b463d1f9159ce647316d8bd499c7562d62..299e0ebd4ba0599257d5ffef8cefda187e549fcb 100644 --- a/gin/v8_initializer.cc +++ b/gin/v8_initializer.cc -@@ -547,7 +547,8 @@ void SetFeatureFlags() { +@@ -546,7 +546,8 @@ void SetFeatureFlags() { void V8Initializer::Initialize(IsolateHolder::ScriptMode mode, const std::string& js_command_line_flags, bool disallow_v8_feature_flag_overrides, @@ -54,7 +54,7 @@ index b6799720cad84282c5c4586adaf263689fd30bbb..59abc24988ab4d194461a3ca4f4b2bb6 static bool v8_is_initialized = false; if (v8_is_initialized) return; -@@ -561,7 +562,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode, +@@ -560,7 +561,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode, } SetFlags(mode, js_command_line_flags); diff --git a/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch b/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch index c7a66a05b2be..ba91444c7f4b 100644 --- a/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch +++ b/patches/chromium/revert_code_health_clean_up_stale_macwebcontentsocclusion.patch @@ -233,7 +233,7 @@ index 2991489fae8a4eecad97b1ecb2271f096d9a9229..93b7aa620ad1da250ac06e3383ca6897 } diff --git a/content/common/features.cc b/content/common/features.cc -index 5323e486d6e1550195317275eb0226bd94ea8e35..d8ed1aba1c69bf3a78ba9cb681999c347cf4eb47 100644 +index 2f413423e29bfab95c2527f6a25cbd69da6911c1..2d144b8b81b5bcf6a01be4afed76489498063f34 100644 --- a/content/common/features.cc +++ b/content/common/features.cc @@ -256,6 +256,14 @@ BASE_FEATURE(kIOSurfaceCapturer, @@ -252,7 +252,7 @@ index 5323e486d6e1550195317275eb0226bd94ea8e35..d8ed1aba1c69bf3a78ba9cb681999c34 // invalidated upon notifications sent by base::SystemMonitor. If disabled, the // cache is considered invalid on every enumeration request. diff --git a/content/common/features.h b/content/common/features.h -index 0f9451fcad172e09adbe0d93d93e78332429acbe..751c8c8ad6d4cf57fab7f9fd62d3f6a8db1ab31f 100644 +index 9e2bcef76f5698c1908a0b8173b4d71c6b821bad..38e7bd60ff0fc87540ef22d29f33e8d607966100 100644 --- a/content/common/features.h +++ b/content/common/features.h @@ -67,6 +67,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan);