зеркало из https://github.com/electron/electron.git
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 commit38fef075fc
. * 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 commitd94c7720ba
. --------- 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:
Родитель
c8544e25df
Коммит
73e33bc876
2
DEPS
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 () => {
|
||||
|
|
Загрузка…
Ссылка в новой задаче