chore: bump chromium to 114.0.5684.0 (main) (#37701)

* chore: bump chromium in DEPS to 113.0.5672.0

* chore: bump chromium in DEPS to 114.0.5673.0

* chore: bump chromium in DEPS to 114.0.5675.0

* chore: update patches

* 4223697: [json-schema-compiler] T::Populate with base::Value::Dict

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

* chore: update filenames.libcxx.gni

* 4290476: Report an explicit pause reason when stopping after taking a step.

https://chromium-review.googlesource.com/c/v8/v8/+/4290476

* chore: bump chromium in DEPS to 114.0.5682.0

* 4373699: [SystemProfileSelectionDefaultNone] Enable feature by default

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

* chore: update patches

* Revert AsyncCompileJSToWasmWrapperJob simplification

https://chromium-review.googlesource.com/c/v8/v8/+/4347597/11

* 4365718: Reland "Reland "Reland "[Tracing] Use Perfetto client library for tracing on Linux"""

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

* chore: bump chromium in DEPS to 114.0.5684.0

* chore: update patches

* 4335544: [handles] Refactor classes for abstract handles

https://chromium-review.googlesource.com/c/v8/v8/+/4335544

* update patch description to include tracking issue

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
This commit is contained in:
electron-roller[bot] 2023-03-30 22:03:58 -04:00 коммит произвёл GitHub
Родитель 75919e28b8
Коммит 3fa03977c7
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
59 изменённых файлов: 799 добавлений и 228 удалений

2
DEPS
Просмотреть файл

@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
vars = {
'chromium_version':
'113.0.5670.0',
'114.0.5684.0',
'node_version':
'v18.15.0',
'nan_version':

Просмотреть файл

@ -45,3 +45,7 @@ is_cfi = false
# TODO: fix this once sysroots have been updated.
use_qt = false
# https://chromium-review.googlesource.com/c/chromium/src/+/4365718
# TODO(codebytere): fix perfetto incompatibility with Node.js.
use_perfetto_client_library = false

Просмотреть файл

@ -295,6 +295,7 @@ libcxx_headers = [
"//buildtools/third_party/libc++/trunk/include/__concepts/semiregular.h",
"//buildtools/third_party/libc++/trunk/include/__concepts/swappable.h",
"//buildtools/third_party/libc++/trunk/include/__concepts/totally_ordered.h",
"//buildtools/third_party/libc++/trunk/include/__condition_variable/condition_variable.h",
"//buildtools/third_party/libc++/trunk/include/__config",
"//buildtools/third_party/libc++/trunk/include/__config_site.in",
"//buildtools/third_party/libc++/trunk/include/__coroutine/coroutine_handle.h",
@ -476,7 +477,10 @@ libcxx_headers = [
"//buildtools/third_party/libc++/trunk/include/__memory_resource/pool_options.h",
"//buildtools/third_party/libc++/trunk/include/__memory_resource/synchronized_pool_resource.h",
"//buildtools/third_party/libc++/trunk/include/__memory_resource/unsynchronized_pool_resource.h",
"//buildtools/third_party/libc++/trunk/include/__mutex_base",
"//buildtools/third_party/libc++/trunk/include/__mutex/lock_guard.h",
"//buildtools/third_party/libc++/trunk/include/__mutex/mutex.h",
"//buildtools/third_party/libc++/trunk/include/__mutex/tag_types.h",
"//buildtools/third_party/libc++/trunk/include/__mutex/unique_lock.h",
"//buildtools/third_party/libc++/trunk/include/__node_handle",
"//buildtools/third_party/libc++/trunk/include/__numeric/accumulate.h",
"//buildtools/third_party/libc++/trunk/include/__numeric/adjacent_difference.h",

Просмотреть файл

@ -23,10 +23,10 @@ index 6c92a2856e447bdda11c7ed2c64b79b93a0eca26..03dedde2d83e6b09fb7e90be7dfdce24
int32_t world_id) {}
virtual void DidClearWindowObject() {}
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index ec5f9cd23baefd6a1fd6d0185566ebbad908c3aa..04beeccf48d530ddfa2aa997e254f9d1abee4c56 100644
index b93e63e7b7c247eeaa01fd02bcc548f75c9a963c..c56512fb013f150598a155022e097e6a25a6724d 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -4379,6 +4379,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
@@ -4393,6 +4393,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
observer.DidCreateScriptContext(context, world_id);
}
@ -40,10 +40,10 @@ index ec5f9cd23baefd6a1fd6d0185566ebbad908c3aa..04beeccf48d530ddfa2aa997e254f9d1
int world_id) {
for (auto& observer : observers_)
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 89f908fd388388a90bc1dfc9eb74fde68a388826..0737f3f7d10c054828da8b7e7cab0c4b30369c7a 100644
index a441c84491884e92e1cc15e7b581e8598dafa30d..fb77bfde937563874a02a1ce54e6e39c8fa7405a 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -606,6 +606,8 @@ class CONTENT_EXPORT RenderFrameImpl
@@ -609,6 +609,8 @@ class CONTENT_EXPORT RenderFrameImpl
void DidObserveLayoutShift(double score, bool after_input_or_scroll) override;
void DidCreateScriptContext(v8::Local<v8::Context> context,
int world_id) override;
@ -53,7 +53,7 @@ index 89f908fd388388a90bc1dfc9eb74fde68a388826..0737f3f7d10c054828da8b7e7cab0c4b
int world_id) override;
void DidChangeScrollOffset() override;
diff --git a/third_party/blink/public/web/web_local_frame_client.h b/third_party/blink/public/web/web_local_frame_client.h
index 082e8ec96fb8f2fea660ea12fd349a248b7422a2..77a7aee67a69fb7728525af3baa45410d866b266 100644
index ee528077545133ab14002823ce302f6e36780207..8e08121bc2402fcd7c7008c3aa914cd06c963c96 100644
--- a/third_party/blink/public/web/web_local_frame_client.h
+++ b/third_party/blink/public/web/web_local_frame_client.h
@@ -603,6 +603,9 @@ class BLINK_EXPORT WebLocalFrameClient {
@ -79,10 +79,10 @@ index e7d4256fa96f5bc8ad71bd13b6b33feef32b443f..0dfeda68a4dbfd6b442f8d8f928c8cb8
if (World().IsMainWorld()) {
probe::DidCreateMainWorldContext(GetFrame());
diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h
index 57c53a50ac740638f20bf251bdfe11712dd695a8..54e89e0007f2ef77ff9a8894cf4aeb9489d1af10 100644
index e3bfcfbcb85c68b358e2fe36ff8d1b057e75cf02..eac02ffbb79e710702f960297c4afc6e7a29cab2 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client.h
+++ b/third_party/blink/renderer/core/frame/local_frame_client.h
@@ -317,6 +317,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
@@ -318,6 +318,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
virtual void DidCreateScriptContext(v8::Local<v8::Context>,
int32_t world_id) = 0;
@ -92,7 +92,7 @@ index 57c53a50ac740638f20bf251bdfe11712dd695a8..54e89e0007f2ef77ff9a8894cf4aeb94
int32_t world_id) = 0;
virtual bool AllowScriptExtensions() = 0;
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
index a673808284a34b40a453f3d6142167f2441ac15b..baf96017feaac4fb031eb1fd0c3484e07ee30073 100644
index bc88e4ebf6486c6f5e41e64ab2129d9bc6b3a623..1c373fc31019a26118edc8ac5e552f17ab5f31b0 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
@@ -283,6 +283,13 @@ void LocalFrameClientImpl::DidCreateScriptContext(
@ -110,7 +110,7 @@ index a673808284a34b40a453f3d6142167f2441ac15b..baf96017feaac4fb031eb1fd0c3484e0
v8::Local<v8::Context> context,
int32_t world_id) {
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.h b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
index 18bd2834036d3fda2049a3895423ee408e5af94a..de9700ca74616d48b6665c93edc01bef92cad5ce 100644
index b891843979c50a2e5fe03f1ac5ef4f594db1f278..b29f31ad1cede71f3ea724b3223ebd7c00d1feff 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.h
+++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
@@ -82,6 +82,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient {
@ -123,10 +123,10 @@ index 18bd2834036d3fda2049a3895423ee408e5af94a..de9700ca74616d48b6665c93edc01bef
int32_t world_id) override;
diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h
index be4ec85e2abb8bce8951d8f1060ad502a286a407..6689ecc61aaeaf3c2d8bf22bf01ad48597f251ca 100644
index ca0c223d248a2ae247429059be8a6a139006e55b..20439262e08e74318035460a0f92c981fa6758e1 100644
--- a/third_party/blink/renderer/core/loader/empty_clients.h
+++ b/third_party/blink/renderer/core/loader/empty_clients.h
@@ -402,6 +402,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
@@ -405,6 +405,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
void DidCreateScriptContext(v8::Local<v8::Context>,
int32_t world_id) override {}

Просмотреть файл

@ -72,10 +72,10 @@ index 2c3930e849719dce3871c12b073966ca370e5e43..990f88a20320a2f6f58cf2e0b4d37e39
// Visibility -----------------------------------------------------------
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
index bb5b2ecb9088938e1c792cfb6c08e1f30fed2a7c..10692a1eb265f18756a1d9c4f39fa504f83b8144 100644
index 4f99cf1e984cb7411703e3e586203834bf218afe..86e0c9a457b6a43441183f7d95a400cbfd0de1e3 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -3896,13 +3896,21 @@ PageScheduler* WebViewImpl::Scheduler() const {
@@ -3895,13 +3895,21 @@ PageScheduler* WebViewImpl::Scheduler() const {
return GetPage()->GetPageScheduler();
}

Просмотреть файл

@ -49,10 +49,10 @@ index b7bff829d779036ce0341b52ce9adc28eac91fa2..79b48d028ff6742d0d43ac6d32242f50
// its owning reference back to our owning LocalFrame.
client_->Detached(type);
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
index 9cf36959fc6afeb56a8a03e88698515df9b7b1c0..176039ff509633ba771b820012f85fc19f914d91 100644
index 3dd5c05df97aa42245022e3404dadfa7b2341a45..ff0df640ed6dfedbf9e175afed003996b98dafbe 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -622,10 +622,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
@@ -623,10 +623,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
}
DCHECK(!view_ || !view_->IsAttached());
@ -63,7 +63,7 @@ index 9cf36959fc6afeb56a8a03e88698515df9b7b1c0..176039ff509633ba771b820012f85fc1
if (!Client())
return false;
@@ -673,6 +669,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
@@ -674,6 +670,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
DCHECK(!view_->IsAttached());
Client()->WillBeDetached();

Просмотреть файл

@ -8,7 +8,7 @@ categories in use are known / declared. This patch is required for us
to introduce a new Electron category for Electron-specific tracing.
diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
index 7146ce14ee1a235b134ed4c7b16fb2a37f63a865..bf4dbc1813944135d67700fd6e744dfc80dd777d 100644
index 3c8faea2c2391a0172504d524129702cb3c43cf0..b561f3e09d294e74b41a22ab22e8bbe5be05a116 100644
--- a/base/trace_event/builtin_categories.h
+++ b/base/trace_event/builtin_categories.h
@@ -80,6 +80,7 @@

Просмотреть файл

@ -11,32 +11,32 @@ if we ever align our .pak file generation with Chrome we can remove this
patch.
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index cf53c168b31fecca8fd07f167d1e3523bc3be568..b13ffdfb9ffdaea0908b0b4b8260666f2c24988b 100644
index 7c3a9357e6155e841215fd73ce9b71cbd688b676..04300a24bc1b3a6a0d326d177a4d9e07076b4026 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -186,11 +186,16 @@ if (!is_android && !is_mac) {
"common/crash_keys.h",
]
@@ -193,11 +193,16 @@ if (!is_android && !is_mac) {
"common/crash_keys.h",
]
+ if (!is_electron_build) {
+ deps = [
+ ":packed_resources_integrity",
+ ]
+ }
+ if (!is_electron_build) {
+ deps = [
+ ":packed_resources_integrity",
+ ]
+ }
+
deps += [
":chrome_dll",
":chrome_exe_version",
":copy_first_run",
- ":packed_resources_integrity",
":visual_elements_resources",
"//base",
"//build:branding_buildflags",
deps += [
":chrome_dll",
":chrome_exe_version",
":copy_first_run",
- ":packed_resources_integrity",
":visual_elements_resources",
"//base",
"//build:branding_buildflags",
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 717724a0736dfa27e61697cbfb2df9040647898b..21982376d6d9537b62ad8ba6b751b46db1fea62c 100644
index 3611d20dc079e1f196b75dc514bdbc3be48a57dc..f744031e4a713e27c672d5d45dc765b654cff853 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -4550,7 +4550,7 @@ static_library("browser") {
@@ -4565,7 +4565,7 @@ static_library("browser") {
# On Windows, the hashes are embedded in //chrome:chrome_initial rather
# than here in :chrome_dll.
@ -46,10 +46,10 @@ index 717724a0736dfa27e61697cbfb2df9040647898b..21982376d6d9537b62ad8ba6b751b46d
sources += [ "certificate_viewer_stub.cc" ]
}
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 2a859f1f0646e4a95af08b7d6d871857cdb9bddc..feefed02d976eadcad82c74b4349e5529b725a91 100644
index dd1ad494f386981dc98310f950bc5ea1ed699f3c..beaeddba2077f638ee2a5e78fa184277f121dd5e 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -6383,7 +6383,6 @@ test("unit_tests") {
@@ -6382,7 +6382,6 @@ test("unit_tests") {
deps += [
"//chrome:other_version",
@ -57,7 +57,7 @@ index 2a859f1f0646e4a95af08b7d6d871857cdb9bddc..feefed02d976eadcad82c74b4349e552
"//chrome//services/util_win:unit_tests",
"//chrome/app:chrome_dll_resources",
"//chrome/app:win_unit_tests",
@@ -6409,6 +6408,10 @@ test("unit_tests") {
@@ -6408,6 +6407,10 @@ test("unit_tests") {
"//ui/resources",
]
@ -68,7 +68,7 @@ index 2a859f1f0646e4a95af08b7d6d871857cdb9bddc..feefed02d976eadcad82c74b4349e552
ldflags = [
"/DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll",
"/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll",
@@ -7334,7 +7337,6 @@ test("unit_tests") {
@@ -7338,7 +7341,6 @@ test("unit_tests") {
}
deps += [
@ -76,7 +76,7 @@ index 2a859f1f0646e4a95af08b7d6d871857cdb9bddc..feefed02d976eadcad82c74b4349e552
"//chrome/browser/apps:icon_standardizer",
"//chrome/browser/apps/app_service",
"//chrome/browser/apps/app_service:test_support",
@@ -7410,6 +7412,10 @@ test("unit_tests") {
@@ -7416,6 +7418,10 @@ test("unit_tests") {
"//ui/webui/resources/js/browser_command:mojo_bindings",
]

Просмотреть файл

@ -14,7 +14,7 @@ tradeoff is that switching from MAS_BUILD to !MAS_BUILD or vice-versa will
rebuild the entire tree.
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
index e4925e51432533b8ecc521b6fd8dd37b33dce2e5..cae98422abedad1eb1dc0b3e0baf0ca341b31ec7 100644
index ca7debdbbd76a48ff322fd7665ff99a27e2e2691..21cc8f57ed0fe4151a95bb9520d84e73988de6af 100644
--- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn
@@ -123,6 +123,9 @@ if (current_os == "") {

Просмотреть файл

@ -32,7 +32,7 @@ index 21421aa32047dc1479693c5a5f7aa209aafa05d3..ed1972a765574bdc380ea0670b45906a
]
if (is_linux) {
diff --git a/buildtools/third_party/libc++abi/BUILD.gn b/buildtools/third_party/libc++abi/BUILD.gn
index 4e1e3346dc4a4463ac99a47ea7f2914945fee9e7..84c1a696dfa45a23505aa681c8ab2a684b3c12c2 100644
index 3ab30c4f8776b9b60e736e69c9bfbce99263ff97..3e8ed18b836f863deafd28a6363b7de2bcdc1863 100644
--- a/buildtools/third_party/libc++abi/BUILD.gn
+++ b/buildtools/third_party/libc++abi/BUILD.gn
@@ -4,7 +4,7 @@
@ -42,5 +42,5 @@ index 4e1e3346dc4a4463ac99a47ea7f2914945fee9e7..84c1a696dfa45a23505aa681c8ab2a68
-source_set("libc++abi") {
+static_library("libc++abi") {
if (export_libcxxabi_from_executables) {
visibility = [ "//build/config:executable_deps" ]
} else {
visibility = [
"//build/config:executable_deps",

Просмотреть файл

@ -6,7 +6,7 @@ Subject: build: make libcxx_abi_unstable false for electron
https://nornagon.medium.com/a-libc-odyssey-973e51649063
diff --git a/buildtools/third_party/libc++/__config_site b/buildtools/third_party/libc++/__config_site
index 4ac81de659b1e70fd64d0a538a48f2e1f1530b5e..135141c8b7f6f20ee5a6df5a3e469f8da5cc837b 100644
index a60cbbaabf9f3e37c4e78685a188f329177647d6..bb14f842a0b03c1b58d00c8b3c8ea2e7de926dff 100644
--- a/buildtools/third_party/libc++/__config_site
+++ b/buildtools/third_party/libc++/__config_site
@@ -12,7 +12,6 @@

Просмотреть файл

@ -6,7 +6,7 @@ Subject: build: only use the mas build config in the required components
Before landing this patch should be split into the relevant MAS patches, or at least the patch this one partially reverts
diff --git a/base/BUILD.gn b/base/BUILD.gn
index 80f6eaf01c022b979ff8c3049e7b1d66aaa605c3..c472e10fdc5c9cce7934e584f2848e74aecd8801 100644
index 8d16af27f369310b2c01fcdd468a608e33a7d0cd..eae6c19819fe905decb63a7a6fd3b78096576d6f 100644
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -1035,6 +1035,7 @@ component("base") {
@ -18,7 +18,7 @@ index 80f6eaf01c022b979ff8c3049e7b1d66aaa605c3..c472e10fdc5c9cce7934e584f2848e74
deps = [
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
index cae98422abedad1eb1dc0b3e0baf0ca341b31ec7..6bdef81c3a027942e2987c0005d67d10c5c1089c 100644
index 21cc8f57ed0fe4151a95bb9520d84e73988de6af..421fc44fa6ee63b60e65c973dd8920d339cb01f6 100644
--- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn
@@ -355,7 +355,6 @@ default_compiler_configs = [
@ -76,7 +76,7 @@ index a808f967a95fca4847588f1d88a210bfd7f53767..7c3c71cac9162b8f565494fdad16fb06
if (is_win) {
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index fccddda5803b6838bcfde366b4812308fce5522e..6fa821c72d385579bbc6f1b86443323138e32f77 100644
index 57be2bdb26e56eb4914a169f7052a94a53535203..26bf82736b9fed3d3c5960cf106bde80fb68f5ba 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -56,6 +56,7 @@ source_set("browser") {
@ -88,10 +88,10 @@ index fccddda5803b6838bcfde366b4812308fce5522e..6fa821c72d385579bbc6f1b864433231
libs = []
frameworks = []
diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn
index 1bfc069882b2fd56bb4e872c792809615e4f70c9..e5df5a35d270229787d0d9637b23813e2e1da115 100644
index 15fff7d58b4ad4998d1230cfa00e1f428e58de2e..fd13d82c89bfb3984eed5eee3521dad1583ca970 100644
--- a/content/common/BUILD.gn
+++ b/content/common/BUILD.gn
@@ -168,6 +168,7 @@ source_set("common") {
@@ -172,6 +172,7 @@ source_set("common") {
"//content:content_implementation",
"//build/config:precompiled_headers",
]
@ -189,7 +189,7 @@ index 5e9fc18352d1bf0939f8366d2282b49aeb307994..69dcc2cafa27b3d8bdf3fe8d0a22a980
source_set("sandbox_unittests") {
diff --git a/third_party/blink/renderer/core/BUILD.gn b/third_party/blink/renderer/core/BUILD.gn
index f61e0ad85e7e7faf97274bad4b59fc91c41e3168..c308bcb30f57e7b0c9ae58420bedd343f4b54184 100644
index 30d2367f886c71509c350ab1b288a94fc400bdb2..eec41ce952674df415e6497cd9b9a79ab2b61396 100644
--- a/third_party/blink/renderer/core/BUILD.gn
+++ b/third_party/blink/renderer/core/BUILD.gn
@@ -304,6 +304,7 @@ component("core") {
@ -226,10 +226,10 @@ index ebc2470893838ec41ac1bf536c5a6db304bfa7cb..4a2082c2fed4e220cb8cbc2c803f682c
if (use_atk) {
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index 90074c3e90d9b4bbfaf2c86f8c1a5a3c36babdc8..991bc348a5fb5c2e9a744b14ed5894fe3155f4c0 100644
index 9631446ea47a2d8c5d2483ed13cf17a023c49ab6..0e61c424c7529cd469582d200bb6f42e795942a0 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -345,6 +345,7 @@ component("base") {
@@ -343,6 +343,7 @@ component("base") {
"l10n/l10n_util_mac.mm",
"resource/resource_bundle_mac.mm",
]
@ -265,7 +265,7 @@ index af0e7466f1a265c9d55ba81f3b2c9c68dafa7767..d991513ee82f4406f578a4751bf30fac
if (is_win) {
sources += [
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
index 14b9424f12ae3d3978f834e2bb765d9f18892ce5..7ad880f66fa720b3b708d0f4fe8ee4f81d98d10c 100644
index 44ab549757216902e3db8c015dfde2c2d7799ca9..e4b9e8ac2643437c819305d96d7aa9dca809454e 100644
--- a/ui/views/BUILD.gn
+++ b/ui/views/BUILD.gn
@@ -673,6 +673,7 @@ component("views") {

Просмотреть файл

@ -9,10 +9,10 @@ potentially prevent a window from being created.
TODO(loc): this patch is currently broken.
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 7773acfa5ee3bae6d17a391d873abf399839eb25..3da982748c96b6e774d57af7ee3c873a5d474b9f 100644
index 793b5e6a6ad85583bccd85a5652f27285ac3fe70..93e23efa3fab9cf8e5b8a5f08b4369a4295dda85 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -7653,6 +7653,7 @@ void RenderFrameHostImpl::CreateNewWindow(
@@ -7677,6 +7677,7 @@ void RenderFrameHostImpl::CreateNewWindow(
last_committed_origin_, params->window_container_type,
params->target_url, params->referrer.To<Referrer>(),
params->frame_name, params->disposition, *params->features,
@ -21,7 +21,7 @@ index 7773acfa5ee3bae6d17a391d873abf399839eb25..3da982748c96b6e774d57af7ee3c873a
&no_javascript_access);
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 79e0289b713ceba36383b64bea6d7b0cd402db94..37daf25c2a2a8c72fce2c5c49e5799c4bccc54df 100644
index b41d1cfe175de45f89d00757a89f858c2ec20301..6208f76554722394f34b70b1ebf0238cc476a15d 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4147,6 +4147,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@ -79,7 +79,7 @@ index cd77eefb577e610612e5af8cd7b89c064b6b6fe6..789df626f7b0592868c77c2e2ddc3552
bool opener_suppressed,
bool* no_javascript_access) {
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 5500a0cec01ec6b48c0f8faadf1528ccc9eea120..552714d86b77b2346371b86ad6087db4bb54f9e5 100644
index 01e7953e9b426c3000b45c8d4546e126135537cc..cf681fbaaa829af15f7e67b454730e2b7103b650 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -164,6 +164,7 @@ class NetworkService;
@ -90,7 +90,7 @@ index 5500a0cec01ec6b48c0f8faadf1528ccc9eea120..552714d86b77b2346371b86ad6087db4
} // namespace network
namespace sandbox {
@@ -1031,6 +1032,8 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1033,6 +1034,8 @@ class CONTENT_EXPORT ContentBrowserClient {
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
@ -148,10 +148,10 @@ index 5da6f93293bc5ddae88c17ac2dd8d7037ba8e8f3..76d699790fb7d92587293b14332f696d
// typically happens when popups are created.
virtual void WebContentsCreated(WebContents* source_contents,
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 77a944d5f347f595ec525d4c43b25bc1eaf2d75d..ec5f9cd23baefd6a1fd6d0185566ebbad908c3aa 100644
index fb6619c8bd6c59ec890c7b7b80bb2b08c73a8878..b93e63e7b7c247eeaa01fd02bcc548f75c9a963c 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -6265,6 +6265,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
@@ -6290,6 +6290,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
blink::GetNavigationInitiatorActivationAndAdStatus(
request.HasUserGesture(), GetWebFrame()->IsAdScriptInStack());
@ -189,7 +189,7 @@ index 22254206063abe36739e1c0e7c065223ab6807d2..7f5d89f8dc8b46ac1338e73b03948725
bool opener_suppressed,
bool* no_javascript_access) override;
diff --git a/third_party/blink/public/web/web_window_features.h b/third_party/blink/public/web/web_window_features.h
index a50a83d36f9172add44867ee0b0f1c89779b387e..c4ac7d4c885e764cfcfc3f2cd25e31b4b1a64a55 100644
index 19e505a2d434dfd219b12304238e3b654eb8395f..314d1e63c55fae58e9f7ad0ce10045d3133f4882 100644
--- a/third_party/blink/public/web/web_window_features.h
+++ b/third_party/blink/public/web/web_window_features.h
@@ -34,6 +34,7 @@
@ -200,7 +200,7 @@ index a50a83d36f9172add44867ee0b0f1c89779b387e..c4ac7d4c885e764cfcfc3f2cd25e31b4
namespace blink {
@@ -63,6 +64,8 @@ struct WebWindowFeatures {
@@ -68,6 +69,8 @@ struct WebWindowFeatures {
// Represents the attribution source declared by Attribution Reporting related
// window features, if any.
absl::optional<Impression> impression;
@ -210,7 +210,7 @@ index a50a83d36f9172add44867ee0b0f1c89779b387e..c4ac7d4c885e764cfcfc3f2cd25e31b4
} // namespace blink
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
index 8e675fcf1227af5123fd7a62a1eadd341aa5a9ec..4c023dbb0e659f027498e1c72fcf1dbe8b2de752 100644
index cf47a2431958c5dfe10c53695056ed56572d231d..e710dcdd6e8ad4e541be5dbed3c0319733a6b60b 100644
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
@@ -2211,6 +2211,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,

Просмотреть файл

@ -18,7 +18,7 @@ index f39533c8951d81fba73910a89b5cf2de9bd34a02..00756eb8a32aec3bc109db9aa1b370ab
/google_apis/internal
/googleurl
diff --git a/third_party/.gitignore b/third_party/.gitignore
index 99375ca00842dabd41280333a680564ac557616e..825f913eb826de264ac101d6810c7f41aa822af2 100644
index 7d0f066d786fc0ca3b17c557a7089070e8c06d51..22a9d0bca1fc09d8dbd1ab0fbf30d421718c6367 100644
--- a/third_party/.gitignore
+++ b/third_party/.gitignore
@@ -90,6 +90,7 @@
@ -29,7 +29,7 @@ index 99375ca00842dabd41280333a680564ac557616e..825f913eb826de264ac101d6810c7f41
/elfutils/src
/emoji-metadata/src
/emoji-segmenter/src
@@ -195,6 +196,7 @@
@@ -197,6 +198,7 @@
/mocha
/mockito/src
/nacl_sdk_binaries/
@ -37,7 +37,7 @@ index 99375ca00842dabd41280333a680564ac557616e..825f913eb826de264ac101d6810c7f41
/nasm
/nearby/src
/neon_2_sse/src
@@ -258,6 +260,7 @@
@@ -260,6 +262,7 @@
/speex
/sqlite/src
/sqlite4java/lib/

Просмотреть файл

@ -7,7 +7,7 @@ This patch comes after Chromium removed the ScopedAllowIO API in favor
of explicitly adding ScopedAllowBlocking calls as friends.
diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h
index 861c5f9da0506d8180d4e2a2af9c0c59a3f18bac..20d07b453ec28eb43736776f6cb6a6e20ded2885 100644
index f37e3cfc946bc8926b808b1fda9b7a3770810a96..84a1b9b8fc651b3bba12257e16b31929ccb9782b 100644
--- a/base/threading/thread_restrictions.h
+++ b/base/threading/thread_restrictions.h
@@ -133,6 +133,7 @@ class FirefoxProfileLock;
@ -28,7 +28,7 @@ index 861c5f9da0506d8180d4e2a2af9c0c59a3f18bac..20d07b453ec28eb43736776f6cb6a6e2
namespace enterprise_connectors {
class LinuxKeyRotationCommand;
} // namespace enterprise_connectors
@@ -574,6 +578,7 @@ class BASE_EXPORT [[maybe_unused, nodiscard]] ScopedAllowBlocking {
@@ -576,6 +580,7 @@ class BASE_EXPORT [[maybe_unused, nodiscard]] ScopedAllowBlocking {
friend class ::DesktopNotificationBalloon;
friend class ::FirefoxProfileLock;
friend class ::GaiaConfig;
@ -36,7 +36,7 @@ index 861c5f9da0506d8180d4e2a2af9c0c59a3f18bac..20d07b453ec28eb43736776f6cb6a6e2
friend class ::ProfileImpl;
friend class ::ScopedAllowBlockingForProfile;
friend class ::StartupTabProviderImpl;
@@ -611,6 +616,7 @@ class BASE_EXPORT [[maybe_unused, nodiscard]] ScopedAllowBlocking {
@@ -613,6 +618,7 @@ class BASE_EXPORT [[maybe_unused, nodiscard]] ScopedAllowBlocking {
friend class crosapi::LacrosThreadTypeDelegate;
friend class crypto::ScopedAllowBlockingForNSS; // http://crbug.com/59847
friend class drive::FakeDriveService;

Просмотреть файл

@ -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.
diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc
index d1b5f3c4af7b28260e91e2be741da2e5e727c2ca..7caa42d0155a42f2bf768d70900ea57e66ba49e4 100644
index 16b0a2c5312609160ab4c470555d246a45b19d82..4d81d97b231db1f84210060a4f8e6c1421751ca3 100644
--- a/content/browser/site_instance_impl.cc
+++ b/content/browser/site_instance_impl.cc
@@ -215,7 +215,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(
@@ -204,7 +204,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(
BrowserContext* browser_context,
const StoragePartitionConfig& partition_config) {
DCHECK(browser_context);

Просмотреть файл

@ -8,11 +8,11 @@ is therefore not a method that will compile given we don't include
relevant files.
diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/profiles/profile_selections.cc
index e98875bb5e214d36c0290c33377bc516e5f61947..8ebf54a6f9ce7b3e79cbbd591f2249ca6b9a6a14 100644
index 10aa2b39d4033d92fe7502532a497d394c4351d9..23e70eb0b6f49b164ffe615b32d2821e83753658 100644
--- a/chrome/browser/profiles/profile_selections.cc
+++ b/chrome/browser/profiles/profile_selections.cc
@@ -18,6 +18,7 @@ BASE_FEATURE(kSystemProfileSelectionDefaultNone,
base::FeatureState::FEATURE_DISABLED_BY_DEFAULT);
base::FeatureState::FEATURE_ENABLED_BY_DEFAULT);
bool AreKeyedServicesDisabledForProfileByDefault(const Profile* profile) {
+#if 0

Просмотреть файл

@ -218,10 +218,10 @@ index 4e32d708ecf4afd3913d86ec1602ef2dc9a60998..1dd2f50fba1387b5eeb554dd540957d7
void AddNewContents(content::WebContents* source,
std::unique_ptr<content::WebContents> new_contents,
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 71b2238a1f2302bf3ec3fb648b98843a01c6dc0c..c4ac501e42f753f715d0ea890976ad7e9766d39e 100644
index 54e4c89b5aa91b55729ec520cb6fc5ff6c71ff0e..b51533132d4b317f13db889a3199cc35a75953ca 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4050,8 +4050,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -4054,8 +4054,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
if (delegate_ && delegate_->IsWebContentsCreationOverridden(
source_site_instance, params.window_container_type,
@ -316,10 +316,10 @@ index 2ade4d0b28ba4c7179886c740952e963f828888e..b5e70e7e52df862a64baa8e3ca7e5902
content::RenderFrameHost* opener,
content::SiteInstance* source_site_instance,
diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
index 87348466587ed5f21cd3d89da13f5c8599fbeb2f..116199ab85aa8ccd2717a689b5ce9f3038253091 100644
index 094b1318fe0ee06eae5953081ad344032ebdf4ca..355ea1e6cc5a0013c74d5d9620b743ee186f8a2e 100644
--- a/fuchsia_web/webengine/browser/frame_impl.cc
+++ b/fuchsia_web/webengine/browser/frame_impl.cc
@@ -565,8 +565,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
@@ -566,8 +566,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type,
const GURL& opener_url,
@ -344,10 +344,10 @@ index 0ba76ffa875efe29e576310cfb210e4e86cc3478..e565a89da74fe1b455a03ede05cb302a
int opener_render_process_id,
int opener_render_frame_id,
diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
index 2bb690e05876c497abd1ad7d2c600b78532df1e6..c595d97a478a7475c8a56f322112006ae9117cd3 100644
index 60acb83c8d76f71db689f9d188bb6e8f64a74ffb..aa6cee708d1e451b443bc26528b56cc89d0805ac 100644
--- a/headless/lib/browser/headless_web_contents_impl.cc
+++ b/headless/lib/browser/headless_web_contents_impl.cc
@@ -183,8 +183,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
@@ -182,8 +182,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type,
const GURL& opener_url,

Просмотреть файл

@ -7,7 +7,7 @@ By default, chromium sets up one v8 snapshot to be used in all v8 contexts. This
to have a dedicated browser process v8 snapshot defined by the file `browser_v8_context_snapshot.bin`.
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
index 6a72d0a8f731b5dbc4468ba302bb76a18b4dff92..3550cd5711b98283ed87aa8399b7f38560ee0052 100644
index c56314c7852119bd8ad06d22ae777ad971966b75..2e28a16eb75340f3913447392dabaec34bdd1ede 100644
--- a/content/app/content_main_runner_impl.cc
+++ b/content/app/content_main_runner_impl.cc
@@ -39,6 +39,7 @@
@ -48,7 +48,7 @@ index 6a72d0a8f731b5dbc4468ba302bb76a18b4dff92..3550cd5711b98283ed87aa8399b7f385
#endif // V8_USE_EXTERNAL_STARTUP_DATA
}
@@ -962,7 +969,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) {
@@ -961,7 +968,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) {
return TerminateForFatalInitializationError();
#endif // BUILDFLAG(IS_ANDROID) && (ICU_UTIL_DATA_IMPL == ICU_UTIL_DATA_FILE)

Просмотреть файл

@ -20,10 +20,10 @@ to deal with color spaces. That is being tracked at
https://crbug.com/634542 and https://crbug.com/711107.
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 89f3522136226ee007a7d142bac48ac3f3132718..a8e86133abeba844332b37873385a331ea97b8ae 100644
index 4eb45d944776e44c6069653fa4cd9642a8adcca7..9b8f638ea930b155487038d7071f3b8385ed3a79 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -1888,6 +1888,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw(
@@ -1889,6 +1889,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw(
TargetColorParams LayerTreeHostImpl::GetTargetColorParams(
gfx::ContentColorUsage content_color_usage) const {
TargetColorParams params;
@ -35,7 +35,7 @@ index 89f3522136226ee007a7d142bac48ac3f3132718..a8e86133abeba844332b37873385a331
// If we are likely to software composite the resource, we use sRGB because
// software compositing is unable to perform color conversion.
diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h
index 29cd1a8a5db8ad7533458e4ed3f7a08479747b3c..db87c255789f9194b6f0d5d2d9c7e33658e8dcc1 100644
index d67c103a301f6398084f8db8a7d559981f3c669c..ccec09bdde3b107b0260ec9d26f5db20e023ce89 100644
--- a/cc/trees/layer_tree_settings.h
+++ b/cc/trees/layer_tree_settings.h
@@ -96,6 +96,8 @@ class CC_EXPORT LayerTreeSettings {
@ -93,10 +93,10 @@ index 98e21ef6e75cb86e3408514fb42124949e611b64..a699285a41537932b5c1182cafc1024b
sandbox::policy::switches::kGpuSandboxAllowSysVShm,
sandbox::policy::switches::kGpuSandboxFailuresFatal,
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 43987c78c7d1248f429c6bed4336e0db2e151c2c..bf9595d303fc91a855e125036ee7f0f53afd4cbb 100644
index 91a766b779911be5ec96fd56a069e8c3df87f5fb..1aa50dbade10d9818b75d3c859d76a6135e0c2bf 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -3317,6 +3317,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3328,6 +3328,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
// Propagate the following switches to the renderer command line (along
// with any associated values) if present in the browser command line.
static const char* const kSwitchNames[] = {

Просмотреть файл

@ -33,7 +33,7 @@ index f4775ddc34202803b3b015dc565bdcf5d0f5d8e0..e33c5b8ea948523a91fee51f03651e10
protected:
// |routing_id| must not be MSG_ROUTING_NONE.
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 7098e7e553bcd73ed5cebd8cf46efc4261ceb5a0..4e96b2b03835ce147d841c5358b77e1135927cb0 100644
index bc017ad27e37c4ea624d3659a374aaf55b96584a..8edae45df20b0a0fa02f41a0784f847c0492a5b4 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -605,7 +605,7 @@ void RenderWidgetHostViewAura::HideImpl() {

Просмотреть файл

@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
} // namespace net
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index 1e6769d9091d0c0c17869730c754aec116dd372c..68044a4d9d271ce3930c0247533e8533059d2fe6 100644
index a985d4a9b1f005c965fc0ec9076e9648bc1ff7c3..974b8562354665301ba2f44ae79a3d69b93960fb 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1410,6 +1410,13 @@ void NetworkContext::SetNetworkConditions(
@@ -1434,6 +1434,13 @@ void NetworkContext::SetNetworkConditions(
std::move(network_conditions));
}
@ -51,10 +51,10 @@ index 1e6769d9091d0c0c17869730c754aec116dd372c..68044a4d9d271ce3930c0247533e8533
// This may only be called on NetworkContexts created with the constructor
// that calls MakeURLRequestContext().
diff --git a/services/network/network_context.h b/services/network/network_context.h
index 4e74b29c4063da63cb2b8b46ec0879d3a5a3f76d..9822ecde4ddd8209b4d1f129eb26a0b7a17d43ba 100644
index 9812aef784d8aa1e57a91b4adfeb25befdc57e2c..a16320c306b937a36162b9a34f7b66c003818498 100644
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -309,6 +309,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -311,6 +311,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
void CloseIdleConnections(CloseIdleConnectionsCallback callback) override;
void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id,
mojom::NetworkConditionsPtr conditions) override;
@ -63,10 +63,10 @@ index 4e74b29c4063da63cb2b8b46ec0879d3a5a3f76d..9822ecde4ddd8209b4d1f129eb26a0b7
void SetEnableReferrers(bool enable_referrers) override;
#if BUILDFLAG(IS_CHROMEOS)
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
index aabe94b0c6a5d131723217118469465b7cc808f1..e8586f71bae62339b43eea554d7e0306eb4c8da1 100644
index 0d2ff1f52aa217aef66e6b9c10bbb119f9f622e3..28cc52d5ec9b2fd12361c24b07c78c90d1bb3099 100644
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -1099,6 +1099,9 @@ interface NetworkContext {
@@ -1103,6 +1103,9 @@ interface NetworkContext {
SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id,
NetworkConditions? conditions);
@ -77,10 +77,10 @@ index aabe94b0c6a5d131723217118469465b7cc808f1..e8586f71bae62339b43eea554d7e0306
SetAcceptLanguage(string new_accept_language);
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
index 53e79f16daaa2c536d7a867b8fc11874c00a042b..1b12249c279f83c486485d0ce8bf42e67e224fa4 100644
index 7309c276e12f2dcb4edd867affc7b66a6b7dc8dc..4c0744167f2c43b43857aa0e0f51340e0f580d04 100644
--- a/services/network/test/test_network_context.h
+++ b/services/network/test/test_network_context.h
@@ -139,6 +139,7 @@ class TestNetworkContext : public mojom::NetworkContext {
@@ -141,6 +141,7 @@ class TestNetworkContext : public mojom::NetworkContext {
void CloseIdleConnections(CloseIdleConnectionsCallback callback) override {}
void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id,
mojom::NetworkConditionsPtr conditions) override {}

Просмотреть файл

@ -12,7 +12,7 @@ Ideally we could add an embedder observer pattern here but that can be
done in future work.
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
index 10692a1eb265f18756a1d9c4f39fa504f83b8144..3ae965726500762305064168bfb7db6a51eab99b 100644
index 86e0c9a457b6a43441183f7d95a400cbfd0de1e3..246744eff96e05d7c14bebd79e2591803d2e4ecf 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -165,6 +165,7 @@

Просмотреть файл

@ -26,10 +26,10 @@ index 835fa36e64e2cb350f3f09798b0040b234f7c0ee..f9a754acab125bc50660e9c3763b3693
}
diff --git a/ui/native_theme/native_theme.h b/ui/native_theme/native_theme.h
index 535e60b3efeb02ca9789e84460fde31e969b4043..5d9f3fa03f88c820cc3573c2d27f9b4f21ccc4a8 100644
index 7b361eb310ec1cf8edc7f53e5cc9ba250041841b..cb65bec8f3a9135bdfd0105087676713cb945a95 100644
--- a/ui/native_theme/native_theme.h
+++ b/ui/native_theme/native_theme.h
@@ -407,6 +407,23 @@ class NATIVE_THEME_EXPORT NativeTheme {
@@ -410,6 +410,23 @@ class NATIVE_THEME_EXPORT NativeTheme {
custom_theme,
bool use_custom_frame = true) const;
@ -53,7 +53,7 @@ index 535e60b3efeb02ca9789e84460fde31e969b4043..5d9f3fa03f88c820cc3573c2d27f9b4f
// Returns a shared instance of the native theme that should be used for web
// rendering. Do not use it in a normal application context (i.e. browser).
// The returned object should not be deleted by the caller. This function is
@@ -589,6 +606,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
@@ -592,6 +609,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
PageColors page_colors_ = PageColors::kOff;
PreferredColorScheme preferred_color_scheme_ = PreferredColorScheme::kLight;
PreferredContrast preferred_contrast_ = PreferredContrast::kNoPreference;

Просмотреть файл

@ -323,7 +323,7 @@ index 64ca6bc6657572bc4f878391ed9528704ce579af..095971ae67ce51f80d24f73fe69d7515
// launch failed.
enum class LaunchState {
diff --git a/content/browser/utility_sandbox_delegate.cc b/content/browser/utility_sandbox_delegate.cc
index 68db1862fd51f9b6c8c8c9fbd4055490fccd5f9a..5fb93015c780124ced9781ff5ae3e9cb821bb6e7 100644
index 5a8f79cce1e6635e4656383cea8ab8763d09aa59..665904af73916b269adfb2b793c5792bbb26e862 100644
--- a/content/browser/utility_sandbox_delegate.cc
+++ b/content/browser/utility_sandbox_delegate.cc
@@ -29,13 +29,15 @@ UtilitySandboxedProcessLauncherDelegate::
@ -621,10 +621,10 @@ index cb43aa14c9742f3788ae58c3e49b890cd532f327..6a738f7aade504f2ff3bb6647a0da8f8
#if BUILDFLAG(IS_MAC)
// Whether or not to disclaim TCC responsibility for the process, defaults to
diff --git a/sandbox/policy/win/sandbox_win.cc b/sandbox/policy/win/sandbox_win.cc
index d663390faa8e2a00e5fc3926384fe13b6d9653da..2e6e68de87fffeaeebc0f4693ed8b7697e34c142 100644
index fe8894d58176fe7e4ff77220ef0c1079a0f1880a..75583cf3fa070f1ca42cce74825147175bd0c683 100644
--- a/sandbox/policy/win/sandbox_win.cc
+++ b/sandbox/policy/win/sandbox_win.cc
@@ -723,11 +723,9 @@ ResultCode GenerateConfigForSandboxedProcess(const base::CommandLine& cmd_line,
@@ -716,11 +716,9 @@ ResultCode GenerateConfigForSandboxedProcess(const base::CommandLine& cmd_line,
// command line flag.
ResultCode LaunchWithoutSandbox(
const base::CommandLine& cmd_line,
@ -637,7 +637,7 @@ index d663390faa8e2a00e5fc3926384fe13b6d9653da..2e6e68de87fffeaeebc0f4693ed8b769
// Network process runs in a job even when unsandboxed. This is to ensure it
// does not outlive the browser, which could happen if there is a lot of I/O
// on process shutdown, in which case TerminateProcess can fail. See
@@ -954,7 +952,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
@@ -947,7 +945,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
const base::CommandLine& cmd_line,
const std::string& process_type,
@ -646,7 +646,7 @@ index d663390faa8e2a00e5fc3926384fe13b6d9653da..2e6e68de87fffeaeebc0f4693ed8b769
SandboxDelegate* delegate,
TargetPolicy* policy) {
const base::CommandLine& launcher_process_command_line =
@@ -968,7 +966,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
@@ -961,7 +959,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
}
// Add any handles to be inherited to the policy.
@ -655,7 +655,7 @@ index d663390faa8e2a00e5fc3926384fe13b6d9653da..2e6e68de87fffeaeebc0f4693ed8b769
policy->AddHandleToShare(handle);
if (!policy->GetConfig()->IsConfigured()) {
@@ -983,6 +981,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
@@ -976,6 +974,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
// have no effect. These calls can fail with SBOX_ERROR_BAD_PARAMS.
policy->SetStdoutHandle(GetStdHandle(STD_OUTPUT_HANDLE));
policy->SetStderrHandle(GetStdHandle(STD_ERROR_HANDLE));
@ -669,7 +669,7 @@ index d663390faa8e2a00e5fc3926384fe13b6d9653da..2e6e68de87fffeaeebc0f4693ed8b769
#endif
if (!delegate->PreSpawnTarget(policy))
@@ -995,7 +1000,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
@@ -988,7 +993,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
ResultCode SandboxWin::StartSandboxedProcess(
const base::CommandLine& cmd_line,
const std::string& process_type,
@ -678,7 +678,7 @@ index d663390faa8e2a00e5fc3926384fe13b6d9653da..2e6e68de87fffeaeebc0f4693ed8b769
SandboxDelegate* delegate,
base::Process* process) {
const base::ElapsedTimer timer;
@@ -1003,13 +1008,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
@@ -996,13 +1001,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
// Avoid making a policy if we won't use it.
if (IsUnsandboxedProcess(delegate->GetSandboxType(), cmd_line,
*base::CommandLine::ForCurrentProcess())) {

Просмотреть файл

@ -583,7 +583,7 @@ index 2f462f0deb5fc8a637457243fb5d5849fc214d14..695869b83cefaa24af93a2e11b39de05
+ Draw(gfx.mojom.Rect damage_rect) => ();
};
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
index e7be43d3f842f3bfdaa58a4f8f334b4ece79168c..6ff1e4c41ca86a553e9ef050d76d31b3588426df 100644
index 2c587c7d2f7e91adcd4bf37c617eb6f919fed838..964b5ebb5ffb6276a1d558447a5eaf4f5b7dc629 100644
--- a/ui/compositor/compositor.h
+++ b/ui/compositor/compositor.h
@@ -89,6 +89,7 @@ class DisplayPrivate;
@ -621,7 +621,7 @@ index e7be43d3f842f3bfdaa58a4f8f334b4ece79168c..6ff1e4c41ca86a553e9ef050d76d31b3
// Sets the root of the layer tree drawn by this Compositor. The root layer
// must have no parent. The compositor's root layer is reset if the root layer
// is destroyed. NULL can be passed to reset the root layer, in which case the
@@ -520,6 +534,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
@@ -519,6 +533,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
std::unique_ptr<PendingBeginFrameArgs> pending_begin_frame_args_;

Просмотреть файл

@ -6,10 +6,10 @@ Subject: fix: allow guest webcontents to enter fullscreen
This can be upstreamed, a guest webcontents can't technically become the focused webContents. This DCHECK should allow all guest webContents to request fullscreen entrance.
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 73fbbcc21ad06c59d48d6e7a2897d4d04388a0f5..f48bf0d890e251461730199b8a3c600ee3639886 100644
index 1ba9776faf55f6cf484682a81323890b657b1aa0..ecbfa477a3fa271286c8db0351af3daa4cab5315 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -3571,7 +3571,7 @@ void WebContentsImpl::EnterFullscreenMode(
@@ -3575,7 +3575,7 @@ void WebContentsImpl::EnterFullscreenMode(
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
DCHECK(CanEnterFullscreenMode(requesting_frame, options));
DCHECK(requesting_frame->IsActive());

Просмотреть файл

@ -17,10 +17,10 @@ policy->CanCommitOriginAndUrl.
Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/3856266.
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
index ea2dc4ac452b1566f0f02fd4aed27d1b1ad905ef..bc3c2664eb057ec2ace8365aa0ae553d7406adc8 100644
index ee22a92259e1c07a3ce17a1ef04c2c3f13b89246..5abe3351a837a504c89412f7441bc9b4d61e035e 100644
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -7192,10 +7192,11 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
@@ -7339,10 +7339,11 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
if (IsForMhtmlSubframe())
return origin_with_debug_info;
@ -37,10 +37,10 @@ index ea2dc4ac452b1566f0f02fd4aed27d1b1ad905ef..bc3c2664eb057ec2ace8365aa0ae553d
}
diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/browser/renderer_host/render_frame_host_impl.h
index 24bd1304f14003e53615ed248eeac45b20ea7ecd..c29d2df1672e4d8509116800f24ee229c819c48a 100644
index 442bacaa7c266361e2fba7f4ea41ea530cb904a9..25376e90c60da4bdfe04475f234b047bad24da83 100644
--- a/content/browser/renderer_host/render_frame_host_impl.h
+++ b/content/browser/renderer_host/render_frame_host_impl.h
@@ -2891,6 +2891,17 @@ class CONTENT_EXPORT RenderFrameHostImpl
@@ -2896,6 +2896,17 @@ class CONTENT_EXPORT RenderFrameHostImpl
// last committed document.
CookieChangeListener::CookieChangeInfo GetCookieChangeInfo();
@ -58,7 +58,7 @@ index 24bd1304f14003e53615ed248eeac45b20ea7ecd..c29d2df1672e4d8509116800f24ee229
// Sets a ResourceCache in the renderer. `remote` must have the same process
// isolation policy.
// TODO(https://crbug.com/1414262): Add checks to ensure the preconditions.
@@ -3227,17 +3238,6 @@ class CONTENT_EXPORT RenderFrameHostImpl
@@ -3234,17 +3245,6 @@ class CONTENT_EXPORT RenderFrameHostImpl
// relevant.
void ResetWaitingState();

Просмотреть файл

@ -8,10 +8,10 @@ we invoke it in order to expose contents.decrementCapturerCount([stayHidden, sta
to users. We should try to upstream this.
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index f27919003e423bff6432c9ecc411f9811d20b1aa..b9c6e75260c233cca0e833b818e768e95ffa3f29 100644
index 7c29db598d073a42274193e274f8314b6080286d..f9d96533107004cf61ae657c530f96f2f142768f 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -1871,7 +1871,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
@@ -1872,7 +1872,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
// IncrementCapturerCount() is destructed.
void DecrementCapturerCount(bool stay_hidden,
bool stay_awake,

Просмотреть файл

@ -13,10 +13,10 @@ messages in the legacy window handle layer.
These conditions are regularly hit with WCO-enabled windows on Windows.
diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.cc b/content/browser/renderer_host/legacy_render_widget_host_win.cc
index d045964264de280f670350f71c5d69cf7326e13a..d0ce23fa6d6b32e8475cdafbf551447c6db700c6 100644
index 89bcbe4a8d5e0f3e1fce7d87f4ac58abc68ef9a0..89a1b8131174f96af7304c0a6d3205f0954eed45 100644
--- a/content/browser/renderer_host/legacy_render_widget_host_win.cc
+++ b/content/browser/renderer_host/legacy_render_widget_host_win.cc
@@ -288,12 +288,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
@@ -316,12 +316,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
WPARAM w_param,
LPARAM l_param,
BOOL& handled) {
@ -31,7 +31,7 @@ index d045964264de280f670350f71c5d69cf7326e13a..d0ce23fa6d6b32e8475cdafbf551447c
tme.hwndTrack = hwnd();
tme.dwHoverTime = 0;
TrackMouseEvent(&tme);
@@ -324,7 +324,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
@@ -352,7 +352,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
// out of the picture.
if (!handled &&
(message >= WM_NCMOUSEMOVE && message <= WM_NCXBUTTONDBLCLK)) {
@ -44,10 +44,10 @@ index d045964264de280f670350f71c5d69cf7326e13a..d0ce23fa6d6b32e8475cdafbf551447c
}
}
diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.h b/content/browser/renderer_host/legacy_render_widget_host_win.h
index 11ae0ec65f8b3eab782e9f660ba21bc6fccdc7e2..4bf7545646794f045e6cea6131e3b67453c459d3 100644
index ede2965cbaa5b99f5c9e28033339c0db9aa46446..248248a444cd7f4d940e4088ca6e7971090d2c8e 100644
--- a/content/browser/renderer_host/legacy_render_widget_host_win.h
+++ b/content/browser/renderer_host/legacy_render_widget_host_win.h
@@ -106,6 +106,7 @@ class CONTENT_EXPORT LegacyRenderWidgetHostHWND
@@ -107,6 +107,7 @@ class CONTENT_EXPORT LegacyRenderWidgetHostHWND
MESSAGE_HANDLER_EX(WM_NCHITTEST, OnNCHitTest)
MESSAGE_RANGE_HANDLER(WM_NCMOUSEMOVE, WM_NCXBUTTONDBLCLK,
OnMouseRange)

Просмотреть файл

@ -45,7 +45,7 @@ index 2ca4e42342ff6bf3f2ad104208944e36d572aa3c..7421cc779873b580d6f5a109d57ff744
// RenderFrameMetadataProvider::Observer implementation.
void OnRenderFrameMetadataChangedBeforeActivation(
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index f48bf0d890e251461730199b8a3c600ee3639886..09d4ef1af33c6434441714753a85ca2f370f88d1 100644
index ecbfa477a3fa271286c8db0351af3daa4cab5315..75731ad77adb9bb46c859d0bb3e364e49d9b056f 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -8081,7 +8081,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(

Просмотреть файл

@ -20,10 +20,10 @@ index 43fd5ef20228479f3090af0806df19baf65b963c..72062ab628af1eb3faac6337c4ce757c
injector_->ExpectsResults(), injector_->ShouldWaitForPromise());
}
diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
index 6da8676f29ad2860b2e28c1563a619604cc4669a..745bdb86d35f3d28a19b54a63040fd1a15e22fad 100644
index 157a7a90f3e5e70b0fa80e0030e1a3f65239664c..e65e857e83568dc0b621bf8f98c2b5247836f829 100644
--- a/third_party/blink/public/web/web_local_frame.h
+++ b/third_party/blink/public/web/web_local_frame.h
@@ -435,6 +435,7 @@ class BLINK_EXPORT WebLocalFrame : public WebFrame {
@@ -436,6 +436,7 @@ class BLINK_EXPORT WebLocalFrame : public WebFrame {
mojom::EvaluationTiming,
mojom::LoadEventBlockingOption,
WebScriptExecutionCallback,
@ -64,10 +64,10 @@ index 4cd668a127a50e5462e3878c3f1dcb7384926768..dfbec49249404df8f8ebdbd26e6e865c
#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
index 176039ff509633ba771b820012f85fc19f914d91..ba76b6f74f3c7f2c77b104f6e7aaed0da537f593 100644
index ff0df640ed6dfedbf9e175afed003996b98dafbe..dec9d102d3c85b8ad452c8c700e4cca79aa6a9f5 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -2697,6 +2697,7 @@ void LocalFrame::RequestExecuteScript(
@@ -2698,6 +2698,7 @@ void LocalFrame::RequestExecuteScript(
mojom::blink::EvaluationTiming evaluation_timing,
mojom::blink::LoadEventBlockingOption blocking_option,
WebScriptExecutionCallback callback,
@ -75,7 +75,7 @@ index 176039ff509633ba771b820012f85fc19f914d91..ba76b6f74f3c7f2c77b104f6e7aaed0d
BackForwardCacheAware back_forward_cache_aware,
mojom::blink::WantResultOption want_result_option,
mojom::blink::PromiseResultOption promise_behavior) {
@@ -2727,7 +2728,8 @@ void LocalFrame::RequestExecuteScript(
@@ -2728,7 +2729,8 @@ void LocalFrame::RequestExecuteScript(
PausableScriptExecutor::CreateAndRun(
ToScriptState(DomWindow(), *world), std::move(script_sources),
execute_script_policy, user_gesture, evaluation_timing, blocking_option,
@ -86,10 +86,10 @@ index 176039ff509633ba771b820012f85fc19f914d91..ba76b6f74f3c7f2c77b104f6e7aaed0d
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
index b85c9aa090851134a9b357c10c396b7303a2e6d3..e932a99632d53edb595a8c8a696cdd528b6e7d99 100644
index 3d011d6e0e0f17f4af65fa94661cabdf2aa296ba..6260e1db40171c8a62317954ab7874a21dbe4774 100644
--- a/third_party/blink/renderer/core/frame/local_frame.h
+++ b/third_party/blink/renderer/core/frame/local_frame.h
@@ -778,6 +778,7 @@ class CORE_EXPORT LocalFrame final
@@ -781,6 +781,7 @@ class CORE_EXPORT LocalFrame final
mojom::blink::EvaluationTiming,
mojom::blink::LoadEventBlockingOption,
WebScriptExecutionCallback,
@ -98,10 +98,10 @@ index b85c9aa090851134a9b357c10c396b7303a2e6d3..e932a99632d53edb595a8c8a696cdd52
mojom::blink::WantResultOption,
mojom::blink::PromiseResultOption);
diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
index fe43461f6df7da3e884dcb3824a8d82724d69828..acd1ad8b13c99fb687022a86e8a88e514d5759cd 100644
index a99952f9d4fa666d6657e04d7f30172956655e8d..b52918e18b9e253e562607fb52cc621c9e2fa839 100644
--- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
@@ -951,6 +951,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(
@@ -953,6 +953,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(
std::move(callback).Run(value ? std::move(*value) : base::Value());
},
std::move(callback)),
@ -205,10 +205,10 @@ index 1e4d9e098463d61dcab787afcc46fea63b27e012..3f1ebf493ddd7d1c209acee2fb1255a0
const mojom::blink::UserActivationOption user_activation_option_;
const mojom::blink::LoadEventBlockingOption blocking_option_;
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
index 294250e61a230afea049ee2ea735e19dd285422d..ca9f106c3cfee4ee82ce81b093add0a16ee75dce 100644
index 23e5e04eda35891f7f97816dd0976cd234259cf7..fbd913726522f29950fede45de9fc79997f3b2a0 100644
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
@@ -1108,14 +1108,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
@@ -1148,14 +1148,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
mojom::blink::EvaluationTiming evaluation_timing,
mojom::blink::LoadEventBlockingOption blocking_option,
WebScriptExecutionCallback callback,
@ -227,7 +227,7 @@ index 294250e61a230afea049ee2ea735e19dd285422d..ca9f106c3cfee4ee82ce81b093add0a1
v8::MaybeLocal<v8::Value> WebLocalFrameImpl::CallFunctionEvenIfScriptDisabled(
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
index 93ec7337079f8635ed2b0c7dcb0aa8c2f2f71b43..29ffc2af81a0da37da0041af21b7cba5ef4a7f03 100644
index aa8c03c35518b6c3163d7b28dc09a5cbb9d8a54d..8657a6f7191fac4263d47d34629223a165dda2e1 100644
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
@@ -195,6 +195,7 @@ class CORE_EXPORT WebLocalFrameImpl final

Просмотреть файл

@ -6,10 +6,10 @@ Subject: frame_host_manager.patch
Allows embedder to intercept site instances created by chromium.
diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
index fd8779c9a7032b318f61653dfc9bcbc17451d403..3041cd1bb26da0571cbf91786ba82b619daeb1ea 100644
index 54f38b8032a7b8026eac8f38d19be56772c529f0..8c5dee995ad3d6beeeae1d7267ba60b3feede311 100644
--- a/content/browser/renderer_host/render_frame_host_manager.cc
+++ b/content/browser/renderer_host/render_frame_host_manager.cc
@@ -3735,6 +3735,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
@@ -3724,6 +3724,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
request->ResetStateForSiteInstanceChange();
}
@ -20,7 +20,7 @@ index fd8779c9a7032b318f61653dfc9bcbc17451d403..3041cd1bb26da0571cbf91786ba82b61
}
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 552714d86b77b2346371b86ad6087db4bb54f9e5..64c0354cfc574661214c9fb71c81c6d840cc23cc 100644
index cf681fbaaa829af15f7e67b454730e2b7103b650..d061985388a13ba5f0f6a4806e918da7ce9a371a 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -275,6 +275,11 @@ class CONTENT_EXPORT ContentBrowserClient {

Просмотреть файл

@ -12,7 +12,7 @@ rendering and there is no signal from browser process on this event
to identify it.
diff --git a/content/browser/gpu/gpu_data_manager_impl.cc b/content/browser/gpu/gpu_data_manager_impl.cc
index 6edab681064213db9af5fefffc5fbc4e426018d9..e729790c4b994378491414f903f4425ff1ff2f4a 100644
index bcc2798027aaf132d1bcf526357c8fc65b268c2a..6762c090034f5b29e978bfd9ac0a5677d2b779eb 100644
--- a/content/browser/gpu/gpu_data_manager_impl.cc
+++ b/content/browser/gpu/gpu_data_manager_impl.cc
@@ -230,6 +230,11 @@ void GpuDataManagerImpl::TerminateInfoCollectionGpuProcess() {
@ -28,7 +28,7 @@ index 6edab681064213db9af5fefffc5fbc4e426018d9..e729790c4b994378491414f903f4425f
void GpuDataManagerImpl::UpdateDawnInfo(
diff --git a/content/browser/gpu/gpu_data_manager_impl.h b/content/browser/gpu/gpu_data_manager_impl.h
index 1b03f182346d544a2551ab3a8fcad288d819ea26..67884548adff4a8dbda52e68f863445bf28a5286 100644
index dec0836918007eb0d3be46e57cfc92c31af3dc62..9059320a73d27b81fb627753ce5a379470873f33 100644
--- a/content/browser/gpu/gpu_data_manager_impl.h
+++ b/content/browser/gpu/gpu_data_manager_impl.h
@@ -125,6 +125,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDataManager,
@ -40,7 +40,7 @@ index 1b03f182346d544a2551ab3a8fcad288d819ea26..67884548adff4a8dbda52e68f863445b
void UpdateDawnInfo(const std::vector<std::string>& dawn_info_list);
diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc
index f5b4d25d529465085bf07cffd54013520715ee8e..8d92cb3734cfe020f0b3a54436ab9f9c1cc01312 100644
index c25addf28f4053dd0da0de350a4537f40db732e5..1c33986dcc34b9de312ef6ee013548511d628fac 100644
--- a/content/browser/gpu/gpu_data_manager_impl_private.cc
+++ b/content/browser/gpu/gpu_data_manager_impl_private.cc
@@ -1199,6 +1199,12 @@ void GpuDataManagerImplPrivate::TerminateInfoCollectionGpuProcess() {
@ -57,7 +57,7 @@ index f5b4d25d529465085bf07cffd54013520715ee8e..8d92cb3734cfe020f0b3a54436ab9f9c
void GpuDataManagerImplPrivate::UpdateDawnInfo(
diff --git a/content/browser/gpu/gpu_data_manager_impl_private.h b/content/browser/gpu/gpu_data_manager_impl_private.h
index 9fcf4d20d90af6195910077443ad9d62e9045322..3c387f6d9d2b30f17e93b1f8a9da14ecd49ea36c 100644
index ed4a3a959ba33fb893ac64b1f965dc3315e78e2c..2023620a79e7267ad5b5859ebf962b747889cdac 100644
--- a/content/browser/gpu/gpu_data_manager_impl_private.h
+++ b/content/browser/gpu/gpu_data_manager_impl_private.h
@@ -87,6 +87,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate {

Просмотреть файл

@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch
Add electron resources file to the list of resource ids generation.
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
index 03c4a6a04c1231c3f169a8ddb1880b95df84ea09..02609fc28b8cdd410049c365ea001227ec8eed3f 100644
index 65cb5b294f87523d46acecf489b82e6978056123..2d4837529dfa2a98cb7687609e60007c787b5295 100644
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
@@ -1115,6 +1115,11 @@
@@ -1111,6 +1111,11 @@
"includes": [4960],
},

Просмотреть файл

@ -11,7 +11,7 @@ If removing this patch causes no sync failures, it's safe to delete :+1:
Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
index c7b57628e5d50c0ddec646924ee95c4b6a9f5e7c..192249784d60626d6dbd3ef5143fa4db28a868ad 100755
index 85d04bdfe21465fd5860ee3a2eeb850cc0b8490a..eb513199556f9f13819fb4e20617182195f3e748 100755
--- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py
@@ -302,6 +302,8 @@ def GetDefaultHostOs():

Просмотреть файл

@ -9,7 +9,7 @@ but due to the nature of electron, we need to load the v8 snapshot
in the browser process.
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
index 0846656e45ba8ed88a069cc0e7c19758997613a6..6a72d0a8f731b5dbc4468ba302bb76a18b4dff92 100644
index 4e3ff63c529815a584543708e0478c80038474c8..c56314c7852119bd8ad06d22ae777ad971966b75 100644
--- a/content/app/content_main_runner_impl.cc
+++ b/content/app/content_main_runner_impl.cc
@@ -274,11 +274,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) {

Просмотреть файл

@ -7,7 +7,7 @@ Disable private window frame APIs (NSNextStepFrame and NSThemeFrame) for MAS
build.
diff --git a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
index 6e116d634c658ff26f6990fae5fcac975285e865..8c034acee912b26c187d0da7e1d9e68fa6abb5b6 100644
index b31c3be1895f7ca4a0f5c61f06a66eb1e1fbc5a6..ad4a1ecb02573bb5d34d134c61ec71f3fb092f42 100644
--- a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
+++ b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
@@ -9,6 +9,7 @@
@ -18,7 +18,7 @@ index 6e116d634c658ff26f6990fae5fcac975285e865..8c034acee912b26c187d0da7e1d9e68f
@interface NSWindow (PrivateBrowserNativeWidgetAPI)
+ (Class)frameViewClassForStyleMask:(NSUInteger)windowStyle;
@end
@@ -55,10 +56,13 @@ - (BOOL)_shouldCenterTrafficLights {
@@ -69,10 +70,13 @@ - (BOOL)_shouldCenterTrafficLights {
@end
@ -32,7 +32,7 @@ index 6e116d634c658ff26f6990fae5fcac975285e865..8c034acee912b26c187d0da7e1d9e68f
+ (Class)frameViewClassForStyleMask:(NSUInteger)windowStyle {
// - NSThemeFrame and its subclasses will be nil if it's missing at runtime.
if ([BrowserWindowFrame class])
@@ -73,6 +77,8 @@ - (BOOL)_usesCustomDrawing {
@@ -87,6 +91,8 @@ - (BOOL)_usesCustomDrawing {
return NO;
}
@ -75,7 +75,7 @@ index 3a815ebf505bd95fa7f6b61ba433d98fbfe20225..dbbebbdc1735bc14224dfcde0b7fe3a6
+
@end
diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h
index e7bf48ba670dbe8fa2a8688cf89e74a7d15cc6a3..f385de06d8b33aafa0eac1858d9fd23347f64594 100644
index 4f071d4ab7ee171e35f1538dc87b591861f62a1a..71cc2b0a97781f1555902e426cd6cd802875aedd 100644
--- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h
+++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h
@@ -17,6 +17,7 @@ class NativeWidgetNSWindowBridge;
@ -95,7 +95,7 @@ index e7bf48ba670dbe8fa2a8688cf89e74a7d15cc6a3..f385de06d8b33aafa0eac1858d9fd233
// The NSWindow used by BridgedNativeWidget. Provides hooks into AppKit that
// can only be accomplished by overriding methods.
diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
index ea4db769a697f6cda4a395eabdb5a634a8a84845..7ec95e49dab09f7c7eb6e1af58c01a14705b767b 100644
index 5443dddab76c1e91ed7caf5447af68c037c6c802..6e104d5f5f04476bcfffb3406159c6fe3adfa2ea 100644
--- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
+++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
@@ -96,7 +96,9 @@ void OrderChildWindow(NSWindow* child_window,
@ -126,7 +126,7 @@ index ea4db769a697f6cda4a395eabdb5a634a8a84845..7ec95e49dab09f7c7eb6e1af58c01a14
@implementation NativeWidgetMacNSWindow {
@private
base::scoped_nsobject<CommandDispatcher> _commandDispatcher;
@@ -327,6 +333,8 @@ - (NSAccessibilityRole)accessibilityRole {
@@ -338,6 +344,8 @@ - (NSAccessibilityRole)accessibilityRole {
// NSWindow overrides.
@ -135,7 +135,7 @@ index ea4db769a697f6cda4a395eabdb5a634a8a84845..7ec95e49dab09f7c7eb6e1af58c01a14
+ (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle {
if (windowStyle & NSWindowStyleMaskTitled) {
if (Class customFrame = [NativeWidgetMacNSWindowTitledFrame class])
@@ -338,6 +346,8 @@ + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle {
@@ -349,6 +357,8 @@ + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle {
return [super frameViewClassForStyleMask:windowStyle];
}

Просмотреть файл

@ -44,10 +44,10 @@ index 3600a7ce7b3e6540767f64c631f352aa62240459..3147961f3d1c2c1690b5adf16a9a58f7
} // namespace
diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
index daadfaf97b7639980d7d961f67a72030dea9cfec..4fce9a0e1117a399ba640ab75c4bbed17453abcb 100644
index d66dc7edd743aea6e72961ce28da6aab6f6c3c95..c33a86b8cd3e7162b61f7eaf47e7326e1cc7dd61 100644
--- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
+++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
@@ -599,10 +599,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
@@ -572,10 +572,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
// this should be treated as an error and caught early.
CHECK(bridged_view_);
@ -213,10 +213,10 @@ index d616c812f099505783ad7aed5e0ebfe7d15ea553..66c8dda8af5605fb270011bd58c7bed5
///////////////////////////////////////////////////////////////////////////////
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index de80e0d5e40bdff504a1786adffa50c73d16b4c5..90074c3e90d9b4bbfaf2c86f8c1a5a3c36babdc8 100644
index fc991afade2a13c59747007ff5be661c20f95acc..9631446ea47a2d8c5d2483ed13cf17a023c49ab6 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -360,6 +360,13 @@ component("base") {
@@ -358,6 +358,13 @@ component("base") {
sources += [ "resource/resource_bundle_lacros.cc" ]
}

Просмотреть файл

@ -7,7 +7,7 @@ This adds a callback from the network service that's used to implement
session.setCertificateVerifyCallback.
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index f4a9d9a7d977ed97b2c9284dbf7f13c12a22b4db..1e6769d9091d0c0c17869730c754aec116dd372c 100644
index 2800a880bbc12cc4fa2c1b21c2ae47f55800f4e9..a985d4a9b1f005c965fc0ec9076e9648bc1ff7c3 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -138,6 +138,11 @@
@ -128,7 +128,7 @@ index f4a9d9a7d977ed97b2c9284dbf7f13c12a22b4db..1e6769d9091d0c0c17869730c754aec1
void NetworkContext::CreateURLLoaderFactory(
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
mojom::URLLoaderFactoryParamsPtr params) {
@@ -2213,6 +2310,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2237,6 +2334,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
std::move(cert_verifier));
cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_.get());
#endif // BUILDFLAG(IS_CHROMEOS)
@ -139,7 +139,7 @@ index f4a9d9a7d977ed97b2c9284dbf7f13c12a22b4db..1e6769d9091d0c0c17869730c754aec1
builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
diff --git a/services/network/network_context.h b/services/network/network_context.h
index 08ae9bbf8d3ea77c38accc919995e9d2fdc04c8b..4e74b29c4063da63cb2b8b46ec0879d3a5a3f76d 100644
index 621217cd962c9d9452ee77fc791d450fd508f0d1..9812aef784d8aa1e57a91b4adfeb25befdc57e2c 100644
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -114,6 +114,7 @@ class URLMatcher;
@ -159,7 +159,7 @@ index 08ae9bbf8d3ea77c38accc919995e9d2fdc04c8b..4e74b29c4063da63cb2b8b46ec0879d3
void ResetURLLoaderFactories() override;
void GetViaObliviousHttp(
mojom::ObliviousHttpRequestPtr request,
@@ -840,6 +843,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -842,6 +845,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
std::vector<base::OnceClosure> dismount_closures_;
#endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED)
@ -169,7 +169,7 @@ index 08ae9bbf8d3ea77c38accc919995e9d2fdc04c8b..4e74b29c4063da63cb2b8b46ec0879d3
std::unique_ptr<HostResolver> internal_host_resolver_;
// Map values set to non-null only if that HostResolver has its own private
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
index c0694c8b6b40ce5377d5d054fafda6bea63031a7..aabe94b0c6a5d131723217118469465b7cc808f1 100644
index f32ad0616a72ff96fefc0540ec9ccefe59f1e228..0d2ff1f52aa217aef66e6b9c10bbb119f9f622e3 100644
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -293,6 +293,17 @@ struct NetworkContextFilePaths {

Просмотреть файл

@ -133,7 +133,7 @@ index bbd2aa78722fc0a14ac815ca0243b83965ad8d7c..b6e0a2fce3a0fb9c449aa1bef6a0f970
const GURL& document_url,
const WeakDocumentPtr& weak_document_ptr,
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index cba4284de4f48dc0b2efa93f0571cad6611fdc06..045cd18f85d2ccecb94d97251b0aeab132a22050 100644
index e2297690cbb604edc3a9ec46053d644c91db42f3..6fb39731eb8acb3d0dbbb672ab2bd0affe027a04 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -2113,7 +2113,7 @@ void RenderProcessHostImpl::CreateNotificationService(

Просмотреть файл

@ -11,10 +11,10 @@ majority of changes originally come from these PRs:
This patch also fixes callback for manual user cancellation and success.
diff --git a/BUILD.gn b/BUILD.gn
index 6b729528b79bddbfcc02dc2dc5a812b6a72f87e0..307d7c693b3733c0dfdc818915a5751310975ccd 100644
index 6617382a88365c2f87bf37bd85ef3fc43a22d9fd..86971e617416b16aa89accada29ab3dee445d787 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -983,7 +983,6 @@ if (is_win) {
@@ -980,7 +980,6 @@ if (is_win) {
"//media:media_unittests",
"//media/midi:midi_unittests",
"//net:net_unittests",
@ -22,7 +22,7 @@ index 6b729528b79bddbfcc02dc2dc5a812b6a72f87e0..307d7c693b3733c0dfdc818915a57513
"//sql:sql_unittests",
"//third_party/breakpad:symupload($host_toolchain)",
"//ui/base:ui_base_unittests",
@@ -992,6 +991,10 @@ if (is_win) {
@@ -989,6 +988,10 @@ if (is_win) {
"//ui/views:views_unittests",
"//url:url_unittests",
]
@ -34,7 +34,7 @@ index 6b729528b79bddbfcc02dc2dc5a812b6a72f87e0..307d7c693b3733c0dfdc818915a57513
}
diff --git a/chrome/browser/printing/print_job.cc b/chrome/browser/printing/print_job.cc
index 044b34d3738985f3e38476c37a189a5c06ed5353..8cf9832ca1ba864860bccb9b8cb4180da0f1cb29 100644
index b496ff49232f449fd6cea9dc1927b833c049497b..4c12ca65c1f800ddbbb792716f09f63fff8fa7d4 100644
--- a/chrome/browser/printing/print_job.cc
+++ b/chrome/browser/printing/print_job.cc
@@ -91,6 +91,7 @@ bool PrintWithReducedRasterization(PrefService* prefs) {
@ -53,7 +53,7 @@ index 044b34d3738985f3e38476c37a189a5c06ed5353..8cf9832ca1ba864860bccb9b8cb4180d
#endif // BUILDFLAG(IS_WIN)
@@ -374,8 +376,10 @@ void PrintJob::StartPdfToEmfConversion(
@@ -363,8 +365,10 @@ void PrintJob::StartPdfToEmfConversion(
const PrintSettings& settings = document()->settings();
@ -65,7 +65,7 @@ index 044b34d3738985f3e38476c37a189a5c06ed5353..8cf9832ca1ba864860bccb9b8cb4180d
using RenderMode = PdfRenderSettings::Mode;
RenderMode mode = print_with_reduced_rasterization
@@ -465,8 +469,10 @@ void PrintJob::StartPdfToPostScriptConversion(
@@ -454,8 +458,10 @@ void PrintJob::StartPdfToPostScriptConversion(
if (ps_level2) {
mode = PdfRenderSettings::Mode::POSTSCRIPT_LEVEL2;
} else {
@ -78,7 +78,7 @@ index 044b34d3738985f3e38476c37a189a5c06ed5353..8cf9832ca1ba864860bccb9b8cb4180d
: PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3;
}
diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc
index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a65434322b2b 100644
index 7df5210a39cd01868709e994dba823d022474aa0..e6080ba8cfb2b99e48a8f6de25c339e54513cd0c 100644
--- a/chrome/browser/printing/print_view_manager_base.cc
+++ b/chrome/browser/printing/print_view_manager_base.cc
@@ -23,7 +23,9 @@
@ -196,7 +196,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
return true;
}
@@ -377,7 +405,8 @@ void PrintViewManagerBase::GetDefaultPrintSettingsReply(
@@ -382,7 +410,8 @@ void PrintViewManagerBase::GetDefaultPrintSettingsReply(
void PrintViewManagerBase::ScriptedPrintReply(
ScriptedPrintCallback callback,
int process_id,
@ -206,7 +206,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
#if BUILDFLAG(ENABLE_OOP_PRINTING)
@@ -404,12 +433,15 @@ void PrintViewManagerBase::ScriptedPrintReply(
@@ -397,12 +426,15 @@ void PrintViewManagerBase::ScriptedPrintReply(
return;
}
@ -224,7 +224,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
}
}
@@ -545,10 +577,12 @@ void PrintViewManagerBase::DidPrintDocument(
@@ -538,10 +570,12 @@ void PrintViewManagerBase::DidPrintDocument(
void PrintViewManagerBase::GetDefaultPrintSettings(
GetDefaultPrintSettingsCallback callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
@ -237,7 +237,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
#if BUILDFLAG(ENABLE_OOP_PRINTING)
if (printing::features::kEnableOopPrintDriversJobPrint.Get() &&
#if BUILDFLAG(ENABLE_PRINT_CONTENT_ANALYSIS)
@@ -595,6 +629,7 @@ void PrintViewManagerBase::UpdatePrintSettings(
@@ -593,6 +627,7 @@ void PrintViewManagerBase::UpdatePrintSettings(
base::Value::Dict job_settings,
UpdatePrintSettingsCallback callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
@ -245,7 +245,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
if (!printing_enabled_.GetValue()) {
std::move(callback).Run(nullptr);
return;
@@ -628,6 +663,7 @@ void PrintViewManagerBase::UpdatePrintSettings(
@@ -626,6 +661,7 @@ void PrintViewManagerBase::UpdatePrintSettings(
if (value > 0)
job_settings.Set(kSettingRasterizePdfDpi, value);
}
@ -253,7 +253,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
std::unique_ptr<PrintSettings> print_settings =
PrintSettingsFromJobSettings(job_settings);
@@ -656,7 +692,7 @@ void PrintViewManagerBase::UpdatePrintSettings(
@@ -654,7 +690,7 @@ void PrintViewManagerBase::UpdatePrintSettings(
void PrintViewManagerBase::IsPrintingEnabled(
IsPrintingEnabledCallback callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
@ -262,7 +262,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
}
void PrintViewManagerBase::ScriptedPrint(mojom::ScriptedPrintParamsPtr params,
@@ -672,14 +708,14 @@ void PrintViewManagerBase::ScriptedPrint(mojom::ScriptedPrintParamsPtr params,
@@ -670,14 +706,14 @@ void PrintViewManagerBase::ScriptedPrint(mojom::ScriptedPrintParamsPtr params,
// didn't happen for some reason.
bad_message::ReceivedBadMessage(
render_process_host, bad_message::PVMB_SCRIPTED_PRINT_FENCED_FRAME);
@ -279,7 +279,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
return;
}
#endif
@@ -717,6 +753,7 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie,
@@ -715,6 +751,7 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie,
PrintManager::PrintingFailed(cookie, reason);
@ -287,7 +287,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
// `PrintingFailed()` can occur because asynchronous compositing results
// don't complete until after a print job has already failed and been
// destroyed. In such cases the error notification to the user will
@@ -726,7 +763,7 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie,
@@ -724,7 +761,7 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie,
print_job_->document()->cookie() == cookie) {
ShowPrintErrorDialogForGenericError();
}
@ -296,7 +296,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
ReleasePrinterQuery();
}
@@ -738,15 +775,24 @@ void PrintViewManagerBase::RemoveObserver(Observer& observer) {
@@ -736,15 +773,24 @@ void PrintViewManagerBase::RemoveObserver(Observer& observer) {
observers_.RemoveObserver(&observer);
}
@ -321,7 +321,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
}
void PrintViewManagerBase::RenderFrameDeleted(
@@ -798,7 +844,12 @@ void PrintViewManagerBase::OnJobDone() {
@@ -796,7 +842,12 @@ void PrintViewManagerBase::OnJobDone() {
// Printing is done, we don't need it anymore.
// print_job_->is_job_pending() may still be true, depending on the order
// of object registration.
@ -335,7 +335,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
ReleasePrintJob();
}
@@ -807,9 +858,10 @@ void PrintViewManagerBase::OnCanceling() {
@@ -805,9 +856,10 @@ void PrintViewManagerBase::OnCanceling() {
}
void PrintViewManagerBase::OnFailed() {
@ -347,7 +347,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
TerminatePrintJob(true);
}
@@ -819,7 +871,7 @@ bool PrintViewManagerBase::RenderAllMissingPagesNow() {
@@ -817,7 +869,7 @@ bool PrintViewManagerBase::RenderAllMissingPagesNow() {
// Is the document already complete?
if (print_job_->document() && print_job_->document()->IsComplete()) {
@ -356,7 +356,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
return true;
}
@@ -867,7 +919,10 @@ bool PrintViewManagerBase::CreateNewPrintJob(
@@ -865,7 +917,10 @@ bool PrintViewManagerBase::CreateNewPrintJob(
// Disconnect the current `print_job_`.
auto weak_this = weak_ptr_factory_.GetWeakPtr();
@ -368,7 +368,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
if (!weak_this)
return false;
@@ -888,7 +943,7 @@ bool PrintViewManagerBase::CreateNewPrintJob(
@@ -886,7 +941,7 @@ bool PrintViewManagerBase::CreateNewPrintJob(
#endif
print_job_->AddObserver(*this);
@ -377,7 +377,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
return true;
}
@@ -950,6 +1005,11 @@ void PrintViewManagerBase::ReleasePrintJob() {
@@ -948,6 +1003,11 @@ void PrintViewManagerBase::ReleasePrintJob() {
}
#endif
@ -389,7 +389,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
if (!print_job_)
return;
@@ -957,7 +1017,7 @@ void PrintViewManagerBase::ReleasePrintJob() {
@@ -955,7 +1015,7 @@ void PrintViewManagerBase::ReleasePrintJob() {
// printing_rfh_ should only ever point to a RenderFrameHost with a live
// RenderFrame.
DCHECK(rfh->IsRenderFrameLive());
@ -398,7 +398,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
}
print_job_->RemoveObserver(*this);
@@ -999,7 +1059,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() {
@@ -997,7 +1057,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() {
}
bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) {
@ -407,7 +407,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
return true;
if (!cookie) {
@@ -1115,7 +1175,7 @@ void PrintViewManagerBase::ReleasePrinterQuery() {
@@ -1105,7 +1165,7 @@ void PrintViewManagerBase::ReleasePrinterQuery() {
}
void PrintViewManagerBase::CompletePrintNow(content::RenderFrameHost* rfh) {
@ -416,7 +416,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
for (auto& observer : GetObservers())
observer.OnPrintNow(rfh);
@@ -1163,7 +1223,7 @@ void PrintViewManagerBase::CompleteScriptedPrintAfterContentAnalysis(
@@ -1153,7 +1213,7 @@ void PrintViewManagerBase::CompleteScriptedPrintAfterContentAnalysis(
bool allowed) {
if (!allowed || !printing_rfh_ || IsCrashed() ||
!printing_rfh_->IsRenderFrameLive()) {
@ -426,7 +426,7 @@ index 4f9fe268ab1391b02b7c8a8feb6a4c1a66692003..65fffb51eef37df9499e96d008b7a654
}
CompleteScriptedPrint(printing_rfh_, std::move(params), std::move(callback));
diff --git a/chrome/browser/printing/print_view_manager_base.h b/chrome/browser/printing/print_view_manager_base.h
index 52faaedf4c93fa02548355218933df45db091e3e..67fe40ff154b99fbf0e66621b91834d1fb55bda6 100644
index 5aec0843d4882155d109f9d2d639e4f52f0e5bd2..2bdfbb8f020814b13efca34d13d570dcfdcf6f2c 100644
--- a/chrome/browser/printing/print_view_manager_base.h
+++ b/chrome/browser/printing/print_view_manager_base.h
@@ -46,6 +46,8 @@ namespace printing {
@ -500,10 +500,10 @@ index 52faaedf4c93fa02548355218933df45db091e3e..67fe40ff154b99fbf0e66621b91834d1
// Indication that the job is getting canceled.
bool canceling_job_ = false;
diff --git a/chrome/browser/printing/printer_query.cc b/chrome/browser/printing/printer_query.cc
index d01d616c3b1ea5965bcc0dafc63ca757d991f975..632207f53dfac75ed7e963836fe03f8317933b76 100644
index 7f77a94ddcdbc8598d3690a8fe53325e91cf143a..4e22d889daaebc50b2e910fb53ba578422470c8f 100644
--- a/chrome/browser/printing/printer_query.cc
+++ b/chrome/browser/printing/printer_query.cc
@@ -298,17 +298,19 @@ void PrinterQuery::UpdatePrintSettings(base::Value::Dict new_settings,
@@ -306,17 +306,19 @@ void PrinterQuery::UpdatePrintSettings(base::Value::Dict new_settings,
#endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS)
}
@ -818,10 +818,10 @@ index 146fbcb2e6bd4348110ecc3220d6ac0ac59babf3..eecc3118033ef7fe1f17aba48cd19b17
#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
// Set options for print preset from source PDF document.
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index 591334520ada8346eed65f879a84c68e9ec92339..fccddda5803b6838bcfde366b4812308fce5522e 100644
index 0c3f03503155435e1cd4c86dfa554a604b0be568..57be2bdb26e56eb4914a169f7052a94a53535203 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -2837,8 +2837,9 @@ source_set("browser") {
@@ -2840,8 +2840,9 @@ source_set("browser") {
"//ppapi/shared_impl",
]
@ -834,7 +834,7 @@ index 591334520ada8346eed65f879a84c68e9ec92339..fccddda5803b6838bcfde366b4812308
if (is_chromeos) {
sources += [
diff --git a/printing/printing_context.cc b/printing/printing_context.cc
index 3a9e75c229f028dcbfb2d7b9294bc42989cb4c1e..a890c5517c0708034bbc6b9b606c990a9ae8be7a 100644
index a6ce93f23cf91511c91144de1a453b4357a767e2..ddcb658dad0171edd8643949f672db0e06388e22 100644
--- a/printing/printing_context.cc
+++ b/printing/printing_context.cc
@@ -143,7 +143,6 @@ void PrintingContext::UsePdfSettings() {

Просмотреть файл

@ -43,7 +43,7 @@ index d164a86023ceb2718dfefce23d0a9fc910150f0e..a6c12048023a42192894f46efd90ff19
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 37daf25c2a2a8c72fce2c5c49e5799c4bccc54df..71b2238a1f2302bf3ec3fb648b98843a01c6dc0c 100644
index 6208f76554722394f34b70b1ebf0238cc476a15d..54e4c89b5aa91b55729ec520cb6fc5ff6c71ff0e 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4739,6 +4739,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
@ -59,10 +59,10 @@ index 37daf25c2a2a8c72fce2c5c49e5799c4bccc54df..71b2238a1f2302bf3ec3fb648b98843a
RenderWidgetHostImpl* render_widget_host) {
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
index 69807399c332ba08b4e8ce345c86d63023713e7d..f27919003e423bff6432c9ecc411f9811d20b1aa 100644
index ef2b993557845e3599b6e2f06080921cb8adb02a..7c29db598d073a42274193e274f8314b6080286d 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -972,6 +972,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
@@ -973,6 +973,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
void SendScreenRects() override;
void SendActiveState(bool active) override;
TextInputManager* GetTextInputManager() override;

Просмотреть файл

@ -23,7 +23,7 @@ index f14db439624e395bd6cd9d10d5aff480e0384293..ec860cd4033ac09f96be031147d70d2c
+#endif
}
diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/profiles/profile_selections.cc
index 72f10df276863b6df63694a5213ad2e961a6dc11..e98875bb5e214d36c0290c33377bc516e5f61947 100644
index b0515bd0a6c7c09e828c7e67f5f75e6b0a9ea46c..10aa2b39d4033d92fe7502532a497d394c4351d9 100644
--- a/chrome/browser/profiles/profile_selections.cc
+++ b/chrome/browser/profiles/profile_selections.cc
@@ -181,6 +181,7 @@ Profile* ProfileSelections::ApplyProfileSelection(Profile* profile) const {

Просмотреть файл

@ -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).
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index c498c32d1511fab617b617b4e13f3588e804b558..cf53c168b31fecca8fd07f167d1e3523bc3be568 100644
index 6f3cb93b972c0d51f03eb361e99d5a078171878e..7c3a9357e6155e841215fd73ce9b71cbd688b676 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -1553,7 +1553,7 @@ if (is_chrome_branded && !is_android) {
@@ -1577,7 +1577,7 @@ if (is_chrome_branded && !is_android) {
}
}
@ -64,7 +64,7 @@ index c498c32d1511fab617b617b4e13f3588e804b558..cf53c168b31fecca8fd07f167d1e3523
chrome_paks("packed_resources") {
if (is_mac) {
output_dir = "$root_gen_dir/repack"
@@ -1582,6 +1582,12 @@ if (!is_android) {
@@ -1606,6 +1606,12 @@ if (!is_android) {
}
}

Просмотреть файл

@ -45,7 +45,7 @@ index 2dc93235a96d610b0bdfa9cad2c4be36df18b96f..392eb396c124a2e4179522d3f8d08ad0
print('--pgo/--thinlto requires --bootstrap')
return 1
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
index 192249784d60626d6dbd3ef5143fa4db28a868ad..36b276b84a950a51f68b80d277ddf40d9d70fe47 100755
index eb513199556f9f13819fb4e20617182195f3e748..34ea16b0401205397d8bc78a3ef8f1d6fc573b67 100755
--- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py
@@ -35,11 +35,12 @@ import zlib

Просмотреть файл

@ -22,7 +22,7 @@ However, the patch would need to be reviewed by the security team, as it
does touch a security-sensitive class.
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 045cd18f85d2ccecb94d97251b0aeab132a22050..43987c78c7d1248f429c6bed4336e0db2e151c2c 100644
index 6fb39731eb8acb3d0dbbb672ab2bd0affe027a04..91a766b779911be5ec96fd56a069e8c3df87f5fb 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -1794,9 +1794,15 @@ bool RenderProcessHostImpl::Init() {

Просмотреть файл

@ -9,10 +9,10 @@ is needed for OSR.
Originally landed in https://github.com/electron/libchromiumcontent/pull/226.
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index c4ac501e42f753f715d0ea890976ad7e9766d39e..73fbbcc21ad06c59d48d6e7a2897d4d04388a0f5 100644
index b51533132d4b317f13db889a3199cc35a75953ca..1ba9776faf55f6cf484682a81323890b657b1aa0 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -3189,6 +3189,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3193,6 +3193,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
params.main_frame_name, GetOpener(), primary_main_frame_policy,
base::UnguessableToken::Create());
@ -26,7 +26,7 @@ index c4ac501e42f753f715d0ea890976ad7e9766d39e..73fbbcc21ad06c59d48d6e7a2897d4d0
std::unique_ptr<WebContentsViewDelegate> delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -3199,6 +3206,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3203,6 +3210,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
view_ = CreateWebContentsView(this, std::move(delegate),
&render_view_host_delegate_view_);
}

Просмотреть файл

@ -14,10 +14,10 @@ Note that we also need to manually update embedder's
`api::WebContents::IsFullscreenForTabOrPending` value.
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 3da982748c96b6e774d57af7ee3c873a5d474b9f..94f6b4527bbcc336830b5d5b0df6120321b54d07 100644
index 93e23efa3fab9cf8e5b8a5f08b4369a4295dda85..cfb5bb7cc2eae044860c48940250e5bb414fda30 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -6887,6 +6887,17 @@ void RenderFrameHostImpl::EnterFullscreen(
@@ -6911,6 +6911,17 @@ void RenderFrameHostImpl::EnterFullscreen(
}
}

Просмотреть файл

@ -36,3 +36,4 @@ allow_embedder_to_control_codegenerationfromstringscallback.patch
src_allow_optional_isolation_termination_in_node.patch
test_mark_cpu_prof_tests_as_flaky_in_electron.patch
lib_fix_broadcastchannel_initialization_location.patch
fix_adapt_debugger_tests_for_upstream_v8_changes.patch

Просмотреть файл

@ -1220,10 +1220,10 @@ index 0000000000000000000000000000000000000000..2c9d2826c85bdd033f1df1d6188df636
+}
diff --git a/filenames.json b/filenames.json
new file mode 100644
index 0000000000000000000000000000000000000000..db004ae1e40de186f1e90df8dc79a26776a8148d
index 0000000000000000000000000000000000000000..3a600cbf16506cbf94919139b266b72d31e054c4
--- /dev/null
+++ b/filenames.json
@@ -0,0 +1,657 @@
@@ -0,0 +1,658 @@
+// This file is automatically generated by generate_gn_filenames_json.py
+// DO NOT EDIT
+{
@ -1260,6 +1260,7 @@ index 0000000000000000000000000000000000000000..db004ae1e40de186f1e90df8dc79a267
+ "//v8/include/v8-forward.h",
+ "//v8/include/v8-function-callback.h",
+ "//v8/include/v8-function.h",
+ "//v8/include/v8-handle-base.h",
+ "//v8/include/v8-initialization.h",
+ "//v8/include/v8-inspector-protocol.h",
+ "//v8/include/v8-inspector.h",
@ -2255,10 +2256,10 @@ index 0000000000000000000000000000000000000000..2a92eccfa582df361f2a889c0d9b32c1
+
+ out_file.writelines(new_contents)
diff --git a/tools/install.py b/tools/install.py
index 9d5f4a48bca2c926b3ffb3c51c070222d4f7ce7b..728b8596b348b827dbc279498123053aea446ff3 100755
index 9d5f4a48bca2c926b3ffb3c51c070222d4f7ce7b..411bd956ce0d3ff47ba1c48ae932e2d21b78047a 100755
--- a/tools/install.py
+++ b/tools/install.py
@@ -202,60 +202,72 @@ def files(action):
@@ -202,60 +202,73 @@ def files(action):
def headers(action):
def wanted_v8_headers(files_arg, dest):
v8_headers = [
@ -2336,6 +2337,7 @@ index 9d5f4a48bca2c926b3ffb3c51c070222d4f7ce7b..728b8596b348b827dbc279498123053a
+ '../../v8/include/v8-forward.h',
+ '../../v8/include/v8-function-callback.h',
+ '../../v8/include/v8-function.h',
+ '../../v8/include/v8-handle-base.h',
+ '../../v8/include/v8-initialization.h',
+ '../../v8/include/v8-inspector-protocol.h',
+ '../../v8/include/v8-inspector.h',
@ -2384,7 +2386,7 @@ index 9d5f4a48bca2c926b3ffb3c51c070222d4f7ce7b..728b8596b348b827dbc279498123053a
files_arg = [name for name in files_arg if name in v8_headers]
action(files_arg, dest)
@@ -282,7 +294,7 @@ def headers(action):
@@ -282,7 +295,7 @@ def headers(action):
if sys.platform.startswith('aix'):
action(['out/Release/node.exp'], 'include/node/')

Просмотреть файл

@ -0,0 +1,82 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Wed, 29 Mar 2023 09:55:47 +0200
Subject: fix: adapt debugger tests for upstream v8 changes
Updates debugger tests to conform to changes in https://chromium-review.googlesource.com/c/v8/v8/+/4290476
This can be removed when Node.js updates to at least V8 11.4.
diff --git a/test/common/debugger.js b/test/common/debugger.js
index 4aff5b9a0f74d99f8f605b68631f820e282091ab..d5d77fc7c648ddb45225f04c6cf23f9816b2186d 100644
--- a/test/common/debugger.js
+++ b/test/common/debugger.js
@@ -4,7 +4,7 @@ const spawn = require('child_process').spawn;
const BREAK_MESSAGE = new RegExp('(?:' + [
'assert', 'break', 'break on start', 'debugCommand',
- 'exception', 'other', 'promiseRejection',
+ 'exception', 'other', 'promiseRejection', 'step',
].join('|') + ') in', 'i');
let TIMEOUT = common.platformTimeout(5000);
@@ -121,13 +121,13 @@ function startCLI(args, flags = [], spawnOpts = {}) {
get breakInfo() {
const output = this.output;
const breakMatch =
- output.match(/break (?:on start )?in ([^\n]+):(\d+)\n/i);
+ output.match(/(step |break (?:on start )?)in ([^\n]+):(\d+)\n/i);
if (breakMatch === null) {
throw new Error(
`Could not find breakpoint info in ${JSON.stringify(output)}`);
}
- return { filename: breakMatch[1], line: +breakMatch[2] };
+ return { filename: breakMatch[2], line: +breakMatch[3] };
},
ctrlC() {
diff --git a/test/sequential/test-debugger-break.js b/test/sequential/test-debugger-break.js
index 1d92331d4e10136ddc9d811c3eb07e6b24d0fc51..8f37b71571225eb6b264cd44fa031f82c701cdbc 100644
--- a/test/sequential/test-debugger-break.js
+++ b/test/sequential/test-debugger-break.js
@@ -27,7 +27,7 @@ const cli = startCLI([script]);
await cli.stepCommand('n');
assert.ok(
- cli.output.includes(`break in ${script}:2`),
+ cli.output.includes(`step in ${script}:2`),
'pauses in next line of the script');
assert.match(
cli.output,
@@ -36,7 +36,7 @@ const cli = startCLI([script]);
await cli.stepCommand('next');
assert.ok(
- cli.output.includes(`break in ${script}:3`),
+ cli.output.includes(`step in ${script}:3`),
'pauses in next line of the script');
assert.match(
cli.output,
@@ -89,7 +89,7 @@ const cli = startCLI([script]);
await cli.stepCommand('');
assert.match(
cli.output,
- /break in node:timers/,
+ /step in node:timers/,
'entered timers.js');
await cli.stepCommand('cont');
diff --git a/test/sequential/test-debugger-run-after-quit-restart.js b/test/sequential/test-debugger-run-after-quit-restart.js
index a9da07dcdff8bd0b8cc69ccff8f29a67ff553592..2da4cea6359c8564a93863e43fc4a3f14a27e693 100644
--- a/test/sequential/test-debugger-run-after-quit-restart.js
+++ b/test/sequential/test-debugger-run-after-quit-restart.js
@@ -25,7 +25,7 @@ const path = require('path');
.then(() => cli.stepCommand('n'))
.then(() => {
assert.ok(
- cli.output.includes(`break in ${script}:2`),
+ cli.output.includes(`step in ${script}:2`),
'steps to the 2nd line'
);
})

Просмотреть файл

@ -8,3 +8,4 @@ fix_build_deprecated_attribute_for_older_msvc_versions.patch
fix_disable_implies_dcheck_for_node_stream_array_buffers.patch
force_cppheapcreateparams_to_be_noncopyable.patch
chore_allow_customizing_microtask_policy_per_context.patch
revert_wasm_simplify_compilejstowasmwrapperjob.patch

Просмотреть файл

@ -9,7 +9,7 @@ necessary for native modules to load.
Also, some fixes relating to mksnapshot on ARM.
diff --git a/BUILD.gn b/BUILD.gn
index 8f9377940796a550558552ea48fa0ba1bc4de59b..2875b365ee3187b46bed18e8d874b61a54e576c4 100644
index 3fb2135f0256e41edf5247ff241a8073cfe74731..19239a7b642ef13326e8a3fab506eacea975fde1 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -699,7 +699,7 @@ config("internal_config") {
@ -21,7 +21,7 @@ index 8f9377940796a550558552ea48fa0ba1bc4de59b..2875b365ee3187b46bed18e8d874b61a
defines += [ "BUILDING_V8_SHARED" ]
}
@@ -6397,7 +6397,7 @@ if (current_toolchain == v8_generator_toolchain) {
@@ -6392,7 +6392,7 @@ if (current_toolchain == v8_generator_toolchain) {
"src/interpreter/bytecodes.h",
]

Просмотреть файл

@ -6,10 +6,10 @@ Subject: dcheck.patch
https://github.com/auchenberg/volkswagen
diff --git a/src/api/api.cc b/src/api/api.cc
index e286ccd254497acd71b86876afba430a0032d015..32dfeb7bca5788bf653ea551be16fce120d7d796 100644
index 2d4be4ee94c6f449942a66de518d83e236111e94..57b6a33da828ffd933332db92c9a2a9c8be48e58 100644
--- a/src/api/api.cc
+++ b/src/api/api.cc
@@ -9894,7 +9894,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
@@ -9878,7 +9878,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
}
void Isolate::PerformMicrotaskCheckpoint() {

Просмотреть файл

@ -12,7 +12,7 @@ This patch can be safely removed if, when it is removed, `node.lib` does not
contain any standard C++ library exports (e.g. `std::ostringstream`).
diff --git a/BUILD.gn b/BUILD.gn
index 47ca2ef8de86da8ee73c4b1b37f9eceb74cd7ce1..9d30971e9bd7e4b366f2e5592b921a9870944db4 100644
index 3babe2c5827d25ea6e457005068d2b5462d7999d..63810907d7c0028075b7bcb737053a392577029e 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -699,6 +699,10 @@ config("internal_config") {

Просмотреть файл

@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch
Needed in order to target mksnapshot for mksnapshot zip.
diff --git a/BUILD.gn b/BUILD.gn
index 2875b365ee3187b46bed18e8d874b61a54e576c4..47ca2ef8de86da8ee73c4b1b37f9eceb74cd7ce1 100644
index 19239a7b642ef13326e8a3fab506eacea975fde1..3babe2c5827d25ea6e457005068d2b5462d7999d 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -6409,7 +6409,6 @@ if (current_toolchain == v8_generator_toolchain) {
@@ -6404,7 +6404,6 @@ if (current_toolchain == v8_generator_toolchain) {
if (current_toolchain == v8_snapshot_toolchain) {
v8_executable("mksnapshot") {

Просмотреть файл

@ -0,0 +1,476 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Wed, 29 Mar 2023 17:33:34 +0200
Subject: Revert "[wasm] Simplify CompileJSToWasmWrapperJob"
This reverts commit a8a11a87cb72c698cd35a5df3a23f0d08340b6d1.
[wasm] Simplify CompileJSToWasmWrapperJob | https://chromium-review.googlesource.com/c/v8/v8/+/4347597
was reverted because it caused many failures to the node tests,
eg: https://app.circleci.com/pipelines/github/electron/electron/67031/workflows/eaedbe8d-2f77-47f0-a729-840ceed6c411/jobs/1475853.
There is a tracking issue here to remove this patch: https://github.com/electron/electron/issues/37772
diff --git a/src/wasm/module-compiler.cc b/src/wasm/module-compiler.cc
index 3e63eee4dd8c93f627bdd5bd6f8624efa529f178..912deac0fe9dc0cdc277b23b0a078ba431811a05 100644
--- a/src/wasm/module-compiler.cc
+++ b/src/wasm/module-compiler.cc
@@ -5,7 +5,6 @@
#include "src/wasm/module-compiler.h"
#include <algorithm>
-#include <atomic>
#include <memory>
#include <queue>
@@ -538,7 +537,7 @@ class CompilationStateImpl {
std::shared_ptr<Counters> async_counters,
DynamicTiering dynamic_tiering);
~CompilationStateImpl() {
- if (js_to_wasm_wrapper_job_ && js_to_wasm_wrapper_job_->IsValid())
+ if (js_to_wasm_wrapper_job_->IsValid())
js_to_wasm_wrapper_job_->CancelAndDetach();
if (baseline_compile_job_->IsValid())
baseline_compile_job_->CancelAndDetach();
@@ -608,11 +607,11 @@ class CompilationStateImpl {
CompilationUnitQueues::Queue*, CompilationTier tier);
std::shared_ptr<JSToWasmWrapperCompilationUnit>
- GetJSToWasmWrapperCompilationUnit(size_t index);
+ GetNextJSToWasmWrapperCompilationUnit();
void FinalizeJSToWasmWrappers(Isolate* isolate, const WasmModule* module);
void OnFinishedUnits(base::Vector<WasmCode*>);
- void OnFinishedJSToWasmWrapperUnits();
+ void OnFinishedJSToWasmWrapperUnits(int num);
void OnCompilationStopped(WasmFeatures detected);
void PublishDetectedFeatures(Isolate*);
@@ -620,6 +619,7 @@ class CompilationStateImpl {
std::vector<std::unique_ptr<WasmCode>> unpublished_code,
CompilationTier tier);
+ size_t NumOutstandingExportWrappers() const;
size_t NumOutstandingCompilations(CompilationTier tier) const;
void SetError();
@@ -643,7 +643,7 @@ class CompilationStateImpl {
bool baseline_compilation_finished() const {
base::MutexGuard guard(&callbacks_mutex_);
return outstanding_baseline_units_ == 0 &&
- !has_outstanding_export_wrappers_;
+ outstanding_export_wrappers_ == 0;
}
DynamicTiering dynamic_tiering() const { return dynamic_tiering_; }
@@ -699,6 +699,9 @@ class CompilationStateImpl {
CompilationUnitQueues compilation_unit_queues_;
+ // Number of wrappers to be compiled. Initialized once, counted down in
+ // {GetNextJSToWasmWrapperCompilationUnit}.
+ std::atomic<size_t> outstanding_js_to_wasm_wrappers_{0};
// Wrapper compilation units are stored in shared_ptrs so that they are kept
// alive by the tasks even if the NativeModule dies.
std::vector<std::shared_ptr<JSToWasmWrapperCompilationUnit>>
@@ -752,7 +755,7 @@ class CompilationStateImpl {
base::EnumSet<CompilationEvent> finished_events_;
int outstanding_baseline_units_ = 0;
- bool has_outstanding_export_wrappers_ = false;
+ int outstanding_export_wrappers_ = 0;
// The amount of generated top tier code since the last
// {kFinishedCompilationChunk} event.
size_t bytes_since_last_chunk_ = 0;
@@ -1444,6 +1447,44 @@ void RecordStats(Code code, Counters* counters) {
enum CompilationExecutionResult : int8_t { kNoMoreUnits, kYield };
+CompilationExecutionResult ExecuteJSToWasmWrapperCompilationUnits(
+ std::weak_ptr<NativeModule> native_module, JobDelegate* delegate) {
+ std::shared_ptr<JSToWasmWrapperCompilationUnit> wrapper_unit = nullptr;
+ int num_processed_wrappers = 0;
+
+ OperationsBarrier::Token wrapper_compilation_token;
+ Isolate* isolate;
+
+ {
+ BackgroundCompileScope compile_scope(native_module);
+ if (compile_scope.cancelled()) return kYield;
+ wrapper_unit = compile_scope.compilation_state()
+ ->GetNextJSToWasmWrapperCompilationUnit();
+ if (!wrapper_unit) return kNoMoreUnits;
+ isolate = wrapper_unit->isolate();
+ wrapper_compilation_token =
+ wasm::GetWasmEngine()->StartWrapperCompilation(isolate);
+ if (!wrapper_compilation_token) return kNoMoreUnits;
+ }
+
+ TRACE_EVENT0("v8.wasm", "wasm.JSToWasmWrapperCompilation");
+ while (true) {
+ DCHECK_EQ(isolate, wrapper_unit->isolate());
+ wrapper_unit->Execute();
+ ++num_processed_wrappers;
+ bool yield = delegate && delegate->ShouldYield();
+ BackgroundCompileScope compile_scope(native_module);
+ if (compile_scope.cancelled()) return kYield;
+ if (yield ||
+ !(wrapper_unit = compile_scope.compilation_state()
+ ->GetNextJSToWasmWrapperCompilationUnit())) {
+ compile_scope.compilation_state()->OnFinishedJSToWasmWrapperUnits(
+ num_processed_wrappers);
+ return yield ? kYield : kNoMoreUnits;
+ }
+ }
+}
+
namespace {
const char* GetCompilationEventName(const WasmCompilationUnit& unit,
const CompilationEnv& env) {
@@ -1826,101 +1867,35 @@ void CompileNativeModule(Isolate* isolate,
}
}
-class BaseCompileJSToWasmWrapperJob : public JobTask {
- public:
- explicit BaseCompileJSToWasmWrapperJob(size_t compilation_units)
- : outstanding_units_(compilation_units) {}
-
- size_t GetMaxConcurrency(size_t worker_count) const override {
- size_t flag_limit = static_cast<size_t>(
- std::max(1, v8_flags.wasm_num_compilation_tasks.value()));
- // {outstanding_units_} includes the units that other workers are currently
- // working on, so we can safely ignore the {worker_count} and just return
- // the current number of outstanding units.
- return std::min(flag_limit,
- outstanding_units_.load(std::memory_order_relaxed));
- }
-
- protected:
- // Returns the index of the next unit to process.
- size_t GetNextUnitIndex() {
- // |unit_index_| may exceeed |compilation_units|, but only by the number of
- // workers at worst, thus it can't exceed 2 * |compilation_units| and
- // overflow shouldn't happen.
- return unit_index_.fetch_add(1, std::memory_order_relaxed);
- }
-
- // Returns true if the last unit was completed.
- bool CompleteUnit() {
- size_t outstanding_units =
- outstanding_units_.fetch_sub(1, std::memory_order_relaxed);
- DCHECK_GE(outstanding_units, 1);
- return outstanding_units == 1;
- }
-
- private:
- std::atomic<size_t> unit_index_{0};
- std::atomic<size_t> outstanding_units_;
-};
-
-class AsyncCompileJSToWasmWrapperJob final
- : public BaseCompileJSToWasmWrapperJob {
+class AsyncCompileJSToWasmWrapperJob final : public JobTask {
public:
explicit AsyncCompileJSToWasmWrapperJob(
- std::weak_ptr<NativeModule> native_module, size_t compilation_units)
- : BaseCompileJSToWasmWrapperJob(compilation_units),
- native_module_(std::move(native_module)),
- engine_barrier_(GetWasmEngine()->GetBarrierForBackgroundCompile()),
- compilation_units_size_(compilation_units) {}
+ std::weak_ptr<NativeModule> native_module)
+ : native_module_(std::move(native_module)),
+ engine_barrier_(GetWasmEngine()->GetBarrierForBackgroundCompile()) {}
void Run(JobDelegate* delegate) override {
auto engine_scope = engine_barrier_->TryLock();
if (!engine_scope) return;
- std::shared_ptr<JSToWasmWrapperCompilationUnit> wrapper_unit = nullptr;
-
- OperationsBarrier::Token wrapper_compilation_token;
- Isolate* isolate;
-
- size_t index = GetNextUnitIndex();
- if (index >= compilation_units_size_) return;
- {
- BackgroundCompileScope compile_scope(native_module_);
- if (compile_scope.cancelled()) return;
- wrapper_unit =
- compile_scope.compilation_state()->GetJSToWasmWrapperCompilationUnit(
- index);
- isolate = wrapper_unit->isolate();
- wrapper_compilation_token =
- wasm::GetWasmEngine()->StartWrapperCompilation(isolate);
- if (!wrapper_compilation_token) return;
- }
-
- TRACE_EVENT0("v8.wasm", "wasm.JSToWasmWrapperCompilation");
- while (true) {
- DCHECK_EQ(isolate, wrapper_unit->isolate());
- wrapper_unit->Execute();
- bool complete_last_unit = CompleteUnit();
- bool yield = delegate && delegate->ShouldYield();
- if (yield && !complete_last_unit) return;
+ ExecuteJSToWasmWrapperCompilationUnits(native_module_, delegate);
+ }
- BackgroundCompileScope compile_scope(native_module_);
- if (compile_scope.cancelled()) return;
- if (complete_last_unit)
- compile_scope.compilation_state()->OnFinishedJSToWasmWrapperUnits();
- if (yield) return;
- size_t index = GetNextUnitIndex();
- if (index >= compilation_units_size_) return;
- wrapper_unit =
- compile_scope.compilation_state()->GetJSToWasmWrapperCompilationUnit(
- index);
- }
+ size_t GetMaxConcurrency(size_t worker_count) const override {
+ BackgroundCompileScope compile_scope(native_module_);
+ if (compile_scope.cancelled()) return 0;
+ size_t flag_limit = static_cast<size_t>(
+ std::max(1, v8_flags.wasm_num_compilation_tasks.value()));
+ // NumOutstandingExportWrappers() does not reflect the units that running
+ // workers are processing, thus add the current worker count to that number.
+ return std::min(
+ flag_limit,
+ worker_count +
+ compile_scope.compilation_state()->NumOutstandingExportWrappers());
}
private:
std::weak_ptr<NativeModule> native_module_;
std::shared_ptr<OperationsBarrier> engine_barrier_;
- // Number of wrappers to be compiled.
- const size_t compilation_units_size_;
};
class BackgroundCompileJob final : public JobTask {
@@ -3080,10 +3055,14 @@ CompilationStateImpl::CompilationStateImpl(
dynamic_tiering_(dynamic_tiering) {}
void CompilationStateImpl::InitCompileJob() {
+ DCHECK_NULL(js_to_wasm_wrapper_job_);
DCHECK_NULL(baseline_compile_job_);
DCHECK_NULL(top_tier_compile_job_);
// Create the job, but don't spawn workers yet. This will happen on
// {NotifyConcurrencyIncrease}.
+ js_to_wasm_wrapper_job_ = V8::GetCurrentPlatform()->CreateJob(
+ TaskPriority::kUserBlocking,
+ std::make_unique<AsyncCompileJSToWasmWrapperJob>(native_module_weak_));
baseline_compile_job_ = V8::GetCurrentPlatform()->CreateJob(
TaskPriority::kUserVisible,
std::make_unique<BackgroundCompileJob>(
@@ -3207,7 +3186,7 @@ void CompilationStateImpl::InitializeCompilationProgress(
base::MutexGuard guard(&callbacks_mutex_);
DCHECK_EQ(0, outstanding_baseline_units_);
- DCHECK(!has_outstanding_export_wrappers_);
+ DCHECK_EQ(0, outstanding_export_wrappers_);
// Compute the default compilation progress for all functions, and set it.
const ExecutionTierPair default_tiers = GetDefaultTiersPerModule(
@@ -3238,7 +3217,7 @@ void CompilationStateImpl::InitializeCompilationProgress(
// Account for outstanding wrapper compilation.
outstanding_baseline_units_ += num_import_wrappers;
- has_outstanding_export_wrappers_ = (num_export_wrappers > 0);
+ outstanding_export_wrappers_ = num_export_wrappers;
// Trigger callbacks if module needs no baseline or top tier compilation. This
// can be the case for an empty or fully lazy module.
@@ -3396,14 +3375,16 @@ void CompilationStateImpl::CommitCompilationUnits(
js_to_wasm_wrapper_units) {
if (!js_to_wasm_wrapper_units.empty()) {
// |js_to_wasm_wrapper_units_| will only be initialized once.
- DCHECK_NULL(js_to_wasm_wrapper_job_);
+ DCHECK_EQ(0, outstanding_js_to_wasm_wrappers_.load());
js_to_wasm_wrapper_units_.insert(js_to_wasm_wrapper_units_.end(),
js_to_wasm_wrapper_units.begin(),
js_to_wasm_wrapper_units.end());
- js_to_wasm_wrapper_job_ = V8::GetCurrentPlatform()->PostJob(
- TaskPriority::kUserBlocking,
- std::make_unique<AsyncCompileJSToWasmWrapperJob>(
- native_module_weak_, js_to_wasm_wrapper_units_.size()));
+ // Use release semantics such that updates to {js_to_wasm_wrapper_units_}
+ // are available to other threads doing an acquire load.
+ outstanding_js_to_wasm_wrappers_.store(js_to_wasm_wrapper_units.size(),
+ std::memory_order_release);
+ DCHECK(js_to_wasm_wrapper_job_->IsValid());
+ js_to_wasm_wrapper_job_->NotifyConcurrencyIncrease();
}
if (!baseline_units.empty() || !top_tier_units.empty()) {
compilation_unit_queues_.AddUnits(baseline_units, top_tier_units,
@@ -3436,9 +3417,19 @@ void CompilationStateImpl::AddTopTierPriorityCompilationUnit(
}
std::shared_ptr<JSToWasmWrapperCompilationUnit>
-CompilationStateImpl::GetJSToWasmWrapperCompilationUnit(size_t index) {
- DCHECK_LT(index, js_to_wasm_wrapper_units_.size());
- return js_to_wasm_wrapper_units_[index];
+CompilationStateImpl::GetNextJSToWasmWrapperCompilationUnit() {
+ size_t outstanding_units =
+ outstanding_js_to_wasm_wrappers_.load(std::memory_order_relaxed);
+ // Use acquire semantics such that initialization of
+ // {js_to_wasm_wrapper_units_} is available.
+ while (outstanding_units &&
+ !outstanding_js_to_wasm_wrappers_.compare_exchange_weak(
+ outstanding_units, outstanding_units - 1,
+ std::memory_order_acquire)) {
+ // Retry with updated {outstanding_units}.
+ }
+ if (outstanding_units == 0) return nullptr;
+ return js_to_wasm_wrapper_units_[outstanding_units - 1];
}
void CompilationStateImpl::FinalizeJSToWasmWrappers(Isolate* isolate,
@@ -3545,9 +3536,11 @@ void CompilationStateImpl::OnFinishedUnits(
TriggerCallbacks();
}
-void CompilationStateImpl::OnFinishedJSToWasmWrapperUnits() {
+void CompilationStateImpl::OnFinishedJSToWasmWrapperUnits(int num) {
+ if (num == 0) return;
base::MutexGuard guard(&callbacks_mutex_);
- has_outstanding_export_wrappers_ = false;
+ DCHECK_GE(outstanding_export_wrappers_, num);
+ outstanding_export_wrappers_ -= num;
TriggerCallbacks();
}
@@ -3555,7 +3548,7 @@ void CompilationStateImpl::TriggerCallbacks() {
DCHECK(!callbacks_mutex_.TryLock());
base::EnumSet<CompilationEvent> triggered_events;
- if (!has_outstanding_export_wrappers_) {
+ if (outstanding_export_wrappers_ == 0) {
triggered_events.Add(CompilationEvent::kFinishedExportWrappers);
if (outstanding_baseline_units_ == 0) {
triggered_events.Add(CompilationEvent::kFinishedBaselineCompilation);
@@ -3601,7 +3594,7 @@ void CompilationStateImpl::TriggerCallbacks() {
}
}
- if (outstanding_baseline_units_ == 0 && !has_outstanding_export_wrappers_) {
+ if (outstanding_baseline_units_ == 0 && outstanding_export_wrappers_ == 0) {
auto new_end = std::remove_if(
callbacks_.begin(), callbacks_.end(), [](const auto& callback) {
return callback->release_after_final_event();
@@ -3700,6 +3693,10 @@ void CompilationStateImpl::SchedulePublishCompilationResults(
}
}
+size_t CompilationStateImpl::NumOutstandingExportWrappers() const {
+ return outstanding_js_to_wasm_wrappers_.load(std::memory_order_relaxed);
+}
+
size_t CompilationStateImpl::NumOutstandingCompilations(
CompilationTier tier) const {
return compilation_unit_queues_.GetSizeForTier(tier);
@@ -3728,8 +3725,7 @@ void CompilationStateImpl::WaitForCompilationEvent(
// Waiting on other CompilationEvent doesn't make sense.
UNREACHABLE();
}
- if (js_to_wasm_wrapper_job_ && js_to_wasm_wrapper_job_->IsValid())
- js_to_wasm_wrapper_job_->Join();
+ if (js_to_wasm_wrapper_job_->IsValid()) js_to_wasm_wrapper_job_->Join();
#ifdef DEBUG
base::EnumSet<CompilationEvent> events{expect_event,
CompilationEvent::kFailedCompilation};
@@ -3778,32 +3774,45 @@ void CompilationStateImpl::TierUpAllFunctions() {
}
namespace {
-using JSToWasmWrapperSet =
- std::unordered_set<JSToWasmWrapperKey, base::hash<JSToWasmWrapperKey>>;
-using JSToWasmWrapperUnitVector =
- std::vector<std::pair<JSToWasmWrapperKey,
- std::unique_ptr<JSToWasmWrapperCompilationUnit>>>;
-
-class CompileJSToWasmWrapperJob final : public BaseCompileJSToWasmWrapperJob {
+using JSToWasmWrapperQueue = WrapperQueue<JSToWasmWrapperKey, std::nullptr_t,
+ base::hash<JSToWasmWrapperKey>>;
+using JSToWasmWrapperUnitMap =
+ std::unordered_map<JSToWasmWrapperKey,
+ std::unique_ptr<JSToWasmWrapperCompilationUnit>,
+ base::hash<JSToWasmWrapperKey>>;
+
+class CompileJSToWasmWrapperJob final : public JobTask {
public:
- CompileJSToWasmWrapperJob(JSToWasmWrapperUnitVector* compilation_units)
- : BaseCompileJSToWasmWrapperJob(compilation_units->size()),
- compilation_units_(compilation_units) {}
+ CompileJSToWasmWrapperJob(JSToWasmWrapperQueue* queue,
+ JSToWasmWrapperUnitMap* compilation_units)
+ : queue_(queue),
+ compilation_units_(compilation_units),
+ outstanding_units_(queue->size()) {}
void Run(JobDelegate* delegate) override {
- while (true) {
- size_t index = GetNextUnitIndex();
- if (index >= compilation_units_->size()) return;
+ while (base::Optional<std::pair<JSToWasmWrapperKey, std::nullptr_t>> key =
+ queue_->pop()) {
JSToWasmWrapperCompilationUnit* unit =
- (*compilation_units_)[index].second.get();
+ (*compilation_units_)[key->first].get();
unit->Execute();
- CompleteUnit();
+ outstanding_units_.fetch_sub(1, std::memory_order_relaxed);
if (delegate && delegate->ShouldYield()) return;
}
}
+ size_t GetMaxConcurrency(size_t /* worker_count */) const override {
+ DCHECK_GE(v8_flags.wasm_num_compilation_tasks, 1);
+ // {outstanding_units_} includes the units that other workers are currently
+ // working on, so we can safely ignore the {worker_count} and just return
+ // the current number of outstanding units.
+ return std::min(static_cast<size_t>(v8_flags.wasm_num_compilation_tasks),
+ outstanding_units_.load(std::memory_order_relaxed));
+ }
+
private:
- JSToWasmWrapperUnitVector* const compilation_units_;
+ JSToWasmWrapperQueue* const queue_;
+ JSToWasmWrapperUnitMap* const compilation_units_;
+ std::atomic<size_t> outstanding_units_;
};
} // namespace
@@ -3813,8 +3822,8 @@ void CompileJsToWasmWrappers(Isolate* isolate, const WasmModule* module) {
isolate->heap()->EnsureWasmCanonicalRttsSize(module->MaxCanonicalTypeIndex() +
1);
- JSToWasmWrapperSet set;
- JSToWasmWrapperUnitVector compilation_units;
+ JSToWasmWrapperQueue queue;
+ JSToWasmWrapperUnitMap compilation_units;
WasmFeatures enabled_features = WasmFeatures::FromIsolate(isolate);
// Prepare compilation units in the main thread.
@@ -3834,13 +3843,12 @@ void CompileJsToWasmWrappers(Isolate* isolate, const WasmModule* module) {
}
JSToWasmWrapperKey key(function.imported, canonical_type_index);
- const auto [it, inserted] = set.insert(key);
- if (inserted) {
+ if (queue.insert(key, nullptr)) {
auto unit = std::make_unique<JSToWasmWrapperCompilationUnit>(
isolate, function.sig, canonical_type_index, module,
function.imported, enabled_features,
JSToWasmWrapperCompilationUnit::kAllowGeneric);
- compilation_units.emplace_back(key, std::move(unit));
+ compilation_units.emplace(key, std::move(unit));
}
}
@@ -3849,7 +3857,8 @@ void CompileJsToWasmWrappers(Isolate* isolate, const WasmModule* module) {
// descriptive. It's mainly to log the number of wrappers.
TRACE_EVENT1("v8.wasm", "wasm.JsToWasmWrapperCompilation", "num_wrappers",
compilation_units.size());
- auto job = std::make_unique<CompileJSToWasmWrapperJob>(&compilation_units);
+ auto job =
+ std::make_unique<CompileJSToWasmWrapperJob>(&queue, &compilation_units);
if (v8_flags.wasm_num_compilation_tasks > 0) {
auto job_handle = V8::GetCurrentPlatform()->CreateJob(
TaskPriority::kUserVisible, std::move(job));

Просмотреть файл

@ -86,8 +86,9 @@ ExecuteCodeFunction::InitResult ExecuteCodeInTabFunction::Init() {
if (!details_value.is_dict())
return set_init_result(VALIDATION_FAILURE);
std::unique_ptr<InjectDetails> details(new InjectDetails());
if (!InjectDetails::Populate(details_value, details.get()))
if (!InjectDetails::Populate(details_value.GetDict(), *details)) {
return set_init_result(VALIDATION_FAILURE);
}
if (tab_id == -1) {
// There's no useful concept of a "default tab" in Electron.