chore: bump chromium to 138.0.7204.15 (37-x-y) (#46980)

* chore: bump chromium in DEPS to 138.0.7166.1

* chore: bump chromium in DEPS to 138.0.7166.2

* chore: bump chromium in DEPS to 138.0.7168.1

* chore: bump chromium in DEPS to 138.0.7169.2

* chore: bump chromium in DEPS to 138.0.7170.1

* chore: bump chromium in DEPS to 138.0.7172.1

* chore: bump chromium in DEPS to 138.0.7173.0

* chore: bump chromium in DEPS to 138.0.7175.0

* chore: bump chromium in DEPS to 138.0.7177.1

* chore: bump chromium in DEPS to 138.0.7178.2

* chore: bump chromium in DEPS to 138.0.7180.1

* chore: bump chromium in DEPS to 138.0.7181.0

* chore: bump chromium in DEPS to 138.0.7182.2

* chore: bump chromium in DEPS to 138.0.7184.0

* chore: bump chromium in DEPS to 138.0.7186.0

* chore: bump chromium in DEPS to 138.0.7188.0

* chore: bump chromium in DEPS to 138.0.7190.1

* chore: bump chromium in DEPS to 138.0.7192.0

* chore: bump chromium in DEPS to 138.0.7194.1

* chore: bump chromium in DEPS to 138.0.7196.1

* chore: bump chromium in DEPS to 138.0.7198.1

* chore: bump chromium in DEPS to 138.0.7200.0

* chore: bump chromium in DEPS to 138.0.7202.0

* chore: bump chromium in DEPS to 138.0.7204.0

* chore: bump chromium in DEPS to 138.0.7204.5

* chore: bump chromium in DEPS to 138.0.7204.4

* 6543986: Mac: decouple deserializing and applying sandbox policy

Refs https://chromium-review.googlesource.com/c/chromium/src/+/6543986

(cherry picked from commit d386063e9d2414a35c91c4fa017665d950de5882)

* 6566111: Change UtilityProcessHost to manage its instance internally
Refs https://chromium-review.googlesource.com/c/chromium/src/+/6566111

(cherry picked from commit 93a0a91d447c118de33efec079365f5d0e8363db)

* chore: update patches

* 6577970: Remove superfluous includes for base/strings/stringprintf.h in headers
Refs https://chromium-review.googlesource.com/c/chromium/src/+/6577970

(cherry picked from commit 9ba045f3715d85792e4aa12139e7e05e0b772634)

* 6568811: Add FunctionCall structured metrics event for DevTools
Refs https://chromium-review.googlesource.com/c/chromium/src/+/6568811

(cherry picked from commit 79ae6f2c8b53568b6277998cfe9a91e3a1ee595b)

* [PDF Ink Signatures] Support PdfAnnotationsEnabled policy

https://chromium-review.googlesource.com/c/chromium/src/+/6558970

* Mac: Switch to Xcode 16.3 (16E140) and SDK 15.4 (24E241)

https://chromium-review.googlesource.com/c/chromium/src/+/6431799

* chore: bump chromium in DEPS to 138.0.7204.15

* chore: update patches

* fixup Mac: decouple deserializing and applying sandbox policy

https://chromium-review.googlesource.com/c/chromium/src/+/6543986

* chore: update patches

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
This commit is contained in:
electron-roller[bot] 2025-06-09 09:32:23 -04:00 committed by GitHub
commit 5953dca8be
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
73 changed files with 395 additions and 4935 deletions

View file

@ -13,7 +13,7 @@ runs:
git config --global core.fscache true git config --global core.fscache true
git config --global core.preloadindex true git config --global core.preloadindex true
fi fi
export BUILD_TOOLS_SHA=6e8526315ea3b4828882497e532b8340e64e053c export BUILD_TOOLS_SHA=f2a960b4d82e6b5c9dbbd437378a39489f399c50
npm i -g @electron/build-tools npm i -g @electron/build-tools
# Update depot_tools to ensure python # Update depot_tools to ensure python
e d update_depot_tools e d update_depot_tools

2
DEPS
View file

@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
vars = { vars = {
'chromium_version': 'chromium_version':
'138.0.7190.0', '138.0.7204.15',
'node_version': 'node_version':
'v22.16.0', 'v22.16.0',
'nan_version': 'nan_version':

View file

@ -82,7 +82,7 @@ index e04b80cd6a1a215fc87f8fd8d750c3d258c3974f..8fdf1c624794f568bfc77b7b6b0c510b
void EVP_MD_do_all(void (*callback)(const EVP_MD *cipher, const char *name, 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 diff --git a/include/openssl/digest.h b/include/openssl/digest.h
index 6abab7693ef2cf418e64d4bf5d53e7e0821cb731..ecbf81be6888cf2e95008da054cf4d3d7df6ad49 100644 index b5f76c34efea47fb52f1642c8ca7e8a78c1ae678..b2420a9614453de35e1918d65d42ff95fbf9cf9e 100644
--- a/include/openssl/digest.h --- a/include/openssl/digest.h
+++ b/include/openssl/digest.h +++ b/include/openssl/digest.h
@@ -48,6 +48,9 @@ OPENSSL_EXPORT const EVP_MD *EVP_blake2b256(void); @@ -48,6 +48,9 @@ OPENSSL_EXPORT const EVP_MD *EVP_blake2b256(void);

View file

@ -143,5 +143,3 @@ fix_enable_wrap_iter_in_string_view_and_array.patch
fix_linter_error.patch fix_linter_error.patch
chore_grandfather_in_electron_views_and_delegates.patch chore_grandfather_in_electron_views_and_delegates.patch
refactor_patch_electron_permissiontypes_into_blink.patch refactor_patch_electron_permissiontypes_into_blink.patch
revert_webgl_add_stub_webgl_2_renderingcontextwebgpu.patch
cherry-pick-f1e6422a355c.patch

View file

@ -10,12 +10,12 @@ Allows Electron to restore WER when ELECTRON_DEFAULT_ERROR_MODE is set.
This should be upstreamed. This should be upstreamed.
diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
index 73be6273b320574c22fd12e07b93dc3cffaa1be9..58a34cc5b583a7111decf14b755afbb82ba94765 100644 index 5cf9e02f97e1378b0b1a55feb007b7d664fc4a84..d1fdf00a1b65fe0f5510608c165df93cf6c13e38 100644
--- a/content/gpu/gpu_main.cc --- a/content/gpu/gpu_main.cc
+++ b/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc
@@ -268,6 +268,10 @@ int GpuMain(MainFunctionParams parameters) { @@ -269,6 +269,10 @@ int GpuMain(MainFunctionParams parameters) {
// to the GpuProcessHost once the GpuServiceImpl has started. // to the GpuProcessHost once the GpuServiceImpl has started.
viz::GpuServiceImpl::InstallPreInitializeLogHandler(); viz::GpuLogMessageManager::GetInstance()->InstallPreInitializeLogHandler();
+ auto* client = GetContentClient()->gpu(); + auto* client = GetContentClient()->gpu();
+ if (client) + if (client)
@ -24,7 +24,7 @@ index 73be6273b320574c22fd12e07b93dc3cffaa1be9..58a34cc5b583a7111decf14b755afbb8
// We are experiencing what appear to be memory-stomp issues in the GPU // We are experiencing what appear to be memory-stomp issues in the GPU
// process. These issues seem to be impacting the task executor and listeners // process. These issues seem to be impacting the task executor and listeners
// registered to it. Create the task executor on the heap to guard against // registered to it. Create the task executor on the heap to guard against
@@ -377,7 +381,6 @@ int GpuMain(MainFunctionParams parameters) { @@ -378,7 +382,6 @@ int GpuMain(MainFunctionParams parameters) {
#endif #endif
const bool dead_on_arrival = !init_success; const bool dead_on_arrival = !init_success;

View file

@ -23,7 +23,7 @@ index db655a7b52eacb74f2a8637db36abd87f6b86792..8014cb08e2090a12ea8b9e92cb8f93c9
int32_t world_id) {} int32_t world_id) {}
virtual void DidClearWindowObject() {} virtual void DidClearWindowObject() {}
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 3fa43adedd6ff0258edd195bde1e68977cff3a7c..7fe443aad2ad6207aa46daddea46baa3eb998bc3 100644 index 5c8ffb1462a21f5d798656efc872ba09d6c0de99..2129c419a3ac4d989f2316484779debaebf90d7c 100644
--- a/content/renderer/render_frame_impl.cc --- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc
@@ -4808,6 +4808,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context, @@ -4808,6 +4808,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,

View file

@ -6,7 +6,7 @@ Subject: allow disabling blink scheduler throttling per RenderView
This allows us to disable throttling for hidden windows. This allows us to disable throttling for hidden windows.
diff --git a/content/browser/renderer_host/navigation_controller_impl_unittest.cc b/content/browser/renderer_host/navigation_controller_impl_unittest.cc diff --git a/content/browser/renderer_host/navigation_controller_impl_unittest.cc b/content/browser/renderer_host/navigation_controller_impl_unittest.cc
index b9e7ef002a8d7842b4e97dbcaa59aa289ba652a1..81bd39f47d8411da53824d47e053b39f8fa24721 100644 index 74e94044c3e18f513eb2ffa051039270f9bd56a1..f824ec4005b6640bdd3d35382f4dddf975893ea9 100644
--- a/content/browser/renderer_host/navigation_controller_impl_unittest.cc --- a/content/browser/renderer_host/navigation_controller_impl_unittest.cc
+++ b/content/browser/renderer_host/navigation_controller_impl_unittest.cc +++ b/content/browser/renderer_host/navigation_controller_impl_unittest.cc
@@ -167,6 +167,12 @@ class MockPageBroadcast : public blink::mojom::PageBroadcast { @@ -167,6 +167,12 @@ class MockPageBroadcast : public blink::mojom::PageBroadcast {
@ -23,10 +23,10 @@ index b9e7ef002a8d7842b4e97dbcaa59aa289ba652a1..81bd39f47d8411da53824d47e053b39f
return receiver_.BindNewEndpointAndPassDedicatedRemote(); 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 diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index 1654ffbb2184cc1db6c0b862cc745ba2e467b740..567f5279d943a58e451a78fb506606cf17a0ef79 100644 index a0335fef252b46976ea2caf95e1bf3ef7d52585d..0a97013b60fcfeb8fac55d686b107b1175c9be04 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc --- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -761,6 +761,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { @@ -760,6 +760,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque); GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque);
} }
@ -116,10 +116,10 @@ index 7c1eb9baabfb9e0f3645421b5cbe467862252638..00d2cd41d795cb550e16fb80944b2382
// Visibility ----------------------------------------------------------- // 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 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 feba9635b40664b1db83ab727798a34b98e5e0b8..f6a248b1de8b313658453dd380529ec7c2e40033 100644 index 97141017fa2ca72746d5269d6da2e08201e85972..2390395a3df10aca3510a619e91dab674de60e67 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -2467,6 +2467,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( @@ -2469,6 +2469,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal", TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal",
"old_state", old_state, "new_state", new_state); "old_state", old_state, "new_state", new_state);
@ -130,7 +130,7 @@ index feba9635b40664b1db83ab727798a34b98e5e0b8..f6a248b1de8b313658453dd380529ec7
bool storing_in_bfcache = new_state->is_in_back_forward_cache && bool storing_in_bfcache = new_state->is_in_back_forward_cache &&
!old_state->is_in_back_forward_cache; !old_state->is_in_back_forward_cache;
bool restoring_from_bfcache = !new_state->is_in_back_forward_cache && bool restoring_from_bfcache = !new_state->is_in_back_forward_cache &&
@@ -3990,10 +3994,23 @@ PageScheduler* WebViewImpl::Scheduler() const { @@ -3992,10 +3996,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
return GetPage()->GetPageScheduler(); return GetPage()->GetPageScheduler();
} }

View file

@ -8,10 +8,10 @@ WebPreferences of in-process child windows, rather than relying on
process-level command line switches, as before. process-level command line switches, as before.
diff --git a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc diff --git a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
index b3e72c9d198a350a164d4abc37fcb19024f43c57..909ac417f24c0e104cba286b6420d8c820784d31 100644 index 96bb1f2205a4f81b78626f8c277c0b82a048895b..881e6fa91b25758a3b3523119360bd92b5fc5802 100644
--- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc --- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
+++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc +++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
@@ -149,6 +149,19 @@ bool StructTraits<blink::mojom::WebPreferencesDataView, @@ -151,6 +151,19 @@ bool StructTraits<blink::mojom::WebPreferencesDataView,
out->v8_cache_options = data.v8_cache_options(); out->v8_cache_options = data.v8_cache_options();
out->record_whole_document = data.record_whole_document(); out->record_whole_document = data.record_whole_document();
out->stylus_handwriting_enabled = data.stylus_handwriting_enabled(); out->stylus_handwriting_enabled = data.stylus_handwriting_enabled();
@ -32,7 +32,7 @@ index b3e72c9d198a350a164d4abc37fcb19024f43c57..909ac417f24c0e104cba286b6420d8c8
out->accelerated_video_decode_enabled = out->accelerated_video_decode_enabled =
data.accelerated_video_decode_enabled(); data.accelerated_video_decode_enabled();
diff --git a/third_party/blink/public/common/web_preferences/web_preferences.h b/third_party/blink/public/common/web_preferences/web_preferences.h diff --git a/third_party/blink/public/common/web_preferences/web_preferences.h b/third_party/blink/public/common/web_preferences/web_preferences.h
index 1ee685e777e27a56da50d38ae7710abb240699a1..7f0ed7e9b0c4c0077eaa733e81ebc421f0ddd02a 100644 index 5c29a554f51023e63948bb7b28fcfdfa02089d66..ce0a19a2a848ac7c3543651a2b4de99dcfc66475 100644
--- a/third_party/blink/public/common/web_preferences/web_preferences.h --- a/third_party/blink/public/common/web_preferences/web_preferences.h
+++ b/third_party/blink/public/common/web_preferences/web_preferences.h +++ b/third_party/blink/public/common/web_preferences/web_preferences.h
@@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
@ -43,7 +43,7 @@ index 1ee685e777e27a56da50d38ae7710abb240699a1..7f0ed7e9b0c4c0077eaa733e81ebc421
#include "build/build_config.h" #include "build/build_config.h"
#include "net/nqe/effective_connection_type.h" #include "net/nqe/effective_connection_type.h"
#include "third_party/blink/public/common/common_export.h" #include "third_party/blink/public/common/common_export.h"
@@ -450,6 +451,20 @@ struct BLINK_COMMON_EXPORT WebPreferences { @@ -452,6 +453,20 @@ struct BLINK_COMMON_EXPORT WebPreferences {
// WebView and by `kWebPayments` feature flag everywhere. // WebView and by `kWebPayments` feature flag everywhere.
bool payment_request_enabled = false; bool payment_request_enabled = false;
@ -65,7 +65,7 @@ index 1ee685e777e27a56da50d38ae7710abb240699a1..7f0ed7e9b0c4c0077eaa733e81ebc421
// chrome, except for the cases where it would require lots of extra work for // chrome, except for the cases where it would require lots of extra work for
// the embedder to use the same default value. // the embedder to use the same default value.
diff --git a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h diff --git a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
index 36a5fb0b42be57e9602c0709b6abb55385f48666..306838bbf7c6d5cddd95e09d703e41d1deac21ab 100644 index ce4074d601eca1d9ca6b30a8b5904366a47d0595..08cd7f1858a63d0d33fee5d345fefce19d2add93 100644
--- a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h --- a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
+++ b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h +++ b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
@@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
@ -76,7 +76,7 @@ index 36a5fb0b42be57e9602c0709b6abb55385f48666..306838bbf7c6d5cddd95e09d703e41d1
#include "mojo/public/cpp/bindings/struct_traits.h" #include "mojo/public/cpp/bindings/struct_traits.h"
#include "net/nqe/effective_connection_type.h" #include "net/nqe/effective_connection_type.h"
#include "third_party/blink/public/common/common_export.h" #include "third_party/blink/public/common/common_export.h"
@@ -438,6 +439,52 @@ struct BLINK_COMMON_EXPORT StructTraits<blink::mojom::WebPreferencesDataView, @@ -443,6 +444,52 @@ struct BLINK_COMMON_EXPORT StructTraits<blink::mojom::WebPreferencesDataView,
return r.stylus_handwriting_enabled; return r.stylus_handwriting_enabled;
} }
@ -130,7 +130,7 @@ index 36a5fb0b42be57e9602c0709b6abb55385f48666..306838bbf7c6d5cddd95e09d703e41d1
return r.cookie_enabled; return r.cookie_enabled;
} }
diff --git a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom diff --git a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
index 9de5f6dafc754b6ee8d894ccd9747a18b8c8efde..dbdf9f48beaa7b5dcc528906d7bfec66c2ebb89f 100644 index 3d0dcedeb104f72a5b7022c990ed9c9fa1989cf6..2963bb74ecdceaf340a00ee984b9a3a65c25cfc9 100644
--- a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom --- a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
+++ b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom +++ b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
@@ -8,9 +8,11 @@ import "third_party/blink/public/mojom/css/preferred_color_scheme.mojom"; @@ -8,9 +8,11 @@ import "third_party/blink/public/mojom/css/preferred_color_scheme.mojom";
@ -145,7 +145,7 @@ index 9de5f6dafc754b6ee8d894ccd9747a18b8c8efde..dbdf9f48beaa7b5dcc528906d7bfec66
enum PointerType { enum PointerType {
kPointerNone = 1, // 1 << 0 kPointerNone = 1, // 1 << 0
kPointerFirstType = kPointerNone, kPointerFirstType = kPointerNone,
@@ -218,6 +220,19 @@ struct WebPreferences { @@ -219,6 +221,19 @@ struct WebPreferences {
// If true, stylus handwriting recognition to text input will be available in // If true, stylus handwriting recognition to text input will be available in
// editable input fields which are non-password type. // editable input fields which are non-password type.
bool stylus_handwriting_enabled; bool stylus_handwriting_enabled;

View file

@ -49,7 +49,7 @@ index c9f34fa47702504ccdefb8d61c55f5eaae501085..26df03d777c9ea487cae37f3df91d1df
// its owning reference back to our owning LocalFrame. // its owning reference back to our owning LocalFrame.
client_->Detached(type); 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 diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
index 6a80292d0c9d7130c762a0a84ca77f62c4c75168..574f947602f8cf9d5abebf6180dc3fb67dc85496 100644 index 43759ed40b3356a838e30772b815d51d20136707..afa8d181e836739f4136cf51ae323f29b0b25ebe 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -727,10 +727,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { @@ -727,10 +727,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {

View file

@ -8,10 +8,10 @@ categories in use are known / declared. This patch is required for us
to introduce a new Electron category for Electron-specific tracing. 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 diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
index e149fca0c6c38eb3898735cb38e41443af61b6d8..24ab0a9b37299e62176167507215351ecc54092b 100644 index 31c41cb8e8cc0d0c43811ce7e97a03f4feb38feb..8adb5a1d415e3424f41d87b19100eedcb55c9e61 100644
--- a/base/trace_event/builtin_categories.h --- a/base/trace_event/builtin_categories.h
+++ b/base/trace_event/builtin_categories.h +++ b/base/trace_event/builtin_categories.h
@@ -102,6 +102,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS( @@ -118,6 +118,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
perfetto::Category("drm"), perfetto::Category("drm"),
perfetto::Category("drmcursor"), perfetto::Category("drmcursor"),
perfetto::Category("dwrite"), perfetto::Category("dwrite"),

View file

@ -11,7 +11,7 @@ if we ever align our .pak file generation with Chrome we can remove this
patch. patch.
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index 84fab7fcdb1a7ded880c0ff4867e09c740e7a5d2..f03f0e67c083880dc13f8f90d9375ff62717ba00 100644 index 72c637f9f3ba48bb7ab06678fe833f33d2cfddc8..e9c8ae3cdb7ba400c59cc469a1a80b5063738ffa 100644
--- a/chrome/BUILD.gn --- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn +++ b/chrome/BUILD.gn
@@ -197,11 +197,16 @@ if (!is_android && !is_mac) { @@ -197,11 +197,16 @@ if (!is_android && !is_mac) {
@ -33,10 +33,10 @@ index 84fab7fcdb1a7ded880c0ff4867e09c740e7a5d2..f03f0e67c083880dc13f8f90d9375ff6
"//base", "//base",
"//build:branding_buildflags", "//build:branding_buildflags",
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 74d78554a4816e76cbf800762386444520c32906..c89251393bdd9439aa768e3d516516dfc4b18824 100644 index efb9b948aca15ae8b4d6257fa685e758d2e3acc1..0e14d0eb15bfcd86831599678eb0f76fe0a803cc 100644
--- a/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -4681,7 +4681,7 @@ static_library("browser") { @@ -4716,7 +4716,7 @@ static_library("browser") {
[ "//chrome/browser/ui/webui/signin:profile_impl" ] [ "//chrome/browser/ui/webui/signin:profile_impl" ]
} }
@ -46,10 +46,10 @@ index 74d78554a4816e76cbf800762386444520c32906..c89251393bdd9439aa768e3d516516df
# than here in :chrome_dll. # than here in :chrome_dll.
deps += [ "//chrome:packed_resources_integrity_header" ] deps += [ "//chrome:packed_resources_integrity_header" ]
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 9dc89f62b8cc049955d8faa4dcbd4904776580ee..cd3b00e4c2a22819e8bd4844cfa5048403f9a70a 100644 index 0f493aeb49901e2917009b942f9b1e14e3fcf758..349079dc25f91fd426d523345ba66271c42ea084 100644
--- a/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn
@@ -7216,9 +7216,12 @@ test("unit_tests") { @@ -7243,9 +7243,12 @@ test("unit_tests") {
"//chrome/notification_helper", "//chrome/notification_helper",
] ]
@ -63,7 +63,7 @@ index 9dc89f62b8cc049955d8faa4dcbd4904776580ee..cd3b00e4c2a22819e8bd4844cfa50484
"//chrome//services/util_win:unit_tests", "//chrome//services/util_win:unit_tests",
"//chrome/app:chrome_dll_resources", "//chrome/app:chrome_dll_resources",
"//chrome/app:win_unit_tests", "//chrome/app:win_unit_tests",
@@ -8182,6 +8185,10 @@ test("unit_tests") { @@ -8209,6 +8212,10 @@ test("unit_tests") {
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc", "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
] ]
@ -74,7 +74,7 @@ index 9dc89f62b8cc049955d8faa4dcbd4904776580ee..cd3b00e4c2a22819e8bd4844cfa50484
sources += [ sources += [
# The importer code is not used on Android. # The importer code is not used on Android.
"../common/importer/firefox_importer_utils_unittest.cc", "../common/importer/firefox_importer_utils_unittest.cc",
@@ -8239,7 +8246,6 @@ test("unit_tests") { @@ -8266,7 +8273,6 @@ test("unit_tests") {
# TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above? # TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above?
deps += [ deps += [
"../browser/screen_ai:screen_ai_install_state", "../browser/screen_ai:screen_ai_install_state",

View file

@ -7,7 +7,7 @@ These are variables we add to the root BUILDCONFIG so that they're available
everywhere, without having to import("//electron/.../flags.gni"). everywhere, without having to import("//electron/.../flags.gni").
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
index 32cbfa5cfee7f9a2f2d9e696fb54ee753dda4f6c..cc9d083a598aa1e07bf60bc961c5ddcd730921bf 100644 index 706f0f32fe3d5b43692167ce8013699575fbf7b7..40ea2de7a32d7b720ebaa21f6bea4c46a9a20697 100644
--- a/build/config/BUILDCONFIG.gn --- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn
@@ -123,6 +123,9 @@ if (current_os == "") { @@ -123,6 +123,9 @@ if (current_os == "") {

View file

@ -7,10 +7,10 @@ Build libc++ as static library to compile and pass
nan tests nan tests
diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
index 73c197f3cecd7ff34e97326cbf615e7c78919a54..1e93e7ce444cd5c31ddeac86fb1549c648a9a5c0 100644 index 78e270c731f1d40adb231fd16877f83ce1e34e31..cf15334412329f8e0dbdf11e744a425d6d571c7f 100644
--- a/buildtools/third_party/libc++/BUILD.gn --- a/buildtools/third_party/libc++/BUILD.gn
+++ b/buildtools/third_party/libc++/BUILD.gn +++ b/buildtools/third_party/libc++/BUILD.gn
@@ -298,6 +298,7 @@ target(libcxx_target_type, "libc++") { @@ -423,6 +423,7 @@ target(libcxx_target_type, "libc++") {
# need to explicitly depend on libc++. # need to explicitly depend on libc++.
visibility = [ visibility = [
"//build/config:common_deps", "//build/config:common_deps",

View file

@ -9,10 +9,10 @@ potentially prevent a window from being created.
TODO(loc): this patch is currently broken. 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 diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 4c1785b8b7dcc2e0543b12bc4c765c8f0c833451..be73611db5328c76982ecca3caf5eccc30aac45e 100644 index 23cd457563d7d534e924428ac6da2b475e579326..d8698f9f37eefa50bf4e29a164b2cc302c32ecdf 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -9718,6 +9718,7 @@ void RenderFrameHostImpl::CreateNewWindow( @@ -9725,6 +9725,7 @@ void RenderFrameHostImpl::CreateNewWindow(
last_committed_origin_, params->window_container_type, last_committed_origin_, params->window_container_type,
params->target_url, params->referrer.To<Referrer>(), params->target_url, params->referrer.To<Referrer>(),
params->frame_name, params->disposition, *params->features, params->frame_name, params->disposition, *params->features,
@ -21,10 +21,10 @@ index 4c1785b8b7dcc2e0543b12bc4c765c8f0c833451..be73611db5328c76982ecca3caf5eccc
&no_javascript_access); &no_javascript_access);
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 8bd0e1d60f6f1af48b106f25d8e8951423eb05ed..c0ef22f3872e96be15867428aff1006b8a14a1df 100644 index e57951543e9f2b0be5164dde3d4b629b081457cc..811d137c4b77d3347dc8de5bb6207646c952f23b 100644
--- a/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5308,6 +5308,12 @@ FrameTree* WebContentsImpl::CreateNewWindow( @@ -5317,6 +5317,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
// Sets the newly created WebContents WindowOpenDisposition. // Sets the newly created WebContents WindowOpenDisposition.
new_contents_impl->original_window_open_disposition_ = params.disposition; new_contents_impl->original_window_open_disposition_ = params.disposition;
@ -37,7 +37,7 @@ index 8bd0e1d60f6f1af48b106f25d8e8951423eb05ed..c0ef22f3872e96be15867428aff1006b
// If the new frame has a name, make sure any SiteInstances that can find // 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 // this named frame have proxies for it. Must be called after
// SetSessionStorageNamespace, since this calls CreateRenderView, which uses // SetSessionStorageNamespace, since this calls CreateRenderView, which uses
@@ -5349,12 +5355,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( @@ -5358,12 +5364,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
AddWebContentsDestructionObserver(new_contents_impl); AddWebContentsDestructionObserver(new_contents_impl);
} }
@ -66,10 +66,10 @@ index 09f1899c9b044a05b2e40c291f17fdf1f9f2fcac..89643bf7059d4fc0d6de6116ffe0fdac
// Operation result when the renderer asks the browser to create a new window. // Operation result when the renderer asks the browser to create a new window.
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index eb036b92b42d794cabd71f4c6314962df8988bbb..0ec4e4f41d261f60cb8e963ca1d715b765e7c47d 100644 index 4a377944faaf947ef478e2d858444b5d3a000c47..f8fffc6d41d26d15ff1f563005d58039099d069e 100644
--- a/content/public/browser/content_browser_client.cc --- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc
@@ -842,6 +842,8 @@ bool ContentBrowserClient::CanCreateWindow( @@ -848,6 +848,8 @@ bool ContentBrowserClient::CanCreateWindow(
const std::string& frame_name, const std::string& frame_name,
WindowOpenDisposition disposition, WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features, const blink::mojom::WindowFeatures& features,
@ -79,7 +79,7 @@ index eb036b92b42d794cabd71f4c6314962df8988bbb..0ec4e4f41d261f60cb8e963ca1d715b7
bool opener_suppressed, bool opener_suppressed,
bool* no_javascript_access) { bool* no_javascript_access) {
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 8c53f1aab26cf78ae0526ae51c1738019f1c0b90..0a74c5a3bee425c5c1af33ef27791a6d852baa6e 100644 index 0d0d957b353e0b147efce4380c445f664741d6f4..08b098fa486c77294250563edbc5d2421fda3d69 100644
--- a/content/public/browser/content_browser_client.h --- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h
@@ -200,6 +200,7 @@ class NetworkService; @@ -200,6 +200,7 @@ class NetworkService;
@ -90,7 +90,7 @@ index 8c53f1aab26cf78ae0526ae51c1738019f1c0b90..0a74c5a3bee425c5c1af33ef27791a6d
} // namespace network } // namespace network
namespace sandbox { namespace sandbox {
@@ -1403,6 +1404,8 @@ class CONTENT_EXPORT ContentBrowserClient { @@ -1409,6 +1410,8 @@ class CONTENT_EXPORT ContentBrowserClient {
const std::string& frame_name, const std::string& frame_name,
WindowOpenDisposition disposition, WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features, const blink::mojom::WindowFeatures& features,
@ -148,7 +148,7 @@ index d33274984bf6523beeb3ab5ee586499d224bff3c..83bdd195339eb7d61ac88e2994fd8dab
// typically happens when popups are created. // typically happens when popups are created.
virtual void WebContentsCreated(WebContents* source_contents, virtual void WebContentsCreated(WebContents* source_contents,
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index b6da726a70555c2074077a2105b078e1850824d9..3fa43adedd6ff0258edd195bde1e68977cff3a7c 100644 index d83b79b725d28b22903e3f6227e982a2ed5573f5..5c8ffb1462a21f5d798656efc872ba09d6c0de99 100644
--- a/content/renderer/render_frame_impl.cc --- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc
@@ -6937,6 +6937,10 @@ WebView* RenderFrameImpl::CreateNewWindow( @@ -6937,6 +6937,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
@ -210,10 +210,10 @@ index 82e9d3dfb5f7da76d89fe15ae61d379fa46e177d..fd035512099a54dff6cc951a2226c23a
} // namespace blink } // 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 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 382daacf9b2ea77c4d8814fa375ecbbd830cce50..4728a4b7c064fc902317115637b6e64f068b25a8 100644 index 23e8b0820df2546e0097d667758c818ef725a2e7..ef692c6d82dee347bc8956cb2337fa7a35f0c50d 100644
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc --- a/third_party/blink/renderer/core/frame/local_dom_window.cc
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
@@ -2293,6 +2293,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, @@ -2318,6 +2318,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
WebWindowFeatures window_features = WebWindowFeatures window_features =
GetWindowFeaturesFromString(features, entered_window); GetWindowFeaturesFromString(features, entered_window);

View file

@ -1,273 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Date: Wed, 21 May 2025 23:25:12 -0700
Subject: Enforce SharedWorker::Terminate() procedure order
During the investigation of crbug.com/409059706, we observed that
PerformShutdownOnWorkerThread() is called during the status is
running.
I suppose the root cause is race condition between `Terminate()`
procedure and a child process termination procedure in different
thread. WorkerThread can be terminated if two conditions are met;
`Terminate()` is called and all child worker threads have been
terminated. Both `Terminate()` and the child process termination
procedure may call `PerformShutdownOnWorkerThread()`, and former
is executed regardless of two conditions are met. The latter
is called if `Terminate()` is called and no child processes.
To be clear, "`Terminate()` is called" does not mean
`PrepareForShutdownOnWorkerThread()` is executed. `Terminate()`
queues it after the flag to tell `Terminate()` call. And, when
the issue happen, I am quite sure the flag is set but,
`PrepareForShutdownOnWorkerThread()` won't be executed yet.
The fix is that:
1. The "Terminate() is called" flag to be multi staged.
The flag is used for two purpose; a. avoid re-enter of
`Terminate()`, and b. `PrepareForShutdownOnWorkerThread()` is
in flight. The CL changed the flag to enum to represent
the stage properly.
2. `PerformShutdownOnWorkerThread()` is queued even if it is
called within the child process termination procedure.
It avoid the execution order flip between
`PrepareForShutdownOnWorkerThread()` and
`PerformShutdownOnWorkerThread()`.
In addition, this change ensures `PerformShutdownOnWorkerThread()`
is called once. While `PerformShutdownOnWorkerThread()` touches
fields inside, the fields must not be touched at some point within
the function, the function is actually not re-entrant when it reaches
to the end. Upon mikt@ suggestion, I made
`PerformShutdownOnWorkerThread()` is called only when two conditions
are fulfilled. i.e. `Terminate()` is called and the number of child
threads is 0. Also, the CL uses the enum to show
`PerformShutdownOnWorkerThread()` is in-flight to avoid re-entrance
in this level.
Bug: 409059706
Change-Id: I81a1c3b1a34e827fa75ec2d1a9b37023965dbe27
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6543412
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463892}
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
index 58caf0050b649f8c43e30b6e59eab968b0bb7334..7863bf237a9a5c273120c8de29e71db589367b3d 100644
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -2845,6 +2845,13 @@ BASE_FEATURE(kWebviewAccelerateSmallCanvases,
"WebviewAccelerateSmallCanvases",
base::FEATURE_DISABLED_BY_DEFAULT);
+// WorkerThread termination procedure (prepare and shutdown) runs sequentially
+// in the same task without calling another cross thread post task.
+// Kill switch for crbug.com/409059706.
+BASE_FEATURE(kWorkerThreadSequentialShutdown,
+ "WorkerThreadSequentialShutdown",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
BASE_FEATURE(kNoReferrerForPreloadFromSubresource,
"NoReferrerForPreloadFromSubresource",
base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
index 2d3ffda8afe1772c817517d1542dbd3aa8bccbce..340ea360177c00424f0eb3461e65c6ba011e43c5 100644
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -1841,6 +1841,8 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebUSBTransferSizeLimit);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebviewAccelerateSmallCanvases);
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWorkerThreadSequentialShutdown);
+
// Kill switch for https://crbug.com/415810136.
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kNoReferrerForPreloadFromSubresource);
diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc
index 7d13d80a7f09e47d9f3c6da860e8d3373d5b8afd..6e95eba151e3a002b66d55d1ee538e9cd88cd4bb 100644
--- a/third_party/blink/renderer/core/workers/worker_thread.cc
+++ b/third_party/blink/renderer/core/workers/worker_thread.cc
@@ -263,9 +263,10 @@ void WorkerThread::Terminate() {
DCHECK_CALLED_ON_VALID_THREAD(parent_thread_checker_);
{
base::AutoLock locker(lock_);
- if (requested_to_terminate_)
+ if (termination_progress_ != TerminationProgress::kNotRequested) {
return;
- requested_to_terminate_ = true;
+ }
+ termination_progress_ = TerminationProgress::kRequested;
}
// Schedule a task to forcibly terminate the script execution in case that the
@@ -281,10 +282,33 @@ void WorkerThread::Terminate() {
*task_runner, FROM_HERE,
CrossThreadBindOnce(&WorkerThread::PrepareForShutdownOnWorkerThread,
CrossThreadUnretained(this)));
- PostCrossThreadTask(
- *task_runner, FROM_HERE,
- CrossThreadBindOnce(&WorkerThread::PerformShutdownOnWorkerThread,
- CrossThreadUnretained(this)));
+
+ if (!base::FeatureList::IsEnabled(
+ blink::features::kWorkerThreadSequentialShutdown)) {
+ PostCrossThreadTask(
+ *task_runner, FROM_HERE,
+ CrossThreadBindOnce(&WorkerThread::PerformShutdownOnWorkerThread,
+ CrossThreadUnretained(this)));
+ return;
+ }
+
+ bool perform_shutdown = false;
+ {
+ base::AutoLock locker(lock_);
+ CHECK_EQ(TerminationProgress::kRequested, termination_progress_);
+ termination_progress_ = TerminationProgress::kPrepared;
+ if (num_child_threads_ == 0) {
+ termination_progress_ = TerminationProgress::kPerforming;
+ perform_shutdown = true;
+ }
+ }
+
+ if (perform_shutdown) {
+ PostCrossThreadTask(
+ *task_runner, FROM_HERE,
+ CrossThreadBindOnce(&WorkerThread::PerformShutdownOnWorkerThread,
+ CrossThreadUnretained(this)));
+ }
}
void WorkerThread::TerminateForTesting() {
@@ -421,20 +445,48 @@ scoped_refptr<base::SingleThreadTaskRunner> WorkerThread::GetTaskRunner(
void WorkerThread::ChildThreadStartedOnWorkerThread(WorkerThread* child) {
DCHECK(IsCurrentThread());
-#if DCHECK_IS_ON()
+ child_threads_.insert(child);
{
base::AutoLock locker(lock_);
DCHECK_EQ(ThreadState::kRunning, thread_state_);
+ CHECK_EQ(TerminationProgress::kNotRequested, termination_progress_);
+ if (base::FeatureList::IsEnabled(
+ blink::features::kWorkerThreadSequentialShutdown)) {
+ ++num_child_threads_;
+ CHECK_EQ(child_threads_.size(), num_child_threads_);
+ }
}
-#endif
- child_threads_.insert(child);
}
void WorkerThread::ChildThreadTerminatedOnWorkerThread(WorkerThread* child) {
DCHECK(IsCurrentThread());
child_threads_.erase(child);
- if (child_threads_.empty() && CheckRequestedToTerminate())
- PerformShutdownOnWorkerThread();
+ if (!base::FeatureList::IsEnabled(
+ blink::features::kWorkerThreadSequentialShutdown)) {
+ if (child_threads_.empty() && CheckRequestedToTerminate()) {
+ PerformShutdownOnWorkerThread();
+ }
+ return;
+ }
+
+ bool perform_shutdown = false;
+ {
+ base::AutoLock locker(lock_);
+ --num_child_threads_;
+ CHECK_EQ(child_threads_.size(), num_child_threads_);
+ if (num_child_threads_ == 0 &&
+ termination_progress_ == TerminationProgress::kPrepared) {
+ termination_progress_ = TerminationProgress::kPerforming;
+ perform_shutdown = true;
+ }
+ }
+ if (perform_shutdown) {
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner =
+ GetWorkerBackingThread().BackingThread().GetTaskRunner();
+ GetWorkerBackingThread().BackingThread().GetTaskRunner()->PostTask(
+ FROM_HERE, WTF::BindOnce(&WorkerThread::PerformShutdownOnWorkerThread,
+ WTF::Unretained(this)));
+ }
}
WorkerThread::WorkerThread(WorkerReportingProxy& worker_reporting_proxy)
@@ -778,18 +830,32 @@ void WorkerThread::PerformShutdownOnWorkerThread() {
DCHECK(IsCurrentThread());
{
base::AutoLock locker(lock_);
- DCHECK(requested_to_terminate_);
+ if (!base::FeatureList::IsEnabled(
+ blink::features::kWorkerThreadSequentialShutdown)) {
+ DCHECK_NE(TerminationProgress::kNotRequested, termination_progress_);
+ } else {
+ DCHECK_EQ(TerminationProgress::kPerforming, termination_progress_);
+ }
DCHECK_EQ(ThreadState::kReadyToShutdown, thread_state_);
if (exit_code_ == ExitCode::kNotTerminated)
SetExitCode(ExitCode::kGracefullyTerminated);
}
- // When child workers are present, wait for them to shutdown before shutting
- // down this thread. ChildThreadTerminatedOnWorkerThread() is responsible
- // for completing shutdown on the worker thread after the last child shuts
- // down.
- if (!child_threads_.empty())
- return;
+ if (!base::FeatureList::IsEnabled(
+ blink::features::kWorkerThreadSequentialShutdown)) {
+ // When child workers are present, wait for them to shutdown before shutting
+ // down this thread. ChildThreadTerminatedOnWorkerThread() is responsible
+ // for completing shutdown on the worker thread after the last child shuts
+ // down.
+ if (!child_threads_.empty()) {
+ return;
+ }
+ } else {
+ // Child workers must not exist when `PerformShutdownOnWorkerThread()`
+ // is called because it has already been checked before calling the
+ // function.
+ CHECK(child_threads_.empty());
+ }
inspector_task_runner_->Dispose();
if (worker_inspector_controller_) {
@@ -845,7 +911,7 @@ void WorkerThread::SetExitCode(ExitCode exit_code) {
bool WorkerThread::CheckRequestedToTerminate() {
base::AutoLock locker(lock_);
- return requested_to_terminate_;
+ return termination_progress_ != TerminationProgress::kNotRequested;
}
void WorkerThread::PauseOrFreeze(mojom::blink::FrameLifecycleState state,
diff --git a/third_party/blink/renderer/core/workers/worker_thread.h b/third_party/blink/renderer/core/workers/worker_thread.h
index 49a7ac5868844465c8c863186958e5e590ffef29..f48f05b795ac2490851e23282be3172ddbe3516c 100644
--- a/third_party/blink/renderer/core/workers/worker_thread.h
+++ b/third_party/blink/renderer/core/workers/worker_thread.h
@@ -319,6 +319,13 @@ class CORE_EXPORT WorkerThread : public Thread::TaskObserver {
kTerminationUnnecessary,
};
+ enum class TerminationProgress {
+ kNotRequested,
+ kRequested,
+ kPrepared,
+ kPerforming,
+ };
+
// Returns true if we should synchronously terminate the script execution so
// that a shutdown task can be handled by the thread event loop.
TerminationState ShouldTerminateScriptExecution()
@@ -419,8 +426,10 @@ class CORE_EXPORT WorkerThread : public Thread::TaskObserver {
// A unique identifier among all WorkerThreads.
const int worker_thread_id_;
- // Set on the parent thread.
- bool requested_to_terminate_ GUARDED_BY(lock_) = false;
+ // Represents progress after the Terminate() call.
+ TerminationProgress termination_progress_ GUARDED_BY(lock_) =
+ TerminationProgress::kNotRequested;
+ size_t num_child_threads_ GUARDED_BY(lock_) = 0;
ThreadState thread_state_ GUARDED_BY(lock_) = ThreadState::kNotStarted;
ExitCode exit_code_ GUARDED_BY(lock_) = ExitCode::kNotTerminated;

View file

@ -6,10 +6,10 @@ Subject: chore: add electron deps to gitignores
Makes things like "git status" quicker when developing electron locally Makes things like "git status" quicker when developing electron locally
diff --git a/.gitignore b/.gitignore diff --git a/.gitignore b/.gitignore
index 469572522566fa57f04bc66ade675eea2048b0df..852d842df3801564cfe8dd7c4ffb84a7b3af8fc1 100644 index d69c2f1ff69789512d89eed5982da803e0fcd813..0d4ba5c34634785d297340a8168f7ea18448f8e2 100644
--- a/.gitignore --- a/.gitignore
+++ b/.gitignore +++ b/.gitignore
@@ -220,6 +220,7 @@ vs-chromium-project.txt @@ -222,6 +222,7 @@ vs-chromium-project.txt
/data /data
/delegate_execute /delegate_execute
/device/serial/device_serial_mojo.xml /device/serial/device_serial_mojo.xml

View file

@ -49,7 +49,7 @@ index 0dbbd7979ad79a7a74681222fcf36a315f0634ce..b04e77440c1273c5b866ea329e62ac07
// These existing cases are "grandfathered in", but there shouldn't be more. // These existing cases are "grandfathered in", but there shouldn't be more.
// See comments atop class. // See comments atop class.
diff --git a/ui/views/widget/widget_delegate.h b/ui/views/widget/widget_delegate.h diff --git a/ui/views/widget/widget_delegate.h b/ui/views/widget/widget_delegate.h
index 89de188e6a0139a236a824b189f1048613d6f457..c438376c34cac4ec7ac7a03d852685c18b10068e 100644 index d2011a5c04973980e245f498ad4e6e1f65e6cc4b..f1aecd776878a368cc7debccfd5db6bd098c7ec4 100644
--- a/ui/views/widget/widget_delegate.h --- a/ui/views/widget/widget_delegate.h
+++ b/ui/views/widget/widget_delegate.h +++ b/ui/views/widget/widget_delegate.h
@@ -165,6 +165,12 @@ namespace crostini { @@ -165,6 +165,12 @@ namespace crostini {
@ -63,9 +63,9 @@ index 89de188e6a0139a236a824b189f1048613d6f457..c438376c34cac4ec7ac7a03d852685c1
+} +}
+ +
namespace enterprise_connectors { namespace enterprise_connectors {
class ContentAnalysisDialog; class ContentAnalysisDialogController;
class ContentAnalysisDialogBehaviorBrowserTest; class ContentAnalysisDialogBehaviorBrowserTest;
@@ -367,6 +373,7 @@ class VIEWS_EXPORT WidgetDelegate { @@ -374,6 +380,7 @@ class VIEWS_EXPORT WidgetDelegate {
class OwnedByWidgetPassKey { class OwnedByWidgetPassKey {
private: private:
@ -73,7 +73,7 @@ index 89de188e6a0139a236a824b189f1048613d6f457..c438376c34cac4ec7ac7a03d852685c1
// DO NOT ADD TO THIS LIST! // DO NOT ADD TO THIS LIST!
// These existing cases are "grandfathered in", but there shouldn't be more. // These existing cases are "grandfathered in", but there shouldn't be more.
// See comments atop `SetOwnedByWidget()`. // See comments atop `SetOwnedByWidget()`.
@@ -463,6 +470,7 @@ class VIEWS_EXPORT WidgetDelegate { @@ -470,6 +477,7 @@ class VIEWS_EXPORT WidgetDelegate {
}; };
class RegisterDeleteCallbackPassKey { class RegisterDeleteCallbackPassKey {
private: private:
@ -81,7 +81,7 @@ index 89de188e6a0139a236a824b189f1048613d6f457..c438376c34cac4ec7ac7a03d852685c1
// DO NOT ADD TO THIS LIST! // DO NOT ADD TO THIS LIST!
// These existing cases are "grandfathered in", but there shouldn't be more. // These existing cases are "grandfathered in", but there shouldn't be more.
// See comments atop `RegisterDeleteDelegateCallback()`. // See comments atop `RegisterDeleteDelegateCallback()`.
@@ -913,6 +921,7 @@ class VIEWS_EXPORT WidgetDelegateView : public WidgetDelegate, public View { @@ -927,6 +935,7 @@ class VIEWS_EXPORT WidgetDelegateView : public WidgetDelegate, public View {
View* GetContentsView() override; View* GetContentsView() override;
private: private:

View file

@ -7,7 +7,7 @@ This patch comes after Chromium removed the ScopedAllowIO API in favor
of explicitly adding ScopedAllowBlocking calls as friends. of explicitly adding ScopedAllowBlocking calls as friends.
diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h
index 20d867b5d56cd6d961004b19bd3e69ee306dd816..07db0c05df4ce028017e70e6f593235516aa556e 100644 index b1abcfaab58df4555d3a26481915d64ef5458e17..f2f43454c1c124da9983998564837ebf3589aefd 100644
--- a/base/threading/thread_restrictions.h --- a/base/threading/thread_restrictions.h
+++ b/base/threading/thread_restrictions.h +++ b/base/threading/thread_restrictions.h
@@ -132,6 +132,7 @@ class KeyStorageLinux; @@ -132,6 +132,7 @@ class KeyStorageLinux;
@ -28,7 +28,7 @@ index 20d867b5d56cd6d961004b19bd3e69ee306dd816..07db0c05df4ce028017e70e6f5932355
namespace enterprise_connectors { namespace enterprise_connectors {
class LinuxKeyRotationCommand; class LinuxKeyRotationCommand;
} // namespace enterprise_connectors } // namespace enterprise_connectors
@@ -578,6 +582,7 @@ class BASE_EXPORT ScopedAllowBlocking { @@ -577,6 +581,7 @@ class BASE_EXPORT ScopedAllowBlocking {
friend class ::DesktopNotificationBalloon; friend class ::DesktopNotificationBalloon;
friend class ::FirefoxProfileLock; friend class ::FirefoxProfileLock;
friend class ::GaiaConfig; friend class ::GaiaConfig;
@ -36,7 +36,7 @@ index 20d867b5d56cd6d961004b19bd3e69ee306dd816..07db0c05df4ce028017e70e6f5932355
friend class ::ProfileImpl; friend class ::ProfileImpl;
friend class ::ScopedAllowBlockingForProfile; friend class ::ScopedAllowBlockingForProfile;
friend class ::StartupTabProviderImpl; friend class ::StartupTabProviderImpl;
@@ -616,6 +621,7 @@ class BASE_EXPORT ScopedAllowBlocking { @@ -615,6 +620,7 @@ class BASE_EXPORT ScopedAllowBlocking {
friend class cronet::CronetPrefsManager; friend class cronet::CronetPrefsManager;
friend class crypto::ScopedAllowBlockingForNSS; // http://crbug.com/59847 friend class crypto::ScopedAllowBlockingForNSS; // http://crbug.com/59847
friend class drive::FakeDriveService; friend class drive::FakeDriveService;

View file

@ -34,10 +34,10 @@ index 39b5a8fdd165efd74b00256552b51b5413107958..bfc4ef4f50efff4a77f2aef64335bb7e
class ScrollEvent; class ScrollEvent;
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index 3c273b08e3a0cb1a249334b06244bb6b89fde27f..20fcbe09d9fe9104cbe791e03b02f8e2e5064c2d 100644 index b687c8505f1afc918fc4994dd6fbb8b6520e3e8a..d8168622ee2e0d42f8d4486d8f9391b4508aff54 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -1382,6 +1382,10 @@ void DesktopWindowTreeHostWin::HandleHeadlessWindowBoundsChanged( @@ -1360,6 +1360,10 @@ void DesktopWindowTreeHostWin::HandleHeadlessWindowBoundsChanged(
window()->SetProperty(aura::client::kHeadlessBoundsKey, bounds); window()->SetProperty(aura::client::kHeadlessBoundsKey, bounds);
} }
@ -49,7 +49,7 @@ index 3c273b08e3a0cb1a249334b06244bb6b89fde27f..20fcbe09d9fe9104cbe791e03b02f8e2
DesktopWindowTreeHostWin::GetSingletonDesktopNativeCursorManager() { DesktopWindowTreeHostWin::GetSingletonDesktopNativeCursorManager() {
return new DesktopNativeCursorManagerWin(); return new DesktopNativeCursorManagerWin();
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
index dab595aacaeca4f6f735fd04004c27a4949278d2..177134d439866db9dbbde657ff358a761ad7f39d 100644 index 28cbd63261275e252381d88c13c1a3b4067d197f..45e47bae0e8b3369072c6e179206aa6d222e0ec5 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
@@ -272,6 +272,7 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin @@ -272,6 +272,7 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin

View file

@ -14,10 +14,10 @@ track down the source of this problem & figure out if we can fix it
by changing something in Electron. 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 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 29185fc4c426652d192870c8a11aaa981a08ebf8..de2e8163c6ae5a1a01a79413d3d44b7c11ede311 100644 index fbe6b5d24185c0b0e664db05c7801434737d4d8d..51798b8ceb81cf9d374cf594aa6afbcb366f4732 100644
--- a/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5224,7 +5224,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( @@ -5233,7 +5233,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
: IsGuest(); : IsGuest();
// While some guest types do not have a guest SiteInstance, the ones that // While some guest types do not have a guest SiteInstance, the ones that
// don't all override WebContents creation above. // don't all override WebContents creation above.

View file

@ -14,10 +14,10 @@ This change patches it out to prevent the DCHECK.
It can be removed once/if we see a better solution to the problem. It can be removed once/if we see a better solution to the problem.
diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc
index 8db7e1a1ac6947a630cdf6993bf9cef772252cd9..4a4f5bb2fa0e26b921b2e40fade705e83c0bc573 100644 index c88f60749ed5c1371a4b85540f515c2124043f53..cea6f1123dcff9b7531783fb6d50c43e9e1cd5fb 100644
--- a/content/browser/site_instance_impl.cc --- a/content/browser/site_instance_impl.cc
+++ b/content/browser/site_instance_impl.cc +++ b/content/browser/site_instance_impl.cc
@@ -226,7 +226,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest( @@ -227,7 +227,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(
BrowserContext* browser_context, BrowserContext* browser_context,
const StoragePartitionConfig& partition_config) { const StoragePartitionConfig& partition_config) {
DCHECK(browser_context); DCHECK(browser_context);

View file

@ -28,3 +28,21 @@ index e3b9f14a4cf2167064ce6716053e663adffa1542..65f13a4607c8145858fd47d81cb9960c
// When the enterprise policy is not set, use finch/feature flag choice. // When the enterprise policy is not set, use finch/feature flag choice.
return base::FeatureList::IsEnabled( return base::FeatureList::IsEnabled(
diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc
index 8967bad0bc644d7a1541fdf86fa9d65c0b2c5dd0..25f75dd808e56dbcb3f6a4e284f7485427507e7e 100644
--- a/chrome/browser/pdf/pdf_extension_util.cc
+++ b/chrome/browser/pdf/pdf_extension_util.cc
@@ -245,10 +245,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) {
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(ENABLE_PDF_INK2)
bool IsPdfAnnotationsEnabledByPolicy(content::BrowserContext* context) {
+# if 0
PrefService* prefs =
context ? Profile::FromBrowserContext(context)->GetPrefs() : nullptr;
return !prefs || !prefs->IsManagedPreference(prefs::kPdfAnnotationsEnabled) ||
prefs->GetBoolean(prefs::kPdfAnnotationsEnabled);
+#endif
+ return true;
}
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(ENABLE_PDF_INK2)

View file

@ -80,7 +80,7 @@ index b6582b4013d9682d32bd524b4053b443a4df00f8..afcbce72e0f247b4d5a637b27c9f25d9
content::WebContents* source, content::WebContents* source,
const content::OpenURLParams& params, const content::OpenURLParams& params,
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index 875c7a37c48ce50b5439a51df5e505e1bbcd5155..035432c70a6b65a2520f130e0db8a91f20e92770 100644 index 8c5e577eb89cf1ee85e76fea6385f7a18a60143b..2ae70471cfa301570d696662182773e868054143 100644
--- a/chrome/browser/ui/browser.cc --- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc
@@ -2392,8 +2392,7 @@ bool Browser::IsWebContentsCreationOverridden( @@ -2392,8 +2392,7 @@ bool Browser::IsWebContentsCreationOverridden(
@ -103,10 +103,10 @@ index 875c7a37c48ce50b5439a51df5e505e1bbcd5155..035432c70a6b65a2520f130e0db8a91f
WebContents* Browser::CreateCustomWebContents( WebContents* Browser::CreateCustomWebContents(
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
index 9dfba94b0aaa3f27f363bd50b489cae9e0e3cda6..3867e5d5741103ee0b65533dae4b80906b393f59 100644 index 1de7f9596b2f8f545ad5da7db51a35e5e0fc8592..0db8f52ef8375970f966fe8a2e3e06a8b2eeac02 100644
--- a/chrome/browser/ui/browser.h --- a/chrome/browser/ui/browser.h
+++ b/chrome/browser/ui/browser.h +++ b/chrome/browser/ui/browser.h
@@ -1037,8 +1037,7 @@ class Browser : public TabStripModelObserver, @@ -1026,8 +1026,7 @@ class Browser : public TabStripModelObserver,
content::SiteInstance* source_site_instance, content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type, content::mojom::WindowContainerType window_container_type,
const GURL& opener_url, const GURL& opener_url,
@ -222,10 +222,10 @@ index b969f1d97b7e3396119b579cfbe61e19ff7d2dd4..b8d6169652da28266a514938b45b39c5
content::WebContents* AddNewContents( content::WebContents* AddNewContents(
content::WebContents* source, content::WebContents* source,
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 6eaa7d566058fdcc9ebfa10f0420c3a234cb0483..bbbc07e36e6de11169f8317c64558b8c4d1699d5 100644 index 33abfcd326148f32eff2266a4545345e4a561a4e..4bb69438947fff73a6905a1ecc1b711986a89124 100644
--- a/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5187,8 +5187,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( @@ -5196,8 +5196,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
if (delegate_ && if (delegate_ &&
delegate_->IsWebContentsCreationOverridden( delegate_->IsWebContentsCreationOverridden(
opener, source_site_instance, params.window_container_type, opener, source_site_instance, params.window_container_type,

View file

@ -95,10 +95,10 @@ index 9e63dd9d33abc89a7bbef75992925356470ebb26..9071afc9bb01db832164909a202effaf
bool is_listening_ = false; bool is_listening_ = false;
diff --git a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_win.cc b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_win.cc diff --git a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_win.cc b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_win.cc
index 034ccea0cda4265abbfc889178f4cba4f3bd7eb8..384f0968aca07cde1fe6434a318e5334f6ecbe9e 100644 index d3838460df1f61dbcee1cc6586632cb218fec97a..4351cfeea03b8adc5da8500db1faf6d8b8811454 100644
--- a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_win.cc --- a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_win.cc
+++ b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_win.cc +++ b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_win.cc
@@ -67,6 +67,8 @@ void GlobalAcceleratorListenerWin::OnWndProc(HWND hwnd, @@ -66,6 +66,8 @@ void GlobalAcceleratorListenerWin::OnWndProc(HWND hwnd,
modifiers |= (LOWORD(lparam) & MOD_SHIFT) ? ui::EF_SHIFT_DOWN : 0; modifiers |= (LOWORD(lparam) & MOD_SHIFT) ? ui::EF_SHIFT_DOWN : 0;
modifiers |= (LOWORD(lparam) & MOD_ALT) ? ui::EF_ALT_DOWN : 0; modifiers |= (LOWORD(lparam) & MOD_ALT) ? ui::EF_ALT_DOWN : 0;
modifiers |= (LOWORD(lparam) & MOD_CONTROL) ? ui::EF_CONTROL_DOWN : 0; modifiers |= (LOWORD(lparam) & MOD_CONTROL) ? ui::EF_CONTROL_DOWN : 0;
@ -107,7 +107,7 @@ index 034ccea0cda4265abbfc889178f4cba4f3bd7eb8..384f0968aca07cde1fe6434a318e5334
ui::Accelerator accelerator(ui::KeyboardCodeForWindowsKeyCode(key_code), ui::Accelerator accelerator(ui::KeyboardCodeForWindowsKeyCode(key_code),
modifiers); modifiers);
@@ -97,6 +99,7 @@ bool GlobalAcceleratorListenerWin::StartListeningForAccelerator( @@ -96,6 +98,7 @@ bool GlobalAcceleratorListenerWin::StartListeningForAccelerator(
modifiers |= accelerator.IsShiftDown() ? MOD_SHIFT : 0; modifiers |= accelerator.IsShiftDown() ? MOD_SHIFT : 0;
modifiers |= accelerator.IsCtrlDown() ? MOD_CONTROL : 0; modifiers |= accelerator.IsCtrlDown() ? MOD_CONTROL : 0;
modifiers |= accelerator.IsAltDown() ? MOD_ALT : 0; modifiers |= accelerator.IsAltDown() ? MOD_ALT : 0;

View file

@ -94,7 +94,7 @@ index db611d99a6c0f18f39967b38791822fda7d175b5..cc150475de655d5ef20a107ae3ef80c0
friend class ContentClientCreator; friend class ContentClientCreator;
friend class ContentClientInitializer; friend class ContentClientInitializer;
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
index 11cafc3e1588cce52b76cc2f09f66b3e451fb087..e07bdaeccecc8015462e35d5cf4606335e2e962c 100644 index c79f996e2cbfe3e71f7de29424329dfc0d39a726..03c9bc18566794a668981bba6235b226e07eff74 100644
--- a/gin/v8_initializer.cc --- a/gin/v8_initializer.cc
+++ b/gin/v8_initializer.cc +++ b/gin/v8_initializer.cc
@@ -660,8 +660,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out, @@ -660,8 +660,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out,

View file

@ -6,7 +6,7 @@ Subject: disable_hidden.patch
Electron uses this to disable background throttling for hidden windows. 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 diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 8173547224997a68c2878d6dfb26b1cb436353c6..6a60a4b0275e1832216b092c29bc867f4727ca22 100644 index 52f772876a8878a7dbc95bb8f243d1442d30977f..cdfdd322ffb2e61d5480ac7c88dba35a1cc1b5b9 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc --- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -833,6 +833,10 @@ void RenderWidgetHostImpl::WasHidden() { @@ -833,6 +833,10 @@ void RenderWidgetHostImpl::WasHidden() {

View file

@ -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. should continue seeking for a real fix.
diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc
index d976c082529a62bcef7352531ced808e5970027e..31e95005359f6e8e4e18ebd75324940f4fdd11eb 100644 index 3c736de224325fec247308ea8adef3c1186029f9..8b5fd128120b2a4db387bf42b632c9e2e94f7cd4 100644
--- a/content/browser/renderer_host/navigator.cc --- a/content/browser/renderer_host/navigator.cc
+++ b/content/browser/renderer_host/navigator.cc +++ b/content/browser/renderer_host/navigator.cc
@@ -1476,6 +1476,7 @@ void Navigator::RecordNavigationMetrics( @@ -1478,6 +1478,7 @@ void Navigator::RecordNavigationMetrics(
.InMilliseconds()); .InMilliseconds());
} }
@ -35,7 +35,7 @@ index d976c082529a62bcef7352531ced808e5970027e..31e95005359f6e8e4e18ebd75324940f
// If this is a same-process navigation and we have timestamps for unload // If this is a same-process navigation and we have timestamps for unload
// durations, fill those metrics out as well. // durations, fill those metrics out as well.
if (params.unload_start && params.unload_end && if (params.unload_start && params.unload_end &&
@@ -1525,6 +1526,7 @@ void Navigator::RecordNavigationMetrics( @@ -1527,6 +1528,7 @@ void Navigator::RecordNavigationMetrics(
first_before_unload_start_time) first_before_unload_start_time)
.InMilliseconds()); .InMilliseconds());
} }

View file

@ -6,10 +6,10 @@ Subject: feat: enable setting aspect ratio to 0
Make SetAspectRatio accept 0 as valid input, which would reset to null. Make SetAspectRatio accept 0 as valid input, which would reset to null.
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index f754ca0c3bc3ba9e7ff2f3f883b29c15be2b410a..3c273b08e3a0cb1a249334b06244bb6b89fde27f 100644 index 18cd413e8780161d2c1d1993e12e8d87eb12a33f..b687c8505f1afc918fc4994dd6fbb8b6520e3e8a 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -631,7 +631,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) { @@ -609,7 +609,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
void DesktopWindowTreeHostWin::SetAspectRatio( void DesktopWindowTreeHostWin::SetAspectRatio(
const gfx::SizeF& aspect_ratio, const gfx::SizeF& aspect_ratio,
const gfx::Size& excluded_margin) { const gfx::Size& excluded_margin) {

View file

@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
} // namespace net } // namespace net
diff --git a/services/network/network_context.cc b/services/network/network_context.cc diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index 02853bf6552d49986b782785d3ab5a61ec0d3734..5934676556e25e51d580e063aeb0afde2a3f2a97 100644 index b91e9da008c121d2afbc5fd4c3c9ea401a6191a8..0b3d0538bd10c0364aa4b1a928f135893ddc7864 100644
--- a/services/network/network_context.cc --- a/services/network/network_context.cc
+++ b/services/network/network_context.cc +++ b/services/network/network_context.cc
@@ -1837,6 +1837,13 @@ void NetworkContext::SetNetworkConditions( @@ -1842,6 +1842,13 @@ void NetworkContext::SetNetworkConditions(
std::move(network_conditions)); std::move(network_conditions));
} }
@ -51,7 +51,7 @@ index 02853bf6552d49986b782785d3ab5a61ec0d3734..5934676556e25e51d580e063aeb0afde
// This may only be called on NetworkContexts created with the constructor // This may only be called on NetworkContexts created with the constructor
// that calls MakeURLRequestContext(). // that calls MakeURLRequestContext().
diff --git a/services/network/network_context.h b/services/network/network_context.h diff --git a/services/network/network_context.h b/services/network/network_context.h
index 5b5d8eccb9c84965e996cd8d2a8c7d962df7852a..66da9008486d58ad4835b3ba58a6b0aefb53ab2f 100644 index fcddda19a4d37052312748a6dd4e5ffdee1d240b..259d97bb314273600ad0541260043ea0ff02e015 100644
--- a/services/network/network_context.h --- a/services/network/network_context.h
+++ b/services/network/network_context.h +++ b/services/network/network_context.h
@@ -326,6 +326,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext @@ -326,6 +326,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@ -63,10 +63,10 @@ index 5b5d8eccb9c84965e996cd8d2a8c7d962df7852a..66da9008486d58ad4835b3ba58a6b0ae
void SetEnableReferrers(bool enable_referrers) override; void SetEnableReferrers(bool enable_referrers) override;
#if BUILDFLAG(IS_CT_SUPPORTED) #if BUILDFLAG(IS_CT_SUPPORTED)
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
index f510b5c5c79161f32a08219aa7f6cd7a722eed85..6bc2f6221fe61e861ece518381c697e4cf4727a1 100644 index de945e5f2cb5398c37617fce5e00834b481d3875..0ca66dd8038a0410c4949d9a00f43c156c3b46c5 100644
--- a/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom
@@ -1278,6 +1278,9 @@ interface NetworkContext { @@ -1282,6 +1282,9 @@ interface NetworkContext {
SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id, SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id,
NetworkConditions? conditions); NetworkConditions? conditions);
@ -77,7 +77,7 @@ index f510b5c5c79161f32a08219aa7f6cd7a722eed85..6bc2f6221fe61e861ece518381c697e4
SetAcceptLanguage(string new_accept_language); SetAcceptLanguage(string new_accept_language);
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
index 81930f3b5ca760d4db9c65aeb36162ddea68a872..5d67e45515480b769ed6555f6e0c18f25fde1e6c 100644 index c57dcce278f96c9bd3157fd5d2ce0f9d0ecbef53..5a86df4d57aa255b63e503050d31320e80124700 100644
--- a/services/network/test/test_network_context.h --- a/services/network/test/test_network_context.h
+++ b/services/network/test/test_network_context.h +++ b/services/network/test/test_network_context.h
@@ -159,6 +159,7 @@ class TestNetworkContext : public mojom::NetworkContext { @@ -159,6 +159,7 @@ class TestNetworkContext : public mojom::NetworkContext {

View file

@ -12,7 +12,7 @@ Ideally we could add an embedder observer pattern here but that can be
done in future work. 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 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 f6a248b1de8b313658453dd380529ec7c2e40033..15a6b41cacb7b66d95e6dc2cff8148c3d6c8c28b 100644 index 2390395a3df10aca3510a619e91dab674de60e67..f8fae134e122a223440530bd696db899dce2fe56 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -172,6 +172,7 @@ @@ -172,6 +172,7 @@
@ -23,7 +23,7 @@ index f6a248b1de8b313658453dd380529ec7c2e40033..15a6b41cacb7b66d95e6dc2cff8148c3
#include "third_party/blink/renderer/platform/graphics/image.h" #include "third_party/blink/renderer/platform/graphics/image.h"
#include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h" #include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
#include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h" #include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h"
@@ -1862,6 +1863,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, @@ -1864,6 +1865,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
#if BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_MAC)
web_view_impl->SetMaximumLegibleScale( web_view_impl->SetMaximumLegibleScale(
prefs.default_maximum_page_scale_factor); prefs.default_maximum_page_scale_factor);

View file

@ -262,10 +262,10 @@ index 61683d0eddb04c494ca5e650e7d556b44968ec49..5492456a9138b250e97a5479838bb443
} // namespace ui } // namespace ui
diff --git a/ui/shell_dialogs/select_file_dialog_linux_portal.cc b/ui/shell_dialogs/select_file_dialog_linux_portal.cc diff --git a/ui/shell_dialogs/select_file_dialog_linux_portal.cc b/ui/shell_dialogs/select_file_dialog_linux_portal.cc
index b23d357d4e21f10be82f0ea37b1ec3e959fc2c0b..e768afc05b42d4d026c88f1516d4e9db84e8dff6 100644 index 8dafba0690d9cde3506b60a21ba36c49394d9125..03fdd2d86e776d4be60c52790dcb2946e9341954 100644
--- a/ui/shell_dialogs/select_file_dialog_linux_portal.cc --- a/ui/shell_dialogs/select_file_dialog_linux_portal.cc
+++ b/ui/shell_dialogs/select_file_dialog_linux_portal.cc +++ b/ui/shell_dialogs/select_file_dialog_linux_portal.cc
@@ -28,6 +28,7 @@ @@ -29,6 +29,7 @@
#include "dbus/message.h" #include "dbus/message.h"
#include "dbus/object_path.h" #include "dbus/object_path.h"
#include "dbus/object_proxy.h" #include "dbus/object_proxy.h"
@ -273,7 +273,7 @@ index b23d357d4e21f10be82f0ea37b1ec3e959fc2c0b..e768afc05b42d4d026c88f1516d4e9db
#include "ui/aura/window_tree_host.h" #include "ui/aura/window_tree_host.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#include "ui/gfx/native_widget_types.h" #include "ui/gfx/native_widget_types.h"
@@ -99,7 +100,7 @@ void OnGetPropertyReply(dbus::Response* response) { @@ -100,7 +101,7 @@ void OnGetPropertyReply(dbus::Response* response) {
: ServiceAvailability::kNotAvailable; : ServiceAvailability::kNotAvailable;
} }
@ -282,7 +282,7 @@ index b23d357d4e21f10be82f0ea37b1ec3e959fc2c0b..e768afc05b42d4d026c88f1516d4e9db
if (!service_started.value_or(false)) { if (!service_started.value_or(false)) {
g_service_availability = ServiceAvailability::kNotAvailable; g_service_availability = ServiceAvailability::kNotAvailable;
return; return;
@@ -166,18 +167,24 @@ void SelectFileDialogLinuxPortal::StartAvailabilityTestInBackground() { @@ -167,18 +168,24 @@ void SelectFileDialogLinuxPortal::StartAvailabilityTestInBackground() {
GetMainTaskRunner() = base::SequencedTaskRunner::GetCurrentDefault(); GetMainTaskRunner() = base::SequencedTaskRunner::GetCurrentDefault();
@ -307,7 +307,7 @@ index b23d357d4e21f10be82f0ea37b1ec3e959fc2c0b..e768afc05b42d4d026c88f1516d4e9db
} }
bool SelectFileDialogLinuxPortal::IsRunning( bool SelectFileDialogLinuxPortal::IsRunning(
@@ -382,11 +389,14 @@ DbusDictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary( @@ -383,11 +390,14 @@ DbusDictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary(
const PortalFilterSet& filter_set) { const PortalFilterSet& filter_set) {
DbusDictionary dict; DbusDictionary dict;
@ -325,7 +325,7 @@ index b23d357d4e21f10be82f0ea37b1ec3e959fc2c0b..e768afc05b42d4d026c88f1516d4e9db
[[fallthrough]]; [[fallthrough]];
case SelectFileDialog::SELECT_FOLDER: case SelectFileDialog::SELECT_FOLDER:
case SelectFileDialog::Type::SELECT_EXISTING_FOLDER: case SelectFileDialog::Type::SELECT_EXISTING_FOLDER:
@@ -399,6 +409,10 @@ DbusDictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary( @@ -400,6 +410,10 @@ DbusDictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary(
break; break;
} }
@ -333,6 +333,6 @@ index b23d357d4e21f10be82f0ea37b1ec3e959fc2c0b..e768afc05b42d4d026c88f1516d4e9db
+ dict.PutAs(kFileChooserOptionAcceptLabel, DbusString(accept_label)); + dict.PutAs(kFileChooserOptionAcceptLabel, DbusString(accept_label));
+ } + }
+ +
if (!default_path.empty()) { if (!default_path.empty() && base::IsStringUTF8(default_path.value())) {
if (default_path_exists) { if (default_path_exists) {
// If this is an existing directory, navigate to that directory, with no // If this is an existing directory, navigate to that directory, with no

View file

@ -9,7 +9,7 @@ embedders to make custom schemes allow V8 code cache.
Chromium CL: https://chromium-review.googlesource.com/c/chromium/src/+/5019665 Chromium CL: https://chromium-review.googlesource.com/c/chromium/src/+/5019665
diff --git a/content/browser/code_cache/generated_code_cache.cc b/content/browser/code_cache/generated_code_cache.cc diff --git a/content/browser/code_cache/generated_code_cache.cc b/content/browser/code_cache/generated_code_cache.cc
index d6ddb79521290790aeb8fbd997117cf3c6157c75..52a9536f4187418327f980fd3dd68211d8103374 100644 index 1673dd4966365f31f1073a4c90743e6fe73880b6..cb3d3da5bc9da99c950521d18f28aa438467fdf4 100644
--- a/content/browser/code_cache/generated_code_cache.cc --- a/content/browser/code_cache/generated_code_cache.cc
+++ b/content/browser/code_cache/generated_code_cache.cc +++ b/content/browser/code_cache/generated_code_cache.cc
@@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
@ -20,7 +20,7 @@ index d6ddb79521290790aeb8fbd997117cf3c6157c75..52a9536f4187418327f980fd3dd68211
#include "base/feature_list.h" #include "base/feature_list.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/functional/callback_helpers.h" #include "base/functional/callback_helpers.h"
@@ -32,6 +33,7 @@ @@ -31,6 +32,7 @@
#include "net/http/http_cache.h" #include "net/http/http_cache.h"
#include "third_party/blink/public/common/scheme_registry.h" #include "third_party/blink/public/common/scheme_registry.h"
#include "url/gurl.h" #include "url/gurl.h"
@ -28,7 +28,7 @@ index d6ddb79521290790aeb8fbd997117cf3c6157c75..52a9536f4187418327f980fd3dd68211
using storage::BigIOBuffer; using storage::BigIOBuffer;
@@ -44,7 +46,7 @@ constexpr char kSeparator[] = " \n"; @@ -43,7 +45,7 @@ constexpr char kSeparator[] = " \n";
// We always expect to receive valid URLs that can be used as keys to the code // We always expect to receive valid URLs that can be used as keys to the code
// cache. The relevant checks (for ex: resource_url is valid, origin_lock is // cache. The relevant checks (for ex: resource_url is valid, origin_lock is
@ -37,7 +37,7 @@ index d6ddb79521290790aeb8fbd997117cf3c6157c75..52a9536f4187418327f980fd3dd68211
// //
// This function doesn't enforce anything in the production code. It is here // This function doesn't enforce anything in the production code. It is here
// to make the assumptions explicit and to catch any errors when DCHECKs are // to make the assumptions explicit and to catch any errors when DCHECKs are
@@ -54,33 +56,55 @@ void CheckValidKeys(const GURL& resource_url, @@ -53,33 +55,55 @@ void CheckValidKeys(const GURL& resource_url,
GeneratedCodeCache::CodeCacheType cache_type) { GeneratedCodeCache::CodeCacheType cache_type) {
// If the resource url is invalid don't cache the code. // If the resource url is invalid don't cache the code.
DCHECK(resource_url.is_valid()); DCHECK(resource_url.is_valid());
@ -117,10 +117,10 @@ index d6ddb79521290790aeb8fbd997117cf3c6157c75..52a9536f4187418327f980fd3dd68211
// Generates the cache key for the given |resource_url|, |origin_lock| and // Generates the cache key for the given |resource_url|, |origin_lock| and
diff --git a/content/browser/code_cache/generated_code_cache.h b/content/browser/code_cache/generated_code_cache.h diff --git a/content/browser/code_cache/generated_code_cache.h b/content/browser/code_cache/generated_code_cache.h
index c5fb0546fb8724a6ba34b55d8d52b2f70ad5bc0c..883c4022aa58e5eb5345ec4e8815a1374160d96c 100644 index 94602e2319d3f7ed557da98e0598c9f96d986260..0a9a856d8bd9d702eb49e45a54c141a39f5ec622 100644
--- a/content/browser/code_cache/generated_code_cache.h --- a/content/browser/code_cache/generated_code_cache.h
+++ b/content/browser/code_cache/generated_code_cache.h +++ b/content/browser/code_cache/generated_code_cache.h
@@ -52,12 +52,14 @@ class CONTENT_EXPORT GeneratedCodeCache { @@ -51,12 +51,14 @@ class CONTENT_EXPORT GeneratedCodeCache {
// Cache type. Used for collecting statistics for JS and Wasm in separate // Cache type. Used for collecting statistics for JS and Wasm in separate
// buckets. // buckets.
enum CodeCacheType { enum CodeCacheType {
@ -140,10 +140,10 @@ index c5fb0546fb8724a6ba34b55d8d52b2f70ad5bc0c..883c4022aa58e5eb5345ec4e8815a137
// JavaScript from chrome and chrome-untrusted pages. The resource URLs are // JavaScript from chrome and chrome-untrusted pages. The resource URLs are
diff --git a/content/browser/code_cache/generated_code_cache_browsertest.cc b/content/browser/code_cache/generated_code_cache_browsertest.cc diff --git a/content/browser/code_cache/generated_code_cache_browsertest.cc b/content/browser/code_cache/generated_code_cache_browsertest.cc
index c810c580efea05ba9b3b41a90b289224220bb203..55864eed550b09ba41732c706a81a122594949d6 100644 index 8faec12f8a618d587964c1ffaf868dc104fa7311..6294358f6d28864e761d31a1497f96f8cc454788 100644
--- a/content/browser/code_cache/generated_code_cache_browsertest.cc --- a/content/browser/code_cache/generated_code_cache_browsertest.cc
+++ b/content/browser/code_cache/generated_code_cache_browsertest.cc +++ b/content/browser/code_cache/generated_code_cache_browsertest.cc
@@ -11,17 +11,22 @@ @@ -12,17 +12,22 @@
#include "base/time/time.h" #include "base/time/time.h"
#include "content/browser/code_cache/generated_code_cache_context.h" #include "content/browser/code_cache/generated_code_cache_context.h"
#include "content/browser/renderer_host/code_cache_host_impl.h" #include "content/browser/renderer_host/code_cache_host_impl.h"
@ -166,7 +166,7 @@ index c810c580efea05ba9b3b41a90b289224220bb203..55864eed550b09ba41732c706a81a122
#include "net/base/features.h" #include "net/base/features.h"
#include "net/dns/mock_host_resolver.h" #include "net/dns/mock_host_resolver.h"
#include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/features.h"
@@ -31,6 +36,8 @@ namespace content { @@ -32,6 +37,8 @@ namespace content {
namespace { namespace {
@ -175,7 +175,7 @@ index c810c580efea05ba9b3b41a90b289224220bb203..55864eed550b09ba41732c706a81a122
bool SupportsSharedWorker() { bool SupportsSharedWorker() {
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
// SharedWorkers are not enabled on Android. https://crbug.com/154571 // SharedWorkers are not enabled on Android. https://crbug.com/154571
@@ -875,4 +882,82 @@ IN_PROC_BROWSER_TEST_F(LocalCompileHintsBrowserTest, LocalCompileHints) { @@ -955,4 +962,82 @@ IN_PROC_BROWSER_TEST_F(LocalCompileHintsBrowserTest, LocalCompileHints) {
} }
} }

View file

@ -165,111 +165,118 @@ index 0791b5317fc6846389f65f93734ae5e816d04623..48948b409d6da58ade72c60ed848df49
FinishStartSandboxedProcessOnLauncherThread, FinishStartSandboxedProcessOnLauncherThread,
this)); this));
diff --git a/content/browser/service_host/service_process_host_impl.cc b/content/browser/service_host/service_process_host_impl.cc diff --git a/content/browser/service_host/service_process_host_impl.cc b/content/browser/service_host/service_process_host_impl.cc
index 96c9563aac5847e742de5d9c9236f78bcb6cfd9c..73c9d585579ad5bdc407687b8becd0b7f2d704af 100644 index d9c14f91747bde0e76056d7f2f2ada166e67f994..53be16879777a3b9bef58ead5f7e420c1bf6acbe 100644
--- a/content/browser/service_host/service_process_host_impl.cc --- a/content/browser/service_host/service_process_host_impl.cc
+++ b/content/browser/service_host/service_process_host_impl.cc +++ b/content/browser/service_host/service_process_host_impl.cc
@@ -66,6 +66,17 @@ void LaunchServiceProcess(mojo::GenericPendingReceiver receiver, @@ -69,6 +69,17 @@ void LaunchServiceProcess(mojo::GenericPendingReceiver receiver,
options.allow_gpu_client.value()) { utility_options.WithGpuClientAllowed();
host->SetAllowGpuClient();
} }
+
+#if BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_WIN)
+ host->SetStdioHandles(std::move(options.stdout_handle), std::move(options.stderr_handle)); + utility_options.WithStdioHandles(std::move(service_options.stdout_handle),
+ host->SetFeedbackCursorOff(options.feedback_cursor_off); + std::move(service_options.stderr_handle));
+ utility_options.WithFeedbackCursorOff(service_options.feedback_cursor_off);
+#elif BUILDFLAG(IS_POSIX) +#elif BUILDFLAG(IS_POSIX)
+ host->SetAdditionalFds(std::move(options.fds_to_remap)); + utility_options.WithAdditionalFds(std::move(service_options.fds_to_remap));
+#endif +#endif
+ host->SetCurrentDirectory(options.current_directory); + utility_options.WithCurrentDirectory(service_options.current_directory);
+ host->SetEnv(options.environment); + utility_options.WithEnvironment(service_options.environment,
+ if (options.clear_environment) + service_options.clear_environment);
+ host->ClearEnvironment(); +
host->Start(); utility_options.WithBoundServiceInterfaceOnChildProcess(std::move(receiver));
host->GetChildProcess()->BindServiceInterface(std::move(receiver));
} UtilityProcessHost::Start(std::move(utility_options),
diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc
index e2c72b43f75b57ef1f49b82d3ecdfb425f8596de..51f8ff9b8424d098979a24c2e8628cdf7c4b758d 100644 index 7db71d28fa05458bf88f468e67446ccde8a4b964..9d6c67c66576058723a6fb0a5abb279f05f15f4f 100644
--- a/content/browser/service_host/utility_process_host.cc --- a/content/browser/service_host/utility_process_host.cc
+++ b/content/browser/service_host/utility_process_host.cc +++ b/content/browser/service_host/utility_process_host.cc
@@ -190,11 +190,13 @@ const ChildProcessData& UtilityProcessHost::GetData() { @@ -244,13 +244,13 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithFileToPreload(
return process_->GetData();
} }
#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_POSIX)
void UtilityProcessHost::SetEnv(const base::EnvironmentMap& env) { UtilityProcessHost::Options& UtilityProcessHost::Options::WithEnvironment(
- const base::EnvironmentMap& env) {
+ const base::EnvironmentMap& env,
+ bool new_environment) {
env_ = env; env_ = env;
+ inherit_environment_ = !new_environment;
return *this;
} }
-#endif -#endif
+
+void UtilityProcessHost::ClearEnvironment() {
+ inherit_environment_ = false;
+}
bool UtilityProcessHost::Start() { #if BUILDFLAG(USE_ZYGOTE)
return StartProcess(); UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
@@ -241,6 +243,30 @@ void UtilityProcessHost::SetZygoteForTesting(ZygoteCommunication* handle) { @@ -260,6 +260,36 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
} }
#endif // BUILDFLAG(USE_ZYGOTE) #endif // BUILDFLAG(USE_ZYGOTE)
+#if BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_WIN)
+void UtilityProcessHost::SetStdioHandles( +UtilityProcessHost::Options& UtilityProcessHost::Options::WithStdioHandles(
+ base::win::ScopedHandle stdout_handle, + base::win::ScopedHandle stdout_handle,
+ base::win::ScopedHandle stderr_handle) { + base::win::ScopedHandle stderr_handle) {
+ stdout_handle_ = std::move(stdout_handle); + stdout_handle_ = std::move(stdout_handle);
+ stderr_handle_ = std::move(stderr_handle); + stderr_handle_ = std::move(stderr_handle);
+ return *this;
+} +}
+#elif BUILDFLAG(IS_POSIX) +#elif BUILDFLAG(IS_POSIX)
+void UtilityProcessHost::SetAdditionalFds(base::FileHandleMappingVector mapping) { +UtilityProcessHost::Options& UtilityProcessHost::Options::WithAdditionalFds(
+ base::FileHandleMappingVector mapping) {
+ fds_to_remap_ = std::move(mapping); + fds_to_remap_ = std::move(mapping);
+ return *this;
+} +}
+#endif +#endif
+ +
+void UtilityProcessHost::SetCurrentDirectory( +UtilityProcessHost::Options& UtilityProcessHost::Options::WithCurrentDirectory(
+ const base::FilePath& cwd) { + const base::FilePath& cwd) {
+ current_directory_ = cwd; + current_directory_ = cwd;
+ return *this;
+} +}
+ +
+#if BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_WIN)
+void UtilityProcessHost::SetFeedbackCursorOff(bool feedback_cursor_off) { +UtilityProcessHost::Options& UtilityProcessHost::Options::WithFeedbackCursorOff(
+ bool feedback_cursor_off) {
+ feedback_cursor_off_ = feedback_cursor_off; + feedback_cursor_off_ = feedback_cursor_off;
+ return *this;
+} +}
+#endif // BUILDFLAG(IS_WIN) +#endif // BUILDFLAG(IS_WIN)
+ +
mojom::ChildProcess* UtilityProcessHost::GetChildProcess() { UtilityProcessHost::Options&
return static_cast<ChildProcessHostImpl*>(process_->GetHost()) UtilityProcessHost::Options::WithBoundReceiverOnChildProcessForTesting(
->child_process(); mojo::GenericPendingReceiver receiver) {
@@ -456,9 +482,26 @@ bool UtilityProcessHost::StartProcess() { @@ -521,9 +551,26 @@ bool UtilityProcessHost::StartProcess() {
} }
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN) #endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_WIN)
+ file_data_->stdout_handle = std::move(stdout_handle_); + options_.file_data_->stdout_handle = std::move(options_.stdout_handle_);
+ file_data_->stderr_handle = std::move(stderr_handle_); + options_.file_data_->stderr_handle = std::move(options_.stderr_handle_);
+#elif BUILDFLAG(IS_POSIX) +#elif BUILDFLAG(IS_POSIX)
+ if (!fds_to_remap_.empty()) { + if (!options_.fds_to_remap_.empty()) {
+ for (const auto& remapped_fd : fds_to_remap_) { + for (const auto& remapped_fd : options_.fds_to_remap_) {
+ file_data_->additional_remapped_fds.emplace( + options_.file_data_->additional_remapped_fds.emplace(remapped_fd.second,
+ remapped_fd.second, remapped_fd.first); + remapped_fd.first);
+ } + }
+ } + }
+#endif +#endif
+ +
std::unique_ptr<UtilitySandboxedProcessLauncherDelegate> delegate = std::unique_ptr<UtilitySandboxedProcessLauncherDelegate> delegate =
std::make_unique<UtilitySandboxedProcessLauncherDelegate>( std::make_unique<UtilitySandboxedProcessLauncherDelegate>(
- sandbox_type_, env_, *cmd_line); - options_.sandbox_type_, options_.env_, *cmd_line);
+ sandbox_type_, env_, current_directory_, *cmd_line, + options_.sandbox_type_, options_.env_, options_.current_directory_,
+ inherit_environment_); + *cmd_line, options_.inherit_environment_);
+ +
+#if BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_WIN)
+ delegate->SetFeedbackCursorOff(feedback_cursor_off_); + delegate->SetFeedbackCursorOff(options_.feedback_cursor_off_);
+#endif // BUILDFLAG(IS_WIN) +#endif // BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)
if (!preload_libraries_.empty()) { if (!options_.preload_libraries_.empty()) {
diff --git a/content/browser/service_host/utility_process_host.h b/content/browser/service_host/utility_process_host.h diff --git a/content/browser/service_host/utility_process_host.h b/content/browser/service_host/utility_process_host.h
index d13e6db4857242480591bff040709532d16f513d..1164da12ee71a8575c17bf1b84a505e8a32b96b3 100644 index 4335d7ff718c3d7de92320ba11c39c3957303788..55379fbe9233ba96f6e4729e2b7d534c0c6884a0 100644
--- a/content/browser/service_host/utility_process_host.h --- a/content/browser/service_host/utility_process_host.h
+++ b/content/browser/service_host/utility_process_host.h +++ b/content/browser/service_host/utility_process_host.h
@@ -30,6 +30,10 @@ @@ -29,6 +29,10 @@
#include "content/public/common/zygote/zygote_handle.h" #include "content/public/common/zygote/zygote_handle.h"
#endif // BUILDFLAG(USE_ZYGOTE) #endif // BUILDFLAG(USE_ZYGOTE)
@ -280,45 +287,42 @@ index d13e6db4857242480591bff040709532d16f513d..1164da12ee71a8575c17bf1b84a505e8
namespace base { namespace base {
class Thread; class Thread;
} // namespace base } // namespace base
@@ -99,9 +103,13 @@ class CONTENT_EXPORT UtilityProcessHost @@ -111,14 +115,31 @@ class CONTENT_EXPORT UtilityProcessHost
std::variant<base::FilePath, base::ScopedFD> file);
#endif
// Returns information about the utility child process.
const ChildProcessData& GetData();
-#if BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_POSIX)
+ - Options& WithEnvironment(const base::EnvironmentMap& env);
+ // Set/Unset environment variables.
void SetEnv(const base::EnvironmentMap& env);
-#endif -#endif
+ + // Specifies the environment that should be applied to the process.
+ // Clear the environment for the new process before processing + // |new_environment| controls whether the process should inherit
+ // changes from SetEnv. + // environment from the parent process.
+ void ClearEnvironment(); + Options& WithEnvironment(const base::EnvironmentMap& env,
+ bool new_environment);
// Starts the utility process. #if BUILDFLAG(USE_ZYGOTE)
bool Start(); Options& WithZygoteForTesting(ZygoteCommunication* handle);
@@ -139,6 +147,21 @@ class CONTENT_EXPORT UtilityProcessHost
void SetZygoteForTesting(ZygoteCommunication* handle);
#endif // BUILDFLAG(USE_ZYGOTE) #endif // BUILDFLAG(USE_ZYGOTE)
+#if BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_WIN)
+ void SetStdioHandles(base::win::ScopedHandle stdout_handle, + Options& WithStdioHandles(base::win::ScopedHandle stdout_handle,
+ base::win::ScopedHandle stderr_handle); + base::win::ScopedHandle stderr_handle);
+#elif BUILDFLAG(IS_POSIX) +#elif BUILDFLAG(IS_POSIX)
+ void SetAdditionalFds(base::FileHandleMappingVector mapping); + Options& WithAdditionalFds(base::FileHandleMappingVector mapping);
+#endif +#endif
+ +
+ // Sets the working directory of the process. + // Sets the working directory of the process.
+ void SetCurrentDirectory(const base::FilePath& cwd); + Options& WithCurrentDirectory(const base::FilePath& cwd);
+ +
+#if BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_WIN)
+ // Specifies if the process should trigger mouse cursor feedback. + // Specifies if the process should trigger mouse cursor feedback.
+ void SetFeedbackCursorOff(bool feedback_cursor_off); + Options& WithFeedbackCursorOff(bool feedback_cursor_off);
+#endif // BUILDFLAG(IS_WIN) +#endif // BUILDFLAG(IS_WIN)
+ +
// Returns a control interface for the running child process. // Requests that the process bind a receiving pipe targeting the interface
mojom::ChildProcess* GetChildProcess(); // named by `receiver`. Calls to this method generally end up in
// `ChildThreadImpl::OnBindReceiver()` and the option is used for testing
@@ -192,6 +215,27 @@ class CONTENT_EXPORT UtilityProcessHost @@ -162,6 +183,27 @@ class CONTENT_EXPORT UtilityProcessHost
std::optional<raw_ptr<ZygoteCommunication>> zygote_for_testing_; std::optional<raw_ptr<ZygoteCommunication>> zygote_for_testing_;
#endif // BUILDFLAG(USE_ZYGOTE) #endif // BUILDFLAG(USE_ZYGOTE)
@ -343,9 +347,9 @@ index d13e6db4857242480591bff040709532d16f513d..1164da12ee71a8575c17bf1b84a505e8
+ bool feedback_cursor_off_ = false; + bool feedback_cursor_off_ = false;
+#endif // BUILDFLAG(IS_WIN) +#endif // BUILDFLAG(IS_WIN)
+ +
// Indicates whether the process has been successfully launched yet, or if #if BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE)
// launch failed. // Whether or not to bind viz::mojom::Gpu to the utility process.
enum class LaunchState { bool allowed_gpu_;
diff --git a/content/browser/service_host/utility_sandbox_delegate.cc b/content/browser/service_host/utility_sandbox_delegate.cc diff --git a/content/browser/service_host/utility_sandbox_delegate.cc b/content/browser/service_host/utility_sandbox_delegate.cc
index 5ff3c5dcb972eb635107557ea7c26eb1f3331d22..5b1939226dcb84a61b09eefe69ab24a5ad595e1b 100644 index 5ff3c5dcb972eb635107557ea7c26eb1f3331d22..5b1939226dcb84a61b09eefe69ab24a5ad595e1b 100644
--- a/content/browser/service_host/utility_sandbox_delegate.cc --- a/content/browser/service_host/utility_sandbox_delegate.cc

View file

@ -75,7 +75,7 @@ index f8361faf6151210d65a597562c533aaa0a5235df..328238c34a9381fbbeb5970af3de721c
// used for canvas noising. // used for canvas noising.
uint64 canvas_noise_token = 0; uint64 canvas_noise_token = 0;
diff --git a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom diff --git a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
index 8e1737f9d205c511ae8e4103278a2650166f3915..ced3d02fdf338e3e2a07e93a4d22b2f9398c2267 100644 index a96527c653d2108de572d1e94c3ce703b45f2830..f8eb2af2c97f888307f2be588c336d4209f6cb3e 100644
--- a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom --- a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
+++ b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom +++ b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
@@ -48,6 +48,7 @@ enum CSSSampleId { @@ -48,6 +48,7 @@ enum CSSSampleId {
@ -87,10 +87,10 @@ index 8e1737f9d205c511ae8e4103278a2650166f3915..ced3d02fdf338e3e2a07e93a4d22b2f9
// This CSSSampleId represents page load for CSS histograms. It is recorded once // This CSSSampleId represents page load for CSS histograms. It is recorded once
// per page visit for each CSS histogram being logged on the blink side and the // per page visit for each CSS histogram being logged on the blink side and the
diff --git a/third_party/blink/public/web/web_settings.h b/third_party/blink/public/web/web_settings.h diff --git a/third_party/blink/public/web/web_settings.h b/third_party/blink/public/web/web_settings.h
index a53b4901dde0dc83dce6c9b56616eef0d02d94a5..b419672af985f673f375fbb63b4d2b2c419e3e03 100644 index c37f784a1309da14354881d48a5a76a965930926..bffd221d2b3f3701710025103fa564c233e203d1 100644
--- a/third_party/blink/public/web/web_settings.h --- a/third_party/blink/public/web/web_settings.h
+++ b/third_party/blink/public/web/web_settings.h +++ b/third_party/blink/public/web/web_settings.h
@@ -285,6 +285,7 @@ class WebSettings { @@ -287,6 +287,7 @@ class WebSettings {
virtual void SetRequireTransientActivationAndAuthorizationForSubAppsAPIs( virtual void SetRequireTransientActivationAndAuthorizationForSubAppsAPIs(
bool) = 0; bool) = 0;
virtual void SetRootScrollbarThemeColor(std::optional<SkColor>) = 0; virtual void SetRootScrollbarThemeColor(std::optional<SkColor>) = 0;
@ -112,10 +112,10 @@ index 6e991652d242795e292cea4c94cff59aaea078fa..b6834c78575520bb6e584dd2ce3333ac
'internal-forced-visited-'): 'internal-forced-visited-'):
internal_visited_order = 0 internal_visited_order = 0
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5 diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
index 63fff5e26a00d65818e5a05ae4f3285162521574..23cbe424b6c9de4f66cf1c2ce91682bf706d6f90 100644 index 5619eae5a36f63627df605eeff049866ea846477..50bad85a916e5bb097d687cbc4d1721ecefa6c39 100644
--- a/third_party/blink/renderer/core/css/css_properties.json5 --- a/third_party/blink/renderer/core/css/css_properties.json5
+++ b/third_party/blink/renderer/core/css/css_properties.json5 +++ b/third_party/blink/renderer/core/css/css_properties.json5
@@ -8824,6 +8824,24 @@ @@ -8866,6 +8866,24 @@
property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"],
}, },
@ -141,7 +141,7 @@ index 63fff5e26a00d65818e5a05ae4f3285162521574..23cbe424b6c9de4f66cf1c2ce91682bf
{ {
name: "-internal-visited-color", name: "-internal-visited-color",
diff --git a/third_party/blink/renderer/core/css/css_property_equality.cc b/third_party/blink/renderer/core/css/css_property_equality.cc diff --git a/third_party/blink/renderer/core/css/css_property_equality.cc b/third_party/blink/renderer/core/css/css_property_equality.cc
index 11c153b01a111efed101ae53d2148b7f523a66f5..7a3547a2aa70ef7699bf9022a15199d499e8a802 100644 index 9ec4976d64834bd4c09f3740edcd28334dd4ec50..e47da0a85670e800e74da957d6441d70d1c7ddd8 100644
--- a/third_party/blink/renderer/core/css/css_property_equality.cc --- a/third_party/blink/renderer/core/css/css_property_equality.cc
+++ b/third_party/blink/renderer/core/css/css_property_equality.cc +++ b/third_party/blink/renderer/core/css/css_property_equality.cc
@@ -348,6 +348,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property, @@ -348,6 +348,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property,
@ -154,10 +154,10 @@ index 11c153b01a111efed101ae53d2148b7f523a66f5..7a3547a2aa70ef7699bf9022a15199d4
return a.EmptyCells() == b.EmptyCells(); return a.EmptyCells() == b.EmptyCells();
case CSSPropertyID::kFill: case CSSPropertyID::kFill:
diff --git a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc diff --git a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
index db463eb084f96e661a271be0646d6dbc84913ee2..336564df6f1266d6f186a56efd1836cfba951c72 100644 index e519e13fea11950cc619e384f774b61a6e2385c0..8289ca0a41da1532692673a3e426e8688d93b32e 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc --- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
+++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc +++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
@@ -12143,5 +12143,25 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue( @@ -12175,5 +12175,25 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
CSSValueID::kNone>(stream); CSSValueID::kNone>(stream);
} }
@ -184,11 +184,11 @@ index db463eb084f96e661a271be0646d6dbc84913ee2..336564df6f1266d6f186a56efd1836cf
} // namespace css_longhand } // namespace css_longhand
} // namespace blink } // namespace blink
diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
index ae5470212b28d47f8b79799d1ef52757fcd5cbae..667ba05f2595048bcadab0b394c52540f8bceaf1 100644 index 5618121a0b5621290a19f147bfbe9bf316fb3f27..bb1bd90371ce847d48ff9a228b098a26d28f5c6d 100644
--- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc --- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc +++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
@@ -3913,4 +3913,12 @@ PositionArea StyleBuilderConverter::ConvertPositionArea( @@ -3962,4 +3962,12 @@ FitText StyleBuilderConverter::ConvertFitText(StyleResolverState& state,
return PositionArea(span[0], span[1], span[2], span[3]); return FitText(target, method, size_limit);
} }
+Length StyleBuilderConverter::ConvertCornerSmoothing(StyleResolverState& state, const CSSValue& value) { +Length StyleBuilderConverter::ConvertCornerSmoothing(StyleResolverState& state, const CSSValue& value) {
@ -201,23 +201,23 @@ index ae5470212b28d47f8b79799d1ef52757fcd5cbae..667ba05f2595048bcadab0b394c52540
+ +
} // namespace blink } // namespace blink
diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h
index d761af01cc6b4ef01304dfe384c3aa92f414b8a2..de0f1c09f41b4f348a7163967f6d90d98fe7c06c 100644 index 7104b5866a9bac0cdd26518eddcf80322280ad92..692b186f302130155fbb1b163bb195c0253276af 100644
--- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h --- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h
+++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h +++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h
@@ -421,6 +421,8 @@ class StyleBuilderConverter { @@ -422,6 +422,8 @@ class StyleBuilderConverter {
const CSSValue&);
static PositionArea ConvertPositionArea(StyleResolverState&, const CSSValue&); static PositionArea ConvertPositionArea(StyleResolverState&, const CSSValue&);
static FitText ConvertFitText(StyleResolverState&, const CSSValue&);
+ +
+ static Length ConvertCornerSmoothing(StyleResolverState&, const CSSValue&); + static Length ConvertCornerSmoothing(StyleResolverState&, const CSSValue&);
}; };
template <typename T> template <typename T>
diff --git a/third_party/blink/renderer/core/exported/web_settings_impl.cc b/third_party/blink/renderer/core/exported/web_settings_impl.cc diff --git a/third_party/blink/renderer/core/exported/web_settings_impl.cc b/third_party/blink/renderer/core/exported/web_settings_impl.cc
index 4a29a2200eaab5084078e928a68c862296c6ff91..fcd879deec0e68b3b6988402d19570cf0065daa2 100644 index 90692da7bddd9e26e58cb26d8b29dbddf958fbca..6bcd9d736edab85572e405ab74d57adc0fcce921 100644
--- a/third_party/blink/renderer/core/exported/web_settings_impl.cc --- a/third_party/blink/renderer/core/exported/web_settings_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_settings_impl.cc +++ b/third_party/blink/renderer/core/exported/web_settings_impl.cc
@@ -816,4 +816,8 @@ void WebSettingsImpl::SetRootScrollbarThemeColor( @@ -820,4 +820,8 @@ void WebSettingsImpl::SetRootScrollbarThemeColor(
settings_->SetRootScrollbarThemeColor(theme_color); settings_->SetRootScrollbarThemeColor(theme_color);
} }
@ -227,10 +227,10 @@ index 4a29a2200eaab5084078e928a68c862296c6ff91..fcd879deec0e68b3b6988402d19570cf
+ +
} // namespace blink } // namespace blink
diff --git a/third_party/blink/renderer/core/exported/web_settings_impl.h b/third_party/blink/renderer/core/exported/web_settings_impl.h diff --git a/third_party/blink/renderer/core/exported/web_settings_impl.h b/third_party/blink/renderer/core/exported/web_settings_impl.h
index 5e8d2bfbccd0625c2598544a9cba3d71373eded2..e68a97ee75754fc7196f11cf5c731550b5a12276 100644 index aa8b248b94ea7f6c0e04dc66e976dc7923ff3a98..868630ed2adb8f40fb7f002d45b260c0881ef10f 100644
--- a/third_party/blink/renderer/core/exported/web_settings_impl.h --- a/third_party/blink/renderer/core/exported/web_settings_impl.h
+++ b/third_party/blink/renderer/core/exported/web_settings_impl.h +++ b/third_party/blink/renderer/core/exported/web_settings_impl.h
@@ -237,6 +237,7 @@ class CORE_EXPORT WebSettingsImpl final : public WebSettings { @@ -238,6 +238,7 @@ class CORE_EXPORT WebSettingsImpl final : public WebSettings {
void SetRequireTransientActivationAndAuthorizationForSubAppsAPIs( void SetRequireTransientActivationAndAuthorizationForSubAppsAPIs(
bool) override; bool) override;
void SetRootScrollbarThemeColor(std::optional<SkColor>) override; void SetRootScrollbarThemeColor(std::optional<SkColor>) override;
@ -239,10 +239,10 @@ index 5e8d2bfbccd0625c2598544a9cba3d71373eded2..e68a97ee75754fc7196f11cf5c731550
bool RenderVSyncNotificationEnabled() const { bool RenderVSyncNotificationEnabled() const {
return render_v_sync_notification_enabled_; return render_v_sync_notification_enabled_;
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc 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 15a6b41cacb7b66d95e6dc2cff8148c3d6c8c28b..88bb3d17a4ca0784f1f28fde14b9fa58e15b5c44 100644 index f8fae134e122a223440530bd696db899dce2fe56..cec68a428fbf63932066ceb296c3db3eb9e34166 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -3577,6 +3577,9 @@ void WebViewImpl::UpdateRendererPreferences( @@ -3579,6 +3579,9 @@ void WebViewImpl::UpdateRendererPreferences(
renderer_preferences_.view_source_line_wrap_enabled); renderer_preferences_.view_source_line_wrap_enabled);
MaybePreloadSystemFonts(GetPage()); MaybePreloadSystemFonts(GetPage());
@ -253,10 +253,10 @@ index 15a6b41cacb7b66d95e6dc2cff8148c3d6c8c28b..88bb3d17a4ca0784f1f28fde14b9fa58
void WebViewImpl::SetHistoryIndexAndLength(int32_t history_index, void WebViewImpl::SetHistoryIndexAndLength(int32_t history_index,
diff --git a/third_party/blink/renderer/core/frame/settings.json5 b/third_party/blink/renderer/core/frame/settings.json5 diff --git a/third_party/blink/renderer/core/frame/settings.json5 b/third_party/blink/renderer/core/frame/settings.json5
index f4cdee12ea4352067f5de3e074e43d51ef56d2e5..6377e4b1ea8aa46b0bf69f8420b6c439bea70dba 100644 index c96100f7d26c14b8be1329cdb4d8a007b14d9c00..8b2429d5ac958f9a2c7aae546b44da903def8e69 100644
--- a/third_party/blink/renderer/core/frame/settings.json5 --- a/third_party/blink/renderer/core/frame/settings.json5
+++ b/third_party/blink/renderer/core/frame/settings.json5 +++ b/third_party/blink/renderer/core/frame/settings.json5
@@ -1261,5 +1261,10 @@ @@ -1265,5 +1265,10 @@
initial: false, initial: false,
type: "bool" type: "bool"
}, },
@ -307,10 +307,10 @@ index 2c2f4f405074e5baa4a26f255283404f86b40e21..ebeb7d6988ee9e6a4e78cb82fc01fdad
ContouredRect PixelSnappedContouredBorderInternal( ContouredRect PixelSnappedContouredBorderInternal(
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index b63dfc16103a6882ffb4dd81a20408092aaed3ab..d56e6f0a527ddc8adccb5fec3adb66fd2f5c99bd 100644 index e8db5553065fd9a8ea03ec9d6cee136a8ea666dc..05eafec9e86846469e1877fe2a84b75a0dfe23ee 100644
--- a/third_party/blink/renderer/platform/BUILD.gn --- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1658,6 +1658,8 @@ component("platform") { @@ -1652,6 +1652,8 @@ component("platform") {
"widget/widget_base.h", "widget/widget_base.h",
"widget/widget_base_client.h", "widget/widget_base_client.h",
"windows_keyboard_codes.h", "windows_keyboard_codes.h",
@ -320,7 +320,7 @@ index b63dfc16103a6882ffb4dd81a20408092aaed3ab..d56e6f0a527ddc8adccb5fec3adb66fd
sources -= blink_platform_avx_files sources -= blink_platform_avx_files
diff --git a/third_party/blink/renderer/platform/geometry/contoured_rect.h b/third_party/blink/renderer/platform/geometry/contoured_rect.h diff --git a/third_party/blink/renderer/platform/geometry/contoured_rect.h b/third_party/blink/renderer/platform/geometry/contoured_rect.h
index 54d3ae85eaed0699714728bcb8ff0c817f6b5e86..3014d286ecbef8b9a90f007527cce5141110eaf6 100644 index 0dbfffdfbea2cb75f7f3ea94ead20cc8bbe08bb3..021b9cdebb023941e7a78afbc1c3c939f3b9cfa0 100644
--- a/third_party/blink/renderer/platform/geometry/contoured_rect.h --- a/third_party/blink/renderer/platform/geometry/contoured_rect.h
+++ b/third_party/blink/renderer/platform/geometry/contoured_rect.h +++ b/third_party/blink/renderer/platform/geometry/contoured_rect.h
@@ -47,19 +47,29 @@ class PLATFORM_EXPORT ContouredRect { @@ -47,19 +47,29 @@ class PLATFORM_EXPORT ContouredRect {
@ -355,8 +355,8 @@ index 54d3ae85eaed0699714728bcb8ff0c817f6b5e86..3014d286ecbef8b9a90f007527cce514
+ return (top_left_ == kRound) && IsUniform() && !IsSmooth(); + return (top_left_ == kRound) && IsUniform() && !IsSmooth();
} }
constexpr bool IsUniform() const { constexpr bool IsConvex() const {
@@ -71,6 +81,7 @@ class PLATFORM_EXPORT ContouredRect { @@ -76,6 +86,7 @@ class PLATFORM_EXPORT ContouredRect {
constexpr float TopRight() const { return top_right_; } constexpr float TopRight() const { return top_right_; }
constexpr float BottomRight() const { return bottom_right_; } constexpr float BottomRight() const { return bottom_right_; }
constexpr float BottomLeft() const { return bottom_left_; } constexpr float BottomLeft() const { return bottom_left_; }
@ -364,7 +364,7 @@ index 54d3ae85eaed0699714728bcb8ff0c817f6b5e86..3014d286ecbef8b9a90f007527cce514
constexpr bool operator==(const CornerCurvature&) const = default; constexpr bool operator==(const CornerCurvature&) const = default;
@@ -81,6 +92,7 @@ class PLATFORM_EXPORT ContouredRect { @@ -86,6 +97,7 @@ class PLATFORM_EXPORT ContouredRect {
float top_right_ = kRound; float top_right_ = kRound;
float bottom_right_ = kRound; float bottom_right_ = kRound;
float bottom_left_ = kRound; float bottom_left_ = kRound;
@ -373,7 +373,7 @@ index 54d3ae85eaed0699714728bcb8ff0c817f6b5e86..3014d286ecbef8b9a90f007527cce514
// A Corner is a axis-aligned quad, with the points ordered (start, outer, // A Corner is a axis-aligned quad, with the points ordered (start, outer,
diff --git a/third_party/blink/renderer/platform/geometry/path_builder.cc b/third_party/blink/renderer/platform/geometry/path_builder.cc diff --git a/third_party/blink/renderer/platform/geometry/path_builder.cc b/third_party/blink/renderer/platform/geometry/path_builder.cc
index 414b73e219a7f4e499414cf120c5b8ebd0ae3a63..2093364a27e89fa10fe9a6921453d2d8285e445e 100644 index 171cb3dd87609f5ecab79a25fe0978cd6e4b04f4..7e7deae45bfb66c3a3702f30092a23fb5b79bf4b 100644
--- a/third_party/blink/renderer/platform/geometry/path_builder.cc --- a/third_party/blink/renderer/platform/geometry/path_builder.cc
+++ b/third_party/blink/renderer/platform/geometry/path_builder.cc +++ b/third_party/blink/renderer/platform/geometry/path_builder.cc
@@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
@ -384,7 +384,7 @@ index 414b73e219a7f4e499414cf120c5b8ebd0ae3a63..2093364a27e89fa10fe9a6921453d2d8
#include "third_party/blink/renderer/platform/geometry/contoured_rect.h" #include "third_party/blink/renderer/platform/geometry/contoured_rect.h"
#include "third_party/blink/renderer/platform/geometry/infinite_int_rect.h" #include "third_party/blink/renderer/platform/geometry/infinite_int_rect.h"
#include "third_party/blink/renderer/platform/geometry/path.h" #include "third_party/blink/renderer/platform/geometry/path.h"
@@ -241,6 +242,26 @@ PathBuilder& PathBuilder::AddContouredRect( @@ -247,6 +248,26 @@ PathBuilder& PathBuilder::AddContouredRect(
AddRoundedRect(target_rect); AddRoundedRect(target_rect);
return *this; return *this;
} }

View file

@ -90,7 +90,7 @@ index 8af69cac78b7488d28f1f05ccb174793fe5148cd..9f74e511c263d147b5fbe81fe100d217
private: private:
const HWND hwnd_; const HWND hwnd_;
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
index 3c43af49c5d6d5f604c71e9a9dc1f7afe9aaf0f7..857e422776e7ec33eaf4c9983d42d6433b7723cc 100644 index 7f53771dbebb480e5d10fd6926e86120f020b1ee..1ce3faf14e3770c18a67717bcd0a8d07d7720045 100644
--- a/components/viz/service/BUILD.gn --- a/components/viz/service/BUILD.gn
+++ b/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn
@@ -178,6 +178,8 @@ viz_component("service") { @@ -178,6 +178,8 @@ viz_component("service") {
@ -522,7 +522,7 @@ index f0aca972c4a81c3dfb536e14244daafae21ee716..a15afbc1a3519e657121b4952444d2f4
waiting_on_draw_ack_ = true; waiting_on_draw_ack_ = true;
diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
index 391004b202e6f20ad06eb6a53a6d55f5e8981c75..acb849f4e737de45e7aa4640b6866791424f010b 100644 index 671923d06e450edc191e5717537d74b91678872d..6bae1cc6634256e449b02e92a4e7899573926109 100644
--- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc --- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
+++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc +++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
@@ -130,7 +130,8 @@ RootCompositorFrameSinkImpl::Create( @@ -130,7 +130,8 @@ RootCompositorFrameSinkImpl::Create(
@ -585,10 +585,10 @@ index 130067b91baa360a7234fecfe6342c8239d587b5..d701328102f9a53e12b1b2e2a8626591
compositor_data.display_client->GetBoundRemote(resize_task_runner_); compositor_data.display_client->GetBoundRemote(resize_task_runner_);
mojo::AssociatedRemote<viz::mojom::ExternalBeginFrameController> mojo::AssociatedRemote<viz::mojom::ExternalBeginFrameController>
diff --git a/services/viz/privileged/mojom/compositing/display_private.mojom b/services/viz/privileged/mojom/compositing/display_private.mojom diff --git a/services/viz/privileged/mojom/compositing/display_private.mojom b/services/viz/privileged/mojom/compositing/display_private.mojom
index afdda5292ce89d6dac6eaa1e3476fdfd0e9e7f08..8147e4bf6173699df6ab9492898989c68ffbb2b8 100644 index e063835e87f08e6a2359886a96d7b78954e3d5b2..34bcf67726f64466d11a56d7a315ce7e05a0cb3d 100644
--- a/services/viz/privileged/mojom/compositing/display_private.mojom --- a/services/viz/privileged/mojom/compositing/display_private.mojom
+++ b/services/viz/privileged/mojom/compositing/display_private.mojom +++ b/services/viz/privileged/mojom/compositing/display_private.mojom
@@ -123,7 +123,6 @@ interface DisplayClient { @@ -119,7 +119,6 @@ interface DisplayClient {
// Creates a LayeredWindowUpdater implementation to draw into a layered // Creates a LayeredWindowUpdater implementation to draw into a layered
// window. // window.

View file

@ -11,7 +11,7 @@ ServiceProcessHost::Observer functions, but we need to pass the exit code to
the observer. the observer.
diff --git a/content/browser/service_host/service_process_tracker.cc b/content/browser/service_host/service_process_tracker.cc diff --git a/content/browser/service_host/service_process_tracker.cc b/content/browser/service_host/service_process_tracker.cc
index 594629e45acd6cac9deba2d02c682a523c80e2fb..61be7804bbf370df3d2925880804866a631d35fa 100644 index e900841900325dd090b04f85151dc7b2f04a6613..e402bcf07aa0704c113ce472db547ffcfb04a4bf 100644
--- a/content/browser/service_host/service_process_tracker.cc --- a/content/browser/service_host/service_process_tracker.cc
+++ b/content/browser/service_host/service_process_tracker.cc +++ b/content/browser/service_host/service_process_tracker.cc
@@ -48,12 +48,14 @@ void ServiceProcessTracker::NotifyTerminated(ServiceProcessId id) { @@ -48,12 +48,14 @@ void ServiceProcessTracker::NotifyTerminated(ServiceProcessId id) {
@ -22,7 +22,7 @@ index 594629e45acd6cac9deba2d02c682a523c80e2fb..61be7804bbf370df3d2925880804866a
+void ServiceProcessTracker::NotifyCrashed(ServiceProcessId id, int exit_code) { +void ServiceProcessTracker::NotifyCrashed(ServiceProcessId id, int exit_code) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
auto iter = processes_.find(id); auto iter = processes_.find(id);
CHECK(iter != processes_.end(), base::NotFatalUntil::M130); CHECK(iter != processes_.end());
for (auto& observer : observers_) { for (auto& observer : observers_) {
- observer.OnServiceProcessCrashed(iter->second.Duplicate()); - observer.OnServiceProcessCrashed(iter->second.Duplicate());
+ auto params = iter->second.Duplicate(); + auto params = iter->second.Duplicate();
@ -80,10 +80,10 @@ index 801db538979ba62facdcf3a472dade56723ca639..7abac9a5b13b393713534ae51664c2e5
private: private:
const std::string service_interface_name_; const std::string service_interface_name_;
diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc
index 51f8ff9b8424d098979a24c2e8628cdf7c4b758d..19d8ed89211402e93632c4d83dbf452d4194a14c 100644 index 9d6c67c66576058723a6fb0a5abb279f05f15f4f..d692bc5929bce7801d0a91cb99ab9c5f07ba5d7b 100644
--- a/content/browser/service_host/utility_process_host.cc --- a/content/browser/service_host/utility_process_host.cc
+++ b/content/browser/service_host/utility_process_host.cc +++ b/content/browser/service_host/utility_process_host.cc
@@ -541,7 +541,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) { @@ -609,7 +609,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
// Take ownership of |client_| so the destructor doesn't notify it of // Take ownership of |client_| so the destructor doesn't notify it of
// termination. // termination.
auto client = std::move(client_); auto client = std::move(client_);
@ -93,10 +93,10 @@ index 51f8ff9b8424d098979a24c2e8628cdf7c4b758d..19d8ed89211402e93632c4d83dbf452d
std::optional<std::string> UtilityProcessHost::GetServiceName() { std::optional<std::string> UtilityProcessHost::GetServiceName() {
diff --git a/content/browser/service_host/utility_process_host.h b/content/browser/service_host/utility_process_host.h diff --git a/content/browser/service_host/utility_process_host.h b/content/browser/service_host/utility_process_host.h
index 1164da12ee71a8575c17bf1b84a505e8a32b96b3..4cbc30fc4b57440d06a0a0f642cc44c5c755e7f9 100644 index 55379fbe9233ba96f6e4729e2b7d534c0c6884a0..850592294efd2c0a0fdc253b7b3fb6441b91d730 100644
--- a/content/browser/service_host/utility_process_host.h --- a/content/browser/service_host/utility_process_host.h
+++ b/content/browser/service_host/utility_process_host.h +++ b/content/browser/service_host/utility_process_host.h
@@ -79,7 +79,7 @@ class CONTENT_EXPORT UtilityProcessHost @@ -68,7 +68,7 @@ class CONTENT_EXPORT UtilityProcessHost
virtual void OnProcessLaunched(const base::Process& process) {} virtual void OnProcessLaunched(const base::Process& process) {}
virtual void OnProcessTerminatedNormally() {} virtual void OnProcessTerminatedNormally() {}
@ -104,7 +104,7 @@ index 1164da12ee71a8575c17bf1b84a505e8a32b96b3..4cbc30fc4b57440d06a0a0f642cc44c5
+ virtual void OnProcessCrashed(int exit_code) {} + virtual void OnProcessCrashed(int exit_code) {}
}; };
// This class is self-owned. It must be instantiated using new, and shouldn't struct CONTENT_EXPORT Options {
diff --git a/content/public/browser/service_process_info.h b/content/public/browser/service_process_info.h diff --git a/content/public/browser/service_process_info.h b/content/public/browser/service_process_info.h
index 1a8656aef341cd3b23af588fb00569b79d6cd100..6af523eb27a8c1e5529721c029e5b3ba0708b9fc 100644 index 1a8656aef341cd3b23af588fb00569b79d6cd100..6af523eb27a8c1e5529721c029e5b3ba0708b9fc 100644
--- a/content/public/browser/service_process_info.h --- a/content/public/browser/service_process_info.h

View file

@ -28,7 +28,7 @@ index 33e23680b927d417b0882c7572fe32dc2d2b90c3..9413492f8e0fd6c5371c66329e1ad6d4
// Returns the http referrer of original request which initited this load. // Returns the http referrer of original request which initited this load.
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h
index 01b97e569a69fb1395e63492ac75432d648bb71f..6e58d859e2afd3bd8b9b17c53ba9ccc6dbdcd458 100644 index bcf51f743caa1e7da6cb80f2e219661cde0efab6..ddb36c1757ec7e0a3a1f19a2687a1f3e3d590b6e 100644
--- a/third_party/blink/renderer/core/loader/document_loader.h --- a/third_party/blink/renderer/core/loader/document_loader.h
+++ b/third_party/blink/renderer/core/loader/document_loader.h +++ b/third_party/blink/renderer/core/loader/document_loader.h
@@ -325,7 +325,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>, @@ -325,7 +325,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,

View file

@ -112,7 +112,7 @@ index 99bf736ebe303d46ab1ced924ba929a0cd258909..e10c8782d2704ff9cff8062d201a4339
string mime_type; string mime_type;
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
index 77569bb055bf2dde5370b05c814ff793f1cf4b19..bc361afc2b2fb5045f43fc49471cfc7f51b4cd74 100644 index b4e32dd34c6d5f826da777dce7502da7ff75e76a..dcc180c6eab0c145721c4a06f74a3feef859b363 100644
--- a/services/network/url_loader.cc --- a/services/network/url_loader.cc
+++ b/services/network/url_loader.cc +++ b/services/network/url_loader.cc
@@ -388,6 +388,9 @@ URLLoader::URLLoader( @@ -388,6 +388,9 @@ URLLoader::URLLoader(

View file

@ -20,10 +20,10 @@ This patch will be removed when the deprecated sync api support is
removed. removed.
diff --git a/components/permissions/permission_util.cc b/components/permissions/permission_util.cc diff --git a/components/permissions/permission_util.cc b/components/permissions/permission_util.cc
index f134056b6b255935250721d6fbd417b1d658c87c..f69c10c32011c9da5c235a5199abce44e64982da 100644 index b379cc24f772260ea360779b26ca0836d21c89c4..bface283d508d1c1a3f9fd297d92e048bdd423af 100644
--- a/components/permissions/permission_util.cc --- a/components/permissions/permission_util.cc
+++ b/components/permissions/permission_util.cc +++ b/components/permissions/permission_util.cc
@@ -502,6 +502,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe( @@ -520,6 +520,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
return ContentSettingsType::WEB_APP_INSTALLATION; return ContentSettingsType::WEB_APP_INSTALLATION;
case PermissionType::LOCAL_NETWORK_ACCESS: case PermissionType::LOCAL_NETWORK_ACCESS:
return ContentSettingsType::LOCAL_NETWORK_ACCESS; return ContentSettingsType::LOCAL_NETWORK_ACCESS;

View file

@ -31,10 +31,10 @@ index b51482ecbb8eaed649ae0ea9dd9c7c71125b51a2..0180a182a8b55df4e515d77f696fa442
// Register the CGWindowID (used to identify this window for video capture) // Register the CGWindowID (used to identify this window for video capture)
diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
index 65154f18c7ce737ea1b48ebd9308896d8a13f622..ec821403356d2d45c9c12831a89704be10ee05f7 100644 index dfe785f5d0a540086884a925d7340cbf5f48cd92..5023f7f738b4ca227690411a270a58a0faae01b2 100644
--- a/ui/views/widget/widget.h --- a/ui/views/widget/widget.h
+++ b/ui/views/widget/widget.h +++ b/ui/views/widget/widget.h
@@ -1238,6 +1238,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, @@ -1242,6 +1242,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// True if widget was created in headless mode. // True if widget was created in headless mode.
bool is_headless() const { return is_headless_; } bool is_headless() const { return is_headless_; }

View file

@ -28,10 +28,10 @@ The patch should be removed in favor of either:
Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397. Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
index deb3de267fb5e6a326985fa7943e5a66217888f8..ad53374b86efe1db1e2c2e06056cd3b50696ad9b 100644 index 17bf91944a4b3c09a17bf91153e360bb5e151f87..0803c64ac92a08f7bb9239e775479a025ca512be 100644
--- a/content/browser/renderer_host/navigation_request.cc --- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc
@@ -11158,6 +11158,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() { @@ -11194,6 +11194,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
target_rph_id); target_rph_id);
} }
@ -44,7 +44,7 @@ index deb3de267fb5e6a326985fa7943e5a66217888f8..ad53374b86efe1db1e2c2e06056cd3b5
// origin of |common_params.url| and/or |common_params.initiator_origin|. // origin of |common_params.url| and/or |common_params.initiator_origin|.
url::Origin resolved_origin = url::Origin::Resolve( url::Origin resolved_origin = url::Origin::Resolve(
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
index 094f7359e5d3b701676daa6c26fa6f8dee9d4a29..ac23e8b6e5b16670e942bf4801d97296176e2a00 100644 index b021464bc5ceca1bc33fcd6f9de39590c08a6cb0..90bf26b987cd1ab63dfd9dede640acc40588fccc 100644
--- a/third_party/blink/renderer/core/loader/document_loader.cc --- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -2332,6 +2332,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() { @@ -2332,6 +2332,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {

View file

@ -12,10 +12,10 @@ invisible state of the `viz::DisplayScheduler` owned
by the `ui::Compositor`. by the `ui::Compositor`.
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
index d770a26ca3e49c0aced95dc362802187d7d81269..788afc7ff05bf622d9e495988034ab9ca2207bfb 100644 index a63fea66e8fa675fb23b0cc2cb2bf63a18a11f94..76be1ae3f1f9981acc8062b831e6bb2b89f0234b 100644
--- a/ui/compositor/compositor.cc --- a/ui/compositor/compositor.cc
+++ b/ui/compositor/compositor.cc +++ b/ui/compositor/compositor.cc
@@ -359,7 +359,8 @@ void Compositor::SetLayerTreeFrameSink( @@ -358,7 +358,8 @@ void Compositor::SetLayerTreeFrameSink(
if (display_private_) { if (display_private_) {
disabled_swap_until_resize_ = false; disabled_swap_until_resize_ = false;
display_private_->Resize(size()); display_private_->Resize(size());
@ -25,7 +25,7 @@ index d770a26ca3e49c0aced95dc362802187d7d81269..788afc7ff05bf622d9e495988034ab9c
display_private_->SetDisplayColorSpaces(display_color_spaces_); display_private_->SetDisplayColorSpaces(display_color_spaces_);
display_private_->SetDisplayColorMatrix( display_private_->SetDisplayColorMatrix(
gfx::SkM44ToTransform(display_color_matrix_)); gfx::SkM44ToTransform(display_color_matrix_));
@@ -610,7 +611,9 @@ void Compositor::SetVisible(bool visible) { @@ -609,7 +610,9 @@ void Compositor::SetVisible(bool visible) {
// updated then. We need to call this even if the visibility hasn't changed, // updated then. We need to call this even if the visibility hasn't changed,
// for the same reason. // for the same reason.
if (display_private_) if (display_private_)
@ -36,7 +36,7 @@ index d770a26ca3e49c0aced95dc362802187d7d81269..788afc7ff05bf622d9e495988034ab9c
if (changed) { if (changed) {
observer_list_.Notify(&CompositorObserver::OnCompositorVisibilityChanged, observer_list_.Notify(&CompositorObserver::OnCompositorVisibilityChanged,
@@ -1074,6 +1077,15 @@ void Compositor::MaybeUpdateObserveBeginFrame() { @@ -1073,6 +1076,15 @@ void Compositor::MaybeUpdateObserveBeginFrame() {
host_begin_frame_observer_->GetBoundRemote()); host_begin_frame_observer_->GetBoundRemote());
} }

View file

@ -10,10 +10,10 @@ This patch should be backported to e29, upstreamed to Chromium, and then
removed if it lands upstream. removed if it lands upstream.
diff --git a/ui/events/x/events_x_utils.cc b/ui/events/x/events_x_utils.cc diff --git a/ui/events/x/events_x_utils.cc b/ui/events/x/events_x_utils.cc
index 0fcb43d631eb638ad6879539dee8ad8a21da945b..86f8756f038a68bae29072318d874e23e4d00707 100644 index f7b051baad322919837bcd3c2516d1d838f8b2f8..303f5512cfff9e04dfd83dd25f2331d9ca0b5ace 100644
--- a/ui/events/x/events_x_utils.cc --- a/ui/events/x/events_x_utils.cc
+++ b/ui/events/x/events_x_utils.cc +++ b/ui/events/x/events_x_utils.cc
@@ -594,6 +594,9 @@ gfx::Point EventLocationFromXEvent(const x11::Event& xev) { @@ -596,6 +596,9 @@ gfx::Point EventLocationFromXEvent(const x11::Event& xev) {
gfx::Point EventSystemLocationFromXEvent(const x11::Event& xev) { gfx::Point EventSystemLocationFromXEvent(const x11::Event& xev) {
if (auto* crossing = xev.As<x11::CrossingEvent>()) if (auto* crossing = xev.As<x11::CrossingEvent>())
return gfx::Point(crossing->root_x, crossing->root_y); return gfx::Point(crossing->root_x, crossing->root_y);

View file

@ -49,10 +49,10 @@ index 42e37564e585987d367921568f0f1d2b7507f953..9baf89efbade01e8b60c579255f10799
} }
diff --git a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.cc b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.cc diff --git a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.cc b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.cc
index cdf35a5bcec7b30f1b75e77cc29a9b7bb591cfd6..b6dfeee587faa742beb4f1d871db4c4f76bf46ab 100644 index 16b11c6115cc5504dbd15d58c4b9786633e90e96..7c0a2308d437a2d9cec433c6ab0fd6a9d0c08845 100644
--- a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.cc --- a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.cc
+++ b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.cc +++ b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.cc
@@ -65,6 +65,22 @@ void GlobalAcceleratorListener::UnregisterAccelerator( @@ -64,6 +64,22 @@ void GlobalAcceleratorListener::UnregisterAccelerator(
} }
} }

View file

@ -87,10 +87,10 @@ index 75df43e3cd2721a92c90c18154d53d5c203e2465..ce42c75c8face36d21f53f44c0201ac4
// The view with active text input state, i.e., a focused <input> element. // The view with active text input state, i.e., a focused <input> element.
// It will be nullptr if no such view exists. Note that the active view // 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 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 97df851aa73d1bf8d8c8001646b63cbb43cd9a92..29185fc4c426652d192870c8a11aaa981a08ebf8 100644 index eefecd6b3b9c940c3ae3e9ef40075c4a109878ef..fbe6b5d24185c0b0e664db05c7801434737d4d8d 100644
--- a/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -10162,7 +10162,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( @@ -10171,7 +10171,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
"WebContentsImpl::OnFocusedElementChangedInFrame", "WebContentsImpl::OnFocusedElementChangedInFrame",
"render_frame_host", frame); "render_frame_host", frame);
RenderWidgetHostViewBase* root_view = RenderWidgetHostViewBase* root_view =

View file

@ -11,7 +11,7 @@ This patch should be upstreamed as a conditional revert of the logic in desktop
vs mobile runtimes. i.e. restore the old logic only on desktop platforms vs mobile runtimes. i.e. restore the old logic only on desktop platforms
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 6a939edf24643207b26c9cc155ccca661b06f937..c33beb8be5535ad0951013ef0617fb881fe9fac4 100644 index a3cbb6cb369c2f250c702a0117e36e9aee04068c..05afca0c5560297b3fc4b993e872b6f296971615 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc --- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -2134,9 +2134,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() { @@ -2134,9 +2134,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {

View file

@ -59,7 +59,7 @@ index cba373664bec3a32abad6fe0396bd67b53b7e67f..a54f1b3351efd2d8f324436f7f35cd43
#endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_ #endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
index 574f947602f8cf9d5abebf6180dc3fb67dc85496..235742d9ac2787c290c123403160d095609e8c16 100644 index afa8d181e836739f4136cf51ae323f29b0b25ebe..2d28356c755c9bec18a73937b506c1885358378f 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -3085,6 +3085,7 @@ void LocalFrame::RequestExecuteScript( @@ -3085,6 +3085,7 @@ void LocalFrame::RequestExecuteScript(
@ -80,10 +80,10 @@ index 574f947602f8cf9d5abebf6180dc3fb67dc85496..235742d9ac2787c290c123403160d095
void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() { void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() {
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
index a65d5821a23a965ad715377ab15ca9df20ade075..63be18b05aa31ca48202e2809b235348fec61b0e 100644 index ba0caf0b5791c09cd51adcdcbd733ebb23d5eae1..eb74e44ee93e2a5f2f53e0f8584e2a7a37890ed5 100644
--- a/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h
+++ b/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h
@@ -834,6 +834,7 @@ class CORE_EXPORT LocalFrame final @@ -831,6 +831,7 @@ class CORE_EXPORT LocalFrame final
mojom::blink::EvaluationTiming, mojom::blink::EvaluationTiming,
mojom::blink::LoadEventBlockingOption, mojom::blink::LoadEventBlockingOption,
WebScriptExecutionCallback, WebScriptExecutionCallback,

View file

@ -6,10 +6,10 @@ Subject: frame_host_manager.patch
Allows embedder to intercept site instances created by chromium. 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 diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
index 39eae72b5f9f05fc9dda3b6b3a51b4d1d2bf7fcf..cd95bbd34218cb3181b887832a84893cd90c67a5 100644 index a194fbb2bebaa2ea5797d138e13f3c4e1bbf049e..a77307e94c5479a77085b51a1b31ab382090da53 100644
--- a/content/browser/renderer_host/render_frame_host_manager.cc --- a/content/browser/renderer_host/render_frame_host_manager.cc
+++ b/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc
@@ -4752,6 +4752,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( @@ -4768,6 +4768,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
request->ResetStateForSiteInstanceChange(); request->ResetStateForSiteInstanceChange();
} }
@ -20,7 +20,7 @@ index 39eae72b5f9f05fc9dda3b6b3a51b4d1d2bf7fcf..cd95bbd34218cb3181b887832a84893c
} }
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 0a74c5a3bee425c5c1af33ef27791a6d852baa6e..2a657027c39370d7ea839576afe547ad6da6c5a7 100644 index 08b098fa486c77294250563edbc5d2421fda3d69..8747d3fedd8d0b51c1479ed6b3424bf596ddd0ef 100644
--- a/content/public/browser/content_browser_client.h --- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h
@@ -341,6 +341,11 @@ class CONTENT_EXPORT ContentBrowserClient { @@ -341,6 +341,11 @@ class CONTENT_EXPORT ContentBrowserClient {

View file

@ -41,7 +41,7 @@ index ff42cfbb6a228e902317c7e3ab035d8437d5dd62..e27f177ce27e177abf6cee84cd466e7a
// Returns whether `Initialize` has already been invoked in the process. // Returns whether `Initialize` has already been invoked in the process.
// Initialization is a one-way operation (i.e., this method cannot return // Initialization is a one-way operation (i.e., this method cannot return
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
index 69ab1ef4d2a386126009036d4517c69dcaf9a33a..11cafc3e1588cce52b76cc2f09f66b3e451fb087 100644 index 4e4b552aabc2f0cef91737e45652835c4de501bc..c79f996e2cbfe3e71f7de29424329dfc0d39a726 100644
--- a/gin/v8_initializer.cc --- a/gin/v8_initializer.cc
+++ b/gin/v8_initializer.cc +++ b/gin/v8_initializer.cc
@@ -543,7 +543,8 @@ void SetFeatureFlags() { @@ -543,7 +543,8 @@ void SetFeatureFlags() {

View file

@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch
Add electron resources file to the list of resource ids generation. 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 diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
index 6d02cc4f84fc2de0404f006f6895919f6aa21cb4..92882f52b2ba1898608b2eb38702f37dd8cfb8cd 100644 index 2f4ab49cbe968ec8a47d72a08fefbbc938fb41c8..b664e697dbbf747eb3823587461c34c595f0e4a0 100644
--- a/tools/gritsettings/resource_ids.spec --- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec
@@ -1524,6 +1524,11 @@ @@ -1532,6 +1532,11 @@
"third_party/search_engines_data/resources/search_engines_scaled_resources.grd": { "third_party/search_engines_data/resources/search_engines_scaled_resources.grd": {
"structures": [10100], "structures": [10100],

View file

@ -8,7 +8,7 @@ require a largeish patch to get working, so just redirect it to our
implementation instead. implementation instead.
diff --git a/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc b/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc diff --git a/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc b/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc
index 9562a4c81714b98df30d2180689eff29f0beca31..5506740f0bfcc1b0692ac014bc628e1208ab3fe0 100644 index 18fb39fba6e1a6245d22120ba129abf4e5b42b96..62e79cba8161f2acc3ff9e9e20953179ded4ef4e 100644
--- a/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc --- a/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc
+++ b/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc +++ b/chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc
@@ -12,8 +12,8 @@ @@ -12,8 +12,8 @@

View file

@ -35,7 +35,7 @@ system font by checking if it's kCTFontPriorityAttribute is set to
system priority. system priority.
diff --git a/base/BUILD.gn b/base/BUILD.gn diff --git a/base/BUILD.gn b/base/BUILD.gn
index 275f4e0ece8c5bd8cee239c61fdb965eef524650..4726c37e6fc70133af5e2152ec4d0774f2ddfcaa 100644 index 5b41b3d8052c439d22b4ceada50d2acaa8c57e4a..a5c4e643b8244b83ac71d08c6aef76c80393769b 100644
--- a/base/BUILD.gn --- a/base/BUILD.gn
+++ b/base/BUILD.gn +++ b/base/BUILD.gn
@@ -1048,6 +1048,7 @@ component("base") { @@ -1048,6 +1048,7 @@ component("base") {
@ -477,10 +477,10 @@ index ff96d22a11051391423f4a49c7b1478b8176baf8..c7e640e968f8ef183d48a226d43cdac8
// Beware: This view was briefly removed (in favor of a bare CALayer) in // Beware: This view was briefly removed (in favor of a bare CALayer) in
// https://crrev.com/c/1236675. The ordering of unassociated layers relative // https://crrev.com/c/1236675. The ordering of unassociated layers relative
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
index 15297546aa2641af1a249ff99bcf51764b107dbd..3c43af49c5d6d5f604c71e9a9dc1f7afe9aaf0f7 100644 index ccee45644b385f40a5c7dcbac1d92ba74e72c647..7f53771dbebb480e5d10fd6926e86120f020b1ee 100644
--- a/components/viz/service/BUILD.gn --- a/components/viz/service/BUILD.gn
+++ b/components/viz/service/BUILD.gn +++ b/components/viz/service/BUILD.gn
@@ -385,6 +385,7 @@ viz_component("service") { @@ -387,6 +387,7 @@ viz_component("service") {
"frame_sinks/external_begin_frame_source_mac.h", "frame_sinks/external_begin_frame_source_mac.h",
] ]
} }
@ -488,7 +488,7 @@ index 15297546aa2641af1a249ff99bcf51764b107dbd..3c43af49c5d6d5f604c71e9a9dc1f7af
} }
if (is_ios) { if (is_ios) {
@@ -699,6 +700,7 @@ viz_source_set("unit_tests") { @@ -701,6 +702,7 @@ viz_source_set("unit_tests") {
"display_embedder/software_output_device_mac_unittest.mm", "display_embedder/software_output_device_mac_unittest.mm",
] ]
frameworks = [ "IOSurface.framework" ] frameworks = [ "IOSurface.framework" ]
@ -582,7 +582,7 @@ index d83f420d25e2c108ad400ebecae02b1ac327c058..77852c5c315ac09dddb7227adf3b840e
return kAttributes; return kAttributes;
} }
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index 3f6fb6a8653f1d087cf28396361fc77d98668db9..0603b350939376c6e3499de7f19980b7cd274735 100644 index 933abcca124aed9d1d621ff02533b2f7cc71c7d7..1f77801262614d36b7803837ce43ef2a499a7a97 100644
--- a/content/browser/BUILD.gn --- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn
@@ -342,6 +342,7 @@ source_set("browser") { @@ -342,6 +342,7 @@ source_set("browser") {
@ -797,10 +797,10 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
} // namespace content } // namespace content
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 1403a31f878228d835772bffd9b37eea3b742599..5a013396c0990cb3f49a659d4398e9cbe64e0283 100644 index d7cea6b7efd840d942b4a858e8db3af94a458507..16a7f545d83646ce142825b28a5bdb63ae4dc64a 100644
--- a/content/test/BUILD.gn --- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn +++ b/content/test/BUILD.gn
@@ -665,6 +665,7 @@ static_library("test_support") { @@ -668,6 +668,7 @@ static_library("test_support") {
"//url", "//url",
"//url/mojom:url_mojom_gurl", "//url/mojom:url_mojom_gurl",
"//v8", "//v8",
@ -808,7 +808,7 @@ index 1403a31f878228d835772bffd9b37eea3b742599..5a013396c0990cb3f49a659d4398e9cb
] ]
data_deps = [ data_deps = [
@@ -1121,6 +1122,7 @@ static_library("browsertest_support") { @@ -1124,6 +1125,7 @@ static_library("browsertest_support") {
} }
configs += [ "//v8:external_startup_data" ] configs += [ "//v8:external_startup_data" ]
@ -816,7 +816,7 @@ index 1403a31f878228d835772bffd9b37eea3b742599..5a013396c0990cb3f49a659d4398e9cb
} }
mojom("content_test_mojo_bindings") { mojom("content_test_mojo_bindings") {
@@ -1964,6 +1966,7 @@ test("content_browsertests") { @@ -1967,6 +1969,7 @@ test("content_browsertests") {
"//ui/shell_dialogs", "//ui/shell_dialogs",
"//ui/snapshot", "//ui/snapshot",
"//ui/webui:test_support", "//ui/webui:test_support",
@ -824,7 +824,7 @@ index 1403a31f878228d835772bffd9b37eea3b742599..5a013396c0990cb3f49a659d4398e9cb
] ]
if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) { if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) {
@@ -3297,6 +3300,7 @@ test("content_unittests") { @@ -3300,6 +3303,7 @@ test("content_unittests") {
"//ui/shell_dialogs:shell_dialogs", "//ui/shell_dialogs:shell_dialogs",
"//ui/webui:test_support", "//ui/webui:test_support",
"//url", "//url",
@ -1028,7 +1028,7 @@ index 70d5665ad7b9ef62370497636af919ede2508ad4..f4dc3e2b8053cdb3e8c439ab1a1d6369
} }
diff --git a/sandbox/mac/BUILD.gn b/sandbox/mac/BUILD.gn diff --git a/sandbox/mac/BUILD.gn b/sandbox/mac/BUILD.gn
index 453e2185fc85fcb29fa7af3f94cce5bda8118b0c..1c383675bb9113b5b1df9280b8ee994123794dfc 100644 index 7a69c5d3732cdf14173286c92dc2f7655a791ccf..d4e63015ddc1614179f85a5d9d86d5d5523724fa 100644
--- a/sandbox/mac/BUILD.gn --- a/sandbox/mac/BUILD.gn
+++ b/sandbox/mac/BUILD.gn +++ b/sandbox/mac/BUILD.gn
@@ -25,6 +25,7 @@ component("seatbelt") { @@ -25,6 +25,7 @@ component("seatbelt") {
@ -1092,10 +1092,10 @@ index 950cf7cfee4e11766dccf5c0bf3f15a8562f0f1e..a5adaaabdbbd91fedbc4cb679c865bc3
// |error| is strerror(errno) when a P* logging function is called. Pass // |error| is strerror(errno) when a P* logging function is called. Pass
diff --git a/sandbox/mac/sandbox_serializer.cc b/sandbox/mac/sandbox_serializer.cc diff --git a/sandbox/mac/sandbox_serializer.cc b/sandbox/mac/sandbox_serializer.cc
index 899f231e9bc8e1c76682972dd3f41d4cc38f4868..1da42104cc82cbabfd0c14fdd7025d6963aa50d6 100644 index ea1627bdd872f89056e97e486feb2d44587a894e..2ed0e03b5253b6ab4fa064abfaf64c60d29cae32 100644
--- a/sandbox/mac/sandbox_serializer.cc --- a/sandbox/mac/sandbox_serializer.cc
+++ b/sandbox/mac/sandbox_serializer.cc +++ b/sandbox/mac/sandbox_serializer.cc
@@ -7,6 +7,7 @@ @@ -8,6 +8,7 @@
#include <string> #include <string>
#include <vector> #include <vector>
@ -1103,7 +1103,7 @@ index 899f231e9bc8e1c76682972dd3f41d4cc38f4868..1da42104cc82cbabfd0c14fdd7025d69
#include "sandbox/mac/sandbox_logging.h" #include "sandbox/mac/sandbox_logging.h"
#include "sandbox/mac/seatbelt.h" #include "sandbox/mac/seatbelt.h"
@@ -31,6 +32,7 @@ void EncodeVarInt(uint64_t from, std::string* into) { @@ -32,6 +33,7 @@ void EncodeVarInt(uint64_t from, std::string* into) {
} while (from); } while (from);
} }
@ -1111,7 +1111,7 @@ index 899f231e9bc8e1c76682972dd3f41d4cc38f4868..1da42104cc82cbabfd0c14fdd7025d69
bool DecodeVarInt(std::string_view* from, uint64_t* into) { bool DecodeVarInt(std::string_view* from, uint64_t* into) {
std::string_view::const_iterator it = from->begin(); std::string_view::const_iterator it = from->begin();
int shift = 0; int shift = 0;
@@ -49,12 +51,12 @@ bool DecodeVarInt(std::string_view* from, uint64_t* into) { @@ -50,12 +52,12 @@ bool DecodeVarInt(std::string_view* from, uint64_t* into) {
from->remove_prefix(it - from->begin()); from->remove_prefix(it - from->begin());
return true; return true;
} }
@ -1126,7 +1126,7 @@ index 899f231e9bc8e1c76682972dd3f41d4cc38f4868..1da42104cc82cbabfd0c14fdd7025d69
bool DecodeString(std::string_view* slice, std::string* value) { bool DecodeString(std::string_view* slice, std::string* value) {
uint64_t length; uint64_t length;
if (!DecodeVarInt(slice, &length) || length < 0) { if (!DecodeVarInt(slice, &length) || length < 0) {
@@ -69,7 +71,7 @@ bool DecodeString(std::string_view* slice, std::string* value) { @@ -70,7 +72,7 @@ bool DecodeString(std::string_view* slice, std::string* value) {
slice->remove_prefix(size); slice->remove_prefix(size);
return true; return true;
} }
@ -1135,17 +1135,33 @@ index 899f231e9bc8e1c76682972dd3f41d4cc38f4868..1da42104cc82cbabfd0c14fdd7025d69
} // namespace } // namespace
SandboxSerializer::SandboxSerializer(Target mode) : mode_(mode) { SandboxSerializer::SandboxSerializer(Target mode) : mode_(mode) {
@@ -140,6 +142,7 @@ bool SandboxSerializer::SerializePolicy(std::string& serialized_policy, @@ -147,6 +149,7 @@ bool SandboxSerializer::SerializePolicy(std::string& serialized_policy,
std::optional<SandboxSerializer::DeserializedPolicy>
SandboxSerializer::DeserializePolicy(const std::string& serialized_policy,
std::string& error) {
+#if !IS_MAS_BUILD()
std::string_view remaining_serialized_policy = serialized_policy;
uint64_t mode;
if (!DecodeVarInt(&remaining_serialized_policy, &mode)) {
@@ -192,11 +195,15 @@ SandboxSerializer::DeserializePolicy(const std::string& serialized_policy,
break;
}
return deserialized_policy;
+#else
+ return std::nullopt;
+#endif
}
// static // static
bool SandboxSerializer::ApplySerializedPolicy( bool SandboxSerializer::ApplySerializedPolicy(
const std::string& serialized_policy) { const std::string& serialized_policy) {
+#if !IS_MAS_BUILD() +#if !IS_MAS_BUILD()
std::string_view policy = serialized_policy; std::string error;
uint64_t mode; std::optional<DeserializedPolicy> deserialized_policy =
if (!DecodeVarInt(&policy, &mode)) { DeserializePolicy(serialized_policy, error);
@@ -201,6 +204,9 @@ bool SandboxSerializer::ApplySerializedPolicy( @@ -227,6 +234,9 @@ bool SandboxSerializer::ApplySerializedPolicy(
break;
} }
return true; return true;
+#else +#else
+ return true; + return true;
@ -1448,10 +1464,10 @@ index bae0728aa1b2d8416e815862fd5d4aceb165ee44..a1a653bb5ec345f07027d19110717925
if (is_mac) { if (is_mac) {
diff --git a/third_party/blink/renderer/core/editing/build.gni b/third_party/blink/renderer/core/editing/build.gni diff --git a/third_party/blink/renderer/core/editing/build.gni b/third_party/blink/renderer/core/editing/build.gni
index 8e0ca95409bf8d350658effa26c53453e2d434a0..373e3b8f9522be27ab78448557139054e98ad589 100644 index c771cee7be34f36521de34ef893ee578b648a8c8..b0bd447b848bfdb7a9ff9cd98ba95574cb846cc2 100644
--- a/third_party/blink/renderer/core/editing/build.gni --- a/third_party/blink/renderer/core/editing/build.gni
+++ b/third_party/blink/renderer/core/editing/build.gni +++ b/third_party/blink/renderer/core/editing/build.gni
@@ -364,10 +364,14 @@ blink_core_sources_editing = [ @@ -362,10 +362,14 @@ blink_core_sources_editing = [
if (is_mac) { if (is_mac) {
blink_core_sources_editing += [ blink_core_sources_editing += [
"commands/smart_replace_cf.cc", "commands/smart_replace_cf.cc",
@ -1678,10 +1694,10 @@ index 6846060ef9622d8fc8d1d6c8da16e2f1b785e6bd..05c22db87e882b246bd7034e027cf149
// Accessible object // Accessible object
if (AXElementWrapper::IsValidElement(value)) { if (AXElementWrapper::IsValidElement(value)) {
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index b5456d6483b35efd929aa772be65b68bc03aabc4..2d1bd535d66c2fab0209e5adc957d827d9182737 100644 index eb8a8d2a275c4499d2f6097651a6a6d90ff63cb0..844ff9140783a95d91cdb9fbdaea304347439525 100644
--- a/ui/base/BUILD.gn --- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn
@@ -365,6 +365,13 @@ component("base") { @@ -367,6 +367,13 @@ component("base") {
] ]
} }
@ -1695,7 +1711,7 @@ index b5456d6483b35efd929aa772be65b68bc03aabc4..2d1bd535d66c2fab0209e5adc957d827
if (is_ios) { if (is_ios) {
sources += [ sources += [
"device_form_factor_ios.mm", "device_form_factor_ios.mm",
@@ -511,6 +518,12 @@ component("base") { @@ -513,6 +520,12 @@ component("base") {
"//url", "//url",
] ]
@ -1848,10 +1864,10 @@ index 033ebc0036bcd373b011ca829d255e8c83701a6d..ad06707f31872c58217d2d034f050c55
// Query the display's refresh rate. // Query the display's refresh rate.
if (@available(macos 12.0, *)) { if (@available(macos 12.0, *)) {
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
index 073269d426f55591e2daeff32782d957624d11d4..c6fe49958fd3e0b556352fda5cc35b9455792002 100644 index 66307a0b27577865f95b37c80dccf2e02bd46029..f8cd4adc73a29610b5a92e276117484d0f580d4b 100644
--- a/ui/gfx/BUILD.gn --- a/ui/gfx/BUILD.gn
+++ b/ui/gfx/BUILD.gn +++ b/ui/gfx/BUILD.gn
@@ -337,6 +337,12 @@ component("gfx") { @@ -338,6 +338,12 @@ component("gfx") {
"//ui/base:ui_data_pack", "//ui/base:ui_data_pack",
] ]

View file

@ -7,10 +7,10 @@ This adds a callback from the network service that's used to implement
session.setCertificateVerifyCallback. session.setCertificateVerifyCallback.
diff --git a/services/network/network_context.cc b/services/network/network_context.cc diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index 0339a3733272095428d5717c6df9fce8d16062c3..02853bf6552d49986b782785d3ab5a61ec0d3734 100644 index e9d152aa78f7c58a0071cf5f9eac48427518612d..b91e9da008c121d2afbc5fd4c3c9ea401a6191a8 100644
--- a/services/network/network_context.cc --- a/services/network/network_context.cc
+++ b/services/network/network_context.cc +++ b/services/network/network_context.cc
@@ -164,6 +164,11 @@ @@ -163,6 +163,11 @@
#include "services/network/web_transport.h" #include "services/network/web_transport.h"
#include "url/gurl.h" #include "url/gurl.h"
@ -22,7 +22,7 @@ index 0339a3733272095428d5717c6df9fce8d16062c3..02853bf6552d49986b782785d3ab5a61
#if BUILDFLAG(IS_CT_SUPPORTED) #if BUILDFLAG(IS_CT_SUPPORTED)
// gn check does not account for BUILDFLAG(). So, for iOS builds, it will // gn check does not account for BUILDFLAG(). So, for iOS builds, it will
// complain about a missing dependency on the target exposing this header. Add a // complain about a missing dependency on the target exposing this header. Add a
@@ -603,6 +608,99 @@ void RecordHSTSPreconnectUpgradeReason(HSTSRedirectUpgradeReason reason) { @@ -602,6 +607,99 @@ void RecordHSTSPreconnectUpgradeReason(HSTSRedirectUpgradeReason reason) {
} // namespace } // namespace
@ -122,7 +122,7 @@ index 0339a3733272095428d5717c6df9fce8d16062c3..02853bf6552d49986b782785d3ab5a61
constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess;
NetworkContext::NetworkContextHttpAuthPreferences:: NetworkContext::NetworkContextHttpAuthPreferences::
@@ -1006,6 +1104,13 @@ void NetworkContext::SetClient( @@ -1005,6 +1103,13 @@ void NetworkContext::SetClient(
client_.Bind(std::move(client)); client_.Bind(std::move(client));
} }
@ -136,7 +136,7 @@ index 0339a3733272095428d5717c6df9fce8d16062c3..02853bf6552d49986b782785d3ab5a61
void NetworkContext::CreateURLLoaderFactory( void NetworkContext::CreateURLLoaderFactory(
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver, mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
mojom::URLLoaderFactoryParamsPtr params) { mojom::URLLoaderFactoryParamsPtr params) {
@@ -2611,6 +2716,10 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( @@ -2617,6 +2722,10 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
cert_verifier = std::make_unique<net::CachingCertVerifier>( cert_verifier = std::make_unique<net::CachingCertVerifier>(
std::make_unique<net::CoalescingCertVerifier>( std::make_unique<net::CoalescingCertVerifier>(
std::move(cert_verifier))); std::move(cert_verifier)));
@ -148,7 +148,7 @@ index 0339a3733272095428d5717c6df9fce8d16062c3..02853bf6552d49986b782785d3ab5a61
builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
diff --git a/services/network/network_context.h b/services/network/network_context.h diff --git a/services/network/network_context.h b/services/network/network_context.h
index 867d3002dc9dada51319c5ed15f5746f58f19fd1..5b5d8eccb9c84965e996cd8d2a8c7d962df7852a 100644 index 1378785d8b2cdf02d9588327f6cb32b341fb0b12..fcddda19a4d37052312748a6dd4e5ffdee1d240b 100644
--- a/services/network/network_context.h --- a/services/network/network_context.h
+++ b/services/network/network_context.h +++ b/services/network/network_context.h
@@ -115,6 +115,7 @@ class URLMatcher; @@ -115,6 +115,7 @@ class URLMatcher;
@ -168,7 +168,7 @@ index 867d3002dc9dada51319c5ed15f5746f58f19fd1..5b5d8eccb9c84965e996cd8d2a8c7d96
void ResetURLLoaderFactories() override; void ResetURLLoaderFactories() override;
void GetViaObliviousHttp( void GetViaObliviousHttp(
mojom::ObliviousHttpRequestPtr request, mojom::ObliviousHttpRequestPtr request,
@@ -961,6 +964,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext @@ -963,6 +966,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
std::vector<base::OnceClosure> dismount_closures_; std::vector<base::OnceClosure> dismount_closures_;
#endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED) #endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED)
@ -178,7 +178,7 @@ index 867d3002dc9dada51319c5ed15f5746f58f19fd1..5b5d8eccb9c84965e996cd8d2a8c7d96
std::unique_ptr<HostResolver> internal_host_resolver_; std::unique_ptr<HostResolver> internal_host_resolver_;
std::set<std::unique_ptr<HostResolver>, base::UniquePtrComparator> std::set<std::unique_ptr<HostResolver>, base::UniquePtrComparator>
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
index 4ea464b2b6c00301ff0f1938fe584292723fafaa..f510b5c5c79161f32a08219aa7f6cd7a722eed85 100644 index 444379292d06db40203d0f9c8ec93f64d4b1edc6..de945e5f2cb5398c37617fce5e00834b481d3875 100644
--- a/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom
@@ -309,6 +309,17 @@ struct SocketBrokerRemotes { @@ -309,6 +309,17 @@ struct SocketBrokerRemotes {
@ -199,7 +199,7 @@ index 4ea464b2b6c00301ff0f1938fe584292723fafaa..f510b5c5c79161f32a08219aa7f6cd7a
// Parameters for constructing a network context. // Parameters for constructing a network context.
struct NetworkContextParams { struct NetworkContextParams {
// The user agent string. // The user agent string.
@@ -957,6 +968,9 @@ interface NetworkContext { @@ -961,6 +972,9 @@ interface NetworkContext {
// Sets a client for this network context. // Sets a client for this network context.
SetClient(pending_remote<NetworkContextClient> client); SetClient(pending_remote<NetworkContextClient> client);
@ -210,7 +210,7 @@ index 4ea464b2b6c00301ff0f1938fe584292723fafaa..f510b5c5c79161f32a08219aa7f6cd7a
CreateURLLoaderFactory( CreateURLLoaderFactory(
pending_receiver<URLLoaderFactory> url_loader_factory, pending_receiver<URLLoaderFactory> url_loader_factory,
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
index 84bdf5143a6ab9cb9f89cd8ae12ea8e68c1608aa..81930f3b5ca760d4db9c65aeb36162ddea68a872 100644 index 7628357ca82c1c19741a9348212dfa559a203fd2..c57dcce278f96c9bd3157fd5d2ce0f9d0ecbef53 100644
--- a/services/network/test/test_network_context.h --- a/services/network/test/test_network_context.h
+++ b/services/network/test/test_network_context.h +++ b/services/network/test/test_network_context.h
@@ -64,6 +64,8 @@ class TestNetworkContext : public mojom::NetworkContext { @@ -64,6 +64,8 @@ class TestNetworkContext : public mojom::NetworkContext {

View file

@ -133,10 +133,10 @@ index 5be62a3fb27e37f3c1db6b811172f6dfebe18f61..34349f9832fe4b9a3d48db613a789afb
const GURL& document_url, const GURL& document_url,
const WeakDocumentPtr& weak_document_ptr, 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 diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 9fd362b58903930c3fcb053d561cf8d8c815ce15..c97471d75ab2d11cfe71f34d8d11b27edb5c0fce 100644 index 67cdf0f30f2295330065550995c81ea0439f7cb7..524191a9a4973c55dc527841f3ea1238877919ac 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -2225,7 +2225,7 @@ void RenderProcessHostImpl::CreateNotificationService( @@ -2236,7 +2236,7 @@ void RenderProcessHostImpl::CreateNotificationService(
case RenderProcessHost::NotificationServiceCreatorType::kSharedWorker: case RenderProcessHost::NotificationServiceCreatorType::kSharedWorker:
case RenderProcessHost::NotificationServiceCreatorType::kDedicatedWorker: { case RenderProcessHost::NotificationServiceCreatorType::kDedicatedWorker: {
storage_partition_impl_->GetPlatformNotificationContext()->CreateService( storage_partition_impl_->GetPlatformNotificationContext()->CreateService(
@ -145,7 +145,7 @@ index 9fd362b58903930c3fcb053d561cf8d8c815ce15..c97471d75ab2d11cfe71f34d8d11b27e
creator_type, std::move(receiver)); creator_type, std::move(receiver));
break; break;
} }
@@ -2233,7 +2233,7 @@ void RenderProcessHostImpl::CreateNotificationService( @@ -2244,7 +2244,7 @@ void RenderProcessHostImpl::CreateNotificationService(
CHECK(rfh); CHECK(rfh);
storage_partition_impl_->GetPlatformNotificationContext()->CreateService( storage_partition_impl_->GetPlatformNotificationContext()->CreateService(

View file

@ -10,10 +10,10 @@ in favor of defining PreconnectRequest in this file since we don't build
the header. the header.
diff --git a/chrome/browser/predictors/preconnect_manager.cc b/chrome/browser/predictors/preconnect_manager.cc diff --git a/chrome/browser/predictors/preconnect_manager.cc b/chrome/browser/predictors/preconnect_manager.cc
index 037b624807fbf34843c450876aae70529df5f7da..a8208563f7d339d486d973caf7b29aba40c91ad0 100644 index 05c0aa8ca2a480b7477a4b877a34855f8beb997b..46f693e6a7ba906baccf4d4d12bca36e80e7387e 100644
--- a/chrome/browser/predictors/preconnect_manager.cc --- a/chrome/browser/predictors/preconnect_manager.cc
+++ b/chrome/browser/predictors/preconnect_manager.cc +++ b/chrome/browser/predictors/preconnect_manager.cc
@@ -15,9 +15,11 @@ @@ -14,9 +14,11 @@
#include "base/types/optional_util.h" #include "base/types/optional_util.h"
#include "chrome/browser/predictors/predictors_features.h" #include "chrome/browser/predictors/predictors_features.h"
#include "chrome/browser/predictors/predictors_traffic_annotations.h" #include "chrome/browser/predictors/predictors_traffic_annotations.h"
@ -25,7 +25,7 @@ index 037b624807fbf34843c450876aae70529df5f7da..a8208563f7d339d486d973caf7b29aba
#include "content/public/browser/browser_context.h" #include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
@@ -30,6 +32,20 @@ namespace predictors { @@ -29,6 +31,20 @@ namespace predictors {
const bool kAllowCredentialsOnPreconnectByDefault = true; const bool kAllowCredentialsOnPreconnectByDefault = true;
@ -63,7 +63,7 @@ index 037b624807fbf34843c450876aae70529df5f7da..a8208563f7d339d486d973caf7b29aba
void PreconnectManager::Start(const GURL& url, void PreconnectManager::Start(const GURL& url,
diff --git a/chrome/browser/predictors/preconnect_manager.h b/chrome/browser/predictors/preconnect_manager.h diff --git a/chrome/browser/predictors/preconnect_manager.h b/chrome/browser/predictors/preconnect_manager.h
index 7ffcb5226bed84e0ecf23d0562a0b61db9a0b835..e2314d0328c265353f7cb6fdb9bfd3b937f25444 100644 index 666d9fb646cf337cf4c6145358fe3ea822220b0e..591ec08e40541058b61628e50ced35b00ff91b5d 100644
--- a/chrome/browser/predictors/preconnect_manager.h --- a/chrome/browser/predictors/preconnect_manager.h
+++ b/chrome/browser/predictors/preconnect_manager.h +++ b/chrome/browser/predictors/preconnect_manager.h
@@ -17,7 +17,9 @@ @@ -17,7 +17,9 @@
@ -75,7 +75,7 @@ index 7ffcb5226bed84e0ecf23d0562a0b61db9a0b835..e2314d0328c265353f7cb6fdb9bfd3b9
+#endif +#endif
#include "content/public/browser/storage_partition_config.h" #include "content/public/browser/storage_partition_config.h"
#include "net/base/network_anonymization_key.h" #include "net/base/network_anonymization_key.h"
#include "services/network/public/mojom/reconnect_event_observer.mojom.h" #include "services/network/public/mojom/connection_change_observer_client.mojom.h"
@@ -35,7 +37,28 @@ class NetworkContext; @@ -35,7 +37,28 @@ class NetworkContext;
namespace predictors { namespace predictors {

View file

@ -887,10 +887,10 @@ index 97cb6458bc9eec767db89b56abfc5f4b4136ff7b..d9a0b343158b8464b5c9aa8e0e655c0b
ScriptingThrottler scripting_throttler_; ScriptingThrottler scripting_throttler_;
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index 0603b350939376c6e3499de7f19980b7cd274735..4adc2b7d4a244d60c9523feb9e4b24f7c0e634a7 100644 index 1f77801262614d36b7803837ce43ef2a499a7a97..de5e27c2960ffd7253aa1dfae46dbc51ca57d2ce 100644
--- a/content/browser/BUILD.gn --- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn
@@ -3167,8 +3167,9 @@ source_set("browser") { @@ -3171,8 +3171,9 @@ source_set("browser") {
"//ppapi/shared_impl", "//ppapi/shared_impl",
] ]

View file

@ -30,7 +30,7 @@ index a54a0dedf8ef1cfffa4e80a4707debed0e83d277..e66e71fdbabb40a5307b12cd8965e773
// RenderWidgetHost on the primary main frame, and false otherwise. // RenderWidgetHost on the primary main frame, and false otherwise.
virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*); virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*);
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 6a60a4b0275e1832216b092c29bc867f4727ca22..6a939edf24643207b26c9cc155ccca661b06f937 100644 index cdfdd322ffb2e61d5480ac7c88dba35a1cc1b5b9..a3cbb6cb369c2f250c702a0117e36e9aee04068c 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc --- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -2068,6 +2068,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) { @@ -2068,6 +2068,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
@ -44,10 +44,10 @@ index 6a60a4b0275e1832216b092c29bc867f4727ca22..6a939edf24643207b26c9cc155ccca66
void RenderWidgetHostImpl::ShowContextMenuAtPoint( void RenderWidgetHostImpl::ShowContextMenuAtPoint(
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index c0ef22f3872e96be15867428aff1006b8a14a1df..6eaa7d566058fdcc9ebfa10f0420c3a234cb0483 100644 index 811d137c4b77d3347dc8de5bb6207646c952f23b..33abfcd326148f32eff2266a4545345e4a561a4e 100644
--- a/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -6060,6 +6060,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { @@ -6069,6 +6069,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
return text_input_manager_.get(); return text_input_manager_.get();
} }
@ -60,10 +60,10 @@ index c0ef22f3872e96be15867428aff1006b8a14a1df..6eaa7d566058fdcc9ebfa10f0420c3a2
RenderWidgetHostImpl* render_widget_host) { RenderWidgetHostImpl* render_widget_host) {
return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost(); return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost();
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index bb00cc84d8880911c1b170a0b7084a8d9cd4bbdb..e8db4afa0c4f1061fe1609745cbac815f52b4a28 100644 index 478c9dfd9019e7acfa2ad63219a268aa5879670e..54c2a41b7ee21f1e6f022c5818e56e24a52ccbef 100644
--- a/content/browser/web_contents/web_contents_impl.h --- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h
@@ -1189,6 +1189,7 @@ class CONTENT_EXPORT WebContentsImpl @@ -1193,6 +1193,7 @@ class CONTENT_EXPORT WebContentsImpl
void SendScreenRects() override; void SendScreenRects() override;
void SendActiveState(bool active) override; void SendActiveState(bool active) override;
TextInputManager* GetTextInputManager() override; TextInputManager* GetTextInputManager() override;

View file

@ -6,10 +6,10 @@ Subject: refactor: patch electron PermissionTypes into blink
6387077: [PermissionOptions] Generalize PermissionRequestDescription | https://chromium-review.googlesource.com/c/chromium/src/+/6387077 6387077: [PermissionOptions] Generalize PermissionRequestDescription | https://chromium-review.googlesource.com/c/chromium/src/+/6387077
diff --git a/components/permissions/permission_util.cc b/components/permissions/permission_util.cc diff --git a/components/permissions/permission_util.cc b/components/permissions/permission_util.cc
index f69c10c32011c9da5c235a5199abce44e64982da..3b166dd8f571538102772a9bcd5bbe55015742f3 100644 index bface283d508d1c1a3f9fd297d92e048bdd423af..5b6451a5ac484a23a20906b8c3c9b998f7b31a33 100644
--- a/components/permissions/permission_util.cc --- a/components/permissions/permission_util.cc
+++ b/components/permissions/permission_util.cc +++ b/components/permissions/permission_util.cc
@@ -502,7 +502,17 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe( @@ -520,7 +520,17 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
return ContentSettingsType::WEB_APP_INSTALLATION; return ContentSettingsType::WEB_APP_INSTALLATION;
case PermissionType::LOCAL_NETWORK_ACCESS: case PermissionType::LOCAL_NETWORK_ACCESS:
return ContentSettingsType::LOCAL_NETWORK_ACCESS; return ContentSettingsType::LOCAL_NETWORK_ACCESS;

View file

@ -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. 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 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index de2e8163c6ae5a1a01a79413d3d44b7c11ede311..e1692192bfa25f9949dd3f2fa2b61fc5dcef2e26 100644 index 51798b8ceb81cf9d374cf594aa6afbcb366f4732..bacfca5b2f54e2db7700bb871fff4f66712f5c32 100644
--- a/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -10299,25 +10299,13 @@ void WebContentsImpl::RendererUnresponsive( @@ -10308,25 +10308,13 @@ void WebContentsImpl::RendererUnresponsive(
base::RepeatingClosure hang_monitor_restarter) { base::RepeatingClosure hang_monitor_restarter) {
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive", OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive",
"render_widget_host", render_widget_host); "render_widget_host", render_widget_host);

View file

@ -52,10 +52,10 @@ Some alternatives to this patch:
None of these options seems like a substantial maintainability win over this patch to me (@nornagon). None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index f47270687b9a12fb74be2e90cc1e9f25e2e2d34e..84fab7fcdb1a7ded880c0ff4867e09c740e7a5d2 100644 index 86007c8b041c44c14257245376326bc94ca050a9..72c637f9f3ba48bb7ab06678fe833f33d2cfddc8 100644
--- a/chrome/BUILD.gn --- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn +++ b/chrome/BUILD.gn
@@ -1551,7 +1551,7 @@ if (is_chrome_branded && !is_android) { @@ -1572,7 +1572,7 @@ if (is_chrome_branded && !is_android) {
} }
} }
@ -64,7 +64,7 @@ index f47270687b9a12fb74be2e90cc1e9f25e2e2d34e..84fab7fcdb1a7ded880c0ff4867e09c7
chrome_paks("packed_resources") { chrome_paks("packed_resources") {
if (is_mac) { if (is_mac) {
output_dir = "$root_gen_dir/repack" output_dir = "$root_gen_dir/repack"
@@ -1597,6 +1597,12 @@ repack("browser_tests_pak") { @@ -1618,6 +1618,12 @@ repack("browser_tests_pak") {
deps = [ "//chrome/test/data/webui:resources" ] deps = [ "//chrome/test/data/webui:resources" ]
} }

View file

@ -233,12 +233,12 @@ index 7c99a9512e6f65713fe8483cef7b7c9b494b4491..8fb6cf252961c9773d1a6a09d47bec6a
} }
diff --git a/content/common/features.cc b/content/common/features.cc diff --git a/content/common/features.cc b/content/common/features.cc
index 8c02eee693930e68cc734bbaba9a1fdb403cf8c1..aa3084feb5aa8c6a771016b38f0adcfa39bed9b2 100644 index e5fec5227be7aa05b9fb5ec9f77f66129b8a9639..d639895ba47a66d3b689094d32b4b9572c7aa9ff 100644
--- a/content/common/features.cc --- a/content/common/features.cc
+++ b/content/common/features.cc +++ b/content/common/features.cc
@@ -315,6 +315,14 @@ BASE_FEATURE(kIOSurfaceCapturer, @@ -319,6 +319,14 @@ BASE_FEATURE_PARAM(size_t,
base::FEATURE_ENABLED_BY_DEFAULT); 42u);
#endif #endif // BUILDFLAG(IS_ANDROID)
+// Feature that controls whether WebContentsOcclusionChecker should handle +// Feature that controls whether WebContentsOcclusionChecker should handle
+// occlusion notifications. +// occlusion notifications.
@ -252,12 +252,12 @@ index 8c02eee693930e68cc734bbaba9a1fdb403cf8c1..aa3084feb5aa8c6a771016b38f0adcfa
// invalidated upon notifications sent by base::SystemMonitor. If disabled, the // invalidated upon notifications sent by base::SystemMonitor. If disabled, the
// cache is considered invalid on every enumeration request. // cache is considered invalid on every enumeration request.
diff --git a/content/common/features.h b/content/common/features.h diff --git a/content/common/features.h b/content/common/features.h
index 032df239241bb73a19f1f3e1c0683764c40e96eb..56d00c458e0702de4830d849aa0639336823112a 100644 index ccc1ab3f83c6c0e2e8e2d993705bb72a60981ba8..9c52d679c17f690abf1a38f04432a0c14a28af4f 100644
--- a/content/common/features.h --- a/content/common/features.h
+++ b/content/common/features.h +++ b/content/common/features.h
@@ -102,6 +102,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan); @@ -105,6 +105,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kRendererProcessLimitOnAndroid);
#if BUILDFLAG(IS_MAC) CONTENT_EXPORT BASE_DECLARE_FEATURE_PARAM(size_t,
CONTENT_EXPORT BASE_DECLARE_FEATURE(kIOSurfaceCapturer); kRendererProcessLimitOnAndroidCount);
#endif #endif
+#if BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_MAC)
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kMacWebContentsOcclusion); +CONTENT_EXPORT BASE_DECLARE_FEATURE(kMacWebContentsOcclusion);

View file

@ -22,10 +22,10 @@ However, the patch would need to be reviewed by the security team, as it
does touch a security-sensitive class. 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 diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index c97471d75ab2d11cfe71f34d8d11b27edb5c0fce..44a8635ba28722b30e34695c130f7b271978391a 100644 index 524191a9a4973c55dc527841f3ea1238877919ac..48d3325f5f20e20b73d248e27bb5dd06cc30302d 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -1833,6 +1833,10 @@ bool RenderProcessHostImpl::Init() { @@ -1844,6 +1844,10 @@ bool RenderProcessHostImpl::Init() {
std::unique_ptr<SandboxedProcessLauncherDelegate> sandbox_delegate = std::unique_ptr<SandboxedProcessLauncherDelegate> sandbox_delegate =
std::make_unique<RendererSandboxedProcessLauncherDelegateWin>( std::make_unique<RendererSandboxedProcessLauncherDelegateWin>(
*cmd_line, IsPdf(), IsJitDisabled()); *cmd_line, IsPdf(), IsJitDisabled());

View file

@ -9,10 +9,10 @@ is needed for OSR.
Originally landed in https://github.com/electron/libchromiumcontent/pull/226. 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 diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index bbbc07e36e6de11169f8317c64558b8c4d1699d5..0cf259360950a7063c4f9d6dc71b004706330f37 100644 index 4bb69438947fff73a6905a1ecc1b711986a89124..e745a26a4e877ace994be80c2134147500205d0b 100644
--- a/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4094,6 +4094,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, @@ -4103,6 +4103,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
params.main_frame_name, GetOpener(), primary_main_frame_policy, params.main_frame_name, GetOpener(), primary_main_frame_policy,
base::UnguessableToken::Create()); base::UnguessableToken::Create());
@ -26,7 +26,7 @@ index bbbc07e36e6de11169f8317c64558b8c4d1699d5..0cf259360950a7063c4f9d6dc71b0047
std::unique_ptr<WebContentsViewDelegate> delegate = std::unique_ptr<WebContentsViewDelegate> delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this); GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -4104,6 +4111,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, @@ -4113,6 +4120,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
view_ = CreateWebContentsView(this, std::move(delegate), view_ = CreateWebContentsView(this, std::move(delegate),
&render_view_host_delegate_view_); &render_view_host_delegate_view_);
} }
@ -35,10 +35,10 @@ index bbbc07e36e6de11169f8317c64558b8c4d1699d5..0cf259360950a7063c4f9d6dc71b0047
CHECK(view_.get()); CHECK(view_.get());
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
index 37061d761f18ea143a8095393c42c4cf5c9eca0e..e70f25a52dbe66bf1a9bbbcb6bf56f072b23eb34 100644 index ab2df2fac23584574ca75a30084b3a47c626a1a1..754d083e1c8500092e60f484e4e9d97679704431 100644
--- a/content/public/browser/web_contents.h --- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h
@@ -121,10 +121,13 @@ class BrowserPluginGuestDelegate; @@ -121,11 +121,14 @@ class BrowserPluginGuestDelegate;
class GuestPageHolder; class GuestPageHolder;
class RenderFrameHost; class RenderFrameHost;
class RenderViewHost; class RenderViewHost;
@ -47,12 +47,13 @@ index 37061d761f18ea143a8095393c42c4cf5c9eca0e..e70f25a52dbe66bf1a9bbbcb6bf56f07
+class RenderWidgetHostViewBase; +class RenderWidgetHostViewBase;
class ScreenOrientationDelegate; class ScreenOrientationDelegate;
class SiteInstance; class SiteInstance;
class UnownedInnerWebContentsClient;
class WebContentsDelegate; class WebContentsDelegate;
+class WebContentsView; +class WebContentsView;
class WebUI; class WebUI;
struct DropData; struct DropData;
struct MHTMLGenerationParams; struct MHTMLGenerationParams;
@@ -278,6 +281,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData { @@ -279,6 +282,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData {
network::mojom::WebSandboxFlags starting_sandbox_flags = network::mojom::WebSandboxFlags starting_sandbox_flags =
network::mojom::WebSandboxFlags::kNone; network::mojom::WebSandboxFlags::kNone;

View file

@ -15,10 +15,10 @@ Note that we also need to manually update embedder's
`api::WebContents::IsFullscreenForTabOrPending` value. `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 diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index be73611db5328c76982ecca3caf5eccc30aac45e..0c4d801b3705fb609a40b8c58d2ee7f9b690461f 100644 index d8698f9f37eefa50bf4e29a164b2cc302c32ecdf..3a8dc82b882aa00e9a5430bc8b7ba40985e17ff1 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -8824,6 +8824,17 @@ void RenderFrameHostImpl::EnterFullscreen( @@ -8831,6 +8831,17 @@ void RenderFrameHostImpl::EnterFullscreen(
} }
} }
@ -37,10 +37,10 @@ index be73611db5328c76982ecca3caf5eccc30aac45e..0c4d801b3705fb609a40b8c58d2ee7f9
if (had_fullscreen_token && !GetView()->HasFocus()) if (had_fullscreen_token && !GetView()->HasFocus())
GetView()->Focus(); GetView()->Focus();
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 0cf259360950a7063c4f9d6dc71b004706330f37..97df851aa73d1bf8d8c8001646b63cbb43cd9a92 100644 index e745a26a4e877ace994be80c2134147500205d0b..eefecd6b3b9c940c3ae3e9ef40075c4a109878ef 100644
--- a/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4384,21 +4384,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent( @@ -4393,21 +4393,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
const input::NativeWebKeyboardEvent& event) { const input::NativeWebKeyboardEvent& event) {
OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"), OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
"WebContentsImpl::PreHandleKeyboardEvent"); "WebContentsImpl::PreHandleKeyboardEvent");
@ -78,7 +78,7 @@ index 0cf259360950a7063c4f9d6dc71b004706330f37..97df851aa73d1bf8d8c8001646b63cbb
} }
bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) { bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
@@ -4557,7 +4561,7 @@ void WebContentsImpl::EnterFullscreenMode( @@ -4566,7 +4570,7 @@ void WebContentsImpl::EnterFullscreenMode(
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode"); OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
DCHECK(CanEnterFullscreenMode(requesting_frame)); DCHECK(CanEnterFullscreenMode(requesting_frame));
DCHECK(requesting_frame->IsActive()); DCHECK(requesting_frame->IsActive());

View file

@ -67,10 +67,10 @@ index 54e25fb12f680eb4bbe0d51f162e227610065345..3648f1be362dc4c13071e73fed478454
const WebSecurityOrigin& script_origin) { const WebSecurityOrigin& script_origin) {
return false; return false;
diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc
index e4d70bc0f577809cf6b9876044fe78192a098ec6..7d13d80a7f09e47d9f3c6da860e8d3373d5b8afd 100644 index ce448895f52bcd17c093ff12b9eb4e1703882278..1c1858ce54f2c27666b3aed92fcb545a13e7bf2b 100644
--- a/third_party/blink/renderer/core/workers/worker_thread.cc --- a/third_party/blink/renderer/core/workers/worker_thread.cc
+++ b/third_party/blink/renderer/core/workers/worker_thread.cc +++ b/third_party/blink/renderer/core/workers/worker_thread.cc
@@ -748,6 +748,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() { @@ -821,6 +821,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
} }
pause_handle_.reset(); pause_handle_.reset();

View file

@ -10,7 +10,7 @@ to handle this without patching, but this is fairly clean for now and no longer
patching legacy devtools code. patching legacy devtools code.
diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts
index 2be25257dfc26d280733f6b55fa13da5e316ba3c..263bfe5be5becb18c73b0fc27ab1a41d455a5508 100644 index e4ac33c985627cc80be3262c335535ecd42f1c67..8a4c8cbcfbf23ff5a56fdcf9e582efb6291d6ef5 100644
--- a/front_end/entrypoints/main/MainImpl.ts --- a/front_end/entrypoints/main/MainImpl.ts
+++ b/front_end/entrypoints/main/MainImpl.ts +++ b/front_end/entrypoints/main/MainImpl.ts
@@ -721,6 +721,8 @@ export class MainImpl { @@ -721,6 +721,8 @@ export class MainImpl {

View file

@ -1,3 +1 @@
chore_allow_customizing_microtask_policy_per_context.patch chore_allow_customizing_microtask_policy_per_context.patch
cherry-pick-7bc0a67ebfbf.patch
cherry-pick-45eb42cd398e.patch

View file

@ -1,32 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Sheludko <ishell@chromium.org>
Date: Tue, 27 May 2025 21:34:45 +0200
Subject: Convert Smi to Word64 using zero extension
... when a known type range contains only positive values.
Bug: 420637585
Change-Id: I8d9bb3f2fe2e5268e1659bb4ea7bbf97bfb52288
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6594731
Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#100538}
diff --git a/src/compiler/representation-change.cc b/src/compiler/representation-change.cc
index a05b47e602e9707c17ba0ddcc9cfc071b95db168..116dcb6ce9a10e8fd3c681292ceaa2894db55052 100644
--- a/src/compiler/representation-change.cc
+++ b/src/compiler/representation-change.cc
@@ -1394,7 +1394,12 @@ Node* RepresentationChanger::GetWord64RepresentationFor(
}
} else if (output_rep == MachineRepresentation::kTaggedSigned) {
if (output_type.Is(Type::SignedSmall())) {
- op = simplified()->ChangeTaggedSignedToInt64();
+ if (output_type.IsRange() && output_type.AsRange()->Min() >= 0) {
+ node = InsertChangeTaggedSignedToInt32(node);
+ op = machine()->ChangeUint32ToUint64();
+ } else {
+ op = simplified()->ChangeTaggedSignedToInt64();
+ }
} else {
return TypeError(node, output_rep, output_type,
MachineRepresentation::kWord64);

View file

@ -1,53 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Leszek Swirski <leszeks@chromium.org>
Date: Tue, 27 May 2025 20:33:19 +0200
Subject: Weaken alias analysis in store-store elimination
Bug: 420636529
Change-Id: I7c5a8f47960708cecbb27d811eedc7f754933deb
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6594051
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#100530}
diff --git a/src/compiler/turboshaft/store-store-elimination-reducer-inl.h b/src/compiler/turboshaft/store-store-elimination-reducer-inl.h
index 45654a022fbaa67634d68d7d6e9dab7a5a50cb28..e058a41f23e29bbe4f5098608b340ccfef50bf98 100644
--- a/src/compiler/turboshaft/store-store-elimination-reducer-inl.h
+++ b/src/compiler/turboshaft/store-store-elimination-reducer-inl.h
@@ -325,10 +325,11 @@ class RedundantStoreAnalysis {
// TODO(nicohartmann@): Use the new effect flags to distinguish heap
// access once available.
const bool is_on_heap_store = store.kind.tagged_base;
- const bool is_field_store = !store.index().valid();
+ const bool is_fixed_offset_store = !store.index().valid();
const uint8_t size = store.stored_rep.SizeInBytes();
- // For now we consider only stores of fields of objects on the heap.
- if (is_on_heap_store && is_field_store) {
+ // For now we consider only stores of fixed offsets of objects on the
+ // heap.
+ if (is_on_heap_store && is_fixed_offset_store) {
bool is_eliminable_store = false;
switch (table_.GetObservability(store.base(), store.offset, size)) {
case StoreObservability::kUnobservable:
@@ -415,11 +416,16 @@ class RedundantStoreAnalysis {
// TODO(nicohartmann@): Use the new effect flags to distinguish heap
// access once available.
const bool is_on_heap_load = load.kind.tagged_base;
- const bool is_field_load = !load.index().valid();
+ const bool is_fixed_offset_load = !load.index().valid();
// For now we consider only loads of fields of objects on the heap.
- if (is_on_heap_load && is_field_load) {
- table_.MarkPotentiallyAliasingStoresAsObservable(load.base(),
- load.offset);
+ if (is_on_heap_load) {
+ if (is_fixed_offset_load) {
+ table_.MarkPotentiallyAliasingStoresAsObservable(load.base(),
+ load.offset);
+ } else {
+ // A dynamically indexed load might alias any fixed offset.
+ table_.MarkAllStoresAsObservable();
+ }
}
break;
}

View file

@ -49,10 +49,10 @@ index 94605f409cd1523036f3e7d167a8d1f3c030e586..fae73654c84a7a8185ddf7255b49a86f
options, CaptureType::kAnyScreenContent); options, CaptureType::kAnyScreenContent);
} }
diff --git a/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc b/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc diff --git a/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc b/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
index 722806340163be3371f29263e56bcc808b6846c6..6453101606e2088de640e70a730817803d0a1a09 100644 index 76340ced4101d3c04a853dacd522365ae70bc5b4..309804a88c19b1e1d5c8592d8b0a5addc74ad844 100644
--- a/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc --- a/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
+++ b/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc +++ b/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
@@ -111,6 +111,7 @@ void BaseCapturerPipeWire::OnScreenCastRequestResult(RequestResponse result, @@ -112,6 +112,7 @@ void BaseCapturerPipeWire::OnScreenCastRequestResult(RequestResponse result,
void BaseCapturerPipeWire::OnScreenCastSessionClosed() { void BaseCapturerPipeWire::OnScreenCastSessionClosed() {
if (!capturer_failed_) { if (!capturer_failed_) {
options_.screencast_stream()->StopScreenCastStream(); options_.screencast_stream()->StopScreenCastStream();

View file

@ -11,6 +11,7 @@
#include "base/containers/contains.h" #include "base/containers/contains.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/strings/string_number_conversions.h" #include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
#include "chrome/browser/serial/serial_blocklist.h" #include "chrome/browser/serial/serial_blocklist.h"
#include "content/public/browser/console_message.h" #include "content/public/browser/console_message.h"
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"

View file

@ -182,6 +182,7 @@ class InspectableWebContents
void RecordChange(const ChangeEvent& event) override {} void RecordChange(const ChangeEvent& event) override {}
void RecordKeyDown(const KeyDownEvent& event) override {} void RecordKeyDown(const KeyDownEvent& event) override {}
void RecordSettingAccess(const SettingAccessEvent& event) override {} void RecordSettingAccess(const SettingAccessEvent& event) override {}
void RecordFunctionCall(const FunctionCallEvent& event) override {}
void ShowSurvey(DispatchCallback callback, void ShowSurvey(DispatchCallback callback,
const std::string& trigger) override {} const std::string& trigger) override {}
void CanShowSurvey(DispatchCallback callback, void CanShowSurvey(DispatchCallback callback,