mirror of
https://github.com/electron/electron.git
synced 2026-01-06 22:24:03 -05:00
chore: bump chromium to 144.0.7527.0 (main) (#48959)
* chore: bump chromium in DEPS to 144.0.7527.0 * 7106405: [video pip] Fix gesture handling issues https://chromium-review.googlesource.com/c/chromium/src/+/7106405 * 7130938: Reland "Remove some dependencies from the custom_handlers component" https://chromium-review.googlesource.com/c/chromium/src/+/7130938 * 7139361: Rename PluginService's GetPlugins methods https://chromium-review.googlesource.com/c/chromium/src/+/7139361 * chore: fixup patch indices * test: fix macos webgl test | 7128438: Reland "Flip SwiftShader deprecation to launched." | https://chromium-review.googlesource.com/c/chromium/src/+/7128438 * test: update webgl test to skip on fallback adapters * Fixup spec runner to properly fail on linux when tests fail * test: fixup dbus tests * test: convert shared-texture-spec from old done callback to async Fixes Error: done() called multiple times in test <sharedTexture module import shared texture produced by osr successfully imported and rendered with subtle api> of file /__w/electron/electron/src/electron/spec/api-shared-texture-spec.ts * test: fixup shared texture spec * Revert "test: fixup dbus tests" This reverts commit3e2e720003. * test: fixup dbus tests * test: disable context menu spellcheck tests on linux https://github.com/electron/electron/pull/48657 broke those tests * disable sharedTexture tests on platforms other than macOS arm64 They were not working on other platforms previously but now they error out. Also removed extraneous debugging. * fix: use github.sha for yarn cache key to avoid hashFiles() composite action bug * Use --immutable-cache to allow native module builds * fix: wait for devtools blur event in focus test to avoid race condition * fix: wait for devtools blur event in focus test to avoid race condition * fix allow native module builds in spec workspace * test:rebuild native modules * Revert "fix allow native module builds in spec workspace" This reverts commitffda3be98c. * Revert "Use --immutable-cache to allow native module builds" This reverts commit2e6eea4348. * Revert "fix: use github.sha for yarn cache key to avoid hashFiles() composite action bug" This reverts commit33560ba0de. --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: Keeley Hammond <khammond@slack-corp.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: Alice Zhao <alicelovescake@anthropic.com>
This commit is contained in:
committed by
GitHub
parent
05233b4962
commit
66367e9db4
@@ -243,9 +243,9 @@ jobs:
|
||||
runuser -u builduser -- xvfb-run script/actions/run-tests.sh script/yarn.js test --runners=main --trace-uncaught --enable-logging --files $tests_files | $ASAN_SYMBOLIZE
|
||||
else
|
||||
if [ "${{ inputs.target-arch }}" = "arm" ]; then
|
||||
runuser -u builduser -- xvfb-run script/actions/run-tests.sh script/yarn.js test --skipYarnInstall --runners=main --trace-uncaught --enable-logging --files $tests_files
|
||||
runuser -u builduser -- xvfb-run script/actions/run-tests.sh script/yarn.js test --skipYarnInstall --runners=main --enableRerun=3 --trace-uncaught --enable-logging --files $tests_files
|
||||
else
|
||||
runuser -u builduser -- xvfb-run script/actions/run-tests.sh script/yarn.js test --runners=main --trace-uncaught --enable-logging --files $tests_files
|
||||
runuser -u builduser -- xvfb-run script/actions/run-tests.sh script/yarn.js test --runners=main --enableRerun=3 --trace-uncaught --enable-logging --files $tests_files
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
2
DEPS
2
DEPS
@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
|
||||
|
||||
vars = {
|
||||
'chromium_version':
|
||||
'144.0.7526.0',
|
||||
'144.0.7527.0',
|
||||
'node_version':
|
||||
'v24.11.1',
|
||||
'nan_version':
|
||||
|
||||
@@ -135,12 +135,20 @@
|
||||
"node script/gen-libc++-filenames.js"
|
||||
]
|
||||
},
|
||||
"resolutions": {
|
||||
"dbus-native/xml2js": "0.5.0",
|
||||
"abstract-socket": "github:deepak1556/node-abstractsocket#928cc591decd12aff7dad96449da8afc29832c19",
|
||||
"minimist@npm:~0.0.1": "0.2.4"
|
||||
},
|
||||
"packageManager": "yarn@4.11.0",
|
||||
"workspaces": [
|
||||
"spec",
|
||||
"spec/fixtures/native-addon/*"
|
||||
],
|
||||
"dependenciesMeta": {
|
||||
"abstract-socket": {
|
||||
"built": true
|
||||
},
|
||||
"dugite": {
|
||||
"built": true
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ index 7944fe64e0da112fc670358b75506bb199bb5e4a..0e3c16c6af2a078943e9f39808134ab2
|
||||
void SendRendererPreferencesToRenderer(
|
||||
const blink::RendererPreferences& preferences);
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
index 84899b5208f036bd58ba51513820404b6c5a24b9..87fd5aa4fab7ddd0b444a3c8473ae35066c87054 100644
|
||||
index c6434aedc2529a05c74d8163f2184990cd7cb14c..f19ed1ca1b5f28fc0373106c961a91976df12061 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
@@ -632,8 +632,8 @@ void RenderWidgetHostViewAura::ShowImpl(PageVisibilityState page_visibility) {
|
||||
|
||||
@@ -33,7 +33,7 @@ index 606b3bd43179a5b4179a6ec9f58e531d55c1acb5..4d503a53290b4deaea016bb6867f3c07
|
||||
"//base",
|
||||
"//build:branding_buildflags",
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
index c88784479b8d67d8a3f534b555bd6e74c46173fe..cfd9ed1e6a37b3f0034116323320958a1d962f43 100644
|
||||
index b5d32cb1857b2fa7bd5e599a9256ce4d512d7887..dead035b27372526a81aea766be78308c7f56620 100644
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -4837,7 +4837,7 @@ static_library("browser") {
|
||||
@@ -46,10 +46,10 @@ index c88784479b8d67d8a3f534b555bd6e74c46173fe..cfd9ed1e6a37b3f0034116323320958a
|
||||
# than here in :chrome_dll.
|
||||
deps += [ "//chrome:packed_resources_integrity_header" ]
|
||||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
index 23f175d87f95562875af1e7ddd51be4f719e82b8..7488e095e0d32753dff7f5f170a4187ee6b7711e 100644
|
||||
index 4882a382e133cefbc669035471c02d90e4592cf0..f24ba12f37e8c926259de9f1ae0b724acdab2afe 100644
|
||||
--- a/chrome/test/BUILD.gn
|
||||
+++ b/chrome/test/BUILD.gn
|
||||
@@ -7599,9 +7599,12 @@ test("unit_tests") {
|
||||
@@ -7602,9 +7602,12 @@ test("unit_tests") {
|
||||
"//chrome/notification_helper",
|
||||
]
|
||||
|
||||
@@ -63,7 +63,7 @@ index 23f175d87f95562875af1e7ddd51be4f719e82b8..7488e095e0d32753dff7f5f170a4187e
|
||||
"//chrome//services/util_win:unit_tests",
|
||||
"//chrome/app:chrome_dll_resources",
|
||||
"//chrome/app:win_unit_tests",
|
||||
@@ -8544,6 +8547,10 @@ test("unit_tests") {
|
||||
@@ -8547,6 +8550,10 @@ test("unit_tests") {
|
||||
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
|
||||
]
|
||||
|
||||
@@ -74,7 +74,7 @@ index 23f175d87f95562875af1e7ddd51be4f719e82b8..7488e095e0d32753dff7f5f170a4187e
|
||||
sources += [
|
||||
# The importer code is not used on Android.
|
||||
"../common/importer/firefox_importer_utils_unittest.cc",
|
||||
@@ -8600,7 +8607,6 @@ test("unit_tests") {
|
||||
@@ -8603,7 +8610,6 @@ test("unit_tests") {
|
||||
# TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above?
|
||||
deps += [
|
||||
"../browser/screen_ai:screen_ai_install_state",
|
||||
|
||||
@@ -10,20 +10,14 @@ handlers. A DCHECK causes Electron to crash until we provide our own
|
||||
registry. This patch disables the check until we support this.
|
||||
|
||||
diff --git a/extensions/browser/api/protocol_handlers/protocol_handlers_manager.cc b/extensions/browser/api/protocol_handlers/protocol_handlers_manager.cc
|
||||
index 902cf488c7d84923365c4197a70b06e61e3af038..dce80684853f89a68a2d21997102f48feb3df8f8 100644
|
||||
index 7f26a1c3a63c8717705cbf6fe09ca3812450e15d..81b038bc8a1e16d9d7c71b7d74451a2601a2e238 100644
|
||||
--- a/extensions/browser/api/protocol_handlers/protocol_handlers_manager.cc
|
||||
+++ b/extensions/browser/api/protocol_handlers/protocol_handlers_manager.cc
|
||||
@@ -129,7 +129,12 @@ void ProtocolHandlersManager::ProtocolHandlersSanityCheck() {
|
||||
auto* ph_registry =
|
||||
ExtensionsBrowserClient::Get()->GetProtocolHandlerRegistry(
|
||||
@@ -140,7 +140,6 @@ void ProtocolHandlersManager::ProtocolHandlersSanityCheck() {
|
||||
browser_context_);
|
||||
- DCHECK(ph_registry);
|
||||
+
|
||||
+ // TODO(samuelmaddock): Add support for extensions protocol handler. For now,
|
||||
+ // let's ignore this.
|
||||
+ if (!ph_registry)
|
||||
+ return;
|
||||
+
|
||||
// Can be null for tests using dummy profiles.
|
||||
if (!ph_registry) {
|
||||
- CHECK_IS_TEST();
|
||||
return;
|
||||
}
|
||||
for (const auto& handler : ph_registry->GetExtensionProtocolHandlers()) {
|
||||
DCHECK(handler.extension_id());
|
||||
if (!enabled_ids.contains(*handler.extension_id())) {
|
||||
|
||||
@@ -34,7 +34,7 @@ index 2d32d91eb98fe749ae262ba06a1a399813aa7bab..8ebf542046ffba6823804b797e373c80
|
||||
// |routing_id| must not be IPC::mojom::kRoutingIdNone.
|
||||
// If this object outlives |delegate|, DetachDelegate() must be called when
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
index 9b1712382e208ef949616243d6ec1feab46f8fb3..84899b5208f036bd58ba51513820404b6c5a24b9 100644
|
||||
index a96a08f4deac9ce1fcfff32f36c46aada8acc0aa..c6434aedc2529a05c74d8163f2184990cd7cb14c 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
@@ -696,7 +696,7 @@ void RenderWidgetHostViewAura::HideImpl() {
|
||||
|
||||
@@ -33,7 +33,7 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
|
||||
|
||||
} // namespace net
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
index 61c7bd716e2ed78c8f71cba50d34e80d6effad4f..68ec7012adbdb1ac65fe784f4a928474a8894a70 100644
|
||||
index 30605be7f7f84eaac3408d728e66481b61d1ebbb..bb43bbc550de130e667aa997613057bbd4361d08 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -1911,6 +1911,13 @@ void NetworkContext::EnableDurableMessageCollector(
|
||||
@@ -51,10 +51,10 @@ index 61c7bd716e2ed78c8f71cba50d34e80d6effad4f..68ec7012adbdb1ac65fe784f4a928474
|
||||
// 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 90cf1a70c068771ac98b2d5a283cba5e54c05ff4..0dc8de8d4e37e48cb28d8112c0233ac80cfb9ba5 100644
|
||||
index a6e6605e1241931f2fda2df1054476255ee58cdc..faaa1b7035cea0efe8547fc3a0248c27c7efd934 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -336,6 +336,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -334,6 +334,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
const base::UnguessableToken& throttling_profile_id,
|
||||
mojo::PendingReceiver<network::mojom::DurableMessageCollector> receiver)
|
||||
override;
|
||||
@@ -63,10 +63,10 @@ index 90cf1a70c068771ac98b2d5a283cba5e54c05ff4..0dc8de8d4e37e48cb28d8112c0233ac8
|
||||
void SetEnableReferrers(bool enable_referrers) override;
|
||||
#if BUILDFLAG(IS_CT_SUPPORTED)
|
||||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||
index 269b95a51029b2a2e42d663988f2c1b8a74f91a8..b819cd38ab8921d494caff3d2ae0ab86c9860d9c 100644
|
||||
index 8d6f011b4ae0111e18c6388622450bc47fd52875..3e7a2e29c48ba0f3791eead380090f9fb66cc5fc 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -1345,6 +1345,9 @@ interface NetworkContext {
|
||||
@@ -1331,6 +1331,9 @@ interface NetworkContext {
|
||||
mojo_base.mojom.UnguessableToken throttling_profile_id,
|
||||
pending_receiver<DurableMessageCollector> receiver);
|
||||
|
||||
@@ -77,10 +77,10 @@ index 269b95a51029b2a2e42d663988f2c1b8a74f91a8..b819cd38ab8921d494caff3d2ae0ab86
|
||||
SetAcceptLanguage(string new_accept_language);
|
||||
|
||||
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
|
||||
index ebcacbcb16057912693a6674e6b9ef5eeb671f91..1f3f18979b76be720a7c202f2a45fcc593c8fc01 100644
|
||||
index 3a8b8e0b3eab3072e7af336e7885e8dd0829e6ad..80bcab8f9e78eddcc82550ef0062de5b5d424c30 100644
|
||||
--- a/services/network/test/test_network_context.h
|
||||
+++ b/services/network/test/test_network_context.h
|
||||
@@ -162,6 +162,7 @@ class TestNetworkContext : public mojom::NetworkContext {
|
||||
@@ -160,6 +160,7 @@ class TestNetworkContext : public mojom::NetworkContext {
|
||||
void SetNetworkConditions(
|
||||
const base::UnguessableToken& throttling_profile_id,
|
||||
std::vector<mojom::MatchedNetworkConditionsPtr>) override {}
|
||||
|
||||
@@ -405,10 +405,10 @@ index 33e2ff42e4d9da442d522b959a4a21c2f7032b6b..a0d81212327fc17e1f4704e78803c1d7
|
||||
std::vector<std::string> extension_schemes;
|
||||
// Registers a URL scheme with a predefined default custom handler.
|
||||
diff --git a/url/url_util.cc b/url/url_util.cc
|
||||
index 94cbe0bb382b4b64db390dcd6d725e13f54b6666..5c3949c01f27cab5e4f8a56bbbf11c0f9718eed2 100644
|
||||
index f3908c04715ab399f61dd6bd781f5378f14584e2..c119360ff5dee3b51e6db65b9628aa7a27d0a213 100644
|
||||
--- a/url/url_util.cc
|
||||
+++ b/url/url_util.cc
|
||||
@@ -136,6 +136,9 @@ struct SchemeRegistry {
|
||||
@@ -131,6 +131,9 @@ struct SchemeRegistry {
|
||||
kMaterializedViewScheme,
|
||||
};
|
||||
|
||||
@@ -418,7 +418,7 @@ index 94cbe0bb382b4b64db390dcd6d725e13f54b6666..5c3949c01f27cab5e4f8a56bbbf11c0f
|
||||
// Schemes with a predefined default custom handler.
|
||||
std::vector<SchemeWithHandler> predefined_handler_schemes;
|
||||
|
||||
@@ -673,6 +676,15 @@ const std::vector<std::string>& GetEmptyDocumentSchemes() {
|
||||
@@ -668,6 +671,15 @@ const std::vector<std::string>& GetEmptyDocumentSchemes() {
|
||||
return GetSchemeRegistry().empty_document_schemes;
|
||||
}
|
||||
|
||||
|
||||
@@ -312,7 +312,7 @@ index 1d6b8160e8db2a94ee61ed41ac9a74db5b1bfb17..373bcd30c6a4526262912021aaf2b560
|
||||
|
||||
auto DrawAsSinglePath = [&]() {
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
index a5dcd4c68acab6c6a294ababf5527496faec792e..463c97dbf245b1e57e2de5e5131044d89bbcdcd0 100644
|
||||
index 07ac334ffafbce03cbb97f698e347cd2093ef17f..13ae0dfcd3cb63fef13962b6f744195c178414a4 100644
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -214,6 +214,10 @@
|
||||
|
||||
@@ -83,10 +83,10 @@ index a8a1ec300d9286f641f4676be54121eddc9c0ba1..b25a7fe369207f24b52cf1c98abe70f4
|
||||
|
||||
PictureInPictureOcclusionTracker*
|
||||
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 601b178ef0e90753559083f506c9a62a7434c530..2a0f9f87d833504e34ad7d72c0cdd974c0318639 100644
|
||||
index c84f5af15c60ad386efa36d8e1b4112b1bf6a659..9f63a925d286628392ebe1acb1e38cf4343c202f 100644
|
||||
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
@@ -451,11 +451,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
||||
@@ -443,11 +443,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
||||
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
|
||||
@@ -9,10 +9,10 @@ focus node change via TextInputManager.
|
||||
chromium-bug: https://crbug.com/1369605
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
index 87fd5aa4fab7ddd0b444a3c8473ae35066c87054..6edf04acfaea8029e7dd1a573942cdd0ecd610c3 100644
|
||||
index f19ed1ca1b5f28fc0373106c961a91976df12061..66068c19b5fbc26112c36e7ebd38c1a8b9cb5e52 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
@@ -3345,6 +3345,12 @@ void RenderWidgetHostViewAura::OnTextSelectionChanged(
|
||||
@@ -3348,6 +3348,12 @@ void RenderWidgetHostViewAura::OnTextSelectionChanged(
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -35,10 +35,10 @@ system font by checking if it's kCTFontPriorityAttribute is set to
|
||||
system priority.
|
||||
|
||||
diff --git a/base/BUILD.gn b/base/BUILD.gn
|
||||
index 73d636ded85feb3db6582d5eab8c713fb7304b31..9c2c027ec7c22578d10d089d624f3ec395d23f1c 100644
|
||||
index e1a46e92f8afcff9907fffec19acbf96b61241de..5f84d2c36be58346f924f9c1c7f6e9b7ef823a9f 100644
|
||||
--- a/base/BUILD.gn
|
||||
+++ b/base/BUILD.gn
|
||||
@@ -1069,6 +1069,7 @@ component("base") {
|
||||
@@ -1071,6 +1071,7 @@ component("base") {
|
||||
"//build:ios_buildflags",
|
||||
"//build/config/compiler:compiler_buildflags",
|
||||
"//third_party/modp_b64",
|
||||
|
||||
@@ -7,7 +7,7 @@ This adds a callback from the network service that's used to implement
|
||||
session.setCertificateVerifyCallback.
|
||||
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
index 3534a4b276fe96d56a9e7663b35b44aec44344c6..61c7bd716e2ed78c8f71cba50d34e80d6effad4f 100644
|
||||
index 8cdd3435b4759167b536e7ac71894af360e48e88..30605be7f7f84eaac3408d728e66481b61d1ebbb 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -166,6 +166,11 @@
|
||||
@@ -160,7 +160,7 @@ index 3534a4b276fe96d56a9e7663b35b44aec44344c6..61c7bd716e2ed78c8f71cba50d34e80d
|
||||
|
||||
builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
|
||||
diff --git a/services/network/network_context.h b/services/network/network_context.h
|
||||
index 3795ce4def719c36e1dace911be53b0103aeafc5..90cf1a70c068771ac98b2d5a283cba5e54c05ff4 100644
|
||||
index 259ab42036ab9a77ea5e47ef75c9d70d0e71451c..a6e6605e1241931f2fda2df1054476255ee58cdc 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -117,6 +117,7 @@ class URLMatcher;
|
||||
@@ -180,7 +180,7 @@ index 3795ce4def719c36e1dace911be53b0103aeafc5..90cf1a70c068771ac98b2d5a283cba5e
|
||||
void ResetURLLoaderFactories() override;
|
||||
void GetViaObliviousHttp(
|
||||
mojom::ObliviousHttpRequestPtr request,
|
||||
@@ -995,6 +998,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -993,6 +996,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
std::vector<base::OnceClosure> dismount_closures_;
|
||||
#endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED)
|
||||
|
||||
@@ -190,7 +190,7 @@ index 3795ce4def719c36e1dace911be53b0103aeafc5..90cf1a70c068771ac98b2d5a283cba5e
|
||||
std::unique_ptr<HostResolver> internal_host_resolver_;
|
||||
std::set<std::unique_ptr<HostResolver>, base::UniquePtrComparator>
|
||||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||
index f2de77f154f4290f4bbf60f6b5697fdc9383427a..269b95a51029b2a2e42d663988f2c1b8a74f91a8 100644
|
||||
index 91ba6405e1d1c9175240bc628d411c230b3be74f..8d6f011b4ae0111e18c6388622450bc47fd52875 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -311,6 +311,17 @@ struct SocketBrokerRemotes {
|
||||
@@ -222,7 +222,7 @@ index f2de77f154f4290f4bbf60f6b5697fdc9383427a..269b95a51029b2a2e42d663988f2c1b8
|
||||
CreateURLLoaderFactory(
|
||||
pending_receiver<URLLoaderFactory> url_loader_factory,
|
||||
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
|
||||
index 56971f00eea555b3e67e0c20d5e7a8572444690b..ebcacbcb16057912693a6674e6b9ef5eeb671f91 100644
|
||||
index bd1ebce1ab26362e11d44e11ead2bc7f1567aa02..3a8b8e0b3eab3072e7af336e7885e8dd0829e6ad 100644
|
||||
--- a/services/network/test/test_network_context.h
|
||||
+++ b/services/network/test/test_network_context.h
|
||||
@@ -63,6 +63,8 @@ class TestNetworkContext : public mojom::NetworkContext {
|
||||
|
||||
@@ -38,7 +38,7 @@ index a7a637438116a1c7846194dea4412100a45c9331..bb3877d546bfea141d3d6ebb396b88fa
|
||||
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 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a7434c530 100644
|
||||
index 1d7d033888bf8b9ff3ea1e938dc9d92fd09f2bfe..c84f5af15c60ad386efa36d8e1b4112b1bf6a659 100644
|
||||
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
@@ -18,12 +18,16 @@
|
||||
@@ -78,7 +78,7 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
#include "chrome/browser/shell_integration_win.h"
|
||||
#include "content/public/browser/render_widget_host_view.h"
|
||||
#include "ui/aura/window.h"
|
||||
@@ -409,7 +415,7 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
||||
@@ -401,7 +407,7 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
||||
overlay_window->Init(std::move(params));
|
||||
overlay_window->OnRootViewReady();
|
||||
|
||||
@@ -87,7 +87,7 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
std::wstring app_user_model_id;
|
||||
Browser* browser = chrome::FindBrowserWithTab(controller->GetWebContents());
|
||||
if (browser) {
|
||||
@@ -702,6 +708,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) {
|
||||
@@ -694,6 +700,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) {
|
||||
}
|
||||
|
||||
case ui::EventType::kMousePressed:
|
||||
@@ -95,7 +95,7 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
// Hide the live caption dialog if it's visible and the user clicks
|
||||
// outside of it.
|
||||
if (live_caption_dialog_ && live_caption_dialog_->GetVisible() &&
|
||||
@@ -710,6 +717,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) {
|
||||
@@ -702,6 +709,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) {
|
||||
SetLiveCaptionDialogVisibility(false);
|
||||
return;
|
||||
}
|
||||
@@ -103,7 +103,21 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -1213,6 +1221,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
@@ -737,11 +745,11 @@ bool VideoOverlayWindowViews::HideLiveCaptionDialogForGestureIfNecessary(
|
||||
if (event->type() != ui::EventType::kGestureTap) {
|
||||
return false;
|
||||
}
|
||||
-
|
||||
+#if 0
|
||||
if (!live_caption_dialog_->GetVisible()) {
|
||||
return false;
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
if (!GetLiveCaptionDialogBounds().Contains(event->location())) {
|
||||
SetLiveCaptionDialogVisibility(false);
|
||||
event->SetHandled();
|
||||
@@ -1219,6 +1227,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
timestamp->SetBackgroundColor(SK_ColorTRANSPARENT);
|
||||
timestamp->SetHorizontalAlignment(gfx::ALIGN_LEFT);
|
||||
|
||||
@@ -111,7 +125,7 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
auto live_status = std::make_unique<views::Label>(
|
||||
l10n_util::GetStringUTF16(IDS_PICTURE_IN_PICTURE_LIVE_STATUS_TEXT),
|
||||
views::style::CONTEXT_LABEL, views::style::STYLE_CAPTION_BOLD);
|
||||
@@ -1232,6 +1241,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
@@ -1238,6 +1247,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
Profile::FromBrowserContext(
|
||||
controller_->GetWebContents()->GetBrowserContext()));
|
||||
live_caption_dialog->SetVisible(false);
|
||||
@@ -119,23 +133,7 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
|
||||
auto toggle_microphone_button =
|
||||
std::make_unique<ToggleMicrophoneButton>(base::BindRepeating(
|
||||
@@ -1367,6 +1377,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
timestamp->layer()->SetFillsBoundsOpaquely(false);
|
||||
timestamp->layer()->SetName("Timestamp");
|
||||
|
||||
+#if 0
|
||||
live_status->SetPaintToLayer(ui::LAYER_TEXTURED);
|
||||
live_status->layer()->SetFillsBoundsOpaquely(false);
|
||||
live_status->layer()->SetName("LiveStatus");
|
||||
@@ -1378,6 +1389,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
live_caption_dialog->SetPaintToLayer(ui::LAYER_TEXTURED);
|
||||
live_caption_dialog->layer()->SetFillsBoundsOpaquely(false);
|
||||
live_caption_dialog->layer()->SetName("LiveCaptionDialog");
|
||||
+#endif
|
||||
|
||||
toggle_microphone_button->SetPaintToLayer(ui::LAYER_TEXTURED);
|
||||
toggle_microphone_button->layer()->SetFillsBoundsOpaquely(false);
|
||||
@@ -1441,13 +1453,15 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
@@ -1360,13 +1370,15 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
|
||||
timestamp_ =
|
||||
playback_controls_container_view_->AddChildView(std::move(timestamp));
|
||||
@@ -147,12 +145,12 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
live_caption_button_ = playback_controls_container_view_->AddChildView(
|
||||
std::move(live_caption_button));
|
||||
live_caption_dialog_ =
|
||||
controls_container_view->AddChildView(std::move(live_caption_dialog));
|
||||
controls_container_view_->AddChildView(std::move(live_caption_dialog));
|
||||
+#endif
|
||||
|
||||
toggle_camera_button_ = vc_controls_container_view_->AddChildView(
|
||||
std::move(toggle_camera_button));
|
||||
@@ -1709,6 +1723,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
@@ -1622,6 +1634,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
timestamp_->SetSize({max_timestamp_width, kTimestampHeight});
|
||||
timestamp_->SetVisible(!is_live_);
|
||||
|
||||
@@ -160,7 +158,7 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
live_status_->SetPosition(timestamp_position);
|
||||
live_status_->SetMaximumWidthSingleLine(max_timestamp_width);
|
||||
live_status_->SetSize(
|
||||
@@ -1716,7 +1731,6 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
@@ -1629,7 +1642,6 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
.width(),
|
||||
kTimestampHeight});
|
||||
live_status_->SetVisible(is_live_);
|
||||
@@ -168,7 +166,7 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
gfx::Rect live_caption_button_bounds(
|
||||
bottom_controls_bounds.right() - kBottomControlsHorizontalMargin -
|
||||
kActionButtonSize.width(),
|
||||
@@ -1729,7 +1743,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
@@ -1642,7 +1654,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
live_caption_dialog_->SetPosition(
|
||||
{live_caption_button_bounds.right() - live_caption_dialog_->width(),
|
||||
live_caption_button_bounds.y() - live_caption_dialog_->height()});
|
||||
@@ -177,28 +175,7 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
// The play/pause button and replay/forward 10 seconds buttons should not be
|
||||
// visible while dragging the progress bar or for live media.
|
||||
const bool is_dragging_progress_bar =
|
||||
@@ -2053,6 +2067,7 @@ void VideoOverlayWindowViews::OnGestureEvent(ui::GestureEvent* event) {
|
||||
return;
|
||||
}
|
||||
|
||||
+#if 0
|
||||
if (live_caption_dialog_ && live_caption_dialog_->GetVisible()) {
|
||||
if (!GetLiveCaptionDialogBounds().Contains(event->location())) {
|
||||
// Hide the live caption dialog if it's visible and the user taps outside
|
||||
@@ -2061,11 +2076,11 @@ void VideoOverlayWindowViews::OnGestureEvent(ui::GestureEvent* event) {
|
||||
event->SetHandled();
|
||||
return;
|
||||
}
|
||||
-
|
||||
// Otherwise, let the live caption dialog handle the gesture.
|
||||
live_caption_dialog_->OnGestureTapEvent(event);
|
||||
return;
|
||||
}
|
||||
+#endif
|
||||
|
||||
if (GetBackToTabControlsBounds().Contains(event->location())) {
|
||||
controller_->CloseAndFocusInitiator();
|
||||
@@ -2171,18 +2186,25 @@ gfx::Rect VideoOverlayWindowViews::GetProgressViewBounds() {
|
||||
@@ -2041,18 +2053,25 @@ gfx::Rect VideoOverlayWindowViews::GetProgressViewBounds() {
|
||||
}
|
||||
|
||||
gfx::Rect VideoOverlayWindowViews::GetLiveCaptionButtonBounds() {
|
||||
@@ -224,7 +201,7 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
MediaEngagementService* service =
|
||||
MediaEngagementService::Get(Profile::FromBrowserContext(
|
||||
GetController()->GetWebContents()->GetBrowserContext()));
|
||||
@@ -2191,6 +2213,8 @@ bool VideoOverlayWindowViews::HasHighMediaEngagement(
|
||||
@@ -2061,6 +2080,8 @@ bool VideoOverlayWindowViews::HasHighMediaEngagement(
|
||||
}
|
||||
|
||||
return service->HasHighEngagement(origin);
|
||||
@@ -233,7 +210,7 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
}
|
||||
|
||||
bool VideoOverlayWindowViews::IsTrustedForMediaPlayback() const {
|
||||
@@ -2447,16 +2471,20 @@ void VideoOverlayWindowViews::UpdateTimestampLabel(base::TimeDelta current_time,
|
||||
@@ -2317,11 +2338,14 @@ void VideoOverlayWindowViews::UpdateTimestampLabel(base::TimeDelta current_time,
|
||||
}
|
||||
|
||||
void VideoOverlayWindowViews::OnLiveCaptionButtonPressed() {
|
||||
@@ -248,9 +225,11 @@ index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a
|
||||
if (wanted_visibility == live_caption_dialog_->GetVisible()) {
|
||||
return;
|
||||
}
|
||||
live_caption_dialog_->SetVisible(wanted_visibility);
|
||||
live_caption_button_->SetIsLiveCaptionDialogOpen(wanted_visibility);
|
||||
@@ -2344,6 +2368,7 @@ void VideoOverlayWindowViews::SetLiveCaptionDialogVisibility(
|
||||
for (auto* control : controls_to_be_disabled_when_live_caption_is_open) {
|
||||
control->SetEnabled(!wanted_visibility);
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
views::View* controls_to_be_disabled_when_live_caption_is_open[] = {
|
||||
minimize_button_.get(),
|
||||
void VideoOverlayWindowViews::OnFaviconReceived(const SkBitmap& image) {
|
||||
|
||||
@@ -254,7 +254,7 @@ index 17d6d7d935f93afefa9123f56ef9c138c3070f93..8dfa7501a6a2998e107bf9b51f5e5c3d
|
||||
}
|
||||
|
||||
diff --git a/content/common/features.cc b/content/common/features.cc
|
||||
index d9fdcd11f23449e22e17df833140c1f80d503486..18d3c146ec38ada48dc1c32904fe170a0a53a6f2 100644
|
||||
index f6b38a04e64b02a3a4ea0c84155967c4602cbdc2..d8b9141ace8d008667b55e028e36bba438530627 100644
|
||||
--- a/content/common/features.cc
|
||||
+++ b/content/common/features.cc
|
||||
@@ -312,6 +312,14 @@ BASE_FEATURE(kInterestGroupUpdateIfOlderThan, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -273,7 +273,7 @@ index d9fdcd11f23449e22e17df833140c1f80d503486..18d3c146ec38ada48dc1c32904fe170a
|
||||
BASE_FEATURE(kKeepChildProcessAfterIPCReset, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
diff --git a/content/common/features.h b/content/common/features.h
|
||||
index 5b6d84c51b082bc80e9fd03b79a4ff4704b75eb7..b043a236891cdc83342820a38babf4cfd99b4d40 100644
|
||||
index 762c98a66c0565b6eb2f45de051206c5e3eaf44d..24a5302fc618c27adc7e0ddc0614faeb12f0ed52 100644
|
||||
--- a/content/common/features.h
|
||||
+++ b/content/common/features.h
|
||||
@@ -112,6 +112,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan);
|
||||
|
||||
@@ -10,10 +10,10 @@ on Windows. We should refactor our code so that this patch isn't
|
||||
necessary.
|
||||
|
||||
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
|
||||
index 21026b6a40bbccf616b3a6390bb8359d23470380..c52e49e673616df91b115d39c5c78bcd1d7db7ff 100644
|
||||
index 4ee07060d639c57267f8131f205eae29f9b47175..0c5df2384fa736b50996dfa2da248b5cb1070bc3 100644
|
||||
--- a/testing/variations/fieldtrial_testing_config.json
|
||||
+++ b/testing/variations/fieldtrial_testing_config.json
|
||||
@@ -25731,6 +25731,21 @@
|
||||
@@ -25823,6 +25823,21 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
@@ -6,7 +6,7 @@ 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 90ba3ac24eaeb4897f410b1a787852f003e56d88..b1294e12137254dea7618907aa03f9f7bedda13b 100644
|
||||
index fd361f24d95327617abfa558720c52c311467d45..1046189b3c10749a0b721c4b61dd07d8de751178 100644
|
||||
--- a/content/renderer/render_thread_impl.cc
|
||||
+++ b/content/renderer/render_thread_impl.cc
|
||||
@@ -1212,7 +1212,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
|
||||
@@ -10,10 +10,10 @@ to handle this without patching, but this is fairly clean for now and no longer
|
||||
patching legacy devtools code.
|
||||
|
||||
diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts
|
||||
index ad6c608d8a1caecbffba95bb911abe5639e13449..d9ef6e74d767b1712be1d4ca503c1d21973ba372 100644
|
||||
index 891b36f34e92deee921dfe871aae2580206626b6..9d78186e5884eae652f5db648ceff9cfa8778d96 100644
|
||||
--- a/front_end/entrypoints/main/MainImpl.ts
|
||||
+++ b/front_end/entrypoints/main/MainImpl.ts
|
||||
@@ -769,6 +769,8 @@ export class MainImpl {
|
||||
@@ -753,6 +753,8 @@ export class MainImpl {
|
||||
globalThis.Main = globalThis.Main || {};
|
||||
// @ts-expect-error Exported for Tests.js
|
||||
globalThis.Main.Main = MainImpl;
|
||||
|
||||
@@ -36,7 +36,7 @@ for desktop capturer. This change re-enables that fallback, which was
|
||||
previously default behavior.
|
||||
|
||||
diff --git a/modules/desktop_capture/desktop_capturer.cc b/modules/desktop_capture/desktop_capturer.cc
|
||||
index bf63f73178688e49286bb6686d5a42ce040c663e..f5f62a2b7865d8415ec08242312df006bcb2edf5 100644
|
||||
index 243919ba101c637887b2a964e45be0096798873b..c1597ee84a3a84a1c5e556eb31c4d3e19a6e4c84 100644
|
||||
--- a/modules/desktop_capture/desktop_capturer.cc
|
||||
+++ b/modules/desktop_capture/desktop_capturer.cc
|
||||
@@ -138,7 +138,7 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateGenericCapturer(
|
||||
@@ -61,10 +61,10 @@ index 361b465dad2a53f4dac774fa2d6d6d9e3fc5fc31..ef05a35bc4f2c2352b12c0af0b09193b
|
||||
capturer_failed_ = true;
|
||||
}
|
||||
diff --git a/modules/desktop_capture/screen_capturer_linux.cc b/modules/desktop_capture/screen_capturer_linux.cc
|
||||
index f25e08fb594c563b1f8ca0fd1c4383ed39df5149..8ce6a9d82d808c1618b857ac83af85ac38a43a2a 100644
|
||||
index aeab70c9f7f7511af04c4831b4d81c8a4e4261aa..ad9efad3af5b4ce21a0a2b21a783af0c4f468494 100644
|
||||
--- a/modules/desktop_capture/screen_capturer_linux.cc
|
||||
+++ b/modules/desktop_capture/screen_capturer_linux.cc
|
||||
@@ -39,11 +39,10 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawScreenCapturer(
|
||||
@@ -38,11 +38,10 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawScreenCapturer(
|
||||
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
||||
|
||||
#if defined(WEBRTC_USE_X11)
|
||||
@@ -80,10 +80,10 @@ index f25e08fb594c563b1f8ca0fd1c4383ed39df5149..8ce6a9d82d808c1618b857ac83af85ac
|
||||
|
||||
} // namespace webrtc
|
||||
diff --git a/modules/desktop_capture/window_capturer_linux.cc b/modules/desktop_capture/window_capturer_linux.cc
|
||||
index 87ea3d57212c5f62194f206787756b7f3fb63e90..3f565ab13a033dc29d55f819da7de464b6e19885 100644
|
||||
index 6df928913f4ef73db3d6377682f4f40bcd58c4d9..befd9f7a6a00778ebe5b3fa9da25fcbcaf91ef79 100644
|
||||
--- a/modules/desktop_capture/window_capturer_linux.cc
|
||||
+++ b/modules/desktop_capture/window_capturer_linux.cc
|
||||
@@ -39,11 +39,10 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawWindowCapturer(
|
||||
@@ -38,11 +38,10 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawWindowCapturer(
|
||||
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
||||
|
||||
#if defined(WEBRTC_USE_X11)
|
||||
|
||||
@@ -375,7 +375,7 @@ async function runTestUsingElectron (specDir, testName, shouldRerun, additionalA
|
||||
if (shouldRerun) {
|
||||
await rerunFailedTests(specDir, testName);
|
||||
} else {
|
||||
return false;
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
console.log(`${pass} Electron ${testName} process tests passed.`);
|
||||
@@ -430,6 +430,19 @@ async function installSpecModules (dir) {
|
||||
console.log(`${fail} Failed to yarn install in '${dir}'`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (process.platform === 'linux') {
|
||||
const { status: rebuildStatus } = childProcess.spawnSync('npm', ['rebuild', 'abstract-socket'], {
|
||||
env,
|
||||
cwd: dir,
|
||||
stdio: 'inherit',
|
||||
shell: process.platform === 'win32'
|
||||
});
|
||||
if (rebuildStatus !== 0) {
|
||||
console.log(`${fail} Failed to rebuild abstract-socket native module`);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getSpecHash () {
|
||||
|
||||
@@ -36,7 +36,7 @@ void ElectronPluginInfoHostImpl::GetPluginInfo(const GURL& url,
|
||||
GetPluginInfoCallback callback) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
GetPluginInfo_Params params = {url, origin, mime_type};
|
||||
PluginService::GetInstance()->GetPlugins(
|
||||
PluginService::GetInstance()->GetPluginsAsync(
|
||||
base::BindOnce(&ElectronPluginInfoHostImpl::PluginsLoaded,
|
||||
weak_factory_.GetWeakPtr(), params, std::move(callback)));
|
||||
}
|
||||
|
||||
2
spec/ambient.d.ts
vendored
2
spec/ambient.d.ts
vendored
@@ -1,2 +1,4 @@
|
||||
declare let standardScheme: string;
|
||||
declare let serviceWorkerScheme: string;
|
||||
|
||||
declare module 'dbus-native';
|
||||
|
||||
@@ -10,7 +10,7 @@ import { nativeImage } from 'electron/common';
|
||||
import { app } from 'electron/main';
|
||||
|
||||
import { expect } from 'chai';
|
||||
import * as dbus from 'dbus-ts';
|
||||
import * as dbus from 'dbus-native';
|
||||
|
||||
import * as path from 'node:path';
|
||||
import { promisify } from 'node:util';
|
||||
@@ -40,9 +40,10 @@ ifdescribe(!skip)('Notification module (dbus)', () => {
|
||||
const path = '/org/freedesktop/Notifications';
|
||||
const iface = 'org.freedesktop.DBus.Mock';
|
||||
console.log(`session bus: ${process.env.DBUS_SESSION_BUS_ADDRESS}`);
|
||||
const bus = await dbus.sessionBus();
|
||||
const bus = dbus.sessionBus();
|
||||
const service = bus.getService(serviceName);
|
||||
mock = await service.getInterface(path, iface);
|
||||
const getInterface = promisify(service.getInterface.bind(service));
|
||||
mock = await getInterface(path, iface);
|
||||
getCalls = promisify(mock.GetCalls.bind(mock));
|
||||
reset = promisify(mock.Reset.bind(mock));
|
||||
});
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
// See https://pypi.python.org/pypi/python-dbusmock for more information about
|
||||
// python-dbusmock.
|
||||
import { expect } from 'chai';
|
||||
import * as dbus from 'dbus-ts';
|
||||
import * as dbus from 'dbus-native';
|
||||
|
||||
import { once } from 'node:events';
|
||||
import { setTimeout } from 'node:timers/promises';
|
||||
@@ -20,9 +20,10 @@ describe('powerMonitor', () => {
|
||||
|
||||
ifdescribe(process.platform === 'linux' && process.env.DBUS_SYSTEM_BUS_ADDRESS != null)('when powerMonitor module is loaded with dbus mock', () => {
|
||||
before(async () => {
|
||||
const systemBus = await dbus.systemBus();
|
||||
const systemBus = dbus.systemBus();
|
||||
const loginService = systemBus.getService('org.freedesktop.login1');
|
||||
logindMock = await loginService.getInterface('/org/freedesktop/login1', 'org.freedesktop.DBus.Mock');
|
||||
const getInterface = promisify(loginService.getInterface.bind(loginService));
|
||||
logindMock = await getInterface('/org/freedesktop/login1', 'org.freedesktop.DBus.Mock');
|
||||
getCalls = promisify(logindMock.GetCalls.bind(logindMock));
|
||||
emitSignal = promisify(logindMock.EmitSignal.bind(logindMock));
|
||||
reset = promisify(logindMock.Reset.bind(logindMock));
|
||||
|
||||
@@ -5,11 +5,14 @@ import { expect } from 'chai';
|
||||
import { randomUUID } from 'node:crypto';
|
||||
import * as path from 'node:path';
|
||||
|
||||
import { ifdescribe } from './lib/spec-helpers';
|
||||
import { closeWindow } from './lib/window-helpers';
|
||||
|
||||
const fixtures = path.resolve(__dirname, 'fixtures');
|
||||
|
||||
describe('sharedTexture module', () => {
|
||||
// Tests only run properly on macOS arm64 for now
|
||||
const skip = process.platform !== 'darwin' || process.arch !== 'arm64';
|
||||
ifdescribe(!skip)('sharedTexture module', () => {
|
||||
const {
|
||||
nativeImage
|
||||
} = require('electron');
|
||||
@@ -35,7 +38,8 @@ describe('sharedTexture module', () => {
|
||||
}
|
||||
});
|
||||
|
||||
it('successfully imported and rendered with subtle api', (done) => {
|
||||
it('successfully imported and rendered with subtle api', async function () {
|
||||
this.timeout(debugSpec ? 100000 : 10000);
|
||||
type CapturedTextureHolder = {
|
||||
importedSubtle: Electron.SharedTextureImportedSubtle,
|
||||
texture: Electron.OffscreenSharedTexture
|
||||
@@ -45,172 +49,67 @@ describe('sharedTexture module', () => {
|
||||
const preloadPath = path.join(dirPath, 'subtle', 'preload.js');
|
||||
const htmlPath = path.join(dirPath, 'subtle', 'index.html');
|
||||
|
||||
const createWindow = () => {
|
||||
const win = new BrowserWindow({
|
||||
width: 256,
|
||||
height: 256,
|
||||
show: debugSpec,
|
||||
webPreferences: {
|
||||
preload: preloadPath
|
||||
}
|
||||
});
|
||||
|
||||
const osr = new BrowserWindow({
|
||||
width: 128,
|
||||
height: 128,
|
||||
show: debugSpec,
|
||||
webPreferences: {
|
||||
offscreen: {
|
||||
useSharedTexture: true
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
const createWindow = () => {
|
||||
const win = new BrowserWindow({
|
||||
width: 256,
|
||||
height: 256,
|
||||
show: debugSpec,
|
||||
webPreferences: {
|
||||
preload: preloadPath
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
osr.webContents.setFrameRate(1);
|
||||
osr.webContents.on('paint', (event: any) => {
|
||||
const osr = new BrowserWindow({
|
||||
width: 128,
|
||||
height: 128,
|
||||
show: debugSpec,
|
||||
webPreferences: {
|
||||
offscreen: {
|
||||
useSharedTexture: true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
osr.webContents.setFrameRate(1);
|
||||
osr.webContents.on('paint', (event: any) => {
|
||||
// Step 1: Input source of shared texture handle.
|
||||
const texture = event.texture;
|
||||
const texture = event.texture;
|
||||
|
||||
if (!texture) {
|
||||
console.error('No texture, GPU may be unavailable, skipping.');
|
||||
done();
|
||||
return;
|
||||
}
|
||||
if (!texture) {
|
||||
console.error('No texture, GPU may be unavailable, skipping.');
|
||||
resolve();
|
||||
}
|
||||
|
||||
// Step 2: Import as SharedTextureImported
|
||||
console.log(texture.textureInfo);
|
||||
const importedSubtle = sharedTexture.subtle.importSharedTexture(texture.textureInfo);
|
||||
// Step 2: Import as SharedTextureImported
|
||||
const importedSubtle = sharedTexture.subtle.importSharedTexture(texture.textureInfo);
|
||||
|
||||
// Step 3: Prepare for transfer to another process (win's renderer)
|
||||
const transfer = importedSubtle.startTransferSharedTexture();
|
||||
// Step 3: Prepare for transfer to another process (win's renderer)
|
||||
const transfer = importedSubtle.startTransferSharedTexture();
|
||||
|
||||
const id = randomUUID();
|
||||
capturedTextures.set(id, { importedSubtle, texture });
|
||||
const id = randomUUID();
|
||||
capturedTextures.set(id, { importedSubtle, texture });
|
||||
|
||||
// Step 4: Send the shared texture to the renderer process (goto preload.js)
|
||||
win.webContents.send('shared-texture', id, transfer);
|
||||
});
|
||||
// Step 4: Send the shared texture to the renderer process (goto preload.js)
|
||||
win.webContents.send('shared-texture', id, transfer);
|
||||
});
|
||||
|
||||
ipcMain.on('shared-texture-done', (event: any, id: string) => {
|
||||
ipcMain.on('shared-texture-done', (event: any, id: string) => {
|
||||
// Step 12: Release the shared texture resources at main process
|
||||
const data = capturedTextures.get(id);
|
||||
if (data) {
|
||||
capturedTextures.delete(id);
|
||||
const { importedSubtle, texture } = data;
|
||||
const data = capturedTextures.get(id);
|
||||
if (data) {
|
||||
capturedTextures.delete(id);
|
||||
const { importedSubtle, texture } = data;
|
||||
|
||||
// Step 13: Release the imported shared texture
|
||||
importedSubtle.release(() => {
|
||||
// Step 13: Release the imported shared texture
|
||||
importedSubtle.release(() => {
|
||||
// Step 14: Release the shared texture once GPU is done
|
||||
texture.release();
|
||||
});
|
||||
|
||||
// Step 15: Slightly timeout and capture the node screenshot
|
||||
setTimeout(async () => {
|
||||
// Step 16: Compare the captured image with the target image
|
||||
const captured = await win.webContents.capturePage({
|
||||
x: 16,
|
||||
y: 16,
|
||||
width: 128,
|
||||
height: 128
|
||||
texture.release();
|
||||
});
|
||||
|
||||
// Step 17: Resize the target image to match the captured image size, in case dpr != 1
|
||||
const target = targetImage.resize({ ...captured.getSize() });
|
||||
|
||||
// Step 18: nativeImage have error comparing pixel data when color space is different,
|
||||
// send to browser for comparison using canvas.
|
||||
win.webContents.send('verify-captured-image', {
|
||||
captured: captured.toDataURL(),
|
||||
target: target.toDataURL()
|
||||
});
|
||||
}, 300);
|
||||
}
|
||||
});
|
||||
|
||||
ipcMain.on('verify-captured-image-done', (event: any, result: { difference: number, total: number }) => {
|
||||
// Step 22: Verify the result from renderer process
|
||||
try {
|
||||
// macOS may have tiny color difference after the whole rendering process,
|
||||
// and the color may change slightly when resizing at device pixel ratio != 1.
|
||||
// Limit error should not be different more than 1% of the whole image.
|
||||
const ratio = result.difference / result.total;
|
||||
console.log('image difference: ', ratio);
|
||||
expect(ratio).to.be.lessThan(0.01);
|
||||
done();
|
||||
} catch (e) {
|
||||
done(e);
|
||||
}
|
||||
});
|
||||
|
||||
ipcMain.on('webgpu-unavailable', () => {
|
||||
console.error('WebGPU is not available, skipping.');
|
||||
done();
|
||||
});
|
||||
|
||||
win.loadFile(htmlPath);
|
||||
osr.loadFile(osrPath);
|
||||
};
|
||||
|
||||
app.whenReady().then(() => {
|
||||
createWindow();
|
||||
});
|
||||
}).timeout(debugSpec ? 100000 : 10000);
|
||||
|
||||
const runSharedTextureManagedTest = (done: Mocha.Done, iframe: boolean) => {
|
||||
const preloadPath = path.join(dirPath, 'managed', 'preload.js');
|
||||
const htmlPath = path.join(dirPath, 'managed', iframe ? 'frame.html' : 'index.html');
|
||||
|
||||
const createWindow = () => {
|
||||
const win = new BrowserWindow({
|
||||
width: 256,
|
||||
height: 256,
|
||||
show: debugSpec,
|
||||
webPreferences: {
|
||||
preload: preloadPath,
|
||||
nodeIntegrationInSubFrames: iframe
|
||||
}
|
||||
});
|
||||
|
||||
const osr = new BrowserWindow({
|
||||
width: 128,
|
||||
height: 128,
|
||||
show: debugSpec,
|
||||
webPreferences: {
|
||||
offscreen: {
|
||||
useSharedTexture: true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
osr.webContents.setFrameRate(1);
|
||||
osr.webContents.on('paint', async (event: any) => {
|
||||
const targetFrame = iframe ? win.webContents.mainFrame.frames[0] : win.webContents.mainFrame;
|
||||
if (!targetFrame) {
|
||||
done(new Error('Target frame not found'));
|
||||
return;
|
||||
}
|
||||
|
||||
// Step 1: Input source of shared texture handle.
|
||||
const texture = event.texture;
|
||||
|
||||
if (!texture) {
|
||||
console.error('No texture, GPU may be unavailable, skipping.');
|
||||
done();
|
||||
return;
|
||||
}
|
||||
|
||||
// Step 2: Import as SharedTextureImported
|
||||
console.log(texture.textureInfo);
|
||||
const imported = sharedTexture.importSharedTexture({
|
||||
textureInfo: texture.textureInfo,
|
||||
allReferencesReleased: () => {
|
||||
// Release the shared texture source once GPU is done.
|
||||
// Will be called when all processes have finished using the shared texture.
|
||||
texture.release();
|
||||
|
||||
// Slightly timeout and capture the node screenshot
|
||||
// Step 15: Slightly timeout and capture the node screenshot
|
||||
setTimeout(async () => {
|
||||
// Compare the captured image with the target image
|
||||
// Step 16: Compare the captured image with the target image
|
||||
const captured = await win.webContents.capturePage({
|
||||
x: 16,
|
||||
y: 16,
|
||||
@@ -218,12 +117,12 @@ describe('sharedTexture module', () => {
|
||||
height: 128
|
||||
});
|
||||
|
||||
// Resize the target image to match the captured image size, in case dpr != 1
|
||||
// Step 17: Resize the target image to match the captured image size, in case dpr != 1
|
||||
const target = targetImage.resize({ ...captured.getSize() });
|
||||
|
||||
// nativeImage have error comparing pixel data when color space is different,
|
||||
// Step 18: nativeImage have error comparing pixel data when color space is different,
|
||||
// send to browser for comparison using canvas.
|
||||
targetFrame.send('verify-captured-image', {
|
||||
win.webContents.send('verify-captured-image', {
|
||||
captured: captured.toDataURL(),
|
||||
target: target.toDataURL()
|
||||
});
|
||||
@@ -231,51 +130,155 @@ describe('sharedTexture module', () => {
|
||||
}
|
||||
});
|
||||
|
||||
// Step 3: Transfer to another process (win's renderer)
|
||||
await sharedTexture.sendSharedTexture({
|
||||
frame: iframe ? targetFrame : win.webContents.mainFrame,
|
||||
importedSharedTexture: imported
|
||||
});
|
||||
|
||||
// Step 4: Release the imported and wait for signal to release the source
|
||||
imported.release();
|
||||
});
|
||||
|
||||
ipcMain.on('verify-captured-image-done', (event: any, result: { difference: number, total: number }) => {
|
||||
// Verify the result from renderer process
|
||||
try {
|
||||
ipcMain.on('verify-captured-image-done', (event: any, result: { difference: number, total: number }) => {
|
||||
// Step 22: Verify the result from renderer process
|
||||
try {
|
||||
// macOS may have tiny color difference after the whole rendering process,
|
||||
// and the color may change slightly when resizing at device pixel ratio != 1.
|
||||
// Limit error should not be different more than 1% of the whole image.
|
||||
const ratio = result.difference / result.total;
|
||||
console.log('image difference: ', ratio);
|
||||
expect(ratio).to.be.lessThan(0.01);
|
||||
done();
|
||||
} catch (e) {
|
||||
setTimeout(() => done(e), 1000000);
|
||||
}
|
||||
const ratio = result.difference / result.total;
|
||||
expect(ratio).to.be.lessThan(0.01);
|
||||
resolve();
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
|
||||
ipcMain.on('webgpu-unavailable', () => {
|
||||
console.error('WebGPU is not available, skipping.');
|
||||
resolve();
|
||||
});
|
||||
|
||||
win.loadFile(htmlPath);
|
||||
osr.loadFile(osrPath);
|
||||
};
|
||||
|
||||
app.whenReady().then(() => {
|
||||
createWindow();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
ipcMain.on('webgpu-unavailable', () => {
|
||||
console.error('WebGPU is not available, skipping.');
|
||||
done();
|
||||
const runSharedTextureManagedTest = (iframe: boolean): Promise<void> => {
|
||||
const preloadPath = path.join(dirPath, 'managed', 'preload.js');
|
||||
const htmlPath = path.join(dirPath, 'managed', iframe ? 'frame.html' : 'index.html');
|
||||
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
const createWindow = () => {
|
||||
const win = new BrowserWindow({
|
||||
width: 256,
|
||||
height: 256,
|
||||
show: debugSpec,
|
||||
webPreferences: {
|
||||
preload: preloadPath,
|
||||
nodeIntegrationInSubFrames: iframe
|
||||
}
|
||||
});
|
||||
|
||||
const osr = new BrowserWindow({
|
||||
width: 128,
|
||||
height: 128,
|
||||
show: debugSpec,
|
||||
webPreferences: {
|
||||
offscreen: {
|
||||
useSharedTexture: true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
osr.webContents.setFrameRate(1);
|
||||
osr.webContents.on('paint', async (event: any) => {
|
||||
const targetFrame = iframe ? win.webContents.mainFrame.frames[0] : win.webContents.mainFrame;
|
||||
if (!targetFrame) {
|
||||
reject(new Error('Target frame not found'));
|
||||
return;
|
||||
}
|
||||
|
||||
// Step 1: Input source of shared texture handle.
|
||||
const texture = event.texture;
|
||||
|
||||
if (!texture) {
|
||||
console.error('No texture, GPU may be unavailable, skipping.');
|
||||
resolve();
|
||||
return;
|
||||
}
|
||||
|
||||
// Step 2: Import as SharedTextureImported
|
||||
const imported = sharedTexture.importSharedTexture({
|
||||
textureInfo: texture.textureInfo,
|
||||
allReferencesReleased: () => {
|
||||
// Release the shared texture source once GPU is done.
|
||||
// Will be called when all processes have finished using the shared texture.
|
||||
texture.release();
|
||||
|
||||
// Slightly timeout and capture the node screenshot
|
||||
setTimeout(async () => {
|
||||
// Compare the captured image with the target image
|
||||
const captured = await win.webContents.capturePage({
|
||||
x: 16,
|
||||
y: 16,
|
||||
width: 128,
|
||||
height: 128
|
||||
});
|
||||
|
||||
// Resize the target image to match the captured image size, in case dpr != 1
|
||||
const target = targetImage.resize({ ...captured.getSize() });
|
||||
|
||||
// nativeImage have error comparing pixel data when color space is different,
|
||||
// send to browser for comparison using canvas.
|
||||
targetFrame.send('verify-captured-image', {
|
||||
captured: captured.toDataURL(),
|
||||
target: target.toDataURL()
|
||||
});
|
||||
}, 300);
|
||||
}
|
||||
});
|
||||
|
||||
// Step 3: Transfer to another process (win's renderer)
|
||||
await sharedTexture.sendSharedTexture({
|
||||
frame: iframe ? targetFrame : win.webContents.mainFrame,
|
||||
importedSharedTexture: imported
|
||||
});
|
||||
|
||||
// Step 4: Release the imported and wait for signal to release the source
|
||||
imported.release();
|
||||
});
|
||||
|
||||
ipcMain.on('verify-captured-image-done', (event: any, result: { difference: number, total: number }) => {
|
||||
// Verify the result from renderer process
|
||||
try {
|
||||
// macOS may have tiny color difference after the whole rendering process,
|
||||
// and the color may change slightly when resizing at device pixel ratio != 1.
|
||||
// Limit error should not be different more than 1% of the whole image.
|
||||
const ratio = result.difference / result.total;
|
||||
expect(ratio).to.be.lessThan(0.01);
|
||||
resolve();
|
||||
} catch (e) {
|
||||
setTimeout(() => reject(e), 1000000);
|
||||
}
|
||||
});
|
||||
|
||||
ipcMain.on('webgpu-unavailable', () => {
|
||||
console.error('WebGPU is not available, skipping.');
|
||||
resolve();
|
||||
});
|
||||
|
||||
win.loadFile(htmlPath);
|
||||
osr.loadFile(osrPath);
|
||||
};
|
||||
|
||||
app.whenReady().then(() => {
|
||||
createWindow();
|
||||
});
|
||||
|
||||
win.loadFile(htmlPath);
|
||||
osr.loadFile(osrPath);
|
||||
};
|
||||
|
||||
app.whenReady().then(() => {
|
||||
createWindow();
|
||||
});
|
||||
};
|
||||
|
||||
it('successfully imported and rendered with managed api, without iframe', (done) => {
|
||||
runSharedTextureManagedTest(done, false);
|
||||
it('successfully imported and rendered with managed api, without iframe', async () => {
|
||||
return runSharedTextureManagedTest(false);
|
||||
}).timeout(debugSpec ? 100000 : 10000);
|
||||
|
||||
it('successfully imported and rendered with managed api, with iframe', (done) => {
|
||||
runSharedTextureManagedTest(done, true);
|
||||
it('successfully imported and rendered with managed api, with iframe', async () => {
|
||||
return runSharedTextureManagedTest(true);
|
||||
}).timeout(debugSpec ? 100000 : 10000);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1067,13 +1067,15 @@ describe('webContents module', () => {
|
||||
assert(devToolsWebContents !== null);
|
||||
|
||||
const windowFocused = once(window, 'focus');
|
||||
const devToolsBlurred = once(devToolsWebContents, 'blur');
|
||||
window.focus();
|
||||
await windowFocused;
|
||||
await Promise.all([windowFocused, devToolsBlurred]);
|
||||
|
||||
expect(devToolsWebContents.isFocused()).to.be.false();
|
||||
const devToolsWebContentsFocused = once(devToolsWebContents, 'focus');
|
||||
const windowBlurred = once(window, 'blur');
|
||||
window.webContents.inspectElement(100, 100);
|
||||
await devToolsWebContentsFocused;
|
||||
await Promise.all([devToolsWebContentsFocused, windowBlurred]);
|
||||
|
||||
expect(devToolsWebContents.isFocused()).to.be.true();
|
||||
expect(window.isFocused()).to.be.false();
|
||||
|
||||
@@ -2878,16 +2878,26 @@ describe('chromium features', () => {
|
||||
});
|
||||
});
|
||||
|
||||
// This is intentionally disabled on arm macs: https://chromium-review.googlesource.com/c/chromium/src/+/4143761
|
||||
ifdescribe(process.platform === 'darwin' && process.arch !== 'arm64')('webgl', () => {
|
||||
it('can be gotten as context in canvas', async () => {
|
||||
const w = new BrowserWindow({ show: false });
|
||||
describe('webgl', () => {
|
||||
it('can be gotten as context in canvas', async function () {
|
||||
const w = new BrowserWindow({
|
||||
show: false
|
||||
});
|
||||
w.loadURL('about:blank');
|
||||
await w.loadURL(`file://${fixturesPath}/pages/blank.html`);
|
||||
const canWebglContextBeCreated = await w.webContents.executeJavaScript(`
|
||||
document.createElement('canvas').getContext('webgl') != null;
|
||||
`);
|
||||
expect(canWebglContextBeCreated).to.be.true();
|
||||
const isFallbackAdapter = await w.webContents.executeJavaScript(`
|
||||
navigator.gpu?.requestAdapter().then(adapter => (adapter?.info?.isFallbackAdapter || !adapter?.info), true)`
|
||||
);
|
||||
|
||||
if (isFallbackAdapter) {
|
||||
console.log('Skipping webgl test on fallback adapter');
|
||||
this.skip();
|
||||
} else {
|
||||
const canWebglContextBeCreated = await w.webContents.executeJavaScript(`
|
||||
document.createElement('canvas').getContext('webgl') != null;
|
||||
`);
|
||||
expect(canWebglContextBeCreated).to.be.true();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -27,12 +27,13 @@
|
||||
"@types/uuid": "^3.4.6",
|
||||
"@types/w3c-web-serial": "^1.0.7",
|
||||
"@types/ws": "^7.2.0",
|
||||
"abstract-socket": "github:deepak1556/node-abstractsocket#928cc591decd12aff7dad96449da8afc29832c19",
|
||||
"basic-auth": "^2.0.1",
|
||||
"busboy": "^1.6.0",
|
||||
"chai": "^4.2.0",
|
||||
"chai-as-promised": "^7.1.1",
|
||||
"coffeescript": "^2.4.1",
|
||||
"dbus-ts": "^0.0.7",
|
||||
"dbus-native": "github:nornagon/dbus-native#master",
|
||||
"dirty-chai": "^2.0.1",
|
||||
"express": "^4.20.0",
|
||||
"graceful-fs": "^4.1.15",
|
||||
|
||||
@@ -88,8 +88,8 @@ ifdescribe(features.isBuiltinSpellCheckerEnabled())('spellchecker', function ()
|
||||
await closeWindow(w);
|
||||
});
|
||||
|
||||
// Context menu test can not run on Windows.
|
||||
const shouldRun = process.platform !== 'win32';
|
||||
// Context menu test can not run on Windows or Linux (https://github.com/electron/electron/pull/48657 broke linux).
|
||||
const shouldRun = process.platform !== 'win32' && process.platform !== 'linux';
|
||||
|
||||
ifit(shouldRun)('should detect correctly spelled words as correct', async () => {
|
||||
await w.webContents.executeJavaScript('document.body.querySelector("textarea").value = "typography"');
|
||||
|
||||
205
yarn.lock
205
yarn.lock
@@ -412,13 +412,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@dbus-types/dbus@npm:^0.0.4":
|
||||
version: 0.0.4
|
||||
resolution: "@dbus-types/dbus@npm:0.0.4"
|
||||
checksum: 10c0/7d3e2f6f5da72d42ad29e8bbc41c296846795d5685f672e85e71bf5e4c3f6b3b0dc17459cad62683b93b7fd48395c2e19e30a79d6c45e3b7b53f833e21caa29f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@discoveryjs/json-ext@npm:^0.6.1":
|
||||
version: 0.6.3
|
||||
resolution: "@discoveryjs/json-ext@npm:0.6.3"
|
||||
@@ -801,20 +794,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@homebridge/long@npm:^5.2.1":
|
||||
version: 5.2.1
|
||||
resolution: "@homebridge/long@npm:5.2.1"
|
||||
checksum: 10c0/b8a5aa8a515152d6ad6f19d9ade41c56fadf01b14d717c62ba208a838fd69716cfcc44a8448b0ebf5a8a106f37ef517fc0a65c46da022ab8bc22dc027162d426
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@homebridge/put@npm:^0.0.8":
|
||||
version: 0.0.8
|
||||
resolution: "@homebridge/put@npm:0.0.8"
|
||||
checksum: 10c0/ac61ce4f2df9fee9e2c6a7b1e959468129f8f307a5a9320710e8f5da2e5b5a467d02c07937777084676d61aa40b221ca399e51f02182ba8bc8a02031bfb92d7a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@humanwhocodes/config-array@npm:^0.13.0":
|
||||
version: 0.13.0
|
||||
resolution: "@humanwhocodes/config-array@npm:0.13.0"
|
||||
@@ -1031,6 +1010,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@nornagon/put@npm:0.0.8":
|
||||
version: 0.0.8
|
||||
resolution: "@nornagon/put@npm:0.0.8"
|
||||
checksum: 10c0/855f9cee72d76570c76cdded2c3727ae7c3caa08208066ba77561675a43173bc62c8ee6dce6f4b64d65c5b465d20b4f9d986975ef3f2a6413e6f6c97bb5e1627
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@npmcli/agent@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "@npmcli/agent@npm:3.0.0"
|
||||
@@ -2592,6 +2578,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"abstract-socket@github:deepak1556/node-abstractsocket#928cc591decd12aff7dad96449da8afc29832c19":
|
||||
version: 2.1.1
|
||||
resolution: "abstract-socket@https://github.com/deepak1556/node-abstractsocket.git#commit=928cc591decd12aff7dad96449da8afc29832c19"
|
||||
dependencies:
|
||||
bindings: "npm:^1.2.1"
|
||||
node-addon-api: "npm:8.0.0"
|
||||
checksum: 10c0/b2117ef92456f0c8fedbac9cf9a6cdec2b957bd320943e01eeff396ebfc2ca50eb2a67cef4461ce5326e4b97d6d2fd16777037131518a1f0b7aa7a5b6ef4f207
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"accepts@npm:~1.3.8":
|
||||
version: 1.3.8
|
||||
resolution: "accepts@npm:1.3.8"
|
||||
@@ -3204,6 +3200,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"bindings@npm:^1.2.1":
|
||||
version: 1.5.0
|
||||
resolution: "bindings@npm:1.5.0"
|
||||
dependencies:
|
||||
file-uri-to-path: "npm:1.0.0"
|
||||
checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"bl@npm:^4.1.0":
|
||||
version: 4.1.0
|
||||
resolution: "bl@npm:4.1.0"
|
||||
@@ -4213,15 +4218,24 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"dbus-ts@npm:^0.0.7":
|
||||
version: 0.0.7
|
||||
resolution: "dbus-ts@npm:0.0.7"
|
||||
"dbus-native@github:nornagon/dbus-native#master":
|
||||
version: 0.4.0
|
||||
resolution: "dbus-native@https://github.com/nornagon/dbus-native.git#commit=b90ed62d0b5cb93909173c3e0551d9bff0602a90"
|
||||
dependencies:
|
||||
"@dbus-types/dbus": "npm:^0.0.4"
|
||||
"@homebridge/long": "npm:^5.2.1"
|
||||
"@homebridge/put": "npm:^0.0.8"
|
||||
xml2js: "npm:^0.4.23"
|
||||
checksum: 10c0/195b65ba2e87f584c83cd7805d5ad8d83890b1f9b1a2ba779393b43c64a1a66fd4e9e87944bf9b0f49e7e22091296b213490120111fc014e68167a6e1e83b3fe
|
||||
"@nornagon/put": "npm:0.0.8"
|
||||
abstract-socket: "npm:^2.0.0"
|
||||
event-stream: "npm:^4.0.0"
|
||||
hexy: "npm:^0.2.10"
|
||||
long: "npm:^4.0.0"
|
||||
optimist: "npm:^0.6.1"
|
||||
safe-buffer: "npm:^5.1.1"
|
||||
xml2js: "npm:^0.4.17"
|
||||
dependenciesMeta:
|
||||
abstract-socket:
|
||||
optional: true
|
||||
bin:
|
||||
dbus2js: ./bin/dbus2js.js
|
||||
checksum: 10c0/4467ae4f9f1e9d5f7fc4d12f227a7cf5e45f77c89743646ccef7a1f89e5f37fbe671b47488cf78d6557fd6d4f2c3719f5c5a1de70078843e6b0f317d12aa55b1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -4570,6 +4584,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"duplexer@npm:^0.1.1":
|
||||
version: 0.1.2
|
||||
resolution: "duplexer@npm:0.1.2"
|
||||
checksum: 10c0/c57bcd4bdf7e623abab2df43a7b5b23d18152154529d166c1e0da6bee341d84c432d157d7e97b32fecb1bf3a8b8857dd85ed81a915789f550637ed25b8e64fc2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"duplexer@npm:~0.1.1":
|
||||
version: 0.1.1
|
||||
resolution: "duplexer@npm:0.1.1"
|
||||
@@ -4634,12 +4655,13 @@ __metadata:
|
||||
"@types/uuid": "npm:^3.4.6"
|
||||
"@types/w3c-web-serial": "npm:^1.0.7"
|
||||
"@types/ws": "npm:^7.2.0"
|
||||
abstract-socket: "github:deepak1556/node-abstractsocket#928cc591decd12aff7dad96449da8afc29832c19"
|
||||
basic-auth: "npm:^2.0.1"
|
||||
busboy: "npm:^1.6.0"
|
||||
chai: "npm:^4.2.0"
|
||||
chai-as-promised: "npm:^7.1.1"
|
||||
coffeescript: "npm:^2.4.1"
|
||||
dbus-ts: "npm:^0.0.7"
|
||||
dbus-native: "github:nornagon/dbus-native#master"
|
||||
dirty-chai: "npm:^2.0.1"
|
||||
express: "npm:^4.20.0"
|
||||
graceful-fs: "npm:^4.1.15"
|
||||
@@ -4727,6 +4749,8 @@ __metadata:
|
||||
webpack-cli: "npm:^6.0.1"
|
||||
wrapper-webpack-plugin: "npm:^2.2.0"
|
||||
dependenciesMeta:
|
||||
abstract-socket:
|
||||
built: true
|
||||
dugite:
|
||||
built: true
|
||||
languageName: unknown
|
||||
@@ -5722,6 +5746,21 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"event-stream@npm:^4.0.0":
|
||||
version: 4.0.1
|
||||
resolution: "event-stream@npm:4.0.1"
|
||||
dependencies:
|
||||
duplexer: "npm:^0.1.1"
|
||||
from: "npm:^0.1.7"
|
||||
map-stream: "npm:0.0.7"
|
||||
pause-stream: "npm:^0.0.11"
|
||||
split: "npm:^1.0.1"
|
||||
stream-combiner: "npm:^0.2.2"
|
||||
through: "npm:^2.3.8"
|
||||
checksum: 10c0/cedb3f7ffda81f1524b66c284b4a41bb8407246bd7fe461b89a07807d28753460596e430f1346c135a64c5ba88d2a5d0711d072379b39c2266756125877aebd5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eventemitter3@npm:^5.0.1":
|
||||
version: 5.0.1
|
||||
resolution: "eventemitter3@npm:5.0.1"
|
||||
@@ -5960,6 +5999,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"file-uri-to-path@npm:1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "file-uri-to-path@npm:1.0.0"
|
||||
checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"filename-reserved-regex@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "filename-reserved-regex@npm:2.0.0"
|
||||
@@ -6163,6 +6209,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"from@npm:^0.1.7":
|
||||
version: 0.1.7
|
||||
resolution: "from@npm:0.1.7"
|
||||
checksum: 10c0/3aab5aea8fe8e1f12a5dee7f390d46a93431ce691b6222dcd5701c5d34378e51ca59b44967da1105a0f90fcdf5d7629d963d51e7ccd79827d19693bdcfb688d4
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fs-extra@npm:^10.0.0, fs-extra@npm:^10.1.0":
|
||||
version: 10.1.0
|
||||
resolution: "fs-extra@npm:10.1.0"
|
||||
@@ -6915,6 +6968,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"hexy@npm:^0.2.10":
|
||||
version: 0.2.11
|
||||
resolution: "hexy@npm:0.2.11"
|
||||
bin:
|
||||
hexy: ./bin/hexy_cmd.js
|
||||
checksum: 10c0/469fb0f9e4fb491cb60660bfecd6ddfc5be3cc4a9edd938eabcde449b6fc5215a1ca3a9e7285dd352fe7f0e2b94a259dc141d8a9cee4097989c60e24e0f8e590
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"hosted-git-info@npm:^2.1.4":
|
||||
version: 2.8.9
|
||||
resolution: "hosted-git-info@npm:2.8.9"
|
||||
@@ -8410,6 +8472,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"long@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "long@npm:4.0.0"
|
||||
checksum: 10c0/50a6417d15b06104dbe4e3d4a667c39b137f130a9108ea8752b352a4cfae047531a3ac351c181792f3f8768fe17cca6b0f406674a541a86fb638aaac560d83ed
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"longest-streak@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "longest-streak@npm:3.0.0"
|
||||
@@ -8532,6 +8601,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"map-stream@npm:0.0.7":
|
||||
version: 0.0.7
|
||||
resolution: "map-stream@npm:0.0.7"
|
||||
checksum: 10c0/77da244656dad5013bd147b0eef6f0343a212f14761332b97364fe348d4d70f0b8a0903457d6fc88772ec7c3d4d048b24f8db3aa5c0f77a8ce8bf2391473b8ec
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"markdown-extensions@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "markdown-extensions@npm:2.0.0"
|
||||
@@ -9354,14 +9430,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"minimist@npm:^1.0.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:~1.2.0":
|
||||
version: 1.2.6
|
||||
resolution: "minimist@npm:1.2.6"
|
||||
checksum: 10c0/d0b566204044481c4401abbd24cc75814e753b37268e7fe7ccc78612bf3e37bf1e45a6c43fb0b119445ea1c413c000bde013f320b7211974f2f49bcbec1d0dbf
|
||||
"minimist@npm:0.2.4":
|
||||
version: 0.2.4
|
||||
resolution: "minimist@npm:0.2.4"
|
||||
checksum: 10c0/6a8e8f4afa4a60d578b3eddabef1e3a40f3aa308290b17a55e060bbacfba7a575fd77f310969dd6b514c24251438a43039aafa0d6c9a3471ac2b5b45027d3369
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"minimist@npm:^1.2.0, minimist@npm:^1.2.8":
|
||||
"minimist@npm:^1.0.0, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.8, minimist@npm:~1.2.0":
|
||||
version: 1.2.8
|
||||
resolution: "minimist@npm:1.2.8"
|
||||
checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6
|
||||
@@ -9656,6 +9732,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"node-addon-api@npm:8.0.0":
|
||||
version: 8.0.0
|
||||
resolution: "node-addon-api@npm:8.0.0"
|
||||
dependencies:
|
||||
node-gyp: "npm:latest"
|
||||
checksum: 10c0/20eb231362cc07c62d9839164473744d985be5d82685214f3750d990d9f61ef366e0ba112a766c925d640ed29b2a500b83568e895dc2444dcd5db01e615aac2b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"node-fetch@npm:^2.6.1":
|
||||
version: 2.6.8
|
||||
resolution: "node-fetch@npm:2.6.8"
|
||||
@@ -10032,6 +10117,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"optimist@npm:^0.6.1":
|
||||
version: 0.6.1
|
||||
resolution: "optimist@npm:0.6.1"
|
||||
dependencies:
|
||||
minimist: "npm:~0.0.1"
|
||||
wordwrap: "npm:~0.0.2"
|
||||
checksum: 10c0/8cb417328121e732dbfb4d94d53bb39b1406446b55323ed4ce787decc52394927e051ba879eb3ffa3171fe22a35ce13b460114b60effcead77443ee87c2f9b0f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"optionator@npm:^0.9.3":
|
||||
version: 0.9.4
|
||||
resolution: "optionator@npm:0.9.4"
|
||||
@@ -10475,6 +10570,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pause-stream@npm:^0.0.11":
|
||||
version: 0.0.11
|
||||
resolution: "pause-stream@npm:0.0.11"
|
||||
dependencies:
|
||||
through: "npm:~2.3"
|
||||
checksum: 10c0/86f12c64cdaaa8e45ebaca4e39a478e1442db8b4beabc280b545bfaf79c0e2f33c51efb554aace5c069cc441c7b924ba484837b345eaa4ba6fc940d62f826802
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pdfjs-dist@npm:4.2.67":
|
||||
version: 4.2.67
|
||||
resolution: "pdfjs-dist@npm:4.2.67"
|
||||
@@ -12068,7 +12172,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0":
|
||||
"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:~5.2.0":
|
||||
version: 5.2.1
|
||||
resolution: "safe-buffer@npm:5.2.1"
|
||||
checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3
|
||||
@@ -12744,6 +12848,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"stream-combiner@npm:^0.2.2":
|
||||
version: 0.2.2
|
||||
resolution: "stream-combiner@npm:0.2.2"
|
||||
dependencies:
|
||||
duplexer: "npm:~0.1.1"
|
||||
through: "npm:~2.3.4"
|
||||
checksum: 10c0/b5d2782fbfa9251c88e01af1b1f54bc183673a776989dce2842b345be7fc3ce7eb2eade363b3c198ba0e5153a20a96e0014d0d0e884153f885d7ee919f22b639
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"stream-json@npm:^1.9.1":
|
||||
version: 1.9.1
|
||||
resolution: "stream-json@npm:1.9.1"
|
||||
@@ -13250,7 +13364,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"through@npm:2, through@npm:^2.3.6":
|
||||
"through@npm:2, through@npm:^2.3.6, through@npm:^2.3.8, through@npm:~2.3, through@npm:~2.3.4":
|
||||
version: 2.3.8
|
||||
resolution: "through@npm:2.3.8"
|
||||
checksum: 10c0/4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc
|
||||
@@ -14440,6 +14554,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"wordwrap@npm:~0.0.2":
|
||||
version: 0.0.3
|
||||
resolution: "wordwrap@npm:0.0.3"
|
||||
checksum: 10c0/b3b212f8b2167091f59bc60929ada2166eb157abb6c8c82e2a705fe5aa5876440c3966ab39eb6c7bcb2ff0ac0c8d9fba726a9c2057b83bd65cdc1858f9d816ce
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"workerpool@npm:^6.5.1":
|
||||
version: 6.5.1
|
||||
resolution: "workerpool@npm:6.5.1"
|
||||
@@ -14539,16 +14660,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"xml2js@npm:^0.4.23":
|
||||
version: 0.4.23
|
||||
resolution: "xml2js@npm:0.4.23"
|
||||
dependencies:
|
||||
sax: "npm:>=0.6.0"
|
||||
xmlbuilder: "npm:~11.0.0"
|
||||
checksum: 10c0/a3f41c9afc46d5bd0bea4070e5108777b605fd5ce2ebb978a68fd4c75513978ad5939f8135664ffea6f1adb342f391b1ba1584ed7955123b036e9ab8a1d26566
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"xml@npm:^1.0.0":
|
||||
version: 1.0.1
|
||||
resolution: "xml@npm:1.0.1"
|
||||
|
||||
Reference in New Issue
Block a user