chore: bump chromium to 119.0.6006.0 (main) (#39774)

* chore: bump chromium in DEPS to 119.0.5994.0

* chore: update patches

* Add some more debugging for navigation origin & process lock mismatch

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

* chore: bump chromium in DEPS to 119.0.5996.2

* chore: bump chromium in DEPS to 119.0.5997.0

* chore: bump chromium in DEPS to 119.0.6000.0

* chore: bump chromium in DEPS to 119.0.6002.0

* 4781766: Port remaining control color ids to the color pipeline

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

* 4846057: Preloading: Move prefetch_prefs to chrome/browser/preloading/

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

* chore: fixup patch indices

* 4848108: Pass v8::Isolate into FromV8Value calls on blink API

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

* 4834471: Reland "[api] allow v8::Data as internal field"

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

* 4808884: Major overhaul of ExceptionState in the v8 bindings

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

* 4791643: [sandbox] Add a TRUSTED_SPACE and TRUSTED_LO_SPACE to the V8 heap

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

* chore: bump chromium in DEPS to 119.0.6005.0

* 4776268: [v8][etw] Enables filtering of ETW tracing by URL

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

* chore: fixup patch indices

* 4673258: WebSQL: Disable WebSQL by default

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

* chore: bump chromium in DEPS to 119.0.6006.0

* chore: update patches

* 4854732: Reland^2 "[iterator-helpers] Unship due to incompat"

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

* 4794133: [AWC] Add `display-state` CSS @media feature

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

* fixup! Add some more debugging for navigation origin & process lock mismatch

* Revert "fixup! Add some more debugging for navigation origin & process lock mismatch"

This reverts commit 38fef075fc.

* 4858437: Revert "[iOS] Delete GN flags for mach absolute time ticks"

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

* refactor: fix_crash_loading_non-standard_schemes_in_iframes.patch (#39879)

* chore: 4869108: handle absolute and relative gn imports in autoninja

https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4869108

* chore: set GOMA_DIR for autoninja

* Revert "chore: 4869108: handle absolute and relative gn imports in autoninja"

This reverts commit d94c7720ba.

---------

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>
Co-authored-by: Robo <hop2deep@gmail.com>
This commit is contained in:
electron-roller[bot] 2023-09-18 16:44:09 -04:00 коммит произвёл GitHub
Родитель c8544e25df
Коммит 73e33bc876
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
69 изменённых файлов: 1150 добавлений и 321 удалений

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

@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
vars = {
'chromium_version':
'118.0.5993.0',
'119.0.6006.0',
'node_version':
'v18.17.1',
'nan_version':

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

@ -152,6 +152,6 @@
]
},
"resolutions": {
"nan": "nodejs/nan#16fa32231e2ccd89d2804b3f765319128b20c4ac"
"nan": "nodejs/nan#4290e23af108328269fcd4fe174ad657ad7cdd96"
}
}

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

@ -118,7 +118,7 @@ index 852b76bea69988e0b3ac76a17b603128f239dde0..43fc792697519325725e9ce87801c5dc
callback(EVP_des_ede3_cbc(), "des-ede3-cbc", NULL, arg);
callback(EVP_rc2_cbc(), "rc2-cbc", NULL, arg);
diff --git a/include/openssl/cipher.h b/include/openssl/cipher.h
index 310d7c237fd884ba715e3fa97ccf1393b6d04fbb..66e69d487fbb767438b7d0dfdf3770f54e3cf7b2 100644
index 18c1e708a42d7802b7d52564bceb93a53b7ab9c5..08b830a40e4587435b4e026dee4b205b4813c357 100644
--- a/include/openssl/cipher.h
+++ b/include/openssl/cipher.h
@@ -476,6 +476,7 @@ OPENSSL_EXPORT const EVP_CIPHER *EVP_des_ede3_ecb(void);

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

@ -133,3 +133,5 @@ build_remove_ent_content_analysis_assert.patch
fix_activate_background_material_on_windows.patch
fix_move_autopipsettingshelper_behind_branding_buildflag.patch
revert_remove_the_allowaggressivethrottlingwithwebsocket_feature.patch
fix_handle_no_top_level_aura_window_in_webcontentsimpl.patch
revert_ios_delete_gn_flags_for_mach_absolute_time_ticks.patch

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

@ -23,7 +23,7 @@ index d1e9ad95891487b37e2e03cb2a220eb969e877ab..13bdc6cf7ba4221f0a3219975a0825eb
int32_t world_id) {}
virtual void DidClearWindowObject() {}
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 54368c4a6ae9e2fb40017ecb31228a035dacf4cb..dceea20dd2a53fa079da7263e3161e1bd86279fe 100644
index bcd1c7d972152238718e1da38b07203a19ad2420..c7158a95aac1a85f908f7fecef45d05d272c55b4 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -4474,6 +4474,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,

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

@ -7,10 +7,10 @@ Ensure that licenses for the dependencies introduced by Electron
are included in `LICENSES.chromium.html`
diff --git a/tools/licenses/licenses.py b/tools/licenses/licenses.py
index 9a34155c5066b5e8c08c205170d48afb0f4caa92..60a7ec8e7f8e9754e6f50df8bc3cbf8a502df0cf 100755
index d31c258acd4a07e92166f5b868b8c4d41f8fbf35..bd0966b2118b491722c4efc754ab88020c8f0ee9 100755
--- a/tools/licenses/licenses.py
+++ b/tools/licenses/licenses.py
@@ -425,6 +425,31 @@ SPECIAL_CASES = {
@@ -413,6 +413,31 @@ SPECIAL_CASES = {
"License": "Apache 2.0",
"License File": ["//third_party/selenium-atoms/LICENSE.closure"],
},

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

@ -8,7 +8,7 @@ decorations in maximized mode where needed, preventing empty space caused
by decoration shadows and rounded titlebars around the window while maximized.
diff --git a/ui/gtk/gtk_ui.cc b/ui/gtk/gtk_ui.cc
index c830167862edc495fe0e5c040801441f1c62ea42..cf307567604f5ad456c0ce2c01ffef5450adbdb6 100644
index f315a30f882c17623e1f33bcd90ff8d9ae11f4c4..b22a8d627935f5554cfb524bcf5d5d8948f38f2f 100644
--- a/ui/gtk/gtk_ui.cc
+++ b/ui/gtk/gtk_ui.cc
@@ -517,12 +517,13 @@ std::unique_ptr<ui::NavButtonProvider> GtkUi::CreateNavButtonProvider() {

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

@ -6,7 +6,7 @@ Subject: allow disabling blink scheduler throttling per RenderView
This allows us to disable throttling for hidden windows.
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index 8a8f88c0beed2afda87543b8933bde342ecb0588..2ed68bd47ccadea20acad67d6a106e257e2c7cd0 100644
index 631d43c65168bbc3843c5c848aee65ab9c0f761d..c0fea3501857bcbb2bdbc44e8852852579a7ee16 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -716,6 +716,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {

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

@ -49,7 +49,7 @@ index e0ce2a1bcbef7ece6b320adf820ba49148a66fd7..6aefdcfc226089ab3ae149b75ebdc86b
// 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 2ad84b68ec6b000e385df02e6599c3c106137fbd..d9fc652cf843dd2d55b7a773fbad601b487a3464 100644
index 132d4058e0abe99cb92d7f6ced4425bc1b27f375..e993fa7c61d95a297e7655fc28311327e293aa56 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -666,10 +666,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {

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

@ -6,7 +6,7 @@ Subject: boringssl BUILD.gn
Build BoringSSL with some extra functions that nodejs needs.
diff --git a/third_party/boringssl/BUILD.gn b/third_party/boringssl/BUILD.gn
index c4e792544775011671084cef9af8a3b62834265c..840f799fe03a48e29ef09c35be8c4ab3402974f3 100644
index 4e882f729aacf7c63629ce019ef0f0bdc11ca937..5f5ec93ef0dd0e2a916ee08923b6536a5ed019e7 100644
--- a/third_party/boringssl/BUILD.gn
+++ b/third_party/boringssl/BUILD.gn
@@ -53,6 +53,20 @@ config("no_asm_config") {

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

@ -33,10 +33,10 @@ index 41ce32113ec2679b76d5a4fd69a7109c832ac7a1..1cd35794bf78f3d92b42634d9494c85a
"//base",
"//build:branding_buildflags",
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 1a9bff4a3efb7fd802db7ae9696027ee318eb7eb..85d2bc48117c7e41cfa49ea204d2c46f79a1c117 100644
index cc7d5fd080a4fcff87813060e4aa2d441ca1bce6..c95a4bdd65ec5a99a6b77f70cf446afa802b37d3 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -4723,7 +4723,7 @@ static_library("browser") {
@@ -4744,7 +4744,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 1a9bff4a3efb7fd802db7ae9696027ee318eb7eb..85d2bc48117c7e41cfa49ea204d2c46f
sources += [ "certificate_viewer_stub.cc" ]
}
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 6a2501dde4552c2b0d96dd54fc1b94ba1e610b0c..8d3cb67ae6d4fe65cfbb907309af734906b49949 100644
index 5201d98ba8f6edbf331d0905c6d9494e8d702f98..6492b4fd79bb106abccbae2fbe9053fe4541f1d8 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -6838,7 +6838,6 @@ test("unit_tests") {
@@ -6828,7 +6828,6 @@ test("unit_tests") {
deps += [
"//chrome:other_version",
@ -57,7 +57,7 @@ index 6a2501dde4552c2b0d96dd54fc1b94ba1e610b0c..8d3cb67ae6d4fe65cfbb907309af7349
"//chrome//services/util_win:unit_tests",
"//chrome/app:chrome_dll_resources",
"//chrome/app:win_unit_tests",
@@ -6864,6 +6863,10 @@ test("unit_tests") {
@@ -6849,6 +6848,10 @@ test("unit_tests") {
"//ui/resources",
]
@ -68,7 +68,7 @@ index 6a2501dde4552c2b0d96dd54fc1b94ba1e610b0c..8d3cb67ae6d4fe65cfbb907309af7349
ldflags = [
"/DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll",
"/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll",
@@ -7831,7 +7834,6 @@ test("unit_tests") {
@@ -7819,7 +7822,6 @@ test("unit_tests") {
}
deps += [
@ -76,7 +76,7 @@ index 6a2501dde4552c2b0d96dd54fc1b94ba1e610b0c..8d3cb67ae6d4fe65cfbb907309af7349
"//chrome/browser/apps:icon_standardizer",
"//chrome/browser/apps/app_service",
"//chrome/browser/apps/app_service:app_registry_cache_waiter",
@@ -7918,6 +7920,10 @@ test("unit_tests") {
@@ -7905,6 +7907,10 @@ test("unit_tests") {
"//ui/webui/resources/js/browser_command:mojo_bindings",
]

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

@ -6,10 +6,10 @@ 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 82cb596dcbb369cf67addf856dfe8c0789449e78..149d429b8f80de9a16ef1459693b940f86710dc2 100644
index 3560158bce3949cc454e8f94cd97584f7c1b6e2d..5bdeed26cc4f52d8d6ba3d30dcf013169e490008 100644
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -1038,6 +1038,7 @@ component("base") {
@@ -1034,6 +1034,7 @@ component("base") {
"//build/config/compiler:prevent_unsafe_narrowing",
"//build/config/compiler:wexit_time_destructors",
"//build/config/compiler:wglobal_constructors",
@ -54,10 +54,10 @@ index 0625f07f317de46af619fdb279be78d9ecdc0029..5897820839d6d57ada22a83fe753e3a6
"alert.h",
"alert.mm",
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
index 729753a72edd761ec831f79828742a26f9dd2417..45858456c9c8c82870c41b0edd1359d16ed54537 100644
index 5d0bae2eb27d6ed90ac83932630954e4376e62b5..1b6c54a5a859ff95db87c133c423182dee047a20 100644
--- a/components/viz/service/BUILD.gn
+++ b/components/viz/service/BUILD.gn
@@ -332,6 +332,7 @@ viz_component("service") {
@@ -336,6 +336,7 @@ viz_component("service") {
"frame_sinks/external_begin_frame_source_mac.h",
]
}
@ -65,7 +65,7 @@ index 729753a72edd761ec831f79828742a26f9dd2417..45858456c9c8c82870c41b0edd1359d1
}
if (is_android || use_ozone) {
@@ -589,6 +590,7 @@ viz_source_set("unit_tests") {
@@ -594,6 +595,7 @@ viz_source_set("unit_tests") {
"display_embedder/software_output_device_mac_unittest.mm",
]
frameworks = [ "IOSurface.framework" ]
@ -74,10 +74,10 @@ index 729753a72edd761ec831f79828742a26f9dd2417..45858456c9c8c82870c41b0edd1359d1
if (is_win) {
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index 718ad3e088f6730bb00f1e3674effae6c429b9b6..77af941f2dd2d3074f5596cee24be47dc8175434 100644
index 36d770e54579cd83b19fb145c031aa8e89ad60f6..4832ac75071f70ff4fe1909184af4d27c7ae0ed3 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -56,6 +56,7 @@ source_set("browser") {
@@ -59,6 +59,7 @@ source_set("browser") {
"//content:content_implementation",
"//v8:external_startup_data",
]
@ -98,7 +98,7 @@ index 9c9f6d58a8e5c1ed14eb60c722667d1a24d2c6fa..34979dbbd84da86db079b423967ab8b7
public_deps = [
":mojo_bindings",
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn
index b16be8f9992b23ce93d174531f2debd7f18bb436..119038743dc222907cb74c2c3ea34d23b5915a5e 100644
index 5ab406dbebe5c159c6e209f8844bf6fabd47199f..224c45b7bff3c4073c70bbd8bdc1fd1c508c37a3 100644
--- a/content/renderer/BUILD.gn
+++ b/content/renderer/BUILD.gn
@@ -225,6 +225,7 @@ target(link_target_type, "renderer") {
@ -110,10 +110,10 @@ index b16be8f9992b23ce93d174531f2debd7f18bb436..119038743dc222907cb74c2c3ea34d23
public_deps = [
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 581571b6bb1a655319b247d7cc85bb2a4dd7db1c..09779610326da207062a59ba572b2d7c13efd26f 100644
index c41565ca0eb628503f0863ce69d4c790be25ce2f..815c8a82b43703f703181e8427dafb508ff43055 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -480,6 +480,7 @@ static_library("test_support") {
@@ -484,6 +484,7 @@ static_library("test_support") {
configs += [
"//build/config:precompiled_headers",
"//v8:external_startup_data",
@ -135,10 +135,10 @@ index 5fcb135fdcdee5022e5caed46dece4e304495bfe..83cc95b1086b0619be019d7b797f3395
sources += [
"browser/web_test_browser_main_platform_support_mac.mm",
diff --git a/device/bluetooth/BUILD.gn b/device/bluetooth/BUILD.gn
index 4885f927ae2b871cf2911fb5bc5a2aac128b2aae..5f820bd6ef9f91f69e75065f08bd61a72970c2e6 100644
index 003a2504dd6810160924065e3acd65e6703fdcba..d9e0c2e88d55fe82c6ae98aef0adecf01d88a4fc 100644
--- a/device/bluetooth/BUILD.gn
+++ b/device/bluetooth/BUILD.gn
@@ -241,6 +241,7 @@ component("bluetooth") {
@@ -242,6 +242,7 @@ component("bluetooth") {
"IOKit.framework",
"Foundation.framework",
]
@ -212,7 +212,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 d06b485aebb64def0f082b4f1627c7b69b91a29c..7ed1e4a69ab09e2c1f328ab7bb7193d68404c63b 100644
index 3c5aefcf245ff80294102cd3fb04abb63ece132f..6e69a7a8d823263ea56f470ca549bbe2a62c669e 100644
--- a/third_party/blink/renderer/core/BUILD.gn
+++ b/third_party/blink/renderer/core/BUILD.gn
@@ -308,6 +308,7 @@ component("core") {
@ -249,10 +249,10 @@ index 4e23c38763184840a393589b3f55dcabb0db8121..e4ad30d0d7acecdca3a22fe05935a340
if (use_atk) {
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index 9bb69e114fc6eed4db1921f2fa7b409013f9a4cd..418cf038fc46bf597e4d937f440ad64121fea341 100644
index ff3ddb576cd53bec245bd11698e80cca2b62bb72..e101fce2646057ba96607805689bf3b25fa1e58d 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -360,6 +360,7 @@ component("base") {
@@ -361,6 +361,7 @@ component("base") {
"interaction/element_tracker_mac.mm",
"resource/resource_bundle_mac.mm",
]
@ -276,10 +276,10 @@ index 7e17546f658ce0e6908f7dea499eac31e5295895..85c5fe7e25a84de5342d3d9b8cd20d19
if (is_win) {
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
index 98869537561ba6eaaa838601c9e0d1e71a016197..2141e6d3376042df7992f89119735c1b9b3cb236 100644
index ebd698116ef4f88c3bbaea1b02912bbeddbca34f..e096f9371607a088250e1ea72f450f85b092a3ec 100644
--- a/ui/gfx/BUILD.gn
+++ b/ui/gfx/BUILD.gn
@@ -192,6 +192,7 @@ component("gfx") {
@@ -204,6 +204,7 @@ component("gfx") {
"scoped_ns_graphics_context_save_gstate_mac.h",
"scoped_ns_graphics_context_save_gstate_mac.mm",
]
@ -288,10 +288,10 @@ index 98869537561ba6eaaa838601c9e0d1e71a016197..2141e6d3376042df7992f89119735c1b
if (is_win) {
sources += [
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
index 2422a0cbcedbfadd58b7b55449b1a855b273a0e0..329fab443dba349a8e6da4448e103ab1c8bbbfab 100644
index c5eb8556e3c58f25fcb6f073b1f6bd58291591e5..86ccf083d2670e51356ba6ed35a7ad8766249650 100644
--- a/ui/views/BUILD.gn
+++ b/ui/views/BUILD.gn
@@ -684,6 +684,7 @@ component("views") {
@@ -683,6 +683,7 @@ component("views") {
"IOSurface.framework",
"QuartzCore.framework",
]
@ -299,7 +299,7 @@ index 2422a0cbcedbfadd58b7b55449b1a855b273a0e0..329fab443dba349a8e6da4448e103ab1
}
if (is_win) {
@@ -1108,6 +1109,8 @@ source_set("test_support") {
@@ -1109,6 +1110,8 @@ source_set("test_support") {
"//testing/gtest",
]

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

@ -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 50d873e238b04eb6d461dc929d98dfe171cc491c..586aa87098bd3db10440fe865a02c05e7b3be14f 100644
index f7af8c0ed1dfda2db6979127d9ccbda1b5720b2c..6e2517bfb39b88827aa7a44f6b65b13c9454d16f 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -8206,6 +8206,7 @@ void RenderFrameHostImpl::CreateNewWindow(
@@ -8205,6 +8205,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,10 +21,10 @@ index 50d873e238b04eb6d461dc929d98dfe171cc491c..586aa87098bd3db10440fe865a02c05e
&no_javascript_access);
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 6f1581c517bf6c4526d7831d50ce2ad0bc8d7531..9bb752da088be1fae748430c69c39b7fa86cab08 100644
index e667fd07c877a260d539aab11f42984f76b2e157..35a7cb88aadd3cf709ae6ab94e26268a518a6c4f 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4315,6 +4315,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -4327,6 +4327,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
auto* new_contents_impl = new_contents.get();
@ -37,7 +37,7 @@ index 6f1581c517bf6c4526d7831d50ce2ad0bc8d7531..9bb752da088be1fae748430c69c39b7f
// If the new frame has a name, make sure any SiteInstances that can find
// this named frame have proxies for it. Must be called after
// SetSessionStorageNamespace, since this calls CreateRenderView, which uses
@@ -4356,12 +4362,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -4368,12 +4374,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
AddWebContentsDestructionObserver(new_contents_impl);
}
@ -66,10 +66,10 @@ index 3ddc93e18d353d5af31e28f8f8e682ea813db21c..2f1df452ce3617cf845409d01d804932
// Operation result when the renderer asks the browser to create a new window.
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index a0d56a9a24f22b1fd7a7e7a7ac82adf23a1e27ca..b006271eb9d4eb28aa8342a58d579716ed369281 100644
index 4d84a234087209212c6af2bea6b1934e3de42000..d1d1d373a825f6d3ca90297059f23ab8a834ce81 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -695,6 +695,8 @@ bool ContentBrowserClient::CanCreateWindow(
@@ -702,6 +702,8 @@ bool ContentBrowserClient::CanCreateWindow(
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
@ -79,7 +79,7 @@ index a0d56a9a24f22b1fd7a7e7a7ac82adf23a1e27ca..b006271eb9d4eb28aa8342a58d579716
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 a6e922be7e68644ad1cfe64462712c0430c6749a..b3fb95c4bc6bfd5559c034ee5c946bd7d5a14050 100644
index 56057fe8c0b0f307ba804a65d9b929531eb7d749..eaa60ae3c2e33f0592bbc0e9e44dca32c1cf4ea2 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -173,6 +173,7 @@ class NetworkService;
@ -90,7 +90,7 @@ index a6e922be7e68644ad1cfe64462712c0430c6749a..b3fb95c4bc6bfd5559c034ee5c946bd7
} // namespace network
namespace sandbox {
@@ -1109,6 +1110,8 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1116,6 +1117,8 @@ class CONTENT_EXPORT ContentBrowserClient {
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
@ -148,10 +148,10 @@ index 0fa12e6a5dd2eb2cd2102919f6127731e8500133..64ac8d677a9f7a723c46bbf0e74595b3
// 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 ab92d5b8f710661d8b1c863423f0c0f7928646ba..54368c4a6ae9e2fb40017ecb31228a035dacf4cb 100644
index ac2a0f360d935768b9f1032ac61bddf1692ae5b2..bcd1c7d972152238718e1da38b07203a19ad2420 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -6391,6 +6391,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
@@ -6402,6 +6402,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
GetWebFrame()->IsAdScriptInStack());
@ -210,7 +210,7 @@ index bef5a989bac50c177f15f52fe87ac3790d553e85..65dcd2e3b51929400c8bfb6a98a4fb59
} // 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 5005d4dd1169c45e44247ff96dafb29ee96680f1..9e79e9afd483b319a0ebc8707acdf5ab54edcd12 100644
index dda7963e25d8f291a7545cc2f90b9e1af01f99f9..6643254a949e43815af59a24b1a3e33f099f7d62 100644
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
@@ -2165,6 +2165,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,

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

@ -9,7 +9,7 @@ This is an experimental commit; but if it's successful,
This patch should be upstreamed and then removed from electron's code.
diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h
index 8d0b8e65bb2697bb48c3f4ec2b85041d17b0590a..d3b4e01b6a6030166629f5f88f6226e00d94baf4 100644
index ae4a85db8b9427fe13abe30055b768c37281eed1..3b593f9fe39a457f9ad7c02aadb80de1db4e90f2 100644
--- a/chrome/browser/ui/views/frame/browser_view.h
+++ b/chrome/browser/ui/views/frame/browser_view.h
@@ -43,7 +43,6 @@

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

@ -18,7 +18,7 @@ index c71ddf7b2c50024d1d40f7a0a44bc0b48a0f80b1..96a4ba2253ec2870865f22c27676ea88
/google_apis/internal
/googleurl
diff --git a/third_party/.gitignore b/third_party/.gitignore
index 628eed67792444b49985c28697dd02e592ca7c75..d4a034c8ee4e5ec669d0e9ad1759a83b5ed574cd 100644
index 7f71f823e692f759aa38ddb977f073635fac697e..e4776c088d861102e37d20b38c4929028f083bda 100644
--- a/third_party/.gitignore
+++ b/third_party/.gitignore
@@ -96,6 +96,7 @@
@ -29,7 +29,7 @@ index 628eed67792444b49985c28697dd02e592ca7c75..d4a034c8ee4e5ec669d0e9ad1759a83b
/elfutils/src
/emoji-metadata/src
/emoji-segmenter/src
@@ -209,6 +210,7 @@
@@ -210,6 +211,7 @@
/mocha
/mockito/src
/nacl_sdk_binaries/
@ -37,7 +37,7 @@ index 628eed67792444b49985c28697dd02e592ca7c75..d4a034c8ee4e5ec669d0e9ad1759a83b
/nasm
/nearby/src
/neon_2_sse/src
@@ -277,6 +279,7 @@
@@ -278,6 +280,7 @@
/speex
/sqlite/src
/sqlite4java/lib/

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

@ -14,7 +14,7 @@ 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 a478ec236b193a42296aa30be384b54973f2ff89..e65c53f1ad3f0b79bd820970436788ae4e5b61fe 100644
index f555d7a79cbe747749ff45ba93e62123884afc7b..6fb7b9a24be6010ac0568f42ddce02ab8f728c4c 100644
--- a/content/browser/site_instance_impl.cc
+++ b/content/browser/site_instance_impl.cc
@@ -205,7 +205,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(

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

@ -6,7 +6,7 @@ Subject: chore: patch out Profile methods in titlebar_config
Make this code linkable in Electron by removing Profile references.
diff --git a/chrome/browser/win/titlebar_config.cc b/chrome/browser/win/titlebar_config.cc
index 92d0e8165a264c7ef2701a66e0f7179f0d080f47..b0c91778399f811a5d1b0f208488667cb38459e1 100644
index f088a7071b1e0e1e05aee5637484b1dea3e2a6fa..8d411e550f6a8ca1a4070bf5d5719703f90b3dfa 100644
--- a/chrome/browser/win/titlebar_config.cc
+++ b/chrome/browser/win/titlebar_config.cc
@@ -19,8 +19,10 @@ BASE_FEATURE(kWindows11MicaTitlebar,

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

@ -80,10 +80,10 @@ index aaaa61d5c3a1d5ade2fd355e38a3985ef5cc4e7d..b45746ba0f38a381a2ee5ca17f3a1685
}
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index fdb96dee050670757ed4ce247bc0a12b01005d04..ceebc70bc445bfd417babc932e37d4c71215f195 100644
index e4de9a1ad02d3d500da5802a6e6e2f820dc40bea..636e802495c267483eb8c7a4e8c6a0faa151f67b 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -1881,12 +1881,11 @@ bool Browser::IsWebContentsCreationOverridden(
@@ -1885,12 +1885,11 @@ bool Browser::IsWebContentsCreationOverridden(
content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type,
const GURL& opener_url,
@ -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 5bcd634f1bd29a58cae240274269d952ef6570e9..60d76d4ecf3bbda940f9a43d86259fcfd7d4a349 100644
index e69ce675019c9dc734de1820c8f3774dc769fea4..7fa21e1fffe5f22ed395aab5254a5660a0a76bf4 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4222,8 +4222,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -4234,8 +4234,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
if (delegate_ && delegate_->IsWebContentsCreationOverridden(
source_site_instance, params.window_container_type,

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

@ -8,10 +8,10 @@ Allow registering custom protocols to handle service worker main script fetching
Refs https://bugs.chromium.org/p/chromium/issues/detail?id=996511
diff --git a/content/browser/service_worker/service_worker_context_wrapper.cc b/content/browser/service_worker/service_worker_context_wrapper.cc
index 3267cdb340819ed36dceb7629ea414d87bfa292e..f5f1beb1fb8335378bc8cecacaff03f97f7a54e7 100644
index 194cee71bc8c07d5395bc3456bcce074553eb285..61de17bf5ed4fb1333339b8595dd51514e90b8b4 100644
--- a/content/browser/service_worker/service_worker_context_wrapper.cc
+++ b/content/browser/service_worker/service_worker_context_wrapper.cc
@@ -1855,6 +1855,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
@@ -1889,6 +1889,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
loader_factory_bundle_info =
context()->loader_factory_bundle_for_update_check()->Clone();
@ -38,7 +38,7 @@ index 3267cdb340819ed36dceb7629ea414d87bfa292e..f5f1beb1fb8335378bc8cecacaff03f9
if (auto* config = content::WebUIConfigMap::GetInstance().GetConfig(
browser_context(), scope)) {
// If this is a Service Worker for a WebUI, the WebUI's URLDataSource
@@ -1874,9 +1894,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
@@ -1908,9 +1928,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
features::kEnableServiceWorkersForChromeScheme) &&
scope.scheme_piece() == kChromeUIScheme) {
config->RegisterURLDataSource(browser_context());
@ -49,7 +49,7 @@ index 3267cdb340819ed36dceb7629ea414d87bfa292e..f5f1beb1fb8335378bc8cecacaff03f9
.emplace(kChromeUIScheme, CreateWebUIServiceWorkerLoaderFactory(
browser_context(), kChromeUIScheme,
base::flat_set<std::string>()));
@@ -1884,9 +1902,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
@@ -1918,9 +1936,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
features::kEnableServiceWorkersForChromeUntrusted) &&
scope.scheme_piece() == kChromeUIUntrustedScheme) {
config->RegisterURLDataSource(browser_context());

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

@ -17,10 +17,10 @@ only one or two specific checks fail. Then it's better to simply comment out the
failing checks and allow the rest of the target to have them enabled.
diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc
index 419781eac524f82d746f86d44dad9a3d25f31d49..1b1e0d59222d69c30edef87a96f85d78adee10d3 100644
index 16babc872edeaf5984f24c3944978b7f9bcd65f8..a34e59373912771fef75ec5129bbaf7920a0fe89 100644
--- a/ui/base/clipboard/clipboard_win.cc
+++ b/ui/base/clipboard/clipboard_win.cc
@@ -901,10 +901,10 @@ SkBitmap ClipboardWin::ReadBitmapInternal(ClipboardBuffer buffer) const {
@@ -907,10 +907,10 @@ SkBitmap ClipboardWin::ReadBitmapInternal(ClipboardBuffer buffer) const {
void ClipboardWin::WriteToClipboard(ClipboardFormatType format, HANDLE handle) {
UINT cf_format = format.ToFormatEtc().cfFormat;

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

@ -22,7 +22,7 @@ index 42da00a0f473928263df89f11d80830b6986292b..6a556939d0acfbd910ebb0923e198e2f
virtual int GetSourceCount() const = 0;
virtual const Source& GetSource(int index) const = 0;
diff --git a/chrome/browser/media/webrtc/desktop_media_list_base.cc b/chrome/browser/media/webrtc/desktop_media_list_base.cc
index 0389599ac786b6abd61ca921347fe12ddd5d0ee7..780927301744ea7312f230cec76a24a33d71f767 100644
index 489e6f7b7b0bb52b938a4fc137b983f3330cd4d2..1f2754dae9b81a7d233539a7e4e6ac77b3c5941f 100644
--- a/chrome/browser/media/webrtc/desktop_media_list_base.cc
+++ b/chrome/browser/media/webrtc/desktop_media_list_base.cc
@@ -69,12 +69,12 @@ void DesktopMediaListBase::StartUpdating(DesktopMediaListObserver* observer) {
@ -41,7 +41,7 @@ index 0389599ac786b6abd61ca921347fe12ddd5d0ee7..780927301744ea7312f230cec76a24a3
int DesktopMediaListBase::GetSourceCount() const {
diff --git a/chrome/browser/media/webrtc/desktop_media_list_base.h b/chrome/browser/media/webrtc/desktop_media_list_base.h
index b65012985ff1797203160d9e26af17fefee5c244..9ee211fb487007bd37b57cfa7b4ffbe5307af637 100644
index 2cd1000b90fb5af464f81ac25b63092b638c6d40..8f18adb5641b3fa5f9defd3490e20a5d86b672e9 100644
--- a/chrome/browser/media/webrtc/desktop_media_list_base.h
+++ b/chrome/browser/media/webrtc/desktop_media_list_base.h
@@ -39,7 +39,7 @@ class DesktopMediaListBase : public DesktopMediaList {
@ -82,10 +82,10 @@ index 33ca7a53dfb6d2c9e3a33f0065a3acd806e82e01..9fdf2e8ff0056ff407015b914c6b03eb
const Source& GetSource(int index) const override;
DesktopMediaList::Type GetMediaListType() const override;
diff --git a/chrome/browser/media/webrtc/native_desktop_media_list.cc b/chrome/browser/media/webrtc/native_desktop_media_list.cc
index 81d4416e270e1a4548866a56222c47cb616385e3..22f55d22b0406f0d1aa642dcea44403ac1636057 100644
index c2c7d86ed1f089ca6abbb026b4cf4e2857ef66c1..d65182dbae1447d95230a581943d23ee144d9dbe 100644
--- a/chrome/browser/media/webrtc/native_desktop_media_list.cc
+++ b/chrome/browser/media/webrtc/native_desktop_media_list.cc
@@ -159,7 +159,7 @@ BOOL CALLBACK AllHwndCollector(HWND hwnd, LPARAM param) {
@@ -160,7 +160,7 @@ BOOL CALLBACK AllHwndCollector(HWND hwnd, LPARAM param) {
#if BUILDFLAG(IS_MAC)
BASE_FEATURE(kWindowCaptureMacV2,
"WindowCaptureMacV2",
@ -94,7 +94,7 @@ index 81d4416e270e1a4548866a56222c47cb616385e3..22f55d22b0406f0d1aa642dcea44403a
#endif
} // namespace
@@ -235,7 +235,7 @@ class NativeDesktopMediaList::Worker
@@ -244,7 +244,7 @@ class NativeDesktopMediaList::Worker
base::WeakPtr<NativeDesktopMediaList> media_list_;
DesktopMediaList::Type type_;
@ -103,7 +103,7 @@ index 81d4416e270e1a4548866a56222c47cb616385e3..22f55d22b0406f0d1aa642dcea44403a
const ThumbnailCapturer::FrameDeliveryMethod frame_delivery_method_;
const bool add_current_process_windows_;
@@ -529,6 +529,12 @@ void NativeDesktopMediaList::Worker::RefreshNextThumbnail() {
@@ -531,6 +531,12 @@ void NativeDesktopMediaList::Worker::RefreshNextThumbnail() {
FROM_HERE,
base::BindOnce(&NativeDesktopMediaList::UpdateNativeThumbnailsFinished,
media_list_));
@ -116,7 +116,7 @@ index 81d4416e270e1a4548866a56222c47cb616385e3..22f55d22b0406f0d1aa642dcea44403a
}
void NativeDesktopMediaList::Worker::OnCaptureResult(
@@ -935,6 +941,11 @@ void NativeDesktopMediaList::RefreshForVizFrameSinkWindows(
@@ -964,6 +970,11 @@ void NativeDesktopMediaList::RefreshForVizFrameSinkWindows(
FROM_HERE, base::BindOnce(&Worker::RefreshThumbnails,
base::Unretained(worker_.get()),
std::move(native_ids), thumbnail_size_));

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

@ -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 777465ab5bb311035f805f5eba49fae14fd6601c..30813d35bacedbff1494aeff5b481ccffc6af70d 100644
index 107f1b8a751567da90cf2740085a26b071fb05a1..caae4c22bb0cde05ef1be2d55b217b730b674cd9 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -1869,6 +1869,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw(
@@ -1868,6 +1868,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw(
TargetColorParams LayerTreeHostImpl::GetTargetColorParams(
gfx::ContentColorUsage content_color_usage) const {
TargetColorParams params;
@ -35,7 +35,7 @@ index 777465ab5bb311035f805f5eba49fae14fd6601c..30813d35bacedbff1494aeff5b481ccf
// 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 c84d4536210f3671c9e98f0de7caeaba523d1959..62863927742375e10a5907496cca95058ae5eece 100644
index a47fbc82c7a9369d49cb62d31fb5c786473b9a66..b9dd88949ac6f6913539a4f913534112cb6e07fa 100644
--- a/cc/trees/layer_tree_settings.h
+++ b/cc/trees/layer_tree_settings.h
@@ -102,6 +102,8 @@ class CC_EXPORT LayerTreeSettings {
@ -81,10 +81,10 @@ index e4deb71ea3afa1ef9d6ddac9c61f5916ff608514..d2e6854ac2aaa3cc83c0b72ebc03193b
!command_line->HasSwitch(switches::kUIDisablePartialSwap);
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
index 6b2f1af11e1480153dff4bd1f32527f87f18dc80..ef69c734878fcd9f8fa6dd61dada1729248c2b91 100644
index 77a5695f93e91d50cb57eebd56e53ebad62033ff..a043c585453f5a286ec770b6e1e34de0afcbc06f 100644
--- a/content/browser/gpu/gpu_process_host.cc
+++ b/content/browser/gpu/gpu_process_host.cc
@@ -228,6 +228,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus(
@@ -227,6 +227,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus(
// Command-line switches to propagate to the GPU process.
static const char* const kSwitchNames[] = {
@ -93,10 +93,10 @@ index 6b2f1af11e1480153dff4bd1f32527f87f18dc80..ef69c734878fcd9f8fa6dd61dada1729
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 b549e5795621e5493db5d23407b6d040f32c38cf..f4ff150530694a38ce0de16ba0b05ca152c99b8b 100644
index 1db5bf460224534a3fb4223bfd2c361ec6256e8d..56832950694627742ee9d2cce5488ee6a8381371 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -3284,6 +3284,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3286,6 +3286,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[] = {
@ -148,7 +148,7 @@ index 6892376fa33d006453977c354734d880a7ef7c91..4cd7b762d5fe1c54f5b06cc0d8f50560
}
diff --git a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc
index 368105b62e1650255e28cf71fcac2b956e811658..2dbbef93571ff5d41fc70a339d22470fdc5f5529 100644
index b5c519d77e404d626ce04e16bea02a3ae2dac4ff..d0a4564bc52901dfa58993331a977f2c4980f2c5 100644
--- a/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc
+++ b/third_party/blink/renderer/platform/widget/compositing/layer_tree_settings.cc
@@ -30,6 +30,7 @@
@ -159,7 +159,7 @@ index 368105b62e1650255e28cf71fcac2b956e811658..2dbbef93571ff5d41fc70a339d22470f
#include "ui/native_theme/native_theme_features.h"
#include "ui/native_theme/overlay_scrollbar_constants_aura.h"
@@ -332,6 +333,9 @@ cc::LayerTreeSettings GenerateLayerTreeSettings(
@@ -318,6 +319,9 @@ cc::LayerTreeSettings GenerateLayerTreeSettings(
settings.main_frame_before_activation_enabled =
cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation);
@ -213,7 +213,7 @@ index af19d04e043366a2db07bf6eddfd1fc260590a37..b981128498991ccd67a78bc255da5308
IOSurfaceSetValue(surface, CFSTR("IOSurfaceColorSpace"), kCGColorSpaceSRGB);
diff --git a/ui/gfx/switches.cc b/ui/gfx/switches.cc
index 9576188a9872f4c10448e7333cf5aa1577128b45..8b0be327bd496c70a7461d41eaf459af62816c20 100644
index 7a4c07887d822b5b3fdf700deeff04c377939647..c2f5c9a92a71b4d64beb8e625385cb12dfbcdadd 100644
--- a/ui/gfx/switches.cc
+++ b/ui/gfx/switches.cc
@@ -13,6 +13,8 @@ namespace switches {
@ -226,7 +226,7 @@ index 9576188a9872f4c10448e7333cf5aa1577128b45..8b0be327bd496c70a7461d41eaf459af
// sharpness, kerning, hinting and layout.
const char kDisableFontSubpixelPositioning[] =
diff --git a/ui/gfx/switches.h b/ui/gfx/switches.h
index 37011f67b3d33d5cb212b12ebdbaa0ae0671287e..845c30e4ac4b5d53fa638d3a609ac75848a72c68 100644
index fa6a82887fc5e069b261aeda594d6027dbcc35a4..5d4c2551088d4d4db5d490b596344f43ecfc59cb 100644
--- a/ui/gfx/switches.h
+++ b/ui/gfx/switches.h
@@ -13,6 +13,7 @@

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

@ -15,10 +15,10 @@ at some point be an API to "unfreeze" the flags, or we may be able to refactor
node initialization to not update flags after V8 initialization.
diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc
index 37da3a49d00b6111784a93d7e991fb5d396debee..58fc7317227b31bb7aaebc5221a2154ff4178dd2 100644
index 82d45115a964310fdccdedb03e542d417e632e6a..1b8f927f7a9b79d25178179205ddb63f8c425126 100644
--- a/content/renderer/render_process_impl.cc
+++ b/content/renderer/render_process_impl.cc
@@ -211,6 +211,9 @@ RenderProcessImpl::RenderProcessImpl()
@@ -212,6 +212,9 @@ RenderProcessImpl::RenderProcessImpl()
v8::V8::SetFlagsFromString(kSABPerContextFlag, sizeof(kSABPerContextFlag));
}

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

@ -6,7 +6,7 @@ Subject: disable_hidden.patch
Electron uses this to disable background throttling for hidden windows.
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 9e946e02bca276a877defacf6cf6cb54f882ceba..149ead7bbf52ad127747c5f80f0e35a13203502a 100644
index a0f85233121e8e32cba4453d7a49a15fb06578a2..c47aa95113e7ac4a9a6b601271dce7fc31d5e4d3 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -801,6 +801,9 @@ void RenderWidgetHostImpl::WasHidden() {

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

@ -24,10 +24,10 @@ This patch temporarily disables the metrics so we can have green CI, and we
should continue seeking for a real fix.
diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc
index 91a343f61358f6328098d4d9f66aa6ccca3a0186..2824634af8d01fac7e658fa7435bb2f64c7b1f6b 100644
index 9bd88230899f28ca20d98265f11e01ef94d4563d..21c6993d6bccdd10e5b12f524ea5168226123480 100644
--- a/content/browser/renderer_host/navigator.cc
+++ b/content/browser/renderer_host/navigator.cc
@@ -1297,6 +1297,7 @@ void Navigator::RecordNavigationMetrics(
@@ -1299,6 +1299,7 @@ void Navigator::RecordNavigationMetrics(
.InMilliseconds());
}
@ -35,7 +35,7 @@ index 91a343f61358f6328098d4d9f66aa6ccca3a0186..2824634af8d01fac7e658fa7435bb2f6
// If this is a same-process navigation and we have timestamps for unload
// durations, fill those metrics out as well.
if (params.unload_start && params.unload_end &&
@@ -1346,6 +1347,7 @@ void Navigator::RecordNavigationMetrics(
@@ -1348,6 +1349,7 @@ void Navigator::RecordNavigationMetrics(
first_before_unload_start_time)
.InMilliseconds());
}

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

@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
} // namespace net
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index cb05975b622eee25217d9f2477c5e53ace017db8..e264713f4361a588e0ec8b4f6f37ab76ad642116 100644
index 20f435f8432e1fa08da32beeb7e7f098d9033185..d4bfcd6473eee96964347953ac6df4623b7e4af9 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1559,6 +1559,13 @@ void NetworkContext::SetNetworkConditions(
@@ -1571,6 +1571,13 @@ void NetworkContext::SetNetworkConditions(
std::move(network_conditions));
}
@ -51,7 +51,7 @@ index cb05975b622eee25217d9f2477c5e53ace017db8..e264713f4361a588e0ec8b4f6f37ab76
// 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 25f9dab24b27ad2b3d6ca01690e9f5c3fea96d32..b230036559cdc44b97b3a5ca5f359a0b4512ccd7 100644
index 17ecfd109db3e9dbcc27ec291f6c6021c9b6f0eb..80a75a25595718a2c4e655f75620d18b274b24cd 100644
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -316,6 +316,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@ -63,7 +63,7 @@ index 25f9dab24b27ad2b3d6ca01690e9f5c3fea96d32..b230036559cdc44b97b3a5ca5f359a0b
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 6ebade992b628fee18d23e5e29d2d7d6190261a7..21039664d38fb228a9319d296276c33de7a0a265 100644
index 64a840b13bc6c07112060f48d4f77507eb84994a..7482c19600f48bf7ae4a37ce55ffcbea922b8d42 100644
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -1233,6 +1233,9 @@ interface NetworkContext {

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

@ -6,10 +6,10 @@ Subject: expose V8Initializer::CodeGenerationCheckCallbackInMainThread
This is needed to blend Blink and Node's policy for code generation policy.
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
index 9bb1917278452e5b9d00dbb39b44416558987255..20d188f57d5425c5f704b3b03cd27034efb25ea7 100644
index a3175449f37c2d3766c7e27176be571231aad2bb..93fd4a4be7bb3e3a0b9093d3c4a981e456f0d0f5 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
@@ -411,8 +411,9 @@ TrustedTypesCodeGenerationCheck(v8::Local<v8::Context> context,
@@ -422,8 +422,9 @@ TrustedTypesCodeGenerationCheck(v8::Local<v8::Context> context,
return {true, V8String(context->GetIsolate(), stringified_source)};
}

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

@ -13,10 +13,10 @@ uses internally for things like menus and devtools.
We can remove this patch once it has in some shape been upstreamed.
diff --git a/ui/native_theme/native_theme.cc b/ui/native_theme/native_theme.cc
index f6556e141a76b0766f672bfa5819256e635c60af..06c7ac178cefc149732294ed790f2b7cbb328d34 100644
index d017d73c6cf99607f5b2e1ef26b2e28d8ca9c71a..7f615a4a1fbe4d92c8e91091e4f21e675a4ce3ae 100644
--- a/ui/native_theme/native_theme.cc
+++ b/ui/native_theme/native_theme.cc
@@ -153,6 +153,8 @@ NativeTheme::NativeTheme(bool should_use_dark_colors,
@@ -162,6 +162,8 @@ NativeTheme::NativeTheme(bool should_use_dark_colors,
NativeTheme::~NativeTheme() = default;
bool NativeTheme::ShouldUseDarkColors() const {
@ -26,7 +26,7 @@ index f6556e141a76b0766f672bfa5819256e635c60af..06c7ac178cefc149732294ed790f2b7c
}
diff --git a/ui/native_theme/native_theme.h b/ui/native_theme/native_theme.h
index 6f51a8ffec973d6c2acacabb951c7cc4e36b639c..889e655fccc115faae932236cc28c6386cf19c1e 100644
index 341248a6b15b280c382c965009540fbdb64b0978..c9bead90658ac0e2d503c90c6ce380a318fee457 100644
--- a/ui/native_theme/native_theme.h
+++ b/ui/native_theme/native_theme.h
@@ -433,6 +433,23 @@ class NATIVE_THEME_EXPORT NativeTheme {
@ -53,7 +53,7 @@ index 6f51a8ffec973d6c2acacabb951c7cc4e36b639c..889e655fccc115faae932236cc28c638
// 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
@@ -643,6 +660,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
@@ -654,6 +671,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
bool inverted_colors_ = false;
PreferredColorScheme preferred_color_scheme_ = PreferredColorScheme::kLight;
PreferredContrast preferred_contrast_ = PreferredContrast::kNoPreference;
@ -62,10 +62,10 @@ index 6f51a8ffec973d6c2acacabb951c7cc4e36b639c..889e655fccc115faae932236cc28c638
SEQUENCE_CHECKER(sequence_checker_);
};
diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc
index faa15be0b3e08360c702b32968d3b1633038d776..7a6c284143e873b408333fa2052e05863935cb89 100644
index 50647269ec84f1a543132b3d102152a40e1e65e1..41a7df7e873a7d3300fd48db0ffa5f1fc8e43198 100644
--- a/ui/native_theme/native_theme_win.cc
+++ b/ui/native_theme/native_theme_win.cc
@@ -658,6 +658,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
@@ -664,6 +664,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
// ...unless --force-dark-mode was specified in which case caveat emptor.
if (InForcedColorsMode() && !IsForcedDarkMode())
return false;

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

@ -183,10 +183,10 @@ index 01e62d7e8df65efb900e9cd0d34bcd8e0ed3e7da..9af6784707f125046d9a734165fc2b08
host->GetChildProcess()->BindServiceInterface(std::move(receiver));
}
diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc
index 6b23ccfd3c7844c309228f1378100e474a6bbbc5..f3b4497cc453178ef46b294eae4ed280e65d8da0 100644
index e7ea7206793a91edfceea5736d4c133a7f1acca2..4fba5bf7274334374aa3df3d22faee813940b0ab 100644
--- a/content/browser/utility_process_host.cc
+++ b/content/browser/utility_process_host.cc
@@ -156,11 +156,13 @@ const ChildProcessData& UtilityProcessHost::GetData() {
@@ -157,11 +157,13 @@ const ChildProcessData& UtilityProcessHost::GetData() {
return process_->GetData();
}
@ -202,7 +202,7 @@ index 6b23ccfd3c7844c309228f1378100e474a6bbbc5..f3b4497cc453178ef46b294eae4ed280
bool UtilityProcessHost::Start() {
return StartProcess();
@@ -226,6 +228,24 @@ void UtilityProcessHost::SetZygoteForTesting(ZygoteCommunication* handle) {
@@ -227,6 +229,24 @@ void UtilityProcessHost::SetZygoteForTesting(ZygoteCommunication* handle) {
}
#endif // BUILDFLAG(USE_ZYGOTE)
@ -227,7 +227,7 @@ index 6b23ccfd3c7844c309228f1378100e474a6bbbc5..f3b4497cc453178ef46b294eae4ed280
mojom::ChildProcess* UtilityProcessHost::GetChildProcess() {
return static_cast<ChildProcessHostImpl*>(process_->GetHost())
->child_process();
@@ -441,9 +461,22 @@ bool UtilityProcessHost::StartProcess() {
@@ -442,9 +462,22 @@ bool UtilityProcessHost::StartProcess() {
}
#endif // BUILDFLAG(IS_LINUX)
@ -627,10 +627,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 3add6ba6997a36738bd0421641c91c477936241a..8718b14fdd41ec3488cb2c10d8e2053101529701 100644
index 3944a868cec29cd6a79cdc83da934db666527160..e29287602b6654225f038946adb77165fa5f6fb8 100644
--- a/sandbox/policy/win/sandbox_win.cc
+++ b/sandbox/policy/win/sandbox_win.cc
@@ -712,11 +712,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
@@ -717,11 +717,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
// command line flag.
ResultCode LaunchWithoutSandbox(
const base::CommandLine& cmd_line,
@ -643,7 +643,7 @@ index 3add6ba6997a36738bd0421641c91c477936241a..8718b14fdd41ec3488cb2c10d8e20531
// 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
@@ -944,7 +942,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
@@ -949,7 +947,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
const base::CommandLine& cmd_line,
const std::string& process_type,
@ -652,7 +652,7 @@ index 3add6ba6997a36738bd0421641c91c477936241a..8718b14fdd41ec3488cb2c10d8e20531
SandboxDelegate* delegate,
TargetPolicy* policy) {
const base::CommandLine& launcher_process_command_line =
@@ -958,7 +956,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
@@ -963,7 +961,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
}
// Add any handles to be inherited to the policy.
@ -661,7 +661,7 @@ index 3add6ba6997a36738bd0421641c91c477936241a..8718b14fdd41ec3488cb2c10d8e20531
policy->AddHandleToShare(handle);
if (!policy->GetConfig()->IsConfigured()) {
@@ -973,6 +971,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
@@ -978,6 +976,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));
@ -675,7 +675,7 @@ index 3add6ba6997a36738bd0421641c91c477936241a..8718b14fdd41ec3488cb2c10d8e20531
#endif
if (!delegate->PreSpawnTarget(policy))
@@ -985,7 +990,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
@@ -990,7 +995,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
ResultCode SandboxWin::StartSandboxedProcess(
const base::CommandLine& cmd_line,
const std::string& process_type,
@ -684,7 +684,7 @@ index 3add6ba6997a36738bd0421641c91c477936241a..8718b14fdd41ec3488cb2c10d8e20531
SandboxDelegate* delegate,
base::Process* process) {
const base::ElapsedTimer timer;
@@ -993,13 +998,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
@@ -998,13 +1003,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
// Avoid making a policy if we won't use it.
if (IsUnsandboxedProcess(delegate->GetSandboxType(), cmd_line,
*base::CommandLine::ForCurrentProcess())) {

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

@ -87,10 +87,10 @@ index 8af69cac78b7488d28f1f05ccb174793fe5148cd..9f74e511c263d147b5fbe81fe100d217
private:
const HWND hwnd_;
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
index 72d9d594a93700a35eadb3c2bc017fa7996bf10d..729753a72edd761ec831f79828742a26f9dd2417 100644
index 6e360b9a82555293f1a162a00f28a6d24f939c11..5d0bae2eb27d6ed90ac83932630954e4376e62b5 100644
--- a/components/viz/service/BUILD.gn
+++ b/components/viz/service/BUILD.gn
@@ -141,6 +141,8 @@ viz_component("service") {
@@ -142,6 +142,8 @@ viz_component("service") {
"display_embedder/skia_output_surface_impl_on_gpu_debug_capture.h",
"display_embedder/skia_render_copy_results.cc",
"display_embedder/skia_render_copy_results.h",
@ -514,7 +514,7 @@ index 796ae2688436eb07f19909641d1620dd02f10cdb..c9e0eee0b329caf46669b419b1cd10cf
waiting_on_draw_ack_ = true;
diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
index c70b0af70a68386c5d36833e621dd1b5cdc1522a..17e5c96cbb4ef2f575fd5ba7bd8b0c7bd58da5e7 100644
index 452e5aa346d8603fbb2c4b42f059f966748b801e..abb7e2e3a3d86c4cf51f1b2c8fbb7e183a8bc477 100644
--- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
+++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
@@ -97,7 +97,8 @@ RootCompositorFrameSinkImpl::Create(

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

@ -28,10 +28,10 @@ index ff1948e649fffdc92a2db0e736c99bf4e8c06514..b165201b273c8fa9de8e66fe8ef7bfc2
// Returns the http referrer of original request which initited this load.
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h
index 1548bbee1845eaac75ceb9e2b2783b69084956e4..c9e8293ef2d662210cb9fc95488c6a51ffc80df8 100644
index 8328adb3dfcdea728bb845355cb548059a0d5a4f..242530b7a53e4836315283ad4c9079ad7f7b24a1 100644
--- a/third_party/blink/renderer/core/loader/document_loader.h
+++ b/third_party/blink/renderer/core/loader/document_loader.h
@@ -305,7 +305,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
@@ -304,7 +304,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
absl::optional<scheduler::TaskAttributionId>
soft_navigation_heuristics_task_id);

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

@ -9,70 +9,59 @@ ChildProcessSecurityPolicyImpl::CanAccessDataForOrigin contains explicit
exceptions to allow built-in non-standard schemes, but does not check
for non-standard schemes registered by the embedder.
Upstream, https://bugs.chromium.org/p/chromium/issues/detail?id=1081397
contains several paths forward - here I chose to swap out the
CHECK in navigation_request.cc from policy->CanAccessDataForOrigin to
policy->CanCommitOriginAndUrl.
This patch adjusts the origin calculation for non-standard schemes in
- browser process at `NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo`
- render process at `DocumentLoader::CalculateOrigin`
When top level frame navigates to non-standard scheme url, the origin is calculated
as `null` without any derivation. It is only in cases where there is a `initiator_origin`
then the origin is derived from it, which is usually the case for renderer initiated
navigations and iframes are no exceptions from this rule.
Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
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 e91fb6b203b55d4937e9f4b4ed8fd5e8efb5aa10..855cb90260de04b90b8bbf4a8733e0869cda551d 100644
index 7bc2f882a1d0d9dfd4541d4da1975e0136cf275e..35f0332fb330aadea8d07a3378663d5e410c2053 100644
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -7543,10 +7543,11 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
if (IsForMhtmlSubframe())
return origin_with_debug_info;
@@ -801,6 +801,12 @@ GetOriginForURLLoaderFactoryUncheckedWithDebugInfo(
return std::make_pair(parent->GetLastCommittedOrigin(), "about_srcdoc");
}
- int process_id = GetRenderFrameHost()->GetProcess()->GetID();
- auto* policy = ChildProcessSecurityPolicyImpl::GetInstance();
- CHECK(
- policy->CanAccessDataForOrigin(process_id, origin_with_debug_info.first));
+ CanCommitStatus can_commit = GetRenderFrameHost()->CanCommitOriginAndUrl(
+ origin_with_debug_info.first, GetURL(), IsSameDocument(), IsPdf(),
+ GetUrlInfo().is_sandboxed);
+ CHECK_EQ(CanCommitStatus::CAN_COMMIT_ORIGIN_AND_URL, can_commit);
+ if (!common_params.url.IsStandard()) {
+ return std::make_pair(url::Origin::Resolve(common_params.url,
+ url::Origin()),
+ "url_non_standard");
+ }
+
return origin_with_debug_info;
}
diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/browser/renderer_host/render_frame_host_impl.h
index 10282bf7372a07937d3aa15af6f3f7e767321df6..ae5cfc9bc17c7e8e9d1ab9134c95ff6413fe2017 100644
--- a/content/browser/renderer_host/render_frame_host_impl.h
+++ b/content/browser/renderer_host/render_frame_host_impl.h
@@ -2968,6 +2968,17 @@ class CONTENT_EXPORT RenderFrameHostImpl
// last committed document.
CookieChangeListener::CookieChangeInfo GetCookieChangeInfo();
+ // Returns whether the given origin and URL is allowed to commit in the
+ // current RenderFrameHost. The |url| is used to ensure it matches the origin
+ // in cases where it is applicable. This is a more conservative check than
+ // RenderProcessHost::FilterURL, since it will be used to kill processes that
+ // commit unauthorized origins.
+ CanCommitStatus CanCommitOriginAndUrl(const url::Origin& origin,
+ const GURL& url,
+ bool is_same_document_navigation,
+ bool is_pdf,
+ bool is_sandboxed);
+
// Sets a ResourceCache in the renderer. `this` must be active and there must
// be no pending navigation. `remote` must have the same and process
// isolation policy.
@@ -3391,17 +3402,6 @@ class CONTENT_EXPORT RenderFrameHostImpl
// relevant.
void ResetWaitingState();
- // Returns whether the given origin and URL is allowed to commit in the
- // current RenderFrameHost. The |url| is used to ensure it matches the origin
- // in cases where it is applicable. This is a more conservative check than
- // RenderProcessHost::FilterURL, since it will be used to kill processes that
- // commit unauthorized origins.
- CanCommitStatus CanCommitOriginAndUrl(const url::Origin& origin,
- const GURL& url,
- bool is_same_document_navigation,
- bool is_pdf,
- bool is_sandboxed);
-
// Returns whether a subframe navigation request should be allowed to commit
// to the current RenderFrameHost.
bool CanSubframeCommitOriginAndUrl(NavigationRequest* navigation_request);
// In cases not covered above, URLLoaderFactory should be associated with the
// origin of |common_params.url| and/or |common_params.initiator_origin|.
return std::make_pair(
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
index 28d02464d8d8f2cfe0c8ad4fdb1e3ed4e983f089..39fb4bb6b8cddf50876eaea373189c43bedfc41f 100644
--- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -2022,6 +2022,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
Document* owner_document) {
scoped_refptr<SecurityOrigin> origin;
+ bool is_standard = false;
+ std::string protocol = url_.Protocol().Ascii();
+ is_standard = url::IsStandard(
+ protocol.data(), url::Component(0, static_cast<int>(protocol.size())));
if (origin_to_commit_) {
// Origin to commit is specified by the browser process, it must be taken
// and used directly. It is currently supplied only for failed navigations.
@@ -2055,6 +2059,10 @@ scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
// breaks aliasing...
origin = owner_document->domWindow()->GetMutableSecurityOrigin();
origin_calculation_debug_info_ = AtomicString("use_owner_document_origin");
+ } else if (!SecurityOrigin::ShouldUseInnerURL(url_) &&
+ !is_standard) {
+ origin_calculation_debug_info_ = AtomicString("use_url_with_non_standard_scheme");
+ origin = SecurityOrigin::Create(url_);
} else {
origin_calculation_debug_info_ = AtomicString("use_url_with_precursor");
// Otherwise, create an origin that propagates precursor information

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

@ -0,0 +1,37 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Thu, 14 Sep 2023 10:24:44 +0200
Subject: fix: handle no top level aura window in WebContentsImpl
https://chromium-review.googlesource.com/c/chromium/src/+/4794133
added two new RenderWidgetHostDelegate methods to set and get the
window show state on Aura. However, the implementation of these methods
doesn't take into account the case where there is no top level Aura
Window which leads to a bad access crash trying to get its show state.
This fixes that by guarding against the missing window - this check
can potentially be upstreamed but it's likely that the better fix for this
is to update our OSR code which is several years outdated.
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 93fbebcf3307c20df75ed83e952b816a7d77da58..ad8bbbb0a2a94320938cb1e1d008a7422a79da7e 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -3843,6 +3843,8 @@ void WebContentsImpl::Restore() {
void WebContentsImpl::SetWindowShowState(ui::WindowShowState state) {
aura::Window* window = GetTopLevelNativeWindow();
+ if (!window)
+ return;
// TODO(isandrk, crbug.com/1466855): This API function currently works only on
// Aura platforms (Win/Lin/CrOS/Fuchsia), make it also work on Mac.
@@ -3857,7 +3859,7 @@ void WebContentsImpl::SetWindowShowState(ui::WindowShowState state) {
ui::WindowShowState WebContentsImpl::GetWindowShowState() {
aura::Window* window = GetTopLevelNativeWindow();
- return wm::GetWindowState(window);
+ return window ? wm::GetWindowState(window) : ui::SHOW_STATE_NORMAL;
}
#endif

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

@ -15,10 +15,10 @@ node does not change in this case.
chromium-bug: https://crbug.com/1369605
diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.cc b/content/browser/renderer_host/render_widget_host_view_child_frame.cc
index b190c86708d5ae7f207bae3e923609814bf68a52..16395c4b5fd5262885118095784db820508087dd 100644
index 454033207ee52358ead79e16682b4aeb95cb0d71..a7650faa1ab1494e792814d2fa3af26988d4d95f 100644
--- a/content/browser/renderer_host/render_widget_host_view_child_frame.cc
+++ b/content/browser/renderer_host/render_widget_host_view_child_frame.cc
@@ -1041,6 +1041,12 @@ RenderWidgetHostViewChildFrame::DidUpdateVisualProperties(
@@ -1046,6 +1046,12 @@ RenderWidgetHostViewChildFrame::DidUpdateVisualProperties(
return viz::ScopedSurfaceIdAllocator(std::move(allocation_task));
}
@ -45,10 +45,10 @@ index 648896b13ad4f811fdd196bd2fe5bdf62e7154ab..e2e3b414e73052b2b5b8e443ded18ae3
// 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 e2e7b3e5cf8f581adee596903fc19886a23832c1..dd060f4207516af6b7db21593dcbed3848d47409 100644
index 6dc2cd4b494eb3730139b8351212c3c0cde39861..93fbebcf3307c20df75ed83e952b816a7d77da58 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -8336,7 +8336,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
@@ -8348,7 +8348,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
"WebContentsImpl::OnFocusedElementChangedInFrame",
"render_frame_host", frame);
RenderWidgetHostViewBase* root_view =

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

@ -100,10 +100,10 @@ index 07847521e7217c78480205812a73cc89503c00d2..586e866ca7ec0eb0b573d23e3bd95792
} else {
// No need to bother, we don't know how many pages are available.
diff --git a/ui/gtk/printing/print_dialog_gtk.cc b/ui/gtk/printing/print_dialog_gtk.cc
index e270fa36d775333aaa30f1ff0104062c544d1058..e4a6213e19e4f23834802784a43db22c9d02d891 100644
index 20c68958d5645aba963ddd1fb61eebb534641dfc..c8b0100cf9d4370deaa9284528b6fdd12d2a9309 100644
--- a/ui/gtk/printing/print_dialog_gtk.cc
+++ b/ui/gtk/printing/print_dialog_gtk.cc
@@ -245,6 +245,24 @@ void PrintDialogGtk::UpdateSettings(
@@ -241,6 +241,24 @@ void PrintDialogGtk::UpdateSettings(
gtk_print_settings_set_n_copies(gtk_settings_, settings->copies());
gtk_print_settings_set_collate(gtk_settings_, settings->collate());

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

@ -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 d9fc652cf843dd2d55b7a773fbad601b487a3464..1c0aba8067f31cf9f04adfbd7ffc1683eb032494 100644
index e993fa7c61d95a297e7655fc28311327e293aa56..7c403e99056dbb8a12f974ee79db248f1d0cbc9f 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -2793,6 +2793,7 @@ void LocalFrame::RequestExecuteScript(
@@ -2816,6 +2816,7 @@ void LocalFrame::RequestExecuteScript(
mojom::blink::EvaluationTiming evaluation_timing,
mojom::blink::LoadEventBlockingOption blocking_option,
WebScriptExecutionCallback callback,
@ -75,7 +75,7 @@ index d9fc652cf843dd2d55b7a773fbad601b487a3464..1c0aba8067f31cf9f04adfbd7ffc1683
BackForwardCacheAware back_forward_cache_aware,
mojom::blink::WantResultOption want_result_option,
mojom::blink::PromiseResultOption promise_behavior) {
@@ -2826,7 +2827,7 @@ void LocalFrame::RequestExecuteScript(
@@ -2849,7 +2850,7 @@ void LocalFrame::RequestExecuteScript(
PausableScriptExecutor::CreateAndRun(
script_state, std::move(script_sources), execute_script_policy,
user_gesture, evaluation_timing, blocking_option, want_result_option,
@ -97,7 +97,7 @@ index eb4ce179cb09e28b97ad167b5b6d0e1c25e53c5f..a9cde93321e1afd18e3f742777b31112
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 4c6ff1ffc67aa6f514fcabb453f404704a6ab024..6e6407125232bc9a8c0d80725a95a9e901cda009 100644
index e48bb217c567397d0f5776e697922a797ae58dfd..05a9bc228ecf7bc998e188341a42236b0e5e22e7 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
@@ -937,6 +937,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(

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

@ -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 802e0ab8073b0709bd723c4d08eafbefef575592..93a6e16a3fee99c9c9d8e85f2a8e43bf7f1cbd17 100644
index 8a032777f5c878579d9848426d1ceec981c479ad..b90a95426bc3a3e03934304e04e703623836bf27 100644
--- a/content/browser/renderer_host/render_frame_host_manager.cc
+++ b/content/browser/renderer_host/render_frame_host_manager.cc
@@ -4161,6 +4161,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
@@ -4165,6 +4165,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
request->ResetStateForSiteInstanceChange();
}
@ -20,7 +20,7 @@ index 802e0ab8073b0709bd723c4d08eafbefef575592..93a6e16a3fee99c9c9d8e85f2a8e43bf
}
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index b3fb95c4bc6bfd5559c034ee5c946bd7d5a14050..36f3b03d11aada28be45a75e90054c8996ad0f33 100644
index eaa60ae3c2e33f0592bbc0e9e44dca32c1cf4ea2..0d95cffd80d122e87b6e6972c32b868ffd6679e3 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -311,6 +311,11 @@ class CONTENT_EXPORT ContentBrowserClient {

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

@ -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 e65fe348a1b7eaed2871cc811cb8c7a40dc9f92b..d86e9e965b3e5b47faad4a2bae390aca98285b86 100644
index c1f20bb050a6a54777f3414f8b14ec6045464f67..d624110835b44e4f9d2418b2fe41e65fb91ec0d0 100644
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
@@ -1213,6 +1213,11 @@
@@ -1209,6 +1209,11 @@
"includes": [7440],
},

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

@ -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 82f9c4f1b8638e6b89e433fc90aa615dbd173102..51bff03f80645781620335eb42146eb4b856f238 100755
index 20c4147d7812f0f279b819fc8d0c1799cc25c7cc..f79259a2cf7aef8eb764e9ee5aaee7f27bbf34be 100755
--- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py
@@ -307,6 +307,8 @@ def GetDefaultHostOs():

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

@ -43,10 +43,10 @@ index 5a096477c123a782341115f964c4975301ccaf9a..ecfbb3b405425af346a6ba6788fc1d8f
} // 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 5855f1272c65fb5b6c0e6a5493aded657d2eb2e9..4b175b312907cce2b6ef8b6eaf05f84c2aefba5b 100644
index baab7fa7d6f419caf0ba9e65f4fa7536fa90539d..5359641d1d0d8946da78a9dafca14a3764bc781d 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
@@ -609,10 +609,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
@@ -605,10 +605,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
// this should be treated as an error and caught early.
CHECK(bridged_view_);
@ -200,10 +200,10 @@ index d7e190889ff678599410eef4c172f0a25e9837d0..3fb6ed640ee9d857f19b4d60b1204713
///////////////////////////////////////////////////////////////////////////////
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index 323bd6f74158114f308a0daba06eec0c4ba15c14..9bb69e114fc6eed4db1921f2fa7b409013f9a4cd 100644
index c79c1d18660525e21f69d90ef746ba4224c550d4..ff3ddb576cd53bec245bd11698e80cca2b62bb72 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -377,6 +377,13 @@ component("base") {
@@ -378,6 +378,13 @@ component("base") {
sources += [ "resource/resource_bundle_lacros.cc" ]
}

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

@ -7,10 +7,10 @@ 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 f076c5dc62ca5975865e3966381257684503eeb8..cb05975b622eee25217d9f2477c5e53ace017db8 100644
index ac3b167a435eeb236da13ff0092e2128a5a2ead7..20f435f8432e1fa08da32beeb7e7f098d9033185 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -146,6 +146,11 @@
@@ -147,6 +147,11 @@
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "url/gurl.h"
@ -22,7 +22,7 @@ index f076c5dc62ca5975865e3966381257684503eeb8..cb05975b622eee25217d9f2477c5e53a
#if BUILDFLAG(IS_CT_SUPPORTED)
#include "components/certificate_transparency/chrome_ct_policy_enforcer.h"
#include "components/certificate_transparency/chrome_require_ct_delegate.h"
@@ -438,6 +443,99 @@ bool GetFullDataFilePath(
@@ -439,6 +444,99 @@ bool GetFullDataFilePath(
} // namespace
@ -122,7 +122,7 @@ index f076c5dc62ca5975865e3966381257684503eeb8..cb05975b622eee25217d9f2477c5e53a
constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess;
NetworkContext::NetworkContextHttpAuthPreferences::
@@ -824,6 +922,13 @@ void NetworkContext::SetClient(
@@ -836,6 +934,13 @@ void NetworkContext::SetClient(
client_.Bind(std::move(client));
}
@ -136,7 +136,7 @@ index f076c5dc62ca5975865e3966381257684503eeb8..cb05975b622eee25217d9f2477c5e53a
void NetworkContext::CreateURLLoaderFactory(
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
mojom::URLLoaderFactoryParamsPtr params) {
@@ -2383,6 +2488,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2395,6 +2500,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
std::move(cert_verifier));
cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_.get());
#endif // BUILDFLAG(IS_CHROMEOS)
@ -147,7 +147,7 @@ index f076c5dc62ca5975865e3966381257684503eeb8..cb05975b622eee25217d9f2477c5e53a
builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
diff --git a/services/network/network_context.h b/services/network/network_context.h
index d046d6909a9e648ddc86cbed9cb118d29223155e..25f9dab24b27ad2b3d6ca01690e9f5c3fea96d32 100644
index a1ac41b0850de88c3334d7b7aa3bfc470365b873..17ecfd109db3e9dbcc27ec291f6c6021c9b6f0eb 100644
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -114,6 +114,7 @@ class URLMatcher;
@ -177,7 +177,7 @@ index d046d6909a9e648ddc86cbed9cb118d29223155e..25f9dab24b27ad2b3d6ca01690e9f5c3
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 039407080ba9b234b0472afd7d56d44802fd3c0e..6ebade992b628fee18d23e5e29d2d7d6190261a7 100644
index 6164ab364a4044b9ca63d78dd5cc8c94ede7894c..64a840b13bc6c07112060f48d4f77507eb84994a 100644
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -317,6 +317,17 @@ struct NetworkContextFilePaths {

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

@ -133,7 +133,7 @@ index d0e0d10739b5daf99435a67e18dc51df8e670e09..704f3d6c2fdd27a84d1c4e1b7bf680f6
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 522868ab9b0e6b26880d2b0cf9d446ffcccdbf94..d4532109047c928cbd69e042b020b334896c82d8 100644
index ab3ce062a15a06e775925d02df4eeaf8594cd825..fb172d287b1eae251fbc9ef7bbf1ed484d36ae15 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -1967,7 +1967,7 @@ void RenderProcessHostImpl::CreateNotificationService(

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

@ -40,13 +40,13 @@ index af0616d9ca466d146f3c41887857dd4720ebafbf..c088db193f5bd4b88aa42a3803571d2b
ui::ImageModel::FromVectorIcon(*icon, kColorPipWindowForeground,
kCloseButtonIconSize));
diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
index 9e5e40c912c00b70d921d422ce141cd9d4a5bcd3..25b4b9cd6d4d9ff8c48fac7d04385963463d00f5 100644
index 9d37fd648fd9eccfc4d7995943912c149ad398b0..2b18a3781a9ee4c8505d02651d23f2a0e1368805 100644
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
@@ -14,9 +14,11 @@
#include "base/time/time.h"
@@ -16,9 +16,11 @@
#include "base/timer/timer.h"
#include "build/build_config.h"
#include "chrome/browser/picture_in_picture/picture_in_picture_window_manager.h"
+#if 0
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
@ -55,7 +55,7 @@ index 9e5e40c912c00b70d921d422ce141cd9d4a5bcd3..25b4b9cd6d4d9ff8c48fac7d04385963
#include "chrome/browser/ui/color/chrome_color_id.h"
#include "chrome/browser/ui/views/overlay/back_to_tab_label_button.h"
#include "chrome/browser/ui/views/overlay/close_image_button.h"
@@ -52,7 +54,7 @@
@@ -55,7 +57,7 @@
#include "ui/aura/window.h"
#endif
@ -64,7 +64,7 @@ index 9e5e40c912c00b70d921d422ce141cd9d4a5bcd3..25b4b9cd6d4d9ff8c48fac7d04385963
#include "chrome/browser/shell_integration_win.h"
#include "ui/aura/window.h"
#include "ui/aura/window_tree_host.h"
@@ -278,7 +280,7 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
@@ -281,7 +283,7 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
overlay_window->Init(std::move(params));
overlay_window->OnRootViewReady();

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

@ -8,13 +8,13 @@ needed in chromium but our autofill implementation uses them. This patch can be
our autofill implementation to work like Chromium's.
diff --git a/ui/color/color_id.h b/ui/color/color_id.h
index 8a74fba9a68fc15899542da777140a9e45ea469c..08828dad209510d715f711280cc8b2836e4e84e9 100644
index 7b24de2cc853d7e7bd048cf504ae26a89077ad93..7a48532940f3fc1a869a3b3eebbd608250c38315 100644
--- a/ui/color/color_id.h
+++ b/ui/color/color_id.h
@@ -407,6 +407,10 @@
E_CPONLY(kColorScrollbarThumbInactive) \
E_CPONLY(kColorScrollbarThumbPressed) \
E_CPONLY(kColorScrollbarTrack) \
@@ -397,6 +397,10 @@
E_CPONLY(kColorRadioButtonForegroundUnchecked) \
E_CPONLY(kColorRadioButtonForegroundDisabled) \
E_CPONLY(kColorRadioButtonForegroundChecked) \
+ E_CPONLY(kColorResultsTableNormalBackground) \
+ E_CPONLY(kColorResultsTableHoveredBackground) \
+ E_CPONLY(kColorResultsTableNormalText) \
@ -22,22 +22,22 @@ index 8a74fba9a68fc15899542da777140a9e45ea469c..08828dad209510d715f711280cc8b283
E_CPONLY(kColorSegmentedButtonBorder) \
E_CPONLY(kColorSegmentedButtonFocus) \
E_CPONLY(kColorSegmentedButtonForegroundChecked) \
@@ -511,6 +515,7 @@
@@ -501,6 +505,7 @@
E_CPONLY(kColorTreeNodeForeground) \
E_CPONLY(kColorTreeNodeForegroundSelectedFocused) \
E_CPONLY(kColorTreeNodeForegroundSelectedUnfocused) \
+ E_CPONLY(kColorUnfocusedBorder) \
E_CPONLY(kColorWindowBackground)
#if BUILDFLAG(IS_CHROMEOS)
/* These colors are used to paint the controls defined in */ \
/* ui::NativeThemeBase::ControlColorId. */ \
E_CPONLY(kColorWebNativeControlAccent) \
diff --git a/ui/color/ui_color_mixer.cc b/ui/color/ui_color_mixer.cc
index f1aadfefe2b35ff4f292a04d834679e1c3fe89e9..7cb39e4059719a4fc323586e83aba47d4e91838d 100644
index 01fe909077a786d5c7d896e84fd91b01d730f695..4a71d681177effe8ed06d46056f6ba1cfd7dd690 100644
--- a/ui/color/ui_color_mixer.cc
+++ b/ui/color/ui_color_mixer.cc
@@ -224,6 +224,17 @@ void AddUiColorMixer(ColorProvider* provider, const ColorProviderKey& key) {
: SkColorSetA(SK_ColorBLACK, 0x80)};
mixer[kColorScrollbarTrack] = {dark_mode ? SkColorSetRGB(0x42, 0x42, 0x42)
: SkColorSetRGB(0xF1, 0xF1, 0xF1)};
@@ -200,6 +200,17 @@ void AddUiColorMixer(ColorProvider* provider, const ColorProviderKey& key) {
mixer[kColorProgressBarPaused] = {kColorDisabledForeground};
mixer[kColorRadioButtonForegroundChecked] = {kColorButtonForeground};
mixer[kColorRadioButtonForegroundUnchecked] = {kColorSecondaryForeground};
+ mixer[kColorResultsTableNormalBackground] = {SK_ColorWHITE};
+ mixer[kColorResultsTableHoveredBackground] =
+ SetAlpha(kColorResultsTableNormalText, 0x0D);
@ -52,19 +52,19 @@ index f1aadfefe2b35ff4f292a04d834679e1c3fe89e9..7cb39e4059719a4fc323586e83aba47d
mixer[kColorSeparator] = {kColorMidground};
mixer[kColorShadowBase] = {dark_mode ? SK_ColorBLACK : gfx::kGoogleGrey800};
mixer[kColorShadowValueAmbientShadowElevationThree] =
@@ -335,6 +346,7 @@ void AddUiColorMixer(ColorProvider* provider, const ColorProviderKey& key) {
@@ -311,6 +322,7 @@ void AddUiColorMixer(ColorProvider* provider, const ColorProviderKey& key) {
mixer[kColorTreeNodeForegroundSelectedFocused] = {kColorTreeNodeForeground};
mixer[kColorTreeNodeForegroundSelectedUnfocused] = {
kColorTreeNodeForegroundSelectedFocused};
+ mixer[kColorUnfocusedBorder] = {kColorMidground};
mixer[kColorWindowBackground] = {kColorPrimaryBackground};
}
mixer[kColorWebNativeControlAccent] = {dark_mode
? SkColorSetRGB(0x99, 0xC8, 0xFF)
: SkColorSetRGB(0x00, 0x75, 0xFF)};
diff --git a/ui/color/win/native_color_mixers_win.cc b/ui/color/win/native_color_mixers_win.cc
index d9df0c0be6abf72c4756fb8e0f1e4b8c308a09f3..07ad3bf7e422272f017695c8b0e0aebedb8d8330 100644
index c499561242bb013714b6909d73d3df0fcbe16a18..03171c32211c0bd2e96eded7bbafab0a9f440074 100644
--- a/ui/color/win/native_color_mixers_win.cc
+++ b/ui/color/win/native_color_mixers_win.cc
@@ -202,6 +202,10 @@ void AddNativeUiColorMixer(ColorProvider* provider,
@@ -201,6 +201,10 @@ void AddNativeUiColorMixer(ColorProvider* provider,
SetAlpha(kColorNotificationInputForeground, gfx::kGoogleGreyAlpha700);
mixer[kColorSliderTrack] = AlphaBlend(
kColorNativeHighlight, kColorNativeWindow, gfx::kGoogleGreyAlpha400);
@ -73,8 +73,8 @@ index d9df0c0be6abf72c4756fb8e0f1e4b8c308a09f3..07ad3bf7e422272f017695c8b0e0aebe
+ mixer[kColorResultsTableDimmedText] = AlphaBlend(
+ kColorNativeWindowText, kColorNativeWindow, gfx::kGoogleGreyAlpha600);
// Window Background
mixer[kColorBubbleFooterBackground] = {kColorNativeWindow};
CompleteControlsForcedColorsDefinition(mixer);
@@ -211,6 +215,7 @@ void AddNativeUiColorMixer(ColorProvider* provider,
mixer[kColorFrameInactive] = {kColorNativeWindow};
mixer[kColorPrimaryBackground] = {kColorNativeWindow};
@ -83,15 +83,15 @@ index d9df0c0be6abf72c4756fb8e0f1e4b8c308a09f3..07ad3bf7e422272f017695c8b0e0aebe
// Window Text
mixer[kColorAlertLowSeverity] = {kColorNativeWindowText};
@@ -225,6 +230,7 @@ void AddNativeUiColorMixer(ColorProvider* provider,
@@ -224,6 +229,7 @@ void AddNativeUiColorMixer(ColorProvider* provider,
mixer[kColorTableGroupingIndicator] = {kColorNativeWindowText};
mixer[kColorThrobber] = {kColorNativeWindowText};
mixer[kColorTooltipForeground] = {kColorNativeWindowText};
+ mixer[kColorResultsTableNormalText] = {kColorNativeWindowText};
// Hyperlinks
mixer[kColorForcedHotlight] = {kColorNativeHotlight};
@@ -271,6 +277,7 @@ void AddNativeUiColorMixer(ColorProvider* provider,
mixer[kColorLinkForegroundDefault] = {kColorNativeHotlight};
@@ -266,6 +272,7 @@ void AddNativeUiColorMixer(ColorProvider* provider,
mixer[kColorTextfieldForeground] = {kColorNativeBtnText};
mixer[kColorTextfieldForegroundPlaceholder] = {kColorNativeBtnText};
mixer[kColorTextfieldForegroundDisabled] = {kColorNativeBtnText};

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

@ -10,7 +10,7 @@ in favor of defining PreconnectRequest in this file since we don't build
the header.
diff --git a/chrome/browser/predictors/preconnect_manager.cc b/chrome/browser/predictors/preconnect_manager.cc
index 5f3823dac0ea94885b16bcc5d3b851500c7262d8..8a6f94536e87ad2fb1ff2428cf9174b77db90bf3 100644
index 5ab9d7b6723fe472516e2c3bda58c68c6e66b73a..60e1b55af76e0deb712646d77a91204a5456b321 100644
--- a/chrome/browser/predictors/preconnect_manager.cc
+++ b/chrome/browser/predictors/preconnect_manager.cc
@@ -10,9 +10,11 @@
@ -19,7 +19,7 @@ index 5f3823dac0ea94885b16bcc5d3b851500c7262d8..8a6f94536e87ad2fb1ff2428cf9174b7
#include "base/trace_event/trace_event.h"
+#if 0
#include "chrome/browser/predictors/resource_prefetch_predictor.h"
#include "chrome/browser/prefetch/prefetch_prefs.h"
#include "chrome/browser/preloading/preloading_prefs.h"
#include "chrome/browser/profiles/profile.h"
+#endif
#include "content/public/browser/browser_context.h"

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

@ -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 e8c8a8450ff8325905a76addc262a6fd68f037be..e703690f0f0952d7f97cde04e7c2c786ab1747ec 100644
index d51b0758e8883ba29a36b1dc3717bc76722f13f9..c68f9ec516f8adca4be86b6ce6158df36aa58f63 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -973,7 +973,6 @@ if (is_win) {
@@ -972,7 +972,6 @@ if (is_win) {
"//media:media_unittests",
"//media/midi:midi_unittests",
"//net:net_unittests",
@ -22,7 +22,7 @@ index e8c8a8450ff8325905a76addc262a6fd68f037be..e703690f0f0952d7f97cde04e7c2c786
"//sql:sql_unittests",
"//third_party/breakpad:symupload($host_toolchain)",
"//ui/base:ui_base_unittests",
@@ -982,6 +981,10 @@ if (is_win) {
@@ -981,6 +980,10 @@ if (is_win) {
"//ui/views:views_unittests",
"//url:url_unittests",
]
@ -706,7 +706,7 @@ index 3f9a514fb41d72c5d06de6ac989f9d7c0513a4e7..0e7ada9df962808dad7caf074a08ebde
// Tells the browser printing failed.
PrintingFailed(int32 cookie, PrintFailureReason reason);
diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc86a1777cd 100644
index ec3c62f88268d6cf0d8abadf483dacb31ff09d3d..b0af8b9f2286c95efabe66ecfc0eaa8a6700c81d 100644
--- a/components/printing/renderer/print_render_frame_helper.cc
+++ b/components/printing/renderer/print_render_frame_helper.cc
@@ -45,6 +45,7 @@
@ -717,7 +717,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
#include "printing/units.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
@@ -1322,14 +1323,14 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
@@ -1279,14 +1280,14 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
}
print_in_progress_ = true;
@ -734,7 +734,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
if (!weak_this) {
return;
}
@@ -1360,7 +1361,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
@@ -1317,7 +1318,7 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
receivers_.Add(this, std::move(receiver));
}
@ -743,7 +743,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
ScopedIPC scoped_ipc(weak_ptr_factory_.GetWeakPtr());
if (ipc_nesting_level_ > kAllowedIpcDepthForPrint)
return;
@@ -1375,7 +1376,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() {
@@ -1332,7 +1333,7 @@ void PrintRenderFrameHelper::PrintRequestedPages() {
// plugin node and print that instead.
auto plugin = delegate_->GetPdfElement(frame);
@ -752,7 +752,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
if (render_frame_gone_) {
return;
@@ -1462,7 +1463,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() {
@@ -1419,7 +1420,8 @@ void PrintRenderFrameHelper::PrintForSystemDialog() {
}
Print(frame, print_preview_context_.source_node(),
@ -762,7 +762,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
if (render_frame_gone_) {
return;
}
@@ -1525,6 +1527,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) {
@@ -1482,6 +1484,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) {
if (ipc_nesting_level_ > kAllowedIpcDepthForPrint)
return;
@ -771,7 +771,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
print_preview_context_.OnPrintPreview();
#if BUILDFLAG(IS_CHROMEOS_ASH)
@@ -2158,7 +2162,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
@@ -2107,7 +2111,8 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
}
Print(duplicate_node.GetDocument().GetFrame(), duplicate_node,
@ -781,7 +781,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
// Check if `this` is still valid.
if (!weak_this) {
return;
@@ -2174,7 +2179,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
@@ -2123,7 +2128,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
const blink::WebNode& node,
@ -792,7 +792,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
// If still not finished with earlier print request simply ignore.
if (prep_frame_view_)
return;
@@ -2182,7 +2189,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
@@ -2131,7 +2138,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
FrameReference frame_ref(frame);
uint32_t expected_page_count = 0;
@ -801,7 +801,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
DidFinishPrinting(PrintingResult::kFailPrintInit);
return; // Failed to init print page settings.
}
@@ -2201,8 +2208,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
@@ -2150,8 +2157,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
print_pages_params_->params->print_scaling_option;
auto self = weak_ptr_factory_.GetWeakPtr();
@ -818,7 +818,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
// Check if `this` is still valid.
if (!self)
return;
@@ -2446,35 +2460,47 @@ void PrintRenderFrameHelper::IPCProcessed() {
@@ -2391,35 +2405,47 @@ void PrintRenderFrameHelper::IPCProcessed() {
}
}
@ -876,7 +876,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
return false;
}
@@ -2579,7 +2605,7 @@ mojom::PrintPagesParamsPtr PrintRenderFrameHelper::GetPrintSettingsFromUser(
@@ -2524,7 +2550,7 @@ mojom::PrintPagesParamsPtr PrintRenderFrameHelper::GetPrintSettingsFromUser(
std::move(params),
base::BindOnce(
[](base::OnceClosure quit_closure, mojom::PrintPagesParamsPtr* output,
@ -886,7 +886,7 @@ index 658a3c59993ac30feaea4d86148ed5adc9dcbdb1..afa788bbefc8f814af9b70ff5b5ebbc8
std::move(quit_closure).Run();
},
diff --git a/components/printing/renderer/print_render_frame_helper.h b/components/printing/renderer/print_render_frame_helper.h
index 8d65b7b6440c8e653eb1b3f9c50b40944b7ae61b..eb6b4a42d507ff216fc07328c1907815a082ef19 100644
index 5cbb2940f83af329ea38efca5bf3216056269654..8cf783d37589fdca88592eeb9b8cc91b6ae60203 100644
--- a/components/printing/renderer/print_render_frame_helper.h
+++ b/components/printing/renderer/print_render_frame_helper.h
@@ -247,7 +247,7 @@ class PrintRenderFrameHelper
@ -927,10 +927,10 @@ index 8d65b7b6440c8e653eb1b3f9c50b40944b7ae61b..eb6b4a42d507ff216fc07328c1907815
#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 89b2e2bd7d6091501756b4d31726c49b00ffd0c7..718ad3e088f6730bb00f1e3674effae6c429b9b6 100644
index 2fbed295328843a2b863dde051d9f0f2946825d0..36d770e54579cd83b19fb145c031aa8e89ad60f6 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -2953,8 +2953,9 @@ source_set("browser") {
@@ -2965,8 +2965,9 @@ source_set("browser") {
"//ppapi/shared_impl",
]

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

@ -8,18 +8,18 @@ Chrome moved the SetCursor IPC message to mojo, which we use to tell OSR about `
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2172779
diff --git a/content/browser/renderer_host/render_widget_host_delegate.h b/content/browser/renderer_host/render_widget_host_delegate.h
index fe010b1f001130fbdeaf4ef9ce7798e4baf958b5..28f1305f439be7f669e482ac0e4804c04a6ddba1 100644
index d24eaa44bba0b08ae20ad52b905db8ab795d889f..66444f632f8f766f5642ecd29980e74b3fc6fe1d 100644
--- a/content/browser/renderer_host/render_widget_host_delegate.h
+++ b/content/browser/renderer_host/render_widget_host_delegate.h
@@ -22,6 +22,7 @@
#include "third_party/blink/public/mojom/frame/lifecycle.mojom.h"
@@ -23,6 +23,7 @@
#include "third_party/blink/public/mojom/input/input_handler.mojom-shared.h"
#include "third_party/blink/public/mojom/manifest/display_mode.mojom.h"
#include "ui/base/ui_base_types.h"
+#include "ui/base/cursor/cursor.h"
#include "ui/gfx/native_widget_types.h"
namespace blink {
@@ -257,6 +258,9 @@ class CONTENT_EXPORT RenderWidgetHostDelegate {
@@ -261,6 +262,9 @@ class CONTENT_EXPORT RenderWidgetHostDelegate {
// Returns the associated RenderViewHostDelegateView*, if possible.
virtual RenderViewHostDelegateView* GetDelegateView();
@ -30,10 +30,10 @@ index fe010b1f001130fbdeaf4ef9ce7798e4baf958b5..28f1305f439be7f669e482ac0e4804c0
// RenderWidgetHost on the primary main frame, and false otherwise.
virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*);
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 149ead7bbf52ad127747c5f80f0e35a13203502a..0f2a73f990fd41112d18ab6a9ed5bc43b90c235a 100644
index c47aa95113e7ac4a9a6b601271dce7fc31d5e4d3..5a39eb812bbbfdec0be2e69a0114b81eddbe687e 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -2121,6 +2121,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
@@ -2123,6 +2123,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
if (view_) {
view_->UpdateCursor(cursor);
}
@ -44,10 +44,10 @@ index 149ead7bbf52ad127747c5f80f0e35a13203502a..0f2a73f990fd41112d18ab6a9ed5bc43
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 9bb752da088be1fae748430c69c39b7fa86cab08..5bcd634f1bd29a58cae240274269d952ef6570e9 100644
index 35a7cb88aadd3cf709ae6ab94e26268a518a6c4f..e69ce675019c9dc734de1820c8f3774dc769fea4 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4916,6 +4916,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
@@ -4928,6 +4928,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
return text_input_manager_.get();
}
@ -60,10 +60,10 @@ index 9bb752da088be1fae748430c69c39b7fa86cab08..5bcd634f1bd29a58cae240274269d952
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 0af66596fac23874121745412e86e6e3231b5b68..79fdf08e7b434ca2dff16fd54207b5d20f5e1f9f 100644
index d1d78d8dc520e4c224fc5526e0b83d4622195d56..f40876402a5d44c5596659f47d293d4a925dc2c9 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -996,6 +996,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
@@ -1003,6 +1003,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
void SendScreenRects() override;
void SendActiveState(bool active) override;
TextInputManager* GetTextInputManager() override;

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

@ -7,10 +7,10 @@ Subject: refactor: expose HostImportModuleDynamically and
This is so that Electron can blend Blink's and Node's implementations of these isolate handlers.
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
index 20d188f57d5425c5f704b3b03cd27034efb25ea7..ff8de70fe7638f1f4fb2f4839ccf54e22339ba8b 100644
index 93fd4a4be7bb3e3a0b9093d3c4a981e456f0d0f5..6267a4d5100ae322e6c4c394b120d95223a38e14 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
@@ -578,7 +578,9 @@ bool JavaScriptCompileHintsMagicEnabledCallback(
@@ -589,7 +589,9 @@ bool JavaScriptCompileHintsMagicEnabledCallback(
execution_context);
}
@ -21,7 +21,7 @@ index 20d188f57d5425c5f704b3b03cd27034efb25ea7..ff8de70fe7638f1f4fb2f4839ccf54e2
v8::Local<v8::Context> context,
v8::Local<v8::Data> v8_host_defined_options,
v8::Local<v8::Value> v8_referrer_resource_url,
@@ -653,7 +655,7 @@ v8::MaybeLocal<v8::Promise> HostImportModuleDynamically(
@@ -664,7 +666,7 @@ v8::MaybeLocal<v8::Promise> HostImportModuleDynamically(
}
// https://html.spec.whatwg.org/C/#hostgetimportmetaproperties
@ -30,7 +30,7 @@ index 20d188f57d5425c5f704b3b03cd27034efb25ea7..ff8de70fe7638f1f4fb2f4839ccf54e2
v8::Local<v8::Module> module,
v8::Local<v8::Object> meta) {
ScriptState* script_state = ScriptState::From(context);
@@ -680,6 +682,8 @@ void HostGetImportMetaProperties(v8::Local<v8::Context> context,
@@ -691,6 +693,8 @@ void HostGetImportMetaProperties(v8::Local<v8::Context> context,
meta->CreateDataProperty(context, resolve_key, resolve_value).ToChecked();
}
@ -39,7 +39,7 @@ index 20d188f57d5425c5f704b3b03cd27034efb25ea7..ff8de70fe7638f1f4fb2f4839ccf54e2
void InitializeV8Common(v8::Isolate* isolate) {
// Set up garbage collection before setting up anything else as V8 may trigger
// GCs during Blink setup.
@@ -699,9 +703,9 @@ void InitializeV8Common(v8::Isolate* isolate) {
@@ -710,9 +714,9 @@ void InitializeV8Common(v8::Isolate* isolate) {
SharedArrayBufferConstructorEnabledCallback);
isolate->SetJavaScriptCompileHintsMagicEnabledCallback(
JavaScriptCompileHintsMagicEnabledCallback);
@ -50,7 +50,7 @@ index 20d188f57d5425c5f704b3b03cd27034efb25ea7..ff8de70fe7638f1f4fb2f4839ccf54e2
+ V8Initializer::HostGetImportMetaProperties);
isolate->SetMetricsRecorder(std::make_shared<V8MetricsRecorder>(isolate));
V8ContextSnapshot::EnsureInterfaceTemplates(isolate);
#if BUILDFLAG(IS_WIN)
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.h b/third_party/blink/renderer/bindings/core/v8/v8_initializer.h
index 9e628b96a845322d407f9da30a63c04ef5de9c24..8f5e4602f5e3f6787a9e54d510b39519074d51e6 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.h

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

@ -10,7 +10,7 @@ kinds of utility windows. Similarly for `disableAutoHideCursor`.
Additionally, disables usage of some private APIs in MAS builds.
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
index ecd17200be6a50c26642daa8964c526454414335..0e66bac2dce5ae1b30b782702e15b387b73b04b4 100644
index da2f9d9576d278dc52274056df8bb66f1eec825b..fc4acff0b5d1a75b3311c6e4ecc938ad3cef05bf 100644
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
@@ -157,6 +157,15 @@ void ExtractUnderlines(NSAttributedString* string,

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

@ -0,0 +1,407 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "luci-bisection@appspot.gserviceaccount.com"
<luci-bisection@appspot.gserviceaccount.com>
Date: Tue, 12 Sep 2023 19:09:21 +0000
Subject: Revert "[iOS] Delete GN flags for mach absolute time ticks"
This reverts commit 734471fe6b86de7e1017e20c5f2fb1c5897ed50f.
Reason for revert:
LUCI Bisection identified this CL as the culprit of a build failure. See the analysis: https://luci-bisection.appspot.com/analysis/b/8770136478150458481
Sample failed build: https://ci.chromium.org/b/8770136478150458481
If this is a false positive, please report it at https://bugs.chromium.org/p/chromium/issues/entry?comment=Analysis%3A+https%3A%2F%2Fluci-bisection.appspot.com%2Fanalysis%2Fb%2F8770136478150458481&components=Tools%3ETest%3EFindit&labels=LUCI-Bisection-Wrong%2CPri-3%2CType-Bug&status=Available&summary=Wrongly+blamed+https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F4850577
Original change's description:
> [iOS] Delete GN flags for mach absolute time ticks
>
> Mach absolute time ticks have been enabled by default for a month
> with no known issues, so this CL cleans up the corresponding GN
> flags.
>
> Bug: 1414153
> Change-Id: I981f7e823295a5f8c9a9d186e356243e7f76eef1
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4850577
> Commit-Queue: Ali Juma <ajuma@chromium.org>
> Reviewed-by: Ian Vollick <vollick@chromium.org>
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1195534}
>
Bug: 1414153
Change-Id: I9bd6656f514dc19a9c647f9ff845420762c462f4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4858437
Commit-Queue: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com>
Bot-Commit: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com>
Owners-Override: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1195555}
diff --git a/base/BUILD.gn b/base/BUILD.gn
index 5bdeed26cc4f52d8d6ba3d30dcf013169e490008..ff06f5ed195b784c414831faf18072bf4cb28f67 100644
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -48,6 +48,11 @@ if (is_mac) {
import("//third_party/protobuf/proto_library.gni")
}
+if (is_apple) {
+ # Buildflags to control time behavior on iOS in file shared with mac.
+ import("//base/time/buildflags/buildflags.gni")
+}
+
if (is_win) {
import("//build/config/win/control_flow_guard.gni")
}
@@ -88,6 +93,14 @@ assert(!is_nacl || is_nacl_saigo,
assert(!is_win || is_clang,
"only clang-cl is supported on Windows, see https://crbug.com/988071")
+if (is_apple) {
+ assert(!use_blink || enable_mach_absolute_time_ticks,
+ "use_blink requires mach absolute time ticks")
+
+ assert(!is_mac || enable_mach_absolute_time_ticks,
+ "mac requires mach absolute time ticks")
+}
+
# Determines whether libevent should be dep.
dep_libevent = !is_fuchsia && !is_win && !is_mac && !is_nacl
@@ -1054,6 +1067,10 @@ component("base") {
# to provide the appropriate `#define` here.
defines += [ "IS_RAW_PTR_IMPL" ]
+ if (is_apple) {
+ deps += [ "//base/time/buildflags:buildflags" ]
+ }
+
if (build_rust_json_reader) {
deps += [ "//third_party/rust/serde_json_lenient/v0_1/wrapper" ]
}
@@ -3724,7 +3741,7 @@ test("base_unittests") {
]
}
- if (is_apple) {
+ if (is_apple && enable_mach_absolute_time_ticks) {
sources += [ "time/time_apple_unittest.mm" ]
}
diff --git a/base/allocator/partition_allocator/BUILD.gn b/base/allocator/partition_allocator/BUILD.gn
index 2c279c3bf348821307aac53f365e9590c2b4bd6e..1818a87c6a8793555cf39b42c71248f4a0131e97 100644
--- a/base/allocator/partition_allocator/BUILD.gn
+++ b/base/allocator/partition_allocator/BUILD.gn
@@ -730,6 +730,13 @@ buildflag_header("partition_alloc_buildflags") {
"ENABLE_PKEYS=$enable_pkeys",
"ENABLE_THREAD_ISOLATION=$enable_pkeys",
]
+
+ if (is_apple) {
+ # TODO(crbug.com/1414153): once TimeTicks::Now behavior is unified on iOS,
+ # this should be removed.
+ flags += [ "PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS=" +
+ "$partition_alloc_enable_mach_absolute_time_ticks" ]
+ }
}
buildflag_header("chromecast_buildflags") {
diff --git a/base/allocator/partition_allocator/partition_alloc.gni b/base/allocator/partition_allocator/partition_alloc.gni
index 485883ba8ffd006ab53b4227fc3b3d3181d5d048..970d6d6682f122a5508ce7f35cb65b96694b00e1 100644
--- a/base/allocator/partition_allocator/partition_alloc.gni
+++ b/base/allocator/partition_allocator/partition_alloc.gni
@@ -204,6 +204,12 @@ declare_args() {
# Shadow metadata is still under development and only supports Linux
# for now.
enable_shadow_metadata = false
+
+ if (is_apple) {
+ # TODO(crbug.com/1414153): this should be removed once the use of mach
+ # absolute time ticks is successfully launched on iOS.
+ partition_alloc_enable_mach_absolute_time_ticks = true
+ }
}
# *Scan is currently only used by Chromium, and supports only 64-bit.
@@ -306,6 +312,14 @@ assert(!use_asan_backup_ref_ptr || is_asan,
assert(!use_asan_unowned_ptr || is_asan,
"AsanUnownedPtr requires AddressSanitizer")
+if (is_apple) {
+ assert(!use_blink || partition_alloc_enable_mach_absolute_time_ticks,
+ "use_blink requires partition_alloc_enable_mach_absolute_time_ticks")
+
+ assert(!is_mac || partition_alloc_enable_mach_absolute_time_ticks,
+ "mac requires partition_alloc_enable_mach_absolute_time_ticks")
+}
+
# AsanBackupRefPtr is not supported outside Chromium. The implementation is
# entangled with `//base`. The code is only physically located with the rest of
# `raw_ptr` to keep it together.
diff --git a/base/allocator/partition_allocator/partition_alloc_base/time/time.h b/base/allocator/partition_allocator/partition_alloc_base/time/time.h
index 1d8ee28e9110e21909c8d814efbeff5eb2c7b96d..2f4b7996b1c81a6494763b8671d59389c1852d8f 100644
--- a/base/allocator/partition_allocator/partition_alloc_base/time/time.h
+++ b/base/allocator/partition_allocator/partition_alloc_base/time/time.h
@@ -140,7 +140,9 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) TimeDelta {
static TimeDelta FromZxDuration(zx_duration_t nanos);
#endif
#if BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
static TimeDelta FromMachTime(uint64_t mach_time);
+#endif // BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
#endif // BUILDFLAG(IS_APPLE)
// Converts an integer value representing TimeDelta to a class. This is used
@@ -849,12 +851,14 @@ class PA_COMPONENT_EXPORT(PARTITION_ALLOC) TimeTicks
#endif
#if BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
static TimeTicks FromMachAbsoluteTime(uint64_t mach_absolute_time);
// Sets the current Mach timebase to `timebase`. Returns the old timebase.
static mach_timebase_info_data_t SetMachTimebaseInfoForTesting(
mach_timebase_info_data_t timebase);
+#endif // BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
#endif // BUILDFLAG(IS_APPLE)
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(PA_IS_CHROMEOS_ASH)
diff --git a/base/allocator/partition_allocator/partition_alloc_base/time/time_apple.mm b/base/allocator/partition_allocator/partition_alloc_base/time/time_apple.mm
index f1288b59cc0fc26bf2419dcffa044ba12b2ad568..c4354ccc626af9831b8346221d479660ad890849 100644
--- a/base/allocator/partition_allocator/partition_alloc_base/time/time_apple.mm
+++ b/base/allocator/partition_allocator/partition_alloc_base/time/time_apple.mm
@@ -28,6 +28,7 @@
namespace {
+#if BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
// Returns a pointer to the initialized Mach timebase info struct.
mach_timebase_info_data_t* MachTimebaseInfo() {
static mach_timebase_info_data_t timebase_info = []() {
@@ -80,14 +81,29 @@ int64_t MachTimeToMicroseconds(uint64_t mach_time) {
// 9223372036854775807 / (1e6 * 60 * 60 * 24 * 365.2425) = 292,277).
return checked_cast<int64_t>(microseconds);
}
+#endif // BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
// Returns monotonically growing number of ticks in microseconds since some
// unspecified starting point.
int64_t ComputeCurrentTicks() {
+#if !BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
+ struct timespec tp;
+ // clock_gettime() returns 0 on success and -1 on failure. Failure can only
+ // happen because of bad arguments (unsupported clock type or timespec
+ // pointer out of accessible address space). Here it is known that neither
+ // can happen since the timespec parameter is stack allocated right above and
+ // `CLOCK_MONOTONIC` is supported on all versions of iOS that Chrome is
+ // supported on.
+ int res = clock_gettime(CLOCK_MONOTONIC, &tp);
+ PA_BASE_DCHECK(0 == res) << "Failed clock_gettime, errno: " << errno;
+
+ return (int64_t)tp.tv_sec * 1000000 + tp.tv_nsec / 1000;
+#else
// mach_absolute_time is it when it comes to ticks on the Mac. Other calls
// with less precision (such as TickCount) just call through to
// mach_absolute_time.
return MachTimeToMicroseconds(mach_absolute_time());
+#endif // !BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
}
int64_t ComputeThreadTicks() {
@@ -172,10 +188,12 @@ Time TimeNowFromSystemTimeIgnoringOverride() {
// TimeDelta ------------------------------------------------------------------
+#if BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
// static
TimeDelta TimeDelta::FromMachTime(uint64_t mach_time) {
return Microseconds(MachTimeToMicroseconds(mach_time));
}
+#endif // BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
// TimeTicks ------------------------------------------------------------------
@@ -195,6 +213,7 @@ TimeTicks TimeTicksNowIgnoringOverride() {
return true;
}
+#if BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
// static
TimeTicks TimeTicks::FromMachAbsoluteTime(uint64_t mach_absolute_time) {
return TimeTicks(MachTimeToMicroseconds(mach_absolute_time));
@@ -210,9 +229,15 @@ TimeTicks TimeTicksNowIgnoringOverride() {
return orig_timebase;
}
+#endif // BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
+
// static
TimeTicks::Clock TimeTicks::GetClock() {
+#if !BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
+ return Clock::IOS_CF_ABSOLUTE_TIME_MINUS_KERN_BOOTTIME;
+#else
return Clock::MAC_MACH_ABSOLUTE_TIME;
+#endif // !BUILDFLAG(PARTITION_ALLOC_ENABLE_MACH_ABSOLUTE_TIME_TICKS)
}
// ThreadTicks ----------------------------------------------------------------
diff --git a/base/time/buildflags/BUILD.gn b/base/time/buildflags/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..738a5483167147521dc04d7d7b0c32c5d8447190
--- /dev/null
+++ b/base/time/buildflags/BUILD.gn
@@ -0,0 +1,15 @@
+# Copyright 2023 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/buildflag_header.gni")
+import("buildflags.gni")
+
+# Generate a buildflag header for compile-time checking of mach absolute time
+# support in TimeTicks
+# TODO(crbug.com/1414153): this should be removed once there is a unified
+# approach to TimeTicks::Now on iOS.
+buildflag_header("buildflags") {
+ header = "buildflags.h"
+ flags = [ "ENABLE_MACH_ABSOLUTE_TIME_TICKS=$enable_mach_absolute_time_ticks" ]
+}
diff --git a/base/time/buildflags/buildflags.gni b/base/time/buildflags/buildflags.gni
new file mode 100644
index 0000000000000000000000000000000000000000..eabed1a3bbdfebb865da1a1c7161131acc15b203
--- /dev/null
+++ b/base/time/buildflags/buildflags.gni
@@ -0,0 +1,13 @@
+# Copyright 2023 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/features.gni")
+
+# TODO(crbug.com/1414153): this should be removed once the use of mach absolute
+# time ticks is successfully launched on iOS.
+declare_args() {
+ # use_blink currently assumes mach absolute time ticks (eg, to ensure that
+ # trace events cohere).
+ enable_mach_absolute_time_ticks = true
+}
diff --git a/base/time/time.h b/base/time/time.h
index c4746a5f2a058ccc76d37b82d171f048e1cf4c08..42d812b3ab523733c177d32c046a9ac54bef9855 100644
--- a/base/time/time.h
+++ b/base/time/time.h
@@ -143,7 +143,9 @@ class BASE_EXPORT TimeDelta {
static TimeDelta FromZxDuration(zx_duration_t nanos);
#endif
#if BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
static TimeDelta FromMachTime(uint64_t mach_time);
+#endif // BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
#endif // BUILDFLAG(IS_APPLE)
// Converts an integer value representing TimeDelta to a class. This is used
@@ -1196,12 +1198,14 @@ class BASE_EXPORT TimeTicks : public time_internal::TimeBase<TimeTicks> {
#endif
#if BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
static TimeTicks FromMachAbsoluteTime(uint64_t mach_absolute_time);
// Sets the current Mach timebase to `timebase`. Returns the old timebase.
static mach_timebase_info_data_t SetMachTimebaseInfoForTesting(
mach_timebase_info_data_t timebase);
+#endif // BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
#endif // BUILDFLAG(IS_APPLE)
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/base/time/time_apple.mm b/base/time/time_apple.mm
index 8c3e041fe70a10e7a26cf282a0c19c7e0672fc03..d7f15c71e692370e4fc134874dc0554e18bd03da 100644
--- a/base/time/time_apple.mm
+++ b/base/time/time_apple.mm
@@ -22,8 +22,15 @@
#include "base/time/time_override.h"
#include "build/build_config.h"
+#if !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
+#include <errno.h>
+#include <time.h>
+#include "base/ios/ios_util.h"
+#endif // !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
+
namespace {
+#if BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
// Returns a pointer to the initialized Mach timebase info struct.
mach_timebase_info_data_t* MachTimebaseInfo() {
static mach_timebase_info_data_t timebase_info = []() {
@@ -77,14 +84,29 @@ int64_t MachTimeToMicroseconds(uint64_t mach_time) {
// 9223372036854775807 / (1e6 * 60 * 60 * 24 * 365.2425) = 292,277).
return base::checked_cast<int64_t>(microseconds);
}
+#endif // BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
// Returns monotonically growing number of ticks in microseconds since some
// unspecified starting point.
int64_t ComputeCurrentTicks() {
+#if !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
+ struct timespec tp;
+ // clock_gettime() returns 0 on success and -1 on failure. Failure can only
+ // happen because of bad arguments (unsupported clock type or timespec pointer
+ // out of accessible address space). Here it is known that neither can happen
+ // since the timespec parameter is stack allocated right above and
+ // `CLOCK_MONOTONIC` is supported on all versions of iOS that Chrome is
+ // supported on.
+ int res = clock_gettime(CLOCK_MONOTONIC, &tp);
+ DCHECK_EQ(res, 0) << "Failed clock_gettime, errno: " << errno;
+
+ return (int64_t)tp.tv_sec * 1000000 + tp.tv_nsec / 1000;
+#else
// mach_absolute_time is it when it comes to ticks on the Mac. Other calls
// with less precision (such as TickCount) just call through to
// mach_absolute_time.
return MachTimeToMicroseconds(mach_absolute_time());
+#endif // !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
}
int64_t ComputeThreadTicks() {
@@ -172,10 +194,12 @@ Time TimeNowFromSystemTimeIgnoringOverride() {
// TimeDelta ------------------------------------------------------------------
+#if BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
// static
TimeDelta TimeDelta::FromMachTime(uint64_t mach_time) {
return Microseconds(MachTimeToMicroseconds(mach_time));
}
+#endif // BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
// TimeTicks ------------------------------------------------------------------
@@ -195,6 +219,7 @@ TimeTicks TimeTicksNowIgnoringOverride() {
return true;
}
+#if BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
// static
TimeTicks TimeTicks::FromMachAbsoluteTime(uint64_t mach_absolute_time) {
return TimeTicks(MachTimeToMicroseconds(mach_absolute_time));
@@ -210,9 +235,15 @@ TimeTicks TimeTicksNowIgnoringOverride() {
return orig_timebase;
}
+#endif // BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
+
// static
TimeTicks::Clock TimeTicks::GetClock() {
+#if !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
+ return Clock::IOS_CF_ABSOLUTE_TIME_MINUS_KERN_BOOTTIME;
+#else
return Clock::MAC_MACH_ABSOLUTE_TIME;
+#endif // !BUILDFLAG(ENABLE_MACH_ABSOLUTE_TIME_TICKS)
}
// ThreadTicks ----------------------------------------------------------------

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

@ -6,7 +6,7 @@ Subject: Revert "Remove the AllowAggressiveThrottlingWithWebSocket feature."
This reverts commit 615c1810a187840ffeb04096087efff86edb37de.
diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
index d566c1a209aa5b39692fe79dd8b5012a5e053574..90e97f739b3e7ede2fa4ceffb1be5130f651f60b 100644
index 19b03e9f1c5baa98f86e7b73be7de11a1a3c60da..693aee50f555830be560d0933a0f62969022b86f 100644
--- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
@@ -95,6 +95,17 @@ enum WebSocketOpCode {

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

@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch
Patch to make scrollBounce option work.
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index 328ed025f6b71c34f2855a5a2983dee7e7081c11..1ec54e2cdd24e5510d1081524554dbc05c256281 100644
index 55b077ea4ebaca49e5f574637f2cba7d83acd9a8..e9a6d2bc6da550f508bfa06934e2d9aa275364c4 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -1331,7 +1331,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
@@ -1332,7 +1332,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
}
bool RenderThreadImpl::IsElasticOverscrollEnabled() {

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

@ -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 d4532109047c928cbd69e042b020b334896c82d8..b549e5795621e5493db5d23407b6d040f32c38cf 100644
index fb172d287b1eae251fbc9ef7bbf1ed484d36ae15..1db5bf460224534a3fb4223bfd2c361ec6256e8d 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -1652,9 +1652,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 60d76d4ecf3bbda940f9a43d86259fcfd7d4a349..d4fc5a92413234196a531edc90aae66d3131b5fb 100644
index 7fa21e1fffe5f22ed395aab5254a5660a0a76bf4..7e9f81d748116e5cd5a4c67aebea5a58b9e37424 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -3324,6 +3324,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3325,6 +3325,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 60d76d4ecf3bbda940f9a43d86259fcfd7d4a349..d4fc5a92413234196a531edc90aae66d
std::unique_ptr<WebContentsViewDelegate> delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -3334,6 +3341,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3335,6 +3342,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
view_ = CreateWebContentsView(this, std::move(delegate),
&render_view_host_delegate_view_);
}
@ -35,7 +35,7 @@ index 60d76d4ecf3bbda940f9a43d86259fcfd7d4a349..d4fc5a92413234196a531edc90aae66d
CHECK(view_.get());
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
index f02cd75e7ad4c841e026309ec7ff35f242bffe16..ba00ce434e23aa899e048d388f4d67ec8ee6c0bb 100644
index 92872c8e76b400aba6dfa3ee99ee41cd63cf84af..6657f70fb80edcbcebc568213625f20b091d9fb2 100644
--- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h
@@ -98,10 +98,13 @@ class BrowserContext;

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

@ -15,10 +15,10 @@ Note that we also need to manually update embedder's
`api::WebContents::IsFullscreenForTabOrPending` value.
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 586aa87098bd3db10440fe865a02c05e7b3be14f..cb372df065f83614ff6c2954035795e67eb69d0c 100644
index 6e2517bfb39b88827aa7a44f6b65b13c9454d16f..8784a4a93993110879564c2cd5520e2d69f59b07 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -7417,6 +7417,17 @@ void RenderFrameHostImpl::EnterFullscreen(
@@ -7416,6 +7416,17 @@ void RenderFrameHostImpl::EnterFullscreen(
}
}
@ -37,10 +37,10 @@ index 586aa87098bd3db10440fe865a02c05e7b3be14f..cb372df065f83614ff6c2954035795e6
if (had_fullscreen_token && !GetView()->HasFocus())
GetView()->Focus();
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index d4fc5a92413234196a531edc90aae66d3131b5fb..e2e7b3e5cf8f581adee596903fc19886a23832c1 100644
index 7e9f81d748116e5cd5a4c67aebea5a58b9e37424..6dc2cd4b494eb3730139b8351212c3c0cde39861 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -3569,21 +3569,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
@@ -3571,21 +3571,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
const NativeWebKeyboardEvent& event) {
OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
"WebContentsImpl::PreHandleKeyboardEvent");
@ -78,7 +78,7 @@ index d4fc5a92413234196a531edc90aae66d3131b5fb..e2e7b3e5cf8f581adee596903fc19886
}
bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
@@ -3715,7 +3719,7 @@ void WebContentsImpl::EnterFullscreenMode(
@@ -3717,7 +3721,7 @@ void WebContentsImpl::EnterFullscreenMode(
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
DCHECK(CanEnterFullscreenMode(requesting_frame, options));
DCHECK(requesting_frame->IsActive());

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

@ -1,2 +1,3 @@
use_new_constructor_for_scriptorigin_when_17_x.patch
chore_remove_deprecated_accessorsignatures.patch
chore_fix_v8_data_internal_field_casting.patch

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

@ -0,0 +1,265 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Mon, 11 Sep 2023 23:39:55 +0200
Subject: chore: fix v8::Data internal field casting
Changed in https://chromium-review.googlesource.com/c/v8/v8/+/4834471
Adapt to upstream changes in v8::Object::GetInternalField() and
v8::Object::SetInternalField() to accept v8::Data instead of just
v8::Value.
diff --git a/nan_callbacks_12_inl.h b/nan_callbacks_12_inl.h
index c27b18d80d1299ff2142606d333804696bc17f93..2c734137fa1a5f8c6341e045f488fdcde5d040ef 100644
--- a/nan_callbacks_12_inl.h
+++ b/nan_callbacks_12_inl.h
@@ -170,9 +170,9 @@ void FunctionCallbackWrapper(const v8::FunctionCallbackInfo<v8::Value> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
FunctionCallback callback = reinterpret_cast<FunctionCallback>(
reinterpret_cast<intptr_t>(
- obj->GetInternalField(kFunctionIndex).As<v8::External>()->Value()));
+ obj->GetInternalField(kFunctionIndex).As<v8::Value>().As<v8::External>()->Value()));
FunctionCallbackInfo<v8::Value>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
callback(cbinfo);
}
@@ -185,10 +185,10 @@ void GetterCallbackWrapper(
, const v8::PropertyCallbackInfo<v8::Value> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Value>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
GetterCallback callback = reinterpret_cast<GetterCallback>(
reinterpret_cast<intptr_t>(
- obj->GetInternalField(kGetterIndex).As<v8::External>()->Value()));
+ obj->GetInternalField(kGetterIndex).As<v8::Value>().As<v8::External>()->Value()));
callback(property.As<v8::String>(), cbinfo);
}
@@ -202,10 +202,10 @@ void SetterCallbackWrapper(
, const v8::PropertyCallbackInfo<void> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<void>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
SetterCallback callback = reinterpret_cast<SetterCallback>(
reinterpret_cast<intptr_t>(
- obj->GetInternalField(kSetterIndex).As<v8::External>()->Value()));
+ obj->GetInternalField(kSetterIndex).As<v8::Value>().As<v8::External>()->Value()));
callback(property.As<v8::String>(), value, cbinfo);
}
@@ -220,10 +220,10 @@ void GetterCallbackWrapper(
, const v8::PropertyCallbackInfo<v8::Value> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Value>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
GetterCallback callback = reinterpret_cast<GetterCallback>(
reinterpret_cast<intptr_t>(
- obj->GetInternalField(kGetterIndex).As<v8::External>()->Value()));
+ obj->GetInternalField(kGetterIndex).As<v8::Value>().As<v8::External>()->Value()));
callback(property, cbinfo);
}
@@ -237,10 +237,10 @@ void SetterCallbackWrapper(
, const v8::PropertyCallbackInfo<void> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<void>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
SetterCallback callback = reinterpret_cast<SetterCallback>(
reinterpret_cast<intptr_t>(
- obj->GetInternalField(kSetterIndex).As<v8::External>()->Value()));
+ obj->GetInternalField(kSetterIndex).As<v8::Value>().As<v8::External>()->Value()));
callback(property, value, cbinfo);
}
@@ -257,11 +257,11 @@ void PropertyGetterCallbackWrapper(
, const v8::PropertyCallbackInfo<v8::Value> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Value>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
PropertyGetterCallback callback = reinterpret_cast<PropertyGetterCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(kPropertyGetterIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(property.As<v8::String>(), cbinfo);
}
@@ -275,11 +275,11 @@ void PropertySetterCallbackWrapper(
, const v8::PropertyCallbackInfo<v8::Value> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Value>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
PropertySetterCallback callback = reinterpret_cast<PropertySetterCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(kPropertySetterIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(property.As<v8::String>(), value, cbinfo);
}
@@ -293,11 +293,11 @@ void PropertyEnumeratorCallbackWrapper(
const v8::PropertyCallbackInfo<v8::Array> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Array>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
PropertyEnumeratorCallback callback =
reinterpret_cast<PropertyEnumeratorCallback>(reinterpret_cast<intptr_t>(
obj->GetInternalField(kPropertyEnumeratorIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(cbinfo);
}
@@ -310,11 +310,11 @@ void PropertyDeleterCallbackWrapper(
, const v8::PropertyCallbackInfo<v8::Boolean> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Boolean>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
PropertyDeleterCallback callback = reinterpret_cast<PropertyDeleterCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(kPropertyDeleterIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(property.As<v8::String>(), cbinfo);
}
@@ -327,11 +327,11 @@ void PropertyQueryCallbackWrapper(
, const v8::PropertyCallbackInfo<v8::Integer> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Integer>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
PropertyQueryCallback callback = reinterpret_cast<PropertyQueryCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(kPropertyQueryIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(property.As<v8::String>(), cbinfo);
}
@@ -344,11 +344,11 @@ void PropertyGetterCallbackWrapper(
, const v8::PropertyCallbackInfo<v8::Value> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Value>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
PropertyGetterCallback callback = reinterpret_cast<PropertyGetterCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(kPropertyGetterIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(property, cbinfo);
}
@@ -384,7 +384,7 @@ void PropertyEnumeratorCallbackWrapper(
PropertyEnumeratorCallback callback =
reinterpret_cast<PropertyEnumeratorCallback>(reinterpret_cast<intptr_t>(
obj->GetInternalField(kPropertyEnumeratorIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(cbinfo);
}
@@ -401,7 +401,7 @@ void PropertyDeleterCallbackWrapper(
PropertyDeleterCallback callback = reinterpret_cast<PropertyDeleterCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(kPropertyDeleterIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(property, cbinfo);
}
@@ -414,11 +414,11 @@ void PropertyQueryCallbackWrapper(
, const v8::PropertyCallbackInfo<v8::Integer> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Integer>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
PropertyQueryCallback callback = reinterpret_cast<PropertyQueryCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(kPropertyQueryIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(property, cbinfo);
}
@@ -431,11 +431,11 @@ void IndexGetterCallbackWrapper(
uint32_t index, const v8::PropertyCallbackInfo<v8::Value> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Value>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
IndexGetterCallback callback = reinterpret_cast<IndexGetterCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(kIndexPropertyGetterIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(index, cbinfo);
}
@@ -449,11 +449,11 @@ void IndexSetterCallbackWrapper(
, const v8::PropertyCallbackInfo<v8::Value> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Value>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
IndexSetterCallback callback = reinterpret_cast<IndexSetterCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(kIndexPropertySetterIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(index, value, cbinfo);
}
@@ -467,11 +467,11 @@ void IndexEnumeratorCallbackWrapper(
const v8::PropertyCallbackInfo<v8::Array> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Array>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
IndexEnumeratorCallback callback = reinterpret_cast<IndexEnumeratorCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(
- kIndexPropertyEnumeratorIndex).As<v8::External>()->Value()));
+ kIndexPropertyEnumeratorIndex).As<v8::Value>().As<v8::External>()->Value()));
callback(cbinfo);
}
@@ -483,11 +483,11 @@ void IndexDeleterCallbackWrapper(
uint32_t index, const v8::PropertyCallbackInfo<v8::Boolean> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Boolean>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
IndexDeleterCallback callback = reinterpret_cast<IndexDeleterCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(kIndexPropertyDeleterIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(index, cbinfo);
}
@@ -499,11 +499,11 @@ void IndexQueryCallbackWrapper(
uint32_t index, const v8::PropertyCallbackInfo<v8::Integer> &info) {
v8::Local<v8::Object> obj = info.Data().As<v8::Object>();
PropertyCallbackInfo<v8::Integer>
- cbinfo(info, obj->GetInternalField(kDataIndex));
+ cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
IndexQueryCallback callback = reinterpret_cast<IndexQueryCallback>(
reinterpret_cast<intptr_t>(
obj->GetInternalField(kIndexPropertyQueryIndex)
- .As<v8::External>()->Value()));
+ .As<v8::Value>().As<v8::External>()->Value()));
callback(index, cbinfo);
}

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

@ -37,10 +37,11 @@ fix_account_for_createexternalizablestring_v8_global.patch
fix_wunreachable-code_warning_in_ares_init_rand_engine.patch
fix_-wshadow_warning.patch
fix_do_not_resolve_electron_entrypoints.patch
fix_adapt_generator_tostringtag_prototype_to_v8.patch
fix_ftbfs_werror_wunreachable-code-break.patch
fix_ftbfs_werror_wextra-semi.patch
fix_isurl_implementation.patch
ci_ensure_node_tests_set_electron_run_as_node.patch
chore_update_fixtures_errors_force_colors_snapshot.patch
fix_assert_module_in_the_renderer_process.patch
src_cast_v8_object_getinternalfield_return_value_to_v8_value.patch
fix_add_trusted_space_and_trusted_lo_space_to_the_v8_heap.patch

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

@ -1,20 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Mon, 31 Jul 2023 14:17:40 +0200
Subject: fix: adapt generator toStringTag prototype to V8
https://chromium-review.googlesource.com/c/v8/v8/+/4670615
diff --git a/test/parallel/test-util-inspect.js b/test/parallel/test-util-inspect.js
index 9b57fd4a99b10e6509eb319878283b7e24c7d7a3..1a972090cc9c5e174141108bf5b406cb57080ad2 100644
--- a/test/parallel/test-util-inspect.js
+++ b/test/parallel/test-util-inspect.js
@@ -3212,7 +3212,7 @@ assert.strictEqual(
'[GeneratorFunction: generator] {\n' +
' [length]: 0,\n' +
" [name]: 'generator',\n" +
- " [prototype]: Object [Generator] { [Symbol(Symbol.toStringTag)]: 'Generator' },\n" + // eslint-disable-line max-len
+ " [prototype]: Iterator [Generator] { [Symbol(Symbol.toStringTag)]: 'Generator' },\n" + // eslint-disable-line max-len
" [Symbol(Symbol.toStringTag)]: 'GeneratorFunction'\n" +
'}'
);

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

@ -0,0 +1,25 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Tue, 12 Sep 2023 11:08:18 +0200
Subject: fix: Add TRUSTED_SPACE and TRUSTED_LO_SPACE to the V8 heap
Added by V8 in https://chromium-review.googlesource.com/c/v8/v8/+/4791643
This patch can be removed when Node.js upgrades to a version of V8 that
includes this change.
diff --git a/test/parallel/test-v8-stats.js b/test/parallel/test-v8-stats.js
index 83b375bd3c5b5dbd5189d48ad560580883ac91f6..2366cbf716c11851bb3a759dce5db47d616516dc 100644
--- a/test/parallel/test-v8-stats.js
+++ b/test/parallel/test-v8-stats.js
@@ -47,7 +47,9 @@ const expectedHeapSpaces = [
'old_space',
'read_only_space',
'shared_large_object_space',
- 'shared_space'
+ 'shared_space',
+ 'trusted_large_object_space',
+ 'trusted_space'
];
const heapSpaceStatistics = v8.getHeapSpaceStatistics();
const actualHeapSpaceNames = heapSpaceStatistics.map((s) => s.space_name);

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

@ -0,0 +1,113 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Joyee Cheung <joyeec9h3@gmail.com>
Date: Wed, 2 Aug 2023 04:14:35 +0200
Subject: src: cast v8::Object::GetInternalField() return value to v8::Value
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
In preparation of https://chromium-review.googlesource.com/c/v8/v8/+/4707972
which changes the return value to v8::Data.
PR-URL: https://github.com/nodejs/node/pull/48943
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
diff --git a/src/base_object-inl.h b/src/base_object-inl.h
index f003f1390b864f2f3874ec144b413fe5cec2dc56..0148c75427985e2ff034fafb15f3ac4604b48734 100644
--- a/src/base_object-inl.h
+++ b/src/base_object-inl.h
@@ -127,7 +127,8 @@ template <int Field>
void BaseObject::InternalFieldGet(
v8::Local<v8::String> property,
const v8::PropertyCallbackInfo<v8::Value>& info) {
- info.GetReturnValue().Set(info.This()->GetInternalField(Field));
+ info.GetReturnValue().Set(
+ info.This()->GetInternalField(Field).As<v8::Value>());
}
template <int Field, bool (v8::Value::* typecheck)() const>
diff --git a/src/module_wrap.cc b/src/module_wrap.cc
index e0f1b2d51f3055b2250f2c0dc1dfd1048b645dd9..d2d9e06da8da068bb53f8d9a656e912d8b1fff3d 100644
--- a/src/module_wrap.cc
+++ b/src/module_wrap.cc
@@ -77,7 +77,7 @@ ModuleWrap::~ModuleWrap() {
}
Local<Context> ModuleWrap::context() const {
- Local<Value> obj = object()->GetInternalField(kContextObjectSlot);
+ Local<Value> obj = object()->GetInternalField(kContextObjectSlot).As<Value>();
if (obj.IsEmpty()) return {};
return obj.As<Object>()->GetCreationContext().ToLocalChecked();
}
@@ -685,7 +685,9 @@ MaybeLocal<Value> ModuleWrap::SyntheticModuleEvaluationStepsCallback(
TryCatchScope try_catch(env);
Local<Function> synthetic_evaluation_steps =
- obj->object()->GetInternalField(kSyntheticEvaluationStepsSlot)
+ obj->object()
+ ->GetInternalField(kSyntheticEvaluationStepsSlot)
+ .As<Value>()
.As<Function>();
obj->object()->SetInternalField(
kSyntheticEvaluationStepsSlot, Undefined(isolate));
diff --git a/src/node_file.cc b/src/node_file.cc
index 4993da585322dbe9f4faec986ae36d4f215b35af..c0507777273cff6ef781dd9e09e1423e92a431aa 100644
--- a/src/node_file.cc
+++ b/src/node_file.cc
@@ -439,7 +439,7 @@ MaybeLocal<Promise> FileHandle::ClosePromise() {
Local<Context> context = env()->context();
Local<Value> close_resolver =
- object()->GetInternalField(FileHandle::kClosingPromiseSlot);
+ object()->GetInternalField(FileHandle::kClosingPromiseSlot).As<Value>();
if (!close_resolver.IsEmpty() && !close_resolver->IsUndefined()) {
CHECK(close_resolver->IsPromise());
return close_resolver.As<Promise>();
diff --git a/src/node_task_queue.cc b/src/node_task_queue.cc
index 5d0e2b0d4c7ba16f920176ac42a33d70610f273e..1a0cb082a2534f17233d0557e95837b2ce79d43b 100644
--- a/src/node_task_queue.cc
+++ b/src/node_task_queue.cc
@@ -50,7 +50,7 @@ static Maybe<double> GetAssignedPromiseWrapAsyncId(Environment* env,
// be an object. If it's not, we just ignore it. Ideally v8 would
// have had GetInternalField returning a MaybeLocal but this works
// for now.
- Local<Value> promiseWrap = promise->GetInternalField(0);
+ Local<Value> promiseWrap = promise->GetInternalField(0).As<Value>();
if (promiseWrap->IsObject()) {
Local<Value> maybe_async_id;
if (!promiseWrap.As<Object>()->Get(env->context(), id_symbol)
diff --git a/src/node_zlib.cc b/src/node_zlib.cc
index fac116f9e6b3e23451c812be0a123fe6368fb3df..0c4ae0fc794347be49502977d8a375ff1007a605 100644
--- a/src/node_zlib.cc
+++ b/src/node_zlib.cc
@@ -423,7 +423,8 @@ class CompressionStream : public AsyncWrap, public ThreadPoolWork {
UpdateWriteResult();
// call the write() cb
- Local<Value> cb = object()->GetInternalField(kWriteJSCallback);
+ Local<Value> cb =
+ object()->GetInternalField(kWriteJSCallback).template As<Value>();
MakeCallback(cb.As<Function>(), 0, nullptr);
if (pending_close_)
diff --git a/src/stream_base.cc b/src/stream_base.cc
index f1769ca52970fed7267fed4df29aee0803faa859..b9dfc645e2b49c73822fc7277f296d028699de05 100644
--- a/src/stream_base.cc
+++ b/src/stream_base.cc
@@ -470,8 +470,9 @@ MaybeLocal<Value> StreamBase::CallJSOnreadMethod(ssize_t nread,
AsyncWrap* wrap = GetAsyncWrap();
CHECK_NOT_NULL(wrap);
- Local<Value> onread = wrap->object()->GetInternalField(
- StreamBase::kOnReadFunctionField);
+ Local<Value> onread = wrap->object()
+ ->GetInternalField(StreamBase::kOnReadFunctionField)
+ .As<Value>();
CHECK(onread->IsFunction());
return wrap->MakeCallback(onread.As<Function>(), arraysize(argv), argv);
}

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

@ -9,10 +9,10 @@ necessary for native modules to load.
Also change visibility on mksnapshot in order to target mksnapshot for mksnapshot zip.
diff --git a/BUILD.gn b/BUILD.gn
index dd97c4f922c81a65bdc401e251612333ca63ee78..0509b89bee4ff47ba9e55c244a50b7470b3ea1c3 100644
index 96e9f4f6db35aacd6d9420a2551ba469712a241c..71fc91c4b8836aa5b7019f328a71eb5af59a0d66 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -747,7 +747,7 @@ config("internal_config") {
@@ -750,7 +750,7 @@ config("internal_config") {
":cppgc_header_features",
]
@ -21,7 +21,7 @@ index dd97c4f922c81a65bdc401e251612333ca63ee78..0509b89bee4ff47ba9e55c244a50b747
defines += [ "BUILDING_V8_SHARED" ]
}
@@ -6741,7 +6741,7 @@ if (current_toolchain == v8_generator_toolchain) {
@@ -6744,7 +6744,7 @@ if (current_toolchain == v8_generator_toolchain) {
"src/interpreter/bytecodes.h",
]
@ -30,7 +30,7 @@ index dd97c4f922c81a65bdc401e251612333ca63ee78..0509b89bee4ff47ba9e55c244a50b747
deps = [
":v8_libbase",
@@ -6753,7 +6753,6 @@ if (current_toolchain == v8_generator_toolchain) {
@@ -6756,7 +6756,6 @@ if (current_toolchain == v8_generator_toolchain) {
if (current_toolchain == v8_snapshot_toolchain) {
v8_executable("mksnapshot") {

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

@ -12,10 +12,10 @@ This patch can be safely removed if, when it is removed, `node.lib` does not
contain any standard C++ library exports (e.g. `std::ostringstream`).
diff --git a/BUILD.gn b/BUILD.gn
index 0509b89bee4ff47ba9e55c244a50b7470b3ea1c3..e5a30137ccb2051f43e2bdfc276052e1e9114669 100644
index 71fc91c4b8836aa5b7019f328a71eb5af59a0d66..f73d601be099d4fd480107c2e003a78ddfa77c45 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -747,6 +747,10 @@ config("internal_config") {
@@ -750,6 +750,10 @@ config("internal_config") {
":cppgc_header_features",
]

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

@ -16,6 +16,7 @@
#include "media/base/media_switches.h"
#include "net/base/features.h"
#include "services/network/public/cpp/features.h"
#include "third_party/blink/public/common/features.h"
#if BUILDFLAG(IS_MAC)
#include "device/base/features.h" // nogncheck
@ -36,6 +37,9 @@ void InitializeFeatureList() {
disable_features +=
std::string(",") + features::kSpareRendererForSitePerProcess.name;
// TODO(codebytere): Remove WebSQL support per crbug.com/695592.
enable_features += std::string(",") + blink::features::kWebSQLAccess.name;
#if BUILDFLAG(IS_WIN)
disable_features +=
// Disable async spellchecker suggestions for Windows, which causes

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

@ -81,8 +81,10 @@ bool Converter<gin_helper::AccessorValue<content::RenderFrameHost*>>::FromV8(
if (rfh_obj->InternalFieldCount() != 2)
return false;
v8::Local<v8::Value> process_id_wrapper = rfh_obj->GetInternalField(0);
v8::Local<v8::Value> routing_id_wrapper = rfh_obj->GetInternalField(1);
v8::Local<v8::Value> process_id_wrapper =
rfh_obj->GetInternalField(0).As<v8::Value>();
v8::Local<v8::Value> routing_id_wrapper =
rfh_obj->GetInternalField(1).As<v8::Value>();
if (process_id_wrapper.IsEmpty() || !process_id_wrapper->IsNumber() ||
routing_id_wrapper.IsEmpty() || !routing_id_wrapper->IsNumber())

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

@ -377,7 +377,8 @@ v8::MaybeLocal<v8::Value> PassValueToOtherContext(
}
// Custom logic to "clone" Element references
blink::WebElement elem = blink::WebElement::FromV8Value(value);
blink::WebElement elem =
blink::WebElement::FromV8Value(destination_context->GetIsolate(), value);
if (!elem.IsNull()) {
v8::Context::Scope destination_context_scope(destination_context);
return v8::MaybeLocal<v8::Value>(elem.ToV8Value(
@ -385,7 +386,8 @@ v8::MaybeLocal<v8::Value> PassValueToOtherContext(
}
// Custom logic to "clone" Blob references
blink::WebBlob blob = blink::WebBlob::FromV8Value(value);
blink::WebBlob blob =
blink::WebBlob::FromV8Value(destination_context->GetIsolate(), value);
if (!blob.IsNull()) {
v8::Context::Scope destination_context_scope(destination_context);
return v8::MaybeLocal<v8::Value>(

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

@ -3542,12 +3542,13 @@ describe('BrowserWindow module', () => {
// so let's close it from here before we run any checks.
await closeWindow(popupWindow, { assertNotWindows: false });
const errorPattern = /Failed to read a named property 'document' from 'Window': Blocked a frame with origin "(.*?)" from accessing a cross-origin frame./;
expect(popupAccessMessage).to.be.a('string',
'child\'s .document is accessible from its parent window');
expect(popupAccessMessage).to.match(/^Blocked a frame with origin/);
expect(popupAccessMessage).to.match(errorPattern);
expect(openerAccessMessage).to.be.a('string',
'opener .document is accessible from a popup window');
expect(openerAccessMessage).to.match(/^Blocked a frame with origin/);
expect(openerAccessMessage).to.match(errorPattern);
});
it('should inherit the sandbox setting in opened windows', async () => {
@ -3754,7 +3755,7 @@ describe('BrowserWindow module', () => {
const answer = once(ipcMain, 'answer');
w.loadFile(path.join(fixtures, 'api', 'native-window-open-cross-origin.html'));
const [, content] = await answer;
expect(content).to.equal('Blocked a frame with origin "file://" from accessing a cross-origin frame.');
expect(content).to.equal('Failed to read a named property \'toString\' from \'Location\': Blocked a frame with origin "file://" from accessing a cross-origin frame.');
});
it('opens window from <iframe> tags', async () => {
const answer = once(ipcMain, 'answer');

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

@ -39,7 +39,7 @@
"yargs": "^16.0.3"
},
"resolutions": {
"nan": "github:jkleinsc/nan#remove_accessor_signature",
"nan": "nodejs/nan#4290e23af108328269fcd4fe174ad657ad7cdd96",
"dbus-native/optimist/minimist": "1.2.7",
"dbus-native/xml2js": "0.5.0"
}

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

@ -669,9 +669,9 @@ describe('<webview> tag', function () {
const [, content] = await once(ipcMain, 'answer');
const expectedContent =
'Blocked a frame with origin "file://" from accessing a cross-origin frame.';
/Failed to read a named property 'toString' from 'Location': Blocked a frame with origin "(.*?)" from accessing a cross-origin frame./;
expect(content).to.equal(expectedContent);
expect(content).to.match(expectedContent);
});
it('emits a browser-window-created event', async () => {