mirror of
https://github.com/electron/electron.git
synced 2026-02-26 03:01:17 -05:00
Compare commits
13 Commits
fix-audio-
...
paint-whil
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
19c382677b | ||
|
|
aca83afeef | ||
|
|
e5d3fbf6dc | ||
|
|
0aaea4eaa0 | ||
|
|
818b28410f | ||
|
|
25db585a23 | ||
|
|
02eed1ec0b | ||
|
|
acd01e15e2 | ||
|
|
fc3a0abf19 | ||
|
|
fa2b9ac466 | ||
|
|
481e224992 | ||
|
|
90c9de70ac | ||
|
|
9d0a0a5459 |
63
.github/workflows/issue-commented.yml
vendored
63
.github/workflows/issue-commented.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: Issue Commented
|
||||
name: Issue / Pull Request Commented
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
@@ -8,16 +8,16 @@ on:
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
issue-commented:
|
||||
blocked-issue-commented:
|
||||
name: Remove blocked/{need-info,need-repro} on comment
|
||||
if: ${{ (contains(github.event.issue.labels.*.name, 'blocked/need-repro') || contains(github.event.issue.labels.*.name, 'blocked/need-info ❌')) && github.event.comment.user.type != 'Bot' }}
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ !github.event.issue.pull_request && (contains(github.event.issue.labels.*.name, 'blocked/need-repro') || contains(github.event.issue.labels.*.name, 'blocked/need-info ❌')) && github.event.comment.user.type != 'Bot' }}
|
||||
runs-on: ubuntu-slim
|
||||
steps:
|
||||
- name: Get author association
|
||||
id: get-author-association
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
run: &get-author-association |
|
||||
AUTHOR_ASSOCIATION=$(gh api /repos/electron/electron/issues/comments/${{ github.event.comment.id }} --jq '.author_association')
|
||||
echo "author_association=$AUTHOR_ASSOCIATION" >> "$GITHUB_OUTPUT"
|
||||
- name: Generate GitHub App token
|
||||
@@ -33,3 +33,56 @@ jobs:
|
||||
ISSUE_URL: ${{ github.event.issue.html_url }}
|
||||
run: |
|
||||
gh issue edit $ISSUE_URL --remove-label 'blocked/need-repro','blocked/need-info ❌'
|
||||
|
||||
pr-reviewer-requested:
|
||||
name: Maintainer requested reviewer on PR
|
||||
if: ${{ github.event.issue.pull_request && startsWith(github.event.comment.body, '/request-review') && github.event.comment.user.type != 'Bot' }}
|
||||
runs-on: ubuntu-slim
|
||||
steps:
|
||||
- name: Get author association
|
||||
id: get-author-association
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: *get-author-association
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
if: ${{ contains(fromJSON('["MEMBER", "OWNER"]'), steps.get-author-association.outputs.author_association) }}
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
- name: Request reviewer
|
||||
if: ${{ contains(fromJSON('["MEMBER", "OWNER"]'), steps.get-author-association.outputs.author_association) }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
|
||||
PR_URL: ${{ github.event.issue.html_url }}
|
||||
COMMENT_BODY: ${{ github.event.comment.body }}
|
||||
run: |
|
||||
RAW=$(echo "$COMMENT_BODY" | head -n 1 | sed 's|/request-review\s*||' | xargs)
|
||||
|
||||
if [ -z "$RAW" ]; then
|
||||
echo "::warning::No username provided. Usage: /request-review <username>[,<username>,...]"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
IFS=',' read -ra USERS <<< "$RAW"
|
||||
for USER in "${USERS[@]}"; do
|
||||
NAME=$(echo "$USER" | sed 's/@//g' | xargs)
|
||||
if [ -z "$NAME" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Strip "electron/" prefix if present to get the bare name
|
||||
BARE_NAME=$(echo "$NAME" | sed 's|^electron/||')
|
||||
|
||||
# If the original name contained "electron/" or looks like a team slug, treat as team
|
||||
if [ "$NAME" != "$BARE_NAME" ]; then
|
||||
gh pr edit $PR_URL --add-reviewer "electron/$BARE_NAME"
|
||||
else
|
||||
if ! gh api /orgs/electron/public_members/$BARE_NAME --silent > /dev/null 2>&1; then
|
||||
echo "::warning::$BARE_NAME is not a public member of the electron organization."
|
||||
continue
|
||||
fi
|
||||
|
||||
gh pr edit $PR_URL --add-reviewer "$BARE_NAME"
|
||||
fi
|
||||
done
|
||||
|
||||
2
.github/workflows/scorecards.yml
vendored
2
.github/workflows/scorecards.yml
vendored
@@ -51,6 +51,6 @@ jobs:
|
||||
|
||||
# Upload the results to GitHub's code scanning dashboard.
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@9e907b5e64f6b83e7804b09294d44122997950d6 # v3.29.5
|
||||
uses: github/codeql-action/upload-sarif@89a39a4e59826350b863aa6b6252a07ad50cf83e # v3.29.5
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
||||
4
.github/workflows/stale.yml
vendored
4
.github/workflows/stale.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # tag: v10.1.1
|
||||
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # tag: v10.2.0
|
||||
with:
|
||||
repo-token: ${{ steps.generate-token.outputs.token }}
|
||||
days-before-stale: 90
|
||||
@@ -42,7 +42,7 @@ jobs:
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # tag: v10.1.1
|
||||
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # tag: v10.2.0
|
||||
with:
|
||||
repo-token: ${{ steps.generate-token.outputs.token }}
|
||||
days-before-stale: -1
|
||||
|
||||
2
.github/workflows/update-website-docs.yml
vendored
2
.github/workflows/update-website-docs.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
echo "isLatestRelease=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
- name: Trigger website docs update
|
||||
if: ${{ steps.check-if-latest-release.outputs.isLatestRelease }}
|
||||
if: ${{ steps.check-if-latest-release.outputs.isLatestRelease == 'true' }}
|
||||
env:
|
||||
GH_REPO: electron/website
|
||||
GH_TOKEN: ${{ fromJSON(steps.secret-service.outputs.secrets).WEBSITE_DOCS_UPDATER_APP_TOKEN }}
|
||||
|
||||
2
DEPS
2
DEPS
@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
|
||||
|
||||
vars = {
|
||||
'chromium_version':
|
||||
'147.0.7687.0',
|
||||
'147.0.7699.0',
|
||||
'node_version':
|
||||
'v24.13.1',
|
||||
'nan_version':
|
||||
|
||||
@@ -1332,7 +1332,7 @@ Returns `boolean` - Whether the current desktop environment is Unity launcher.
|
||||
### `app.getLoginItemSettings([options])` _macOS_ _Windows_
|
||||
|
||||
* `options` Object (optional)
|
||||
* `type` string (optional) _macOS_ - Can be one of `mainAppService`, `agentService`, `daemonService`, or `loginItemService`. Defaults to `mainAppService`. Only available on macOS 13 and up. See [app.setLoginItemSettings](app.md#appsetloginitemsettingssettings-macos-windows) for more information about each type.
|
||||
* `type` string (optional) _macOS_ - Can be `mainAppService`, `agentService`, `daemonService`, or `loginItemService`. Defaults to `mainAppService`. Only available on macOS 13 and up. See [app.setLoginItemSettings](app.md#appsetloginitemsettingssettings-macos-windows) for more information about each type.
|
||||
* `serviceName` string (optional) _macOS_ - The name of the service. Required if `type` is non-default. Only available on macOS 13 and up.
|
||||
* `path` string (optional) _Windows_ - The executable path to compare against. Defaults to `process.execPath`.
|
||||
* `args` string[] (optional) _Windows_ - The command-line arguments to compare against. Defaults to an empty array.
|
||||
@@ -1347,13 +1347,13 @@ Returns `Object`:
|
||||
* `wasOpenedAtLogin` boolean _macOS_ - `true` if the app was opened at login automatically.
|
||||
* `wasOpenedAsHidden` boolean _macOS_ _Deprecated_ - `true` if the app was opened as a hidden login item. This indicates that the app should not open any windows at startup. This setting is not available on [MAS builds][mas-builds] or on macOS 13 and up.
|
||||
* `restoreState` boolean _macOS_ _Deprecated_ - `true` if the app was opened as a login item that should restore the state from the previous session. This indicates that the app should restore the windows that were open the last time the app was closed. This setting is not available on [MAS builds][mas-builds] or on macOS 13 and up.
|
||||
* `status` string _macOS_ - can be one of `not-registered`, `enabled`, `requires-approval`, or `not-found`.
|
||||
* `status` string _macOS_ - can be `not-registered`, `enabled`, `requires-approval`, or `not-found`.
|
||||
* `executableWillLaunchAtLogin` boolean _Windows_ - `true` if app is set to open at login and its run key is not deactivated. This differs from `openAtLogin` as it ignores the `args` option, this property will be true if the given executable would be launched at login with **any** arguments.
|
||||
* `launchItems` Object[] _Windows_
|
||||
* `name` string _Windows_ - name value of a registry entry.
|
||||
* `path` string _Windows_ - The executable to an app that corresponds to a registry entry.
|
||||
* `args` string[] _Windows_ - the command-line arguments to pass to the executable.
|
||||
* `scope` string _Windows_ - one of `user` or `machine`. Indicates whether the registry entry is under `HKEY_CURRENT USER` or `HKEY_LOCAL_MACHINE`.
|
||||
* `scope` string _Windows_ - can be `user` or `machine`. Indicates whether the registry entry is under `HKEY_CURRENT USER` or `HKEY_LOCAL_MACHINE`.
|
||||
* `enabled` boolean _Windows_ - `true` if the app registry key is startup approved and therefore shows as `enabled` in Task Manager and Windows settings.
|
||||
|
||||
### `app.setLoginItemSettings(settings)` _macOS_ _Windows_
|
||||
|
||||
@@ -23,11 +23,6 @@ Creates a new touch bar with the specified items. Use
|
||||
> The TouchBar API is currently experimental and may change or be
|
||||
> removed in future Electron releases.
|
||||
|
||||
> [!TIP]
|
||||
> If you don't have a MacBook with Touch Bar, you can use
|
||||
> [Touch Bar Simulator](https://github.com/sindresorhus/touch-bar-simulator)
|
||||
> to test Touch Bar usage in your app.
|
||||
|
||||
### Static Properties
|
||||
|
||||
#### `TouchBarButton`
|
||||
|
||||
@@ -144,4 +144,3 @@ fix_linux_tray_id.patch
|
||||
expose_gtk_ui_platform_field.patch
|
||||
patch_osr_control_screen_info.patch
|
||||
refactor_allow_customizing_config_in_freedesktopsecretkeyprovider.patch
|
||||
fix_update_dbus_signal_signature_for_xdg_globalshortcuts_portal.patch
|
||||
|
||||
@@ -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/navigation_controller_impl_unittest.cc b/content/browser/renderer_host/navigation_controller_impl_unittest.cc
|
||||
index e74b8674d5cec49a510948b97f6e8b790c57e864..8f4f3787fc590fe6e4378546a656a8d51ae965a0 100644
|
||||
index 371aa33917134510649ede22d1eca68fe1c7e4c4..6b8ad80f822a4100a164d0dbd52e15a96801d2ef 100644
|
||||
--- a/content/browser/renderer_host/navigation_controller_impl_unittest.cc
|
||||
+++ b/content/browser/renderer_host/navigation_controller_impl_unittest.cc
|
||||
@@ -168,6 +168,12 @@ class MockPageBroadcast : public blink::mojom::PageBroadcast {
|
||||
@@ -116,10 +116,10 @@ index 932658273154ef2e022358e493a8e7c00c86e732..57bbfb5cde62c9496c351c861880a189
|
||||
// Visibility -----------------------------------------------------------
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
index af97dfb66e5b43bf5275d5f66cd95f7ee6289da8..d5d5a18a8d63cbb056cd4c3eca739f5d7bf1f26b 100644
|
||||
index d9518342ac260ceab7e67062912320282809ff25..6e7a1ffeadc4cf6ca23de271f4f9c2af3a62e88a 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -2515,6 +2515,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
|
||||
@@ -2519,6 +2519,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
|
||||
TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal",
|
||||
"old_state", old_state, "new_state", new_state);
|
||||
|
||||
@@ -130,7 +130,7 @@ index af97dfb66e5b43bf5275d5f66cd95f7ee6289da8..d5d5a18a8d63cbb056cd4c3eca739f5d
|
||||
bool storing_in_bfcache = new_state->is_in_back_forward_cache &&
|
||||
!old_state->is_in_back_forward_cache;
|
||||
bool restoring_from_bfcache = !new_state->is_in_back_forward_cache &&
|
||||
@@ -4188,10 +4192,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
@@ -4192,10 +4196,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
return GetPage()->GetPageScheduler();
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ WebPreferences of in-process child windows, rather than relying on
|
||||
process-level command line switches, as before.
|
||||
|
||||
diff --git a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
||||
index ca771db96607de17323123ed74d7e7852da754c1..67969140ffaa75c819b1809c384ef1c28b8d6a2e 100644
|
||||
index 23672617af41f1d88b551da7b4ad0a19e39a2092..df032abeeca76c0cd914cbefcb6ba1a9509e7f95 100644
|
||||
--- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
||||
+++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
||||
@@ -149,6 +149,19 @@ bool StructTraits<blink::mojom::WebPreferencesDataView,
|
||||
@@ -32,7 +32,7 @@ index ca771db96607de17323123ed74d7e7852da754c1..67969140ffaa75c819b1809c384ef1c2
|
||||
out->accelerated_video_decode_enabled =
|
||||
data.accelerated_video_decode_enabled();
|
||||
diff --git a/third_party/blink/public/common/web_preferences/web_preferences.h b/third_party/blink/public/common/web_preferences/web_preferences.h
|
||||
index 1c9f1a57ee1f9e295a7f4bb1b445ebf8d8a9e9f1..6d04d8ff71d36e1df99c9d69cc4e1bd439890667 100644
|
||||
index c13ae7f9f49afc0f5355920453df0cebcd55bf3d..1e96abbeac5d466c1831e6687796a031c4cfa596 100644
|
||||
--- a/third_party/blink/public/common/web_preferences/web_preferences.h
|
||||
+++ b/third_party/blink/public/common/web_preferences/web_preferences.h
|
||||
@@ -9,6 +9,7 @@
|
||||
@@ -43,7 +43,7 @@ index 1c9f1a57ee1f9e295a7f4bb1b445ebf8d8a9e9f1..6d04d8ff71d36e1df99c9d69cc4e1bd4
|
||||
#include "build/build_config.h"
|
||||
#include "net/nqe/effective_connection_type.h"
|
||||
#include "third_party/blink/public/common/common_export.h"
|
||||
@@ -462,6 +463,19 @@ struct BLINK_COMMON_EXPORT WebPreferences {
|
||||
@@ -464,6 +465,19 @@ struct BLINK_COMMON_EXPORT WebPreferences {
|
||||
bool should_screenshot_on_mainframe_same_doc_navigation = true;
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -64,7 +64,7 @@ index 1c9f1a57ee1f9e295a7f4bb1b445ebf8d8a9e9f1..6d04d8ff71d36e1df99c9d69cc4e1bd4
|
||||
// chrome, except for the cases where it would require lots of extra work for
|
||||
// the embedder to use the same default value.
|
||||
diff --git a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
||||
index db2ff72cf836d6e10ff30d00df2fe14896b214fe..50ac38be6ab78eb15fb5621c9e9065d88b6649e7 100644
|
||||
index 9bb06fb430cbf31b6fc1343229191565a62421a8..a69327c42d386390bafb29d89063dd91315de834 100644
|
||||
--- a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
||||
+++ b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
||||
@@ -8,6 +8,7 @@
|
||||
@@ -129,7 +129,7 @@ index db2ff72cf836d6e10ff30d00df2fe14896b214fe..50ac38be6ab78eb15fb5621c9e9065d8
|
||||
return r.cookie_enabled;
|
||||
}
|
||||
diff --git a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
||||
index 230fbc9018462e5f1f3f7a600ac3a0eef64ba459..34be07248d1738bf1b820ba179a9c8e427efca4c 100644
|
||||
index ec6f13d3924cf861c505ed6d3abde0371fd65475..4830affa94db76d7cf87482671b9e20a68bcc449 100644
|
||||
--- a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
||||
+++ b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
@@ -15,7 +15,7 @@ Refs changes in:
|
||||
This patch reverts the changes to fix associated crashes in Electron.
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/frame/frame.cc b/third_party/blink/renderer/core/frame/frame.cc
|
||||
index ac5d88520a785e12b66ebd96c92c46319a08311c..5c582e4f249c28a5739da2da4e600ee2ed7e19ea 100644
|
||||
index 901b727ed898cdd840df5ff7e2380fbee5d7fde2..1caacaeed9ddf1162cfa393fe4a7c86ac27f674a 100644
|
||||
--- a/third_party/blink/renderer/core/frame/frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/frame.cc
|
||||
@@ -135,14 +135,6 @@ bool Frame::Detach(FrameDetachType type) {
|
||||
|
||||
@@ -10,7 +10,7 @@ Needed for:
|
||||
2) //electron/shell/common:web_contents_utility
|
||||
|
||||
diff --git a/content/public/common/BUILD.gn b/content/public/common/BUILD.gn
|
||||
index ab27fe9ec8680eee6ddde2975e16edc2f6468621..45d0d6f6da8ba72f243699a6f48187f38c85c390 100644
|
||||
index 804a65521c2574c442ab0051a90b7171c27a7e69..cecbbbbfa8593dbfdc81d1813e9cd631eac7080d 100644
|
||||
--- a/content/public/common/BUILD.gn
|
||||
+++ b/content/public/common/BUILD.gn
|
||||
@@ -366,6 +366,8 @@ mojom("interfaces") {
|
||||
|
||||
@@ -33,10 +33,10 @@ index 8aad429c56915e0e842d95e246ad4ae41b0d1588..a13c79ad0c8a2ce42679847eee5ec57d
|
||||
"//base",
|
||||
"//build:branding_buildflags",
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
index 3d21780be1af55fc701a6b489d67a3244ca151f9..d39ba67ddbca3d0410ddf64866c4823d6a3e6ba8 100644
|
||||
index 427684f0010bd773e104dc5926ab98f95f463e7d..5c99a64abe6193b1e9109903edbebd25df2ebec5 100644
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -4748,7 +4748,7 @@ static_library("browser") {
|
||||
@@ -4744,7 +4744,7 @@ static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -46,10 +46,10 @@ index 3d21780be1af55fc701a6b489d67a3244ca151f9..d39ba67ddbca3d0410ddf64866c4823d
|
||||
# than here in :chrome_dll.
|
||||
deps += [ "//chrome:packed_resources_integrity_header" ]
|
||||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
index c48681f108485bd277e6545b2ebc50c1ff8d1b96..5889dc8886c4dd6ed335c38e63b5d7d27ad6bf8b 100644
|
||||
index c30465fdfab08f56ada781893663cd719144b3d6..a1fcbcfed2c34e068e31119ef07000fd239a7181 100644
|
||||
--- a/chrome/test/BUILD.gn
|
||||
+++ b/chrome/test/BUILD.gn
|
||||
@@ -7775,9 +7775,12 @@ test("unit_tests") {
|
||||
@@ -7796,9 +7796,12 @@ test("unit_tests") {
|
||||
"//chrome/notification_helper",
|
||||
]
|
||||
|
||||
@@ -63,7 +63,7 @@ index c48681f108485bd277e6545b2ebc50c1ff8d1b96..5889dc8886c4dd6ed335c38e63b5d7d2
|
||||
"//chrome//services/util_win:unit_tests",
|
||||
"//chrome/app:chrome_dll_resources",
|
||||
"//chrome/app:win_unit_tests",
|
||||
@@ -8744,6 +8747,10 @@ test("unit_tests") {
|
||||
@@ -8770,6 +8773,10 @@ test("unit_tests") {
|
||||
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
|
||||
]
|
||||
|
||||
@@ -74,7 +74,7 @@ index c48681f108485bd277e6545b2ebc50c1ff8d1b96..5889dc8886c4dd6ed335c38e63b5d7d2
|
||||
sources += [
|
||||
# The importer code is not used on Android.
|
||||
"../common/importer/firefox_importer_utils_unittest.cc",
|
||||
@@ -8801,7 +8808,6 @@ test("unit_tests") {
|
||||
@@ -8827,7 +8834,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",
|
||||
|
||||
@@ -7,7 +7,7 @@ These are variables we add to the root BUILDCONFIG so that they're available
|
||||
everywhere, without having to import("//electron/.../flags.gni").
|
||||
|
||||
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
|
||||
index 4375b08443820cfb945826f4ad5a121291727448..7e7bc7b83590370ac6d14661910279f347e93ad2 100644
|
||||
index 4d1ac59b9b7dc05a20a3bb523b17706a00761cde..23af9a129531a06dc87573b18b44a921e7fb11ea 100644
|
||||
--- a/build/config/BUILDCONFIG.gn
|
||||
+++ b/build/config/BUILDCONFIG.gn
|
||||
@@ -123,6 +123,9 @@ if (current_os == "") {
|
||||
|
||||
@@ -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 b24a969b257b3854a6e49ec16a7cd7ca74e11036..b0bb049e9b52827152b89826d185b8b8fbac39aa 100644
|
||||
index 46f4627856678c26fd1024b6f20253b0164475bb..1718e3138961349bc79d3f0fc753097b125276e9 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -9998,6 +9998,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
@@ -10006,6 +10006,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 b24a969b257b3854a6e49ec16a7cd7ca74e11036..b0bb049e9b52827152b89826d185b8b8
|
||||
&no_javascript_access);
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 2639400b52df75164f2e3a0eeb9b2ff73c4dd285..e1bc262366e11ddccfa3942b9becb786ac06eba9 100644
|
||||
index d8725eeb8a7ee31bf11b43b08d76bb699aee371d..b6c4b24ac87e0aaeac82bd18b43bf4c12f469cf7 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5360,6 +5360,10 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5361,6 +5361,10 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
create_params.initially_hidden = renderer_started_hidden;
|
||||
create_params.initial_popup_url = params.target_url;
|
||||
|
||||
@@ -35,7 +35,7 @@ index 2639400b52df75164f2e3a0eeb9b2ff73c4dd285..e1bc262366e11ddccfa3942b9becb786
|
||||
// Even though all codepaths leading here are in response to a renderer
|
||||
// trying to open a new window, if the new window ends up in a different
|
||||
// browsing instance, then the RenderViewHost, RenderWidgetHost,
|
||||
@@ -5412,6 +5416,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5413,6 +5417,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
// Sets the newly created WebContents WindowOpenDisposition.
|
||||
new_contents_impl->original_window_open_disposition_ = params.disposition;
|
||||
|
||||
@@ -48,7 +48,7 @@ index 2639400b52df75164f2e3a0eeb9b2ff73c4dd285..e1bc262366e11ddccfa3942b9becb786
|
||||
// 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
|
||||
@@ -5453,12 +5463,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5454,12 +5464,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
AddWebContentsDestructionObserver(new_contents_impl);
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ index 368d4b51b5b50ce5f48a1371ca5f69d053cdf014..715facf2ec1d8f1dfd8bfe1949481ab2
|
||||
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 aff5ce9518500bb655b5e7ae33ecde29d0b0c014..27a3ec60ef7e1fef85a4b5be1e7e519d11a711d3 100644
|
||||
index 2c74ab3c01dc5e67aa5e5ada790201932d9569bb..965de8a4d84908a25b57be4a685451454848ea82 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -205,6 +205,7 @@ class NetworkService;
|
||||
@@ -111,7 +111,7 @@ index aff5ce9518500bb655b5e7ae33ecde29d0b0c014..27a3ec60ef7e1fef85a4b5be1e7e519d
|
||||
bool opener_suppressed,
|
||||
bool* no_javascript_access);
|
||||
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
|
||||
index 509256e4c327806f9a24eab69c1d4e84581767ce..f8f3996cbd00c06bec2962a54488b2d8f1666530 100644
|
||||
index 2de33a2926953e6ca012764127da4c6ec457959c..b246049104bad331651699a93260835fd943a840 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -34,6 +34,17 @@ namespace content {
|
||||
@@ -133,7 +133,7 @@ index 509256e4c327806f9a24eab69c1d4e84581767ce..f8f3996cbd00c06bec2962a54488b2d8
|
||||
WebContents* source,
|
||||
const OpenURLParams& params,
|
||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||
index ea862108a0f83a4aa966046ba15a8ca6757261ee..8fd2a5d359dd883754316095f66a83e8e255926c 100644
|
||||
index c0c3706f9b20299ab4d8f96e26adb1b8e882470b..c7896c828644ed84b8423df4486d8e36835a6c4d 100644
|
||||
--- a/content/public/browser/web_contents_delegate.h
|
||||
+++ b/content/public/browser/web_contents_delegate.h
|
||||
@@ -18,6 +18,7 @@
|
||||
@@ -152,7 +152,7 @@ index ea862108a0f83a4aa966046ba15a8ca6757261ee..8fd2a5d359dd883754316095f66a83e8
|
||||
#include "content/public/common/window_container_type.mojom-forward.h"
|
||||
#include "third_party/blink/public/common/input/web_mouse_event.h"
|
||||
#include "third_party/blink/public/common/page/drag_operation.h"
|
||||
@@ -400,6 +402,16 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
@@ -402,6 +404,16 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
const StoragePartitionConfig& partition_config,
|
||||
SessionStorageNamespace* session_storage_namespace);
|
||||
|
||||
@@ -185,10 +185,10 @@ index dd17c9c1d3d17736ca7ec934977069cdb7ed30b8..757ee4f4e5862d8ebaf8279e3f9e8b95
|
||||
// moved on send.
|
||||
bool is_background_tab =
|
||||
diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc
|
||||
index 576fd50ec4c27c6c2da9674e68f65fd0a21d1d68..b44304f128fb97523c9c9046b5edece8c09c5c0f 100644
|
||||
index 7a57cb3a1414a77704c42ae01a9dc89fae4ad4a3..769601c2749f0781317f668cf806042db626c348 100644
|
||||
--- a/content/web_test/browser/web_test_content_browser_client.cc
|
||||
+++ b/content/web_test/browser/web_test_content_browser_client.cc
|
||||
@@ -538,6 +538,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
|
||||
@@ -539,6 +539,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
|
||||
@@ -103,10 +103,10 @@ index 8482d7fab12634e6b9a8d5f9bab6c7e428bb99ee..4f131fbfc9350352bce4430f92b9f2cf
|
||||
void WillInitializeWorkerContext() override;
|
||||
void WillDestroyWorkerContext(v8::Local<v8::Context> context) override;
|
||||
diff --git a/extensions/renderer/dispatcher.cc b/extensions/renderer/dispatcher.cc
|
||||
index 095ba031a645e9972e831d60880bcae98d7b5cd5..ef7b9416f6c2afcecb987b59c17cc0763a61730c 100644
|
||||
index 915c0c4bc5d130e33728d852f6dc70683b82bc10..3eba943bd7954fca63cf31f0d69ad1b536118f8a 100644
|
||||
--- a/extensions/renderer/dispatcher.cc
|
||||
+++ b/extensions/renderer/dispatcher.cc
|
||||
@@ -614,6 +614,7 @@ void Dispatcher::DidInitializeServiceWorkerContextOnWorkerThread(
|
||||
@@ -530,6 +530,7 @@ void Dispatcher::DidInitializeServiceWorkerContextOnWorkerThread(
|
||||
|
||||
void Dispatcher::WillEvaluateServiceWorkerOnWorkerThread(
|
||||
blink::WebServiceWorkerContextProxy* context_proxy,
|
||||
|
||||
@@ -34,10 +34,10 @@ index cc3f9bc9383f8272a5cd95b1f2ac56529d86e493..5ca29b84cdaf42ef516ef819ae32b230
|
||||
|
||||
class ScrollEvent;
|
||||
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
index 1e0c7aa8a17ca62eda9bee3444668e032a1c928f..8fe4ef2a5699fdf1a895a2981f5cc7312070fbc2 100644
|
||||
index 32d4b00eafcf534e806a0be65143d61270ba9317..ca91b370065b91f12764e188bb786b54ea45bcf3 100644
|
||||
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
@@ -1380,6 +1380,10 @@ HBRUSH DesktopWindowTreeHostWin::GetBackgroundPaintBrush() {
|
||||
@@ -1382,6 +1382,10 @@ HBRUSH DesktopWindowTreeHostWin::GetBackgroundPaintBrush() {
|
||||
return background_paint_brush_;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,15 +14,15 @@ track down the source of this problem & figure out if we can fix it
|
||||
by changing something in Electron.
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 0e4fb92136e7ee014dd390142bb4c38349c3ed6b..4248fe3b201b9b62ab7c3bfc07658f116e974867 100644
|
||||
index c2adef9ec376176439985234d021316ac0521adf..f1276da6c20a8c1e4bd124b20c47057fa677894b 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5331,7 +5331,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5332,7 +5332,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
: IsGuest();
|
||||
// While some guest types do not have a guest SiteInstance, the ones that
|
||||
// don't all override WebContents creation above.
|
||||
- CHECK_EQ(source_site_instance->IsGuest(), is_guest);
|
||||
+ // CHECK_EQ(source_site_instance->IsGuest(), is_guest);
|
||||
- CHECK_EQ(source_site_instance->GetSecurityPrincipal().IsGuest(), is_guest);
|
||||
+ // CHECK_EQ(source_site_instance->GetSecurityPrincipal().IsGuest(), is_guest);
|
||||
|
||||
// We usually create the new window in the same BrowsingInstance (group of
|
||||
// script-related windows), by passing in the current SiteInstance. However,
|
||||
|
||||
@@ -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 edcbf7effafbf0f0c8a613ed05a259f4996c1690..74c40adbfae086fab9c1e29f4f494e52221c3f01 100644
|
||||
index eb47e6d14c11c4f61501df84a87c37e5fcf81bb0..7077a94c743f8c6c24a3aef6f43fa25e44f66938 100644
|
||||
--- a/content/browser/site_instance_impl.cc
|
||||
+++ b/content/browser/site_instance_impl.cc
|
||||
@@ -224,7 +224,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(
|
||||
|
||||
@@ -43,10 +43,10 @@ index 21d5ab99800c0830cc31ec4ebb24e3f05cd904d8..3f8f514519d6e4a0abe3690f5df35de8
|
||||
// When the enterprise policy is not set, use finch/feature flag choice.
|
||||
return base::FeatureList::IsEnabled(chrome_pdf::features::kPdfXfaSupport);
|
||||
diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc
|
||||
index 32cc3ee248d7bc488b91aa44504f057da1b1471c..cb5ae8612b29f222d452df9e2354e67cd14e8999 100644
|
||||
index 6757b8354a4053f164d9286dac07c06cab563fd8..f609176384cc5b7f65042956df16e4a052a27cf6 100644
|
||||
--- a/chrome/browser/pdf/pdf_extension_util.cc
|
||||
+++ b/chrome/browser/pdf/pdf_extension_util.cc
|
||||
@@ -255,10 +255,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) {
|
||||
@@ -260,10 +260,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) {
|
||||
|
||||
#if BUILDFLAG(ENABLE_PDF_INK2)
|
||||
bool IsPdfAnnotationsEnabledByPolicy(content::BrowserContext* context) {
|
||||
@@ -58,8 +58,17 @@ index 32cc3ee248d7bc488b91aa44504f057da1b1471c..cb5ae8612b29f222d452df9e2354e67c
|
||||
+#endif
|
||||
+ return true;
|
||||
}
|
||||
#endif // BUILDFLAG(ENABLE_PDF_INK2)
|
||||
|
||||
bool IsPdfInk2AnnotationsEnabled(content::BrowserContext* context) {
|
||||
@@ -427,7 +430,7 @@ void DispatchShouldUpdateViewportEvent(content::RenderFrameHost* embedder_host,
|
||||
}
|
||||
|
||||
bool ShouldShowGlicSummarizeButton(content::BrowserContext* context) {
|
||||
-#if BUILDFLAG(ENABLE_GLIC)
|
||||
+#if 0
|
||||
Profile* profile = Profile::FromBrowserContext(context);
|
||||
if (!glic::GlicEnabling::IsEnabledForProfile(profile)) {
|
||||
return false;
|
||||
diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/profiles/profile_selections.cc
|
||||
index bc0bad82ebcdceadc505e912ff27202b452fefab..6b77c57fccc4619a1df3b4ed661d2bdd60960228 100644
|
||||
--- a/chrome/browser/profiles/profile_selections.cc
|
||||
|
||||
@@ -80,10 +80,10 @@ index 39fa45f0a0f9076bd7ac0be6f455dd540a276512..3d0381d463eed73470b28085830f2a23
|
||||
content::WebContents* source,
|
||||
const content::OpenURLParams& params,
|
||||
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
|
||||
index 7c9f086470c13c782563f6ebaeea26277f1838c1..d8f1178cada860357a074b14f27287dd7ebab965 100644
|
||||
index f8c5f63b57a7a36d2f889bec68d8e313b24cb82f..7c51540115a7b1391c5a9249765650aea0e9ba8d 100644
|
||||
--- a/chrome/browser/ui/browser.cc
|
||||
+++ b/chrome/browser/ui/browser.cc
|
||||
@@ -2351,7 +2351,8 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
@@ -2293,7 +2293,8 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
const std::string& frame_name,
|
||||
@@ -93,7 +93,7 @@ index 7c9f086470c13c782563f6ebaeea26277f1838c1..d8f1178cada860357a074b14f27287dd
|
||||
if (HasActorTask(profile(), opener)) {
|
||||
// If an ExecutionEngine is acting on the opener, prevent it from creating a
|
||||
// new WebContents. We'll instead force the navigation to happen in the same
|
||||
@@ -2364,7 +2365,7 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
@@ -2306,7 +2307,7 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
return (window_container_type ==
|
||||
content::mojom::WindowContainerType::BACKGROUND &&
|
||||
ShouldCreateBackgroundContents(source_site_instance, opener_url,
|
||||
@@ -103,10 +103,10 @@ index 7c9f086470c13c782563f6ebaeea26277f1838c1..d8f1178cada860357a074b14f27287dd
|
||||
|
||||
WebContents* Browser::CreateCustomWebContents(
|
||||
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
|
||||
index bc5483d1f30f50927ac8af011edc783767d94896..e533b1624814fe7140f89d0d7c6c2e51284a803e 100644
|
||||
index a0e42d5be427ac89737baeaf07ec2ed3b678be5b..d0ec6b819a697b2f97e4a2f960028959a24e57e1 100644
|
||||
--- a/chrome/browser/ui/browser.h
|
||||
+++ b/chrome/browser/ui/browser.h
|
||||
@@ -932,8 +932,7 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -915,8 +915,7 @@ class Browser : public TabStripModelObserver,
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
@@ -145,7 +145,7 @@ index 3fc06be01f20e8cd314d95d73a3f58c2f0742fe9..c07910ae59a185442f37ea6e7b96fdf3
|
||||
// The profile used for the presentation.
|
||||
raw_ptr<Profile, DanglingUntriaged> otr_profile_;
|
||||
diff --git a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
||||
index 592ac3bba77571d4bd2f08e43a6acaaeee59611f..2c7f23ef9cd474230a2a2a773c53bbeff169d2ab 100644
|
||||
index 783d05c39ecbe5e556af2e5fd8b4f30fb5aa1196..e1895bcf9d3c6818aa64b1479774a143dae74d53 100644
|
||||
--- a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
||||
+++ b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
||||
@@ -104,8 +104,7 @@ class HatsNextWebDialog::HatsWebView : public views::WebView {
|
||||
@@ -159,7 +159,7 @@ index 592ac3bba77571d4bd2f08e43a6acaaeee59611f..2c7f23ef9cd474230a2a2a773c53bbef
|
||||
}
|
||||
content::WebContents* CreateCustomWebContents(
|
||||
diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
||||
index 885dce608c8b6a387fe54c00fc804538a033082d..3111d414360b9e75fe9eaa6b06a41126871ff591 100644
|
||||
index fca620bdddec4d4a8de558675a1b5c52ab52cc56..2d09f22a415426f1d749344f75e97b264a55b46f 100644
|
||||
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
||||
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
||||
@@ -207,15 +207,14 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden(
|
||||
@@ -223,7 +223,7 @@ index b969f1d97b7e3396119b579cfbe61e19ff7d2dd4..b8d6169652da28266a514938b45b39c5
|
||||
content::WebContents* AddNewContents(
|
||||
content::WebContents* source,
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 2f431d36474a3f7798bc1ec04b4a0f681d12d49b..796dbccf85c2ffaa5e0ec921596beec59e9b7444 100644
|
||||
index ae313e6fd5344c508121327dd12c8897f2f9254b..85a0d1eebff80d6054b80c1e9cc6e8a2ef8584e2 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5296,8 +5296,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -237,7 +237,7 @@ index 2f431d36474a3f7798bc1ec04b4a0f681d12d49b..796dbccf85c2ffaa5e0ec921596beec5
|
||||
static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
|
||||
opener, source_site_instance, is_new_browsing_instance,
|
||||
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
|
||||
index f8f3996cbd00c06bec2962a54488b2d8f1666530..fde24980f7eefd2696a9094bdb97787909955ae9 100644
|
||||
index b246049104bad331651699a93260835fd943a840..90915662c4e9dbd8d9ccd365427cf36e32ee1608 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -160,8 +160,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
|
||||
@@ -251,7 +251,7 @@ index f8f3996cbd00c06bec2962a54488b2d8f1666530..fde24980f7eefd2696a9094bdb977879
|
||||
}
|
||||
|
||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||
index 8fd2a5d359dd883754316095f66a83e8e255926c..832394b10f3ff5879c002b49d9eeb3479c9f002a 100644
|
||||
index c7896c828644ed84b8423df4486d8e36835a6c4d..8c13343c426ec11195021114d04b663d5f461020 100644
|
||||
--- a/content/public/browser/web_contents_delegate.h
|
||||
+++ b/content/public/browser/web_contents_delegate.h
|
||||
@@ -380,8 +380,7 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
@@ -265,7 +265,7 @@ index 8fd2a5d359dd883754316095f66a83e8e255926c..832394b10f3ff5879c002b49d9eeb347
|
||||
// Allow delegate to creates a custom WebContents when
|
||||
// WebContents::CreateNewWindow() is called. This function is only called
|
||||
diff --git a/extensions/browser/guest_view/app_view/app_view_guest.cc b/extensions/browser/guest_view/app_view/app_view_guest.cc
|
||||
index 1c9720ba470c559b24d0605b5906e1eded998841..fc6fd8264e83d1dfc8409fbcd7ad81d4c918091a 100644
|
||||
index f51ac6c6493c78c1eafcae5abbd303563b56665d..0719a104bb2073e1ca3e25a661c86b8f5e747b17 100644
|
||||
--- a/extensions/browser/guest_view/app_view/app_view_guest.cc
|
||||
+++ b/extensions/browser/guest_view/app_view/app_view_guest.cc
|
||||
@@ -153,8 +153,7 @@ bool AppViewGuest::IsWebContentsCreationOverridden(
|
||||
@@ -279,7 +279,7 @@ index 1c9720ba470c559b24d0605b5906e1eded998841..fc6fd8264e83d1dfc8409fbcd7ad81d4
|
||||
|
||||
return true;
|
||||
diff --git a/extensions/browser/guest_view/app_view/app_view_guest.h b/extensions/browser/guest_view/app_view/app_view_guest.h
|
||||
index 8c43b222e21277d6c8ebc07f8b2f0f23c2ad259c..1be43223eb9c2f4e2d877d6748d08d29c0b9c86a 100644
|
||||
index ab01e9590a5dc99eecb22888c4f53f5e33edcadc..b6f6014dcb818b89f5c7e9f4f7dfcec5c6667541 100644
|
||||
--- a/extensions/browser/guest_view/app_view/app_view_guest.h
|
||||
+++ b/extensions/browser/guest_view/app_view/app_view_guest.h
|
||||
@@ -10,6 +10,7 @@
|
||||
@@ -301,7 +301,7 @@ index 8c43b222e21277d6c8ebc07f8b2f0f23c2ad259c..1be43223eb9c2f4e2d877d6748d08d29
|
||||
content::RenderFrameHost* opener,
|
||||
content::SiteInstance* source_site_instance,
|
||||
diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
||||
index 77a96d11dd5ee2bae9d4de8057698ad04bad1167..442b2f83e3288fbfad7035ecbbe9d905f1117501 100644
|
||||
index 8e11dbff1b14a87929e1dff99570cecc325e9c3b..a41b43b1122c6dc41a3193228657f47854321023 100644
|
||||
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
||||
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
||||
@@ -261,8 +261,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
|
||||
@@ -315,7 +315,7 @@ index 77a96d11dd5ee2bae9d4de8057698ad04bad1167..442b2f83e3288fbfad7035ecbbe9d905
|
||||
|
||||
// This method handles opening links from within the guest. Since this guest
|
||||
diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
||||
index d86fc00d6c58a11ef2503d307a8b4416af866419..d469bf55fa6046acdda173e21331458512c1810b 100644
|
||||
index 709994f0523c39d432fe45882ad839d9ab721822..af9f5907d729a2d8225abea37ee6ceb5bc6065e9 100644
|
||||
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
||||
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
||||
@@ -74,8 +74,7 @@ class ExtensionOptionsGuest
|
||||
@@ -329,7 +329,7 @@ index d86fc00d6c58a11ef2503d307a8b4416af866419..d469bf55fa6046acdda173e213314585
|
||||
content::RenderFrameHost* opener,
|
||||
content::SiteInstance* source_site_instance,
|
||||
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
index 49727adaa1c78d0f3704dcac866c1d4a8afe9474..edfd99c2ebeff77b9aa446be61b76fadceef89ec 100644
|
||||
index 5b03de2243e84bd2f82be1055b3f1c196bf491ba..1ef2c84b730aaadbef1cbb7d0abe8ef2e903a69f 100644
|
||||
--- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
+++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
@@ -423,8 +423,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
|
||||
@@ -343,7 +343,7 @@ index 49727adaa1c78d0f3704dcac866c1d4a8afe9474..edfd99c2ebeff77b9aa446be61b76fad
|
||||
|
||||
return true;
|
||||
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||
index f6ca86c34c83b8bba4b73f5c0d8ed4bef39fd9b9..4bf187eabf9f923b779b4188e4d1f95b5877e694 100644
|
||||
index 4cc90f1e5e7cf245de8e6b28f95864745eaf74b0..867e67863050d5a4f01e4d3f1b5cf9f17d8c4034 100644
|
||||
--- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||
+++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||
@@ -187,8 +187,7 @@ class MimeHandlerViewGuest
|
||||
|
||||
@@ -7,7 +7,7 @@ By default, chromium sets up one v8 snapshot to be used in all v8 contexts. This
|
||||
to have a dedicated browser process v8 snapshot defined by the file `browser_v8_context_snapshot.bin`.
|
||||
|
||||
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
|
||||
index 81e2e8bbae7c2d8c5ef6c4fad5121121317901ca..3c7722778d909d35ab268c81fd406f0870502fd4 100644
|
||||
index b795a9dbf898570a7cd8469ee386c4edf4bfa275..449940fe1b6969576f1b2c21d7719620e578e8a8 100644
|
||||
--- a/content/app/content_main_runner_impl.cc
|
||||
+++ b/content/app/content_main_runner_impl.cc
|
||||
@@ -277,8 +277,13 @@ void AsanProcessInfoCB(const char* reason,
|
||||
@@ -25,7 +25,7 @@ index 81e2e8bbae7c2d8c5ef6c4fad5121121317901ca..3c7722778d909d35ab268c81fd406f08
|
||||
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||
base::FileDescriptorStore& file_descriptor_store =
|
||||
base::FileDescriptorStore::GetInstance();
|
||||
@@ -954,7 +959,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) {
|
||||
@@ -959,7 +964,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) {
|
||||
|
||||
#if defined(V8_USE_EXTERNAL_STARTUP_DATA)
|
||||
if (delegate_->ShouldLoadV8Snapshot(process_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 f52e7bf0cfcba6ee161b027e2bf449a8dbafbe43..a616f78127e9aa7dc4ac28c0a1362abedd0a7e00 100644
|
||||
index 6436665d3084164ebe3ac2896c462360558a8d74..78a0b8b71f4fc31798bcb1dc89fe10480f19967b 100644
|
||||
--- a/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
+++ b/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
@@ -1956,6 +1956,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1941,6 +1941,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
loader_factory_bundle_info =
|
||||
context()->loader_factory_bundle_for_update_check()->Clone();
|
||||
|
||||
@@ -38,7 +38,7 @@ index f52e7bf0cfcba6ee161b027e2bf449a8dbafbe43..a616f78127e9aa7dc4ac28c0a1362abe
|
||||
if (auto* config = content::WebUIConfigMap::GetInstance().GetConfig(
|
||||
browser_context(), scope)) {
|
||||
// If this is a Service Worker for a WebUI, the WebUI's URLDataSource
|
||||
@@ -1975,9 +1995,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1960,9 +1980,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
features::kEnableServiceWorkersForChromeScheme) &&
|
||||
scope.scheme() == kChromeUIScheme) {
|
||||
config->RegisterURLDataSource(browser_context());
|
||||
@@ -49,7 +49,7 @@ index f52e7bf0cfcba6ee161b027e2bf449a8dbafbe43..a616f78127e9aa7dc4ac28c0a1362abe
|
||||
.emplace(kChromeUIScheme, CreateWebUIServiceWorkerLoaderFactory(
|
||||
browser_context(), kChromeUIScheme,
|
||||
base::flat_set<std::string>()));
|
||||
@@ -1985,9 +2003,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1970,9 +1988,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
features::kEnableServiceWorkersForChromeUntrusted) &&
|
||||
scope.scheme() == kChromeUIUntrustedScheme) {
|
||||
config->RegisterURLDataSource(browser_context());
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: feat: enable setting aspect ratio to 0
|
||||
Make SetAspectRatio accept 0 as valid input, which would reset to null.
|
||||
|
||||
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
index 3a02cb67eb114efdfe796de8e544e05f6559ddae..1e0c7aa8a17ca62eda9bee3444668e032a1c928f 100644
|
||||
index 8e2a68ffa63776c3782b1503b76a7f1845651e54..32d4b00eafcf534e806a0be65143d61270ba9317 100644
|
||||
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
@@ -617,7 +617,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
|
||||
@@ -619,7 +619,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
|
||||
void DesktopWindowTreeHostWin::SetAspectRatio(
|
||||
const gfx::SizeF& aspect_ratio,
|
||||
const gfx::Size& excluded_margin) {
|
||||
|
||||
@@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
|
||||
|
||||
} // namespace net
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
index 81f99ddf906bc1767f3d79ac303c0f7cdd31dd65..b83e4c4c2eddb9fc276fffb77bb115e2721b1684 100644
|
||||
index 24bf1331876ae80b7d0b9a88876d83922a446a85..6318cb88a4a5bb8c74d9c66e91ee95ca20594a4a 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -1879,6 +1879,13 @@ void NetworkContext::SetNetworkConditions(
|
||||
@@ -1880,6 +1880,13 @@ void NetworkContext::SetNetworkConditions(
|
||||
std::move(network_conditions));
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ index 81f99ddf906bc1767f3d79ac303c0f7cdd31dd65..b83e4c4c2eddb9fc276fffb77bb115e2
|
||||
// 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 c78ef874c575c7fdff5cc068fc34e7ce0231737e..5613c4db90ba5e0263d5c9ead2638cd38eccccde 100644
|
||||
index ea1941500a0036d5d9ab81be113f67e79bb7e96a..5c81de1cc186c16d92c4ffb4aeaa5d99edae2287 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -321,6 +321,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -63,7 +63,7 @@ index c78ef874c575c7fdff5cc068fc34e7ce0231737e..5613c4db90ba5e0263d5c9ead2638cd3
|
||||
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 8f2f1cc4f4df6ce8c00a65d6b8c008a896800fd7..b843412396f17bc094fa5a5dcf4ab3a11ef7d00d 100644
|
||||
index 3ae721ad0d982d64f0531d9a0b94ff7062a2865a..ba76f74b352c677352eed38c027ab46e4d5452dd 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -1276,6 +1276,9 @@ interface NetworkContext {
|
||||
@@ -77,7 +77,7 @@ index 8f2f1cc4f4df6ce8c00a65d6b8c008a896800fd7..b843412396f17bc094fa5a5dcf4ab3a1
|
||||
SetAcceptLanguage(string new_accept_language);
|
||||
|
||||
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
|
||||
index 8ce978e789227dd5fcd4117f40996bba7504e537..91c98d895024b01e3b527d7e1e07c629bef4d420 100644
|
||||
index d08e0914da4e53b1cf0f2de8c067a4aed634a474..80af85c3ed86155b7fe25bb00546946d4696eee3 100644
|
||||
--- a/services/network/test/test_network_context.h
|
||||
+++ b/services/network/test/test_network_context.h
|
||||
@@ -156,6 +156,7 @@ class TestNetworkContext : public mojom::NetworkContext {
|
||||
|
||||
@@ -15,7 +15,7 @@ Ideally we could add an embedder observer pattern here but that can be
|
||||
done in future work.
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
index d5d5a18a8d63cbb056cd4c3eca739f5d7bf1f26b..693df80c3859c1bcb54b6791eee852f5817d734b 100644
|
||||
index 6e7a1ffeadc4cf6ca23de271f4f9c2af3a62e88a..40fab97eaea3c6591fd08fb7c054685a1b48024f 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -1903,6 +1903,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
||||
|
||||
@@ -414,7 +414,7 @@ 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 c0b42521519d0d13e79c5b4bf67446f006209419..a2727e8450429e1f07824ecb0785fb3c717d56d7 100644
|
||||
index 863a091228114ad24dce8dd26dafe7557fedbbf7..b1f788e4a42970b6d96a7a189afee211b367d4db 100644
|
||||
--- a/url/url_util.cc
|
||||
+++ b/url/url_util.cc
|
||||
@@ -131,6 +131,9 @@ struct SchemeRegistry {
|
||||
@@ -444,7 +444,7 @@ index c0b42521519d0d13e79c5b4bf67446f006209419..a2727e8450429e1f07824ecb0785fb3c
|
||||
std::string_view handler) {
|
||||
DoAddSchemeWithHandler(
|
||||
diff --git a/url/url_util.h b/url/url_util.h
|
||||
index 1f9304c7ea5488a1c50891e3dabfa3a61af97b7b..f965c1dbd47781748d3091209d140a128ca7192f 100644
|
||||
index e0bcce98722ab2af3216c0309e26e354c79be754..f889e914d50fd5491aac96d5bd2ec9759ac6002c 100644
|
||||
--- a/url/url_util.h
|
||||
+++ b/url/url_util.h
|
||||
@@ -115,6 +115,15 @@ COMPONENT_EXPORT(URL) const std::vector<std::string>& GetCSPBypassingSchemes();
|
||||
|
||||
@@ -742,10 +742,10 @@ index 0062d2cb6634b8b29977a0312516b1b13936b40a..888ff36d70c83010f1f45e9eeb2dd6b5
|
||||
|
||||
// An interface which can be implemented and registered/unregistered with
|
||||
diff --git a/sandbox/policy/win/sandbox_win.cc b/sandbox/policy/win/sandbox_win.cc
|
||||
index 2266ec1424b23841e0215ffefa4506f108368bc2..1aea2187a48e9ecb6746f52654e1d99c5df3ff33 100644
|
||||
index 5c92eec064e36fa4be5a57a769a4091a18e3396d..b705450708560c0ae8b386d7efdb5c526964c629 100644
|
||||
--- a/sandbox/policy/win/sandbox_win.cc
|
||||
+++ b/sandbox/policy/win/sandbox_win.cc
|
||||
@@ -617,11 +617,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
|
||||
@@ -616,11 +616,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
|
||||
// command line flag.
|
||||
ResultCode LaunchWithoutSandbox(
|
||||
const base::CommandLine& cmd_line,
|
||||
@@ -758,7 +758,7 @@ index 2266ec1424b23841e0215ffefa4506f108368bc2..1aea2187a48e9ecb6746f52654e1d99c
|
||||
options.feedback_cursor_off = true;
|
||||
// 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
|
||||
@@ -912,7 +910,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
|
||||
@@ -910,7 +908,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
|
||||
// static
|
||||
ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
const base::CommandLine& cmd_line,
|
||||
@@ -767,7 +767,7 @@ index 2266ec1424b23841e0215ffefa4506f108368bc2..1aea2187a48e9ecb6746f52654e1d99c
|
||||
SandboxDelegate* delegate,
|
||||
TargetPolicy* policy) {
|
||||
const base::CommandLine& launcher_process_command_line =
|
||||
@@ -926,7 +924,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
@@ -924,7 +922,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
}
|
||||
|
||||
// Add any handles to be inherited to the policy.
|
||||
@@ -776,7 +776,7 @@ index 2266ec1424b23841e0215ffefa4506f108368bc2..1aea2187a48e9ecb6746f52654e1d99c
|
||||
policy->AddHandleToShare(handle);
|
||||
|
||||
if (!policy->GetConfig()->IsConfigured()) {
|
||||
@@ -941,6 +939,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
@@ -939,6 +937,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));
|
||||
@@ -790,7 +790,7 @@ index 2266ec1424b23841e0215ffefa4506f108368bc2..1aea2187a48e9ecb6746f52654e1d99c
|
||||
#endif
|
||||
|
||||
if (!delegate->PreSpawnTarget(policy))
|
||||
@@ -952,7 +957,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
@@ -950,7 +955,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
// static
|
||||
ResultCode SandboxWin::StartSandboxedProcess(
|
||||
const base::CommandLine& cmd_line,
|
||||
@@ -799,7 +799,7 @@ index 2266ec1424b23841e0215ffefa4506f108368bc2..1aea2187a48e9ecb6746f52654e1d99c
|
||||
SandboxDelegate* delegate,
|
||||
StartSandboxedProcessCallback result_callback) {
|
||||
SandboxLaunchTimer timer;
|
||||
@@ -962,7 +967,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
@@ -960,7 +965,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
*base::CommandLine::ForCurrentProcess())) {
|
||||
base::Process process;
|
||||
ResultCode result =
|
||||
@@ -808,7 +808,7 @@ index 2266ec1424b23841e0215ffefa4506f108368bc2..1aea2187a48e9ecb6746f52654e1d99c
|
||||
DWORD last_error = GetLastError();
|
||||
std::move(result_callback).Run(std::move(process), last_error, result);
|
||||
return SBOX_ALL_OK;
|
||||
@@ -972,7 +977,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
@@ -970,7 +975,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
timer.OnPolicyCreated();
|
||||
|
||||
ResultCode result = GeneratePolicyForSandboxedProcess(
|
||||
@@ -818,10 +818,10 @@ index 2266ec1424b23841e0215ffefa4506f108368bc2..1aea2187a48e9ecb6746f52654e1d99c
|
||||
DWORD last_error = GetLastError();
|
||||
std::move(result_callback).Run(base::Process(), last_error, result);
|
||||
diff --git a/sandbox/policy/win/sandbox_win.h b/sandbox/policy/win/sandbox_win.h
|
||||
index e057913cb3c7e51c6c48ecd5dca684525e580392..b92227497f07ab277ee8157187ce8ed34ea0a3eb 100644
|
||||
index 2e8a3a6e5546b125ab111f9f4f4c75975f6fba58..fa63cac620595921da993c531b9ca263595b9600 100644
|
||||
--- a/sandbox/policy/win/sandbox_win.h
|
||||
+++ b/sandbox/policy/win/sandbox_win.h
|
||||
@@ -93,7 +93,7 @@ class SANDBOX_POLICY_EXPORT SandboxWin {
|
||||
@@ -94,7 +94,7 @@ class SANDBOX_POLICY_EXPORT SandboxWin {
|
||||
// any other error.
|
||||
static ResultCode StartSandboxedProcess(
|
||||
const base::CommandLine& cmd_line,
|
||||
@@ -830,7 +830,7 @@ index e057913cb3c7e51c6c48ecd5dca684525e580392..b92227497f07ab277ee8157187ce8ed3
|
||||
SandboxDelegate* delegate,
|
||||
StartSandboxedProcessCallback result_callback);
|
||||
|
||||
@@ -106,7 +106,7 @@ class SANDBOX_POLICY_EXPORT SandboxWin {
|
||||
@@ -107,7 +107,7 @@ class SANDBOX_POLICY_EXPORT SandboxWin {
|
||||
// of sandbox::ResultCode for any other error while constructing the policy.
|
||||
static ResultCode GeneratePolicyForSandboxedProcess(
|
||||
const base::CommandLine& cmd_line,
|
||||
|
||||
@@ -46,7 +46,7 @@ index 6e60de1319c5506d7180719fa230ab9cf537b832..e570e335fbd413340ddedeee423eca71
|
||||
'internal-forced-visited-'):
|
||||
internal_visited_order = 0
|
||||
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
|
||||
index 092b19939b9f08fe8920eb631fc5eff057ec5b49..d6a413ee1de2cadbb2985d717432f740ce318266 100644
|
||||
index 3061b694a6d9288567699d3858405be08c2f03e8..ef14d789f52741b4eb83c56f8cbdb3a6a81d7237 100644
|
||||
--- a/third_party/blink/renderer/core/css/css_properties.json5
|
||||
+++ b/third_party/blink/renderer/core/css/css_properties.json5
|
||||
@@ -9550,6 +9550,26 @@
|
||||
@@ -90,10 +90,10 @@ index add3cfe363fcd6e0bf05429f21290ede31059936..ddf26f82b131d3f017115484b14307b0
|
||||
return a.EmptyCells() == b.EmptyCells();
|
||||
case CSSPropertyID::kFill:
|
||||
diff --git a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||
index b55f04439a2a965c66f852d1f2113aff4c6d5cec..641452e965ed343dd1008a7163d88114b058171a 100644
|
||||
index 3836f5f4f39d69494b68e8dc8a7bdd2a28259514..301124fe2b8efd589872f3a3a66c3d3283ce6493 100644
|
||||
--- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||
+++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||
@@ -13116,5 +13116,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
||||
@@ -13128,5 +13128,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
||||
CSSValueID::kNone>(stream);
|
||||
}
|
||||
|
||||
@@ -313,7 +313,7 @@ index 18f283e625101318ee14b50e6e765dfd1c9a1a44..44a3a55974c9e4b9e715574075f25661
|
||||
|
||||
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 d198d74cf6c101268082a7676b861be369675cf4..84996d23da89792c9f2efbba6888db5cadf798d3 100644
|
||||
index 385220b37a9f12a112bcb083811af6ddfdedebe8..9766d2feab34c890827494fceb3b783f24086863 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 @@
|
||||
|
||||
@@ -112,7 +112,7 @@ index 13a211107294e856616d1626fa1dc9c79eb5646c..549a36886d665c1a8100f09b7a86c8dc
|
||||
string mime_type;
|
||||
|
||||
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
|
||||
index 4966eab4be1f80102677b555ed872157b64f983a..a3c4abd3b82bdd8849a10b1cc9d13d68006e972a 100644
|
||||
index 1cdafc5c4189c0af64c03b8140ff310e0579d10f..939ebc202ef225387f0e9e77885a7a21aafef559 100644
|
||||
--- a/services/network/url_loader.cc
|
||||
+++ b/services/network/url_loader.cc
|
||||
@@ -373,6 +373,9 @@ URLLoader::URLLoader(
|
||||
|
||||
@@ -28,10 +28,10 @@ The patch should be removed in favor of either:
|
||||
Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
|
||||
|
||||
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
|
||||
index fdb9ec0640d3dad4b774c651a17b0ec443fbfa21..f7013a451b84272eb031ed80e3a75c8b61856351 100644
|
||||
index 7440cac2f1641bcb31b5bb7eb93a0838b97cc1a3..c34757b3c6d88b657c27dfb5a89d031250e2684e 100644
|
||||
--- a/content/browser/renderer_host/navigation_request.cc
|
||||
+++ b/content/browser/renderer_host/navigation_request.cc
|
||||
@@ -11693,6 +11693,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
|
||||
@@ -11669,6 +11669,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
|
||||
target_rph_id);
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ index e8a525444092a20624616b280b99f9b218180410..c2c43e67cf671bbf2282fb5728860b5f
|
||||
|
||||
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 ff3634d3138c91d380e405ce8f375819bafd23f3..eb439c429b99d72cbfa5cae25c97cf066623bb5b 100644
|
||||
index c99c8889167099f22232c6d8ffa5c7eb943483a2..074eaa1fc2b280fb36c2971250fafe26ed96643f 100644
|
||||
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
@@ -444,11 +444,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
||||
|
||||
@@ -87,7 +87,7 @@ index 5158897a7a7af9f29580faa17498a8dbab40af87..96617b9bb0275144b0e9ed18547d9982
|
||||
// The view with active text input state, i.e., a focused <input> element.
|
||||
// It will be nullptr if no such view exists. Note that the active view
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 3b3bd369e235c9710fb80789dbb289350714c535..0e4fb92136e7ee014dd390142bb4c38349c3ed6b 100644
|
||||
index d72fddcda30ea6d18180f7734ba958b8696355b4..c2adef9ec376176439985234d021316ac0521adf 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -10208,7 +10208,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||
|
||||
@@ -62,23 +62,18 @@ index 4f15b217fcf8119f323e04596978c6710d73727a..7ffd6c873a4320c76605417819a8b71f
|
||||
PMPrintSettings print_settings =
|
||||
static_cast<PMPrintSettings>([print_info_ PMPrintSettings]);
|
||||
diff --git a/printing/printing_context_system_dialog_win.cc b/printing/printing_context_system_dialog_win.cc
|
||||
index f8e903f21cee7041dea67b479c298baf9093d719..ed5d59f29992b0925efd89cb0ac4b33a03a31788 100644
|
||||
index 8ac33c08d89f9ff7da5ff97835050f3f1d419793..eb631ad802ab6684a74e07f03ceb5c1022a7fc91 100644
|
||||
--- a/printing/printing_context_system_dialog_win.cc
|
||||
+++ b/printing/printing_context_system_dialog_win.cc
|
||||
@@ -4,10 +4,12 @@
|
||||
|
||||
#include "printing/printing_context_system_dialog_win.h"
|
||||
|
||||
+#include <algorithm>
|
||||
#include <utility>
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#include "base/auto_reset.h"
|
||||
#include "base/compiler_specific.h"
|
||||
+#include "base/containers/span.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "base/task/current_thread.h"
|
||||
#include "printing/backend/win_helper.h"
|
||||
@@ -74,13 +76,28 @@ void PrintingContextSystemDialogWin::AskUserForSettings(
|
||||
#include "base/win/scoped_hglobal.h"
|
||||
@@ -76,13 +77,28 @@ void PrintingContextSystemDialogWin::AskUserForSettings(
|
||||
PRINTPAGERANGE ranges[32] = {};
|
||||
dialog_options.nStartPage = START_PAGE_GENERAL;
|
||||
if (max_pages) {
|
||||
|
||||
@@ -8,7 +8,7 @@ such as the background turning black when maximizing the window and
|
||||
dynamic background material settings not taking effect.
|
||||
|
||||
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
index 2bf4889631ea93ab34bad6e69b301f1b09844840..d366e440dddde5627743e21ce0e184cd485bf76a 100644
|
||||
index fd3b1960cd567c7361effa0516782a5c2283526d..44ab9343a23b6a89a7d488a5be7d288857ffd039 100644
|
||||
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
@@ -183,6 +183,10 @@ void DesktopWindowTreeHostWin::FinishTouchDrag(gfx::Point screen_point) {
|
||||
|
||||
@@ -20,10 +20,10 @@ index 51a94c63d6647fd989f0286e8f930d36508bc133..eb6d5e0d2789b5f688a2a5bb634a2857
|
||||
injector_->ExpectsResults(), injector_->ShouldWaitForPromise());
|
||||
}
|
||||
diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
|
||||
index a019bc0a6847e7194f0a1f0ec0080048462773d2..d1788c76ec1b03083992a7b5878bc3b23cfcc2f6 100644
|
||||
index fb9cf44fb285ca107f24dfd0030568acf1b3d669..c6644ccf768e8172498fd3d59feb3b7d5d2d1ce1 100644
|
||||
--- a/third_party/blink/public/web/web_local_frame.h
|
||||
+++ b/third_party/blink/public/web/web_local_frame.h
|
||||
@@ -463,6 +463,7 @@ class BLINK_EXPORT WebLocalFrame : public WebFrame {
|
||||
@@ -467,6 +467,7 @@ class BLINK_EXPORT WebLocalFrame : public WebFrame {
|
||||
mojom::EvaluationTiming,
|
||||
mojom::LoadEventBlockingOption,
|
||||
WebScriptExecutionCallback,
|
||||
@@ -223,7 +223,7 @@ index c274456a74f5e91f7852965fd8e1b5e9f0733e53..bdaeb9a9b252d81a5ad1563a4af1b329
|
||||
mojom::blink::WantResultOption::kWantResult, wait_for_promise);
|
||||
}
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||
index c02518e1a9e9e1df77a845565024377755b9b426..a930aed6968d3e1d8456362f74fe41ed657e4e55 100644
|
||||
index 74ea35a5f240859256e0067b286f389ad9ad2f92..b6ffceea87fe88507ee9d9b41bfa9049e06cd1f4 100644
|
||||
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||
@@ -1128,14 +1128,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
|
||||
@@ -245,10 +245,10 @@ index c02518e1a9e9e1df77a845565024377755b9b426..a930aed6968d3e1d8456362f74fe41ed
|
||||
|
||||
bool WebLocalFrameImpl::IsInspectorConnected() {
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
||||
index ff86222c697ebc54fbd1395968a47f25abc34350..e07e58592aca750149a15d36161b5440eeb0c9b6 100644
|
||||
index c199d07ab8902892bbe1e12d3ff5670a32757374..6dc52189e80ca6dfa712f6fdf934002e7c7de3ef 100644
|
||||
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
||||
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
||||
@@ -199,6 +199,7 @@ class CORE_EXPORT WebLocalFrameImpl final
|
||||
@@ -201,6 +201,7 @@ class CORE_EXPORT WebLocalFrameImpl final
|
||||
mojom::blink::EvaluationTiming,
|
||||
mojom::blink::LoadEventBlockingOption,
|
||||
WebScriptExecutionCallback,
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Shelley Vohr <shelley.vohr@gmail.com>
|
||||
Date: Mon, 16 Feb 2026 22:33:57 +0100
|
||||
Subject: fix: update DBus signal signature for XDG GlobalShortcuts portal
|
||||
|
||||
Refs https://chromium-review.googlesource.com/c/chromium/src/+/7143562
|
||||
|
||||
The Activated signal from the XDG GlobalShortcuts portal has signature "osta{sv}",
|
||||
but ConnectToSignal was declared with "ost". The strict ReadMessage parser
|
||||
fails on the extra trailing options vardict. Fix by updating the signature
|
||||
to match the spec.
|
||||
|
||||
This should be upstreamed.
|
||||
|
||||
diff --git a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.cc b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.cc
|
||||
index b66e3ef53c7be56dce6e8c73792ef18a8ccf9f11..a5bb1271231bb092c5e35fcf0cc99f0a18164147 100644
|
||||
--- a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.cc
|
||||
+++ b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.cc
|
||||
@@ -80,7 +80,7 @@ void GlobalAcceleratorListenerLinux::OnServiceStarted(uint32_t version) {
|
||||
global_shortcuts_proxy_ = bus_->GetObjectProxy(
|
||||
kPortalServiceName, dbus::ObjectPath(kPortalObjectPath));
|
||||
|
||||
- dbus_utils::ConnectToSignal<"ost">(
|
||||
+ dbus_utils::ConnectToSignal<"osta{sv}">(
|
||||
global_shortcuts_proxy_, kGlobalShortcutsInterface, kSignalActivated,
|
||||
base::BindRepeating(&GlobalAcceleratorListenerLinux::OnActivatedSignal,
|
||||
weak_ptr_factory_.GetWeakPtr()),
|
||||
@@ -303,13 +303,14 @@ void GlobalAcceleratorListenerLinux::OnBindShortcuts(
|
||||
}
|
||||
|
||||
void GlobalAcceleratorListenerLinux::OnActivatedSignal(
|
||||
- dbus_utils::ConnectToSignalResultSig<"ost"> result) {
|
||||
+ dbus_utils::ConnectToSignalResultSig<"osta{sv}"> result) {
|
||||
if (!result.has_value()) {
|
||||
LOG(ERROR) << "Failed to parse Activated signal.";
|
||||
return;
|
||||
}
|
||||
|
||||
- auto [session_handle, shortcut_id, timestamp] = std::move(result.value());
|
||||
+ auto [session_handle, shortcut_id, timestamp, options] =
|
||||
+ std::move(result.value());
|
||||
|
||||
// Only process the signal if it comes from our current session.
|
||||
if (!session_proxy_ || session_proxy_->object_path() != session_handle) {
|
||||
diff --git a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.h b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.h
|
||||
index 458a39f8c9ac8c1882d62360e3c06e02e20cd9db..d6701805d79b9a3631afdeecc5ed139d02b64cb3 100644
|
||||
--- a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.h
|
||||
+++ b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.h
|
||||
@@ -98,7 +98,8 @@ class GlobalAcceleratorListenerLinux : public GlobalAcceleratorListener {
|
||||
base::expected<dbus_xdg::Dictionary, dbus_xdg::ResponseError> results);
|
||||
|
||||
// Callbacks for DBus signals.
|
||||
- void OnActivatedSignal(dbus_utils::ConnectToSignalResultSig<"ost"> result);
|
||||
+ void OnActivatedSignal(
|
||||
+ dbus_utils::ConnectToSignalResultSig<"osta{sv}"> result);
|
||||
|
||||
void OnSignalConnected(const std::string& interface_name,
|
||||
const std::string& signal_name,
|
||||
@@ -6,7 +6,7 @@ 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 467dcf95804174826078bfc7f213b4ed3031b89c..cb1985160aebb3a03a098e065c3ba8730938b29b 100644
|
||||
index bd2915a20b70df4edec7bf9eeed20532faca0c31..c3d7a422a0e77a096234a362d5ddd45f27145b53 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_manager.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_manager.cc
|
||||
@@ -4852,6 +4852,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
|
||||
@@ -20,7 +20,7 @@ index 467dcf95804174826078bfc7f213b4ed3031b89c..cb1985160aebb3a03a098e065c3ba873
|
||||
}
|
||||
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index 27a3ec60ef7e1fef85a4b5be1e7e519d11a711d3..810d31a5b77a3180e80ff8f2cbcd765aaade64c5 100644
|
||||
index 965de8a4d84908a25b57be4a685451454848ea82..0bb77ee5d60c79374a4d4b31782fbac929b0620e 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -350,6 +350,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 1086c5919dcd93459af9a83a624d0dfdaacd814a..ada81d7c1b747e9ed618f66e9797ea1b3fa157cd 100644
|
||||
index eb6cd10367db0239d7be6f7e3e15b7af81b16edb..d0ae93d8f89d959ce1c7083154373502cd340e44 100644
|
||||
--- a/tools/gritsettings/resource_ids.spec
|
||||
+++ b/tools/gritsettings/resource_ids.spec
|
||||
@@ -1645,6 +1645,11 @@
|
||||
@@ -1649,6 +1649,11 @@
|
||||
"includes": [12000],
|
||||
},
|
||||
|
||||
|
||||
@@ -50,10 +50,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 7f4fe7dddb46da7dc17139ca5ac4d0bcc1785d52..3037c9345632da72e21729540cae9471928dff19 100644
|
||||
index 37b8fc7c5f035ad9eeeda8738ee2e891faf1ae29..df301071102be15f3748d434339ce9030ceda0ba 100644
|
||||
--- a/base/BUILD.gn
|
||||
+++ b/base/BUILD.gn
|
||||
@@ -1083,6 +1083,7 @@ component("base") {
|
||||
@@ -1085,6 +1085,7 @@ component("base") {
|
||||
"//build:ios_buildflags",
|
||||
"//build/config/compiler:compiler_buildflags",
|
||||
"//third_party/modp_b64",
|
||||
@@ -129,10 +129,10 @@ index 416e541436d201aabca26cdbf7e8477103bd014c..8c5f92b03d67e5f0587b0e9420969061
|
||||
}
|
||||
|
||||
diff --git a/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn b/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
|
||||
index 8b706f07b3c370f1a6f83ac23e508a0a22eae1db..d85a8886cc1bbe65359c03dc1e3e9b014d543ecc 100644
|
||||
index efc8000d298955316bdf2ab72a3c991d4d46aece..0c2ca4b1fc2f4368da32ad4730becb55a8fdbf46 100644
|
||||
--- a/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
|
||||
+++ b/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
|
||||
@@ -987,6 +987,7 @@ if (is_clang_or_gcc) {
|
||||
@@ -977,6 +977,7 @@ if (is_clang_or_gcc) {
|
||||
":allocator_base",
|
||||
":allocator_core",
|
||||
":buildflags",
|
||||
@@ -974,7 +974,7 @@ index 712d59e1f7d9681c122e6d05a8b65bccbfacb492..de24209bbd3cd4a530c6f32990a0f93a
|
||||
return kAttributes;
|
||||
}
|
||||
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||
index cea27cb456859db57e20c973db94e8ed3c12c3eb..6c745fa7ed7a590c8271f461dc62f792e15ddce2 100644
|
||||
index 56d88a241fddb9d8089b1fb6b71ba4a95bc56de3..e9bde3b2ffba54c6969aca3632819a1a7f04a891 100644
|
||||
--- a/content/browser/BUILD.gn
|
||||
+++ b/content/browser/BUILD.gn
|
||||
@@ -345,6 +345,7 @@ source_set("browser") {
|
||||
@@ -1095,10 +1095,10 @@ index cf8652cb6ddbf07e114d576c192bcda99dc78e3a..c4ada35c3ca32ce06ffc57577af7bc4c
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn
|
||||
index 642c556a310705c34e4d9505afd910add76f727c..c3be3144e00cec6d71faad182c77bd0e7f924813 100644
|
||||
index 8af29cca616f1a29a2b59b68b7105635cedd6417..a82661cf81efa357a97da45b2d807569443f9b5e 100644
|
||||
--- a/content/common/BUILD.gn
|
||||
+++ b/content/common/BUILD.gn
|
||||
@@ -276,6 +276,7 @@ source_set("common") {
|
||||
@@ -278,6 +278,7 @@ source_set("common") {
|
||||
"//ui/shell_dialogs",
|
||||
"//url",
|
||||
"//url/ipc:url_ipc",
|
||||
@@ -1107,7 +1107,7 @@ index 642c556a310705c34e4d9505afd910add76f727c..c3be3144e00cec6d71faad182c77bd0e
|
||||
|
||||
defines = []
|
||||
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn
|
||||
index 8445214b66242eb53b2546a16078cc3d26cbdb99..8751ca6aba9caecec4d65f0059fb1b632c74ec61 100644
|
||||
index 2f7415e27a43a9ccb8b5c9556f540de86b93dcfa..f7810a519cd011c25096622d2c397d8825f82736 100644
|
||||
--- a/content/renderer/BUILD.gn
|
||||
+++ b/content/renderer/BUILD.gn
|
||||
@@ -324,6 +324,7 @@ target(link_target_type, "renderer") {
|
||||
@@ -1189,10 +1189,10 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
|
||||
|
||||
} // namespace content
|
||||
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
|
||||
index f84d44d043af9f8e5abc8b49e7e8e32d9af3efff..ef6c2deb5cc88e4beffde4d912a47e8f40315fcc 100644
|
||||
index 6929b317df4bdb2e078efb02a00f902168ca12eb..6b889f419f09ef8b92d21e05502d3180b35d9e0e 100644
|
||||
--- a/content/test/BUILD.gn
|
||||
+++ b/content/test/BUILD.gn
|
||||
@@ -700,6 +700,7 @@ static_library("test_support") {
|
||||
@@ -698,6 +698,7 @@ static_library("test_support") {
|
||||
"//url",
|
||||
"//url/mojom:url_mojom_gurl",
|
||||
"//v8",
|
||||
@@ -1200,7 +1200,7 @@ index f84d44d043af9f8e5abc8b49e7e8e32d9af3efff..ef6c2deb5cc88e4beffde4d912a47e8f
|
||||
]
|
||||
|
||||
data_deps = [
|
||||
@@ -1175,6 +1176,8 @@ static_library("browsertest_support") {
|
||||
@@ -1173,6 +1174,8 @@ static_library("browsertest_support") {
|
||||
# TODO(crbug.com/40031409): Fix code that adds exit-time destructors and
|
||||
# enable the diagnostic by removing this line.
|
||||
configs += [ "//build/config/compiler:no_exit_time_destructors" ]
|
||||
@@ -1209,7 +1209,7 @@ index f84d44d043af9f8e5abc8b49e7e8e32d9af3efff..ef6c2deb5cc88e4beffde4d912a47e8f
|
||||
}
|
||||
|
||||
mojom("content_test_mojo_bindings") {
|
||||
@@ -2064,6 +2067,7 @@ test("content_browsertests") {
|
||||
@@ -2062,6 +2065,7 @@ test("content_browsertests") {
|
||||
"//ui/shell_dialogs",
|
||||
"//ui/snapshot",
|
||||
"//ui/webui:test_support",
|
||||
@@ -1217,7 +1217,7 @@ index f84d44d043af9f8e5abc8b49e7e8e32d9af3efff..ef6c2deb5cc88e4beffde4d912a47e8f
|
||||
]
|
||||
|
||||
if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) {
|
||||
@@ -3410,6 +3414,7 @@ test("content_unittests") {
|
||||
@@ -3409,6 +3413,7 @@ test("content_unittests") {
|
||||
"//ui/shell_dialogs",
|
||||
"//ui/webui:test_support",
|
||||
"//url",
|
||||
@@ -1330,10 +1330,10 @@ index 8b7a675d95ad36cbb9528bc5bc7ef05e5124e5a3..ed6a9a326b82b177059317dc4bc54b10
|
||||
|
||||
namespace ui {
|
||||
diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
|
||||
index 0d5c59a4946b3d3dd992cb15162fc8ed2bc17a99..8eb798f03771d2dbdaebb0ef5f781ef4fc0336e8 100644
|
||||
index fe6b3d10d4467983652ad1203f03769e9f236a9f..575c8b7c71eb245b7b431ea450b5f05d5445c60a 100644
|
||||
--- a/media/audio/BUILD.gn
|
||||
+++ b/media/audio/BUILD.gn
|
||||
@@ -203,6 +203,7 @@ source_set("audio") {
|
||||
@@ -201,6 +201,7 @@ source_set("audio") {
|
||||
"CoreMedia.framework",
|
||||
]
|
||||
weak_frameworks = [ "ScreenCaptureKit.framework" ] # macOS 13.0
|
||||
@@ -1378,10 +1378,10 @@ index 97477a88340a7ae10e109d47bf5c7072b900964d..60cab6dca22061157311af6c033c9fa0
|
||||
} // namespace
|
||||
#endif
|
||||
diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn
|
||||
index c83337113e00bea81e6e79070ffd94b79a1d3162..c520f0645a804bbbbc1b6ea755fe458e484e836d 100644
|
||||
index 348287f4846e059e1a2c139c02145e2feaa52a44..709aa1993252919c96c454b04d477af68be68a66 100644
|
||||
--- a/net/dns/BUILD.gn
|
||||
+++ b/net/dns/BUILD.gn
|
||||
@@ -197,6 +197,8 @@ source_set("dns") {
|
||||
@@ -205,6 +205,8 @@ source_set("dns") {
|
||||
":host_resolver_manager",
|
||||
":mdns_client",
|
||||
]
|
||||
|
||||
@@ -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 7e784ecaa70358f861764077882c9421ad793f38..81f99ddf906bc1767f3d79ac303c0f7cdd31dd65 100644
|
||||
index 970cb10cfcd0c17937c95d21b27a788d398304a9..24bf1331876ae80b7d0b9a88876d83922a446a85 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -170,6 +170,11 @@
|
||||
@@ -171,6 +171,11 @@
|
||||
#include "services/network/web_transport.h"
|
||||
#include "url/gurl.h"
|
||||
|
||||
@@ -22,7 +22,7 @@ index 7e784ecaa70358f861764077882c9421ad793f38..81f99ddf906bc1767f3d79ac303c0f7c
|
||||
#if BUILDFLAG(IS_CT_SUPPORTED)
|
||||
// gn check does not account for BUILDFLAG(). So, for iOS builds, it will
|
||||
// complain about a missing dependency on the target exposing this header. Add a
|
||||
@@ -628,6 +633,111 @@ void RecordHSTSPreconnectUpgradeReason(HSTSRedirectUpgradeReason reason) {
|
||||
@@ -629,6 +634,111 @@ void RecordHSTSPreconnectUpgradeReason(HSTSRedirectUpgradeReason reason) {
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -134,7 +134,7 @@ index 7e784ecaa70358f861764077882c9421ad793f38..81f99ddf906bc1767f3d79ac303c0f7c
|
||||
constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess;
|
||||
|
||||
NetworkContext::NetworkContextHttpAuthPreferences::
|
||||
@@ -1029,6 +1139,13 @@ void NetworkContext::SetClient(
|
||||
@@ -1030,6 +1140,13 @@ void NetworkContext::SetClient(
|
||||
client_.Bind(std::move(client));
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ index 7e784ecaa70358f861764077882c9421ad793f38..81f99ddf906bc1767f3d79ac303c0f7c
|
||||
void NetworkContext::CreateURLLoaderFactory(
|
||||
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
|
||||
mojom::URLLoaderFactoryParamsPtr params) {
|
||||
@@ -2679,6 +2796,10 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||
@@ -2680,6 +2797,10 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||
cert_verifier = std::make_unique<net::CachingCertVerifier>(
|
||||
std::make_unique<net::CoalescingCertVerifier>(
|
||||
std::move(cert_verifier)));
|
||||
@@ -160,7 +160,7 @@ index 7e784ecaa70358f861764077882c9421ad793f38..81f99ddf906bc1767f3d79ac303c0f7c
|
||||
|
||||
builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
|
||||
diff --git a/services/network/network_context.h b/services/network/network_context.h
|
||||
index 1aa005e66e02de189d3f9e07721e3ef34d79cc94..c78ef874c575c7fdff5cc068fc34e7ce0231737e 100644
|
||||
index aff2d758cc0aae06977e84115e890aa798a494b3..ea1941500a0036d5d9ab81be113f67e79bb7e96a 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -118,6 +118,7 @@ class SimpleUrlPatternMatcher;
|
||||
@@ -190,7 +190,7 @@ index 1aa005e66e02de189d3f9e07721e3ef34d79cc94..c78ef874c575c7fdff5cc068fc34e7ce
|
||||
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 2c22826c90d078b710c11a336058c78ec27cb6f4..8f2f1cc4f4df6ce8c00a65d6b8c008a896800fd7 100644
|
||||
index 19d4a2c7119f080d077da74320c47cfa16d820de..3ae721ad0d982d64f0531d9a0b94ff7062a2865a 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -313,6 +313,17 @@ struct SocketBrokerRemotes {
|
||||
@@ -222,7 +222,7 @@ index 2c22826c90d078b710c11a336058c78ec27cb6f4..8f2f1cc4f4df6ce8c00a65d6b8c008a8
|
||||
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 6c96b6643b8aac24e6aa365398a87b25044801d2..8ce978e789227dd5fcd4117f40996bba7504e537 100644
|
||||
index 278c242e398a5a23b5d3d220983aed6db00bbd84..d08e0914da4e53b1cf0f2de8c067a4aed634a474 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 {
|
||||
|
||||
@@ -133,7 +133,7 @@ index 9bf238e64af483294ae3c3f18a4e9aed49a8658d..b9b2a4c8c387b8e8b4eb1f02fc0f891c
|
||||
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 43d91211e346f1fb1b415adcb674a391da25f3be..b54c240121e41ce1f6110fb314d341649b54dffc 100644
|
||||
index 74b0f1e78d4c4268d25397082f52396fba47a9d9..97019858eb12edf78ab97515c1d01f51edd6c01a 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -2359,7 +2359,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||
|
||||
@@ -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 94648718cc291dea8d5f4d7eace79c67d92bdd5f..ff3634d3138c91d380e405ce8f375819bafd23f3 100644
|
||||
index be235a2d29b7d5a70178571b09bb226e71c6e65b..c99c8889167099f22232c6d8ffa5c7eb943483a2 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 @@
|
||||
@@ -175,7 +175,7 @@ index 94648718cc291dea8d5f4d7eace79c67d92bdd5f..ff3634d3138c91d380e405ce8f375819
|
||||
// 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 =
|
||||
@@ -2076,18 +2088,25 @@ gfx::Rect VideoOverlayWindowViews::GetProgressViewBounds() {
|
||||
@@ -2090,18 +2102,25 @@ gfx::Rect VideoOverlayWindowViews::GetProgressViewBounds() {
|
||||
}
|
||||
|
||||
gfx::Rect VideoOverlayWindowViews::GetLiveCaptionButtonBounds() {
|
||||
@@ -201,7 +201,7 @@ index 94648718cc291dea8d5f4d7eace79c67d92bdd5f..ff3634d3138c91d380e405ce8f375819
|
||||
MediaEngagementService* service =
|
||||
MediaEngagementService::Get(Profile::FromBrowserContext(
|
||||
GetController()->GetWebContents()->GetBrowserContext()));
|
||||
@@ -2096,6 +2115,8 @@ bool VideoOverlayWindowViews::HasHighMediaEngagement(
|
||||
@@ -2110,6 +2129,8 @@ bool VideoOverlayWindowViews::HasHighMediaEngagement(
|
||||
}
|
||||
|
||||
return service->HasHighEngagement(origin);
|
||||
@@ -210,7 +210,7 @@ index 94648718cc291dea8d5f4d7eace79c67d92bdd5f..ff3634d3138c91d380e405ce8f375819
|
||||
}
|
||||
|
||||
bool VideoOverlayWindowViews::IsTrustedForMediaPlayback() const {
|
||||
@@ -2357,11 +2378,14 @@ void VideoOverlayWindowViews::UpdateTimestampLabel(base::TimeDelta current_time,
|
||||
@@ -2371,11 +2392,14 @@ void VideoOverlayWindowViews::UpdateTimestampLabel(base::TimeDelta current_time,
|
||||
}
|
||||
|
||||
void VideoOverlayWindowViews::OnLiveCaptionButtonPressed() {
|
||||
@@ -225,7 +225,7 @@ index 94648718cc291dea8d5f4d7eace79c67d92bdd5f..ff3634d3138c91d380e405ce8f375819
|
||||
if (wanted_visibility == live_caption_dialog_->GetVisible()) {
|
||||
return;
|
||||
}
|
||||
@@ -2384,6 +2408,7 @@ void VideoOverlayWindowViews::SetLiveCaptionDialogVisibility(
|
||||
@@ -2398,6 +2422,7 @@ void VideoOverlayWindowViews::SetLiveCaptionDialogVisibility(
|
||||
for (auto* control : controls_to_be_disabled_when_live_caption_is_open) {
|
||||
control->SetEnabled(!wanted_visibility);
|
||||
}
|
||||
|
||||
@@ -44,10 +44,10 @@ index 1455aa5083f8eef7bf9644a1cc522db3e67b0227..5df63357160d96b77c8c123a984aeef9
|
||||
|
||||
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index e1bc262366e11ddccfa3942b9becb786ac06eba9..2f431d36474a3f7798bc1ec04b4a0f681d12d49b 100644
|
||||
index b6c4b24ac87e0aaeac82bd18b43bf4c12f469cf7..ae313e6fd5344c508121327dd12c8897f2f9254b 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -6168,6 +6168,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
@@ -6169,6 +6169,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
return text_input_manager_.get();
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ This CL removes these filters so the unresponsive event can still be
|
||||
accessed from our JS event. The filtering is moved into Electron's code.
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 4248fe3b201b9b62ab7c3bfc07658f116e974867..c6f195bc51925686d573c74bd6d8edaa1edd96b7 100644
|
||||
index f1276da6c20a8c1e4bd124b20c47057fa677894b..79f24f6f667222091b220f8b7f010b7e33415487 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -10370,25 +10370,13 @@ void WebContentsImpl::RendererUnresponsive(
|
||||
|
||||
@@ -245,10 +245,10 @@ index 1ef2c9052262eccdbc40030746a858b7f30ac469..c7101b0d71826b05f61bfe0e74429d92
|
||||
}
|
||||
|
||||
diff --git a/content/common/features.cc b/content/common/features.cc
|
||||
index d68ce97371263a4ea2cb3a6445ce41d565a03748..228bf41ed76d872c5bcbf81e8916b99e85939690 100644
|
||||
index 4694ce5a21f5a7ce9d2b418a06fc82a193e72a4a..fe398012794ca185042385660dc47c670adb5f15 100644
|
||||
--- a/content/common/features.cc
|
||||
+++ b/content/common/features.cc
|
||||
@@ -364,6 +364,14 @@ BASE_FEATURE(kInterestGroupUpdateIfOlderThan, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -354,6 +354,14 @@ BASE_FEATURE(kInterestGroupUpdateIfOlderThan, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
BASE_FEATURE(kIOSurfaceCapturer, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
#endif
|
||||
|
||||
@@ -264,10 +264,10 @@ index d68ce97371263a4ea2cb3a6445ce41d565a03748..228bf41ed76d872c5bcbf81e8916b99e
|
||||
BASE_FEATURE(kKeepChildProcessAfterIPCReset, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
diff --git a/content/common/features.h b/content/common/features.h
|
||||
index 24443780a7196b40096f44826232f77eaab68ffa..9164f2cf39542525ef2c30f572c7d0b557473f5d 100644
|
||||
index 50ccec4367a2b15972cbf0be28af7d88025a47da..cc4ceb0bbea45aceafd6789d797596f46831faf2 100644
|
||||
--- a/content/common/features.h
|
||||
+++ b/content/common/features.h
|
||||
@@ -140,6 +140,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan);
|
||||
@@ -139,6 +139,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan);
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
CONTENT_EXPORT BASE_DECLARE_FEATURE(kIOSurfaceCapturer);
|
||||
#endif
|
||||
|
||||
@@ -54,7 +54,7 @@ index 9b598ba34285bfe04c7c45557dd51af73bece3fe..c435d4441c99f87cc6a38fa73f73da6b
|
||||
if (mouse_event_callback.Run(mouse_event)) {
|
||||
return;
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index c6f195bc51925686d573c74bd6d8edaa1edd96b7..fd42152a7b0125b4140bc3e15e74e295a0aa0613 100644
|
||||
index 79f24f6f667222091b220f8b7f010b7e33415487..d2715bd234558c7a131856121e5bb33d227057d4 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4463,6 +4463,12 @@ void WebContentsImpl::RenderWidgetWasResized(
|
||||
@@ -83,7 +83,7 @@ index ee0012bc2811a7f8469300a2118c494c1ff00c0e..c755229cd1c52d1431e6b17459db562d
|
||||
const gfx::PointF& client_pt);
|
||||
void PreHandleDragExit();
|
||||
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
|
||||
index fde24980f7eefd2696a9094bdb97787909955ae9..fccd564720c8d9ba33dd99600f88fd704f618d50 100644
|
||||
index 90915662c4e9dbd8d9ccd365427cf36e32ee1608..bec604166fc7adb049734d74b1e5a12e1c446a5c 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -126,6 +126,12 @@ bool WebContentsDelegate::HandleContextMenu(RenderFrameHost& render_frame_host,
|
||||
@@ -100,7 +100,7 @@ index fde24980f7eefd2696a9094bdb97787909955ae9..fccd564720c8d9ba33dd99600f88fd70
|
||||
WebContents* source,
|
||||
const input::NativeWebKeyboardEvent& event) {
|
||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||
index 832394b10f3ff5879c002b49d9eeb3479c9f002a..40911069b5364e5a60786c1a4947880ccab15b46 100644
|
||||
index 8c13343c426ec11195021114d04b663d5f461020..a928d215fc4bb1bfaa7222f1fcc635f500453ef9 100644
|
||||
--- a/content/public/browser/web_contents_delegate.h
|
||||
+++ b/content/public/browser/web_contents_delegate.h
|
||||
@@ -326,6 +326,13 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
|
||||
@@ -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 6a4b21bef4d184bff421e0f352993525c684690a..bd20bb85ad1612cfd95cced5ca68d540ddf13325 100644
|
||||
index 28af0584326b720ac28c2c2fb83874d0f8a050bf..0028306866159616a26a97381783a33a1c370f25 100644
|
||||
--- a/testing/variations/fieldtrial_testing_config.json
|
||||
+++ b/testing/variations/fieldtrial_testing_config.json
|
||||
@@ -26776,6 +26776,21 @@
|
||||
@@ -26772,6 +26772,21 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -67,7 +67,7 @@ index 5f5ea15678bd76399fdbbb8904fe155657f49335..a67c124878fb710599fed5d9714bfa72
|
||||
VIEWS_EXPORT BASE_DECLARE_FEATURE(kApplyInitialUrlToWebContents);
|
||||
|
||||
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
index 8fe4ef2a5699fdf1a895a2981f5cc7312070fbc2..2bf4889631ea93ab34bad6e69b301f1b09844840 100644
|
||||
index ca91b370065b91f12764e188bb786b54ea45bcf3..fd3b1960cd567c7361effa0516782a5c2283526d 100644
|
||||
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
@@ -84,6 +84,23 @@ namespace {
|
||||
@@ -94,7 +94,7 @@ index 8fe4ef2a5699fdf1a895a2981f5cc7312070fbc2..2bf4889631ea93ab34bad6e69b301f1b
|
||||
// Updates the cursor clip region. Used for mouse locking.
|
||||
void UpdateMouseLockRegion(aura::Window* window, bool locked) {
|
||||
if (!locked) {
|
||||
@@ -332,9 +349,14 @@ bool DesktopWindowTreeHostWin::IsVisible() const {
|
||||
@@ -334,9 +351,14 @@ bool DesktopWindowTreeHostWin::IsVisible() const {
|
||||
}
|
||||
|
||||
void DesktopWindowTreeHostWin::SetSize(const gfx::Size& size) {
|
||||
@@ -111,7 +111,7 @@ index 8fe4ef2a5699fdf1a895a2981f5cc7312070fbc2..2bf4889631ea93ab34bad6e69b301f1b
|
||||
}
|
||||
|
||||
void DesktopWindowTreeHostWin::StackAbove(aura::Window* window) {
|
||||
@@ -349,30 +371,40 @@ void DesktopWindowTreeHostWin::StackAtTop() {
|
||||
@@ -351,30 +373,40 @@ void DesktopWindowTreeHostWin::StackAtTop() {
|
||||
}
|
||||
|
||||
void DesktopWindowTreeHostWin::CenterWindow(const gfx::Size& size) {
|
||||
@@ -154,7 +154,7 @@ index 8fe4ef2a5699fdf1a895a2981f5cc7312070fbc2..2bf4889631ea93ab34bad6e69b301f1b
|
||||
return display::win::GetScreenWin()->ScreenToDIPRect(GetHWND(), pixel_bounds);
|
||||
}
|
||||
|
||||
@@ -680,37 +712,44 @@ void DesktopWindowTreeHostWin::HideImpl() {
|
||||
@@ -682,37 +714,44 @@ void DesktopWindowTreeHostWin::HideImpl() {
|
||||
// other get/set methods work in DIP.
|
||||
|
||||
gfx::Rect DesktopWindowTreeHostWin::GetBoundsInPixels() const {
|
||||
@@ -219,7 +219,7 @@ index 8fe4ef2a5699fdf1a895a2981f5cc7312070fbc2..2bf4889631ea93ab34bad6e69b301f1b
|
||||
}
|
||||
|
||||
gfx::Rect
|
||||
@@ -922,18 +961,26 @@ int DesktopWindowTreeHostWin::GetNonClientComponent(
|
||||
@@ -924,18 +963,26 @@ int DesktopWindowTreeHostWin::GetNonClientComponent(
|
||||
|
||||
void DesktopWindowTreeHostWin::GetWindowMask(const gfx::Size& size_px,
|
||||
SkPath* path) {
|
||||
|
||||
@@ -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 231e13b24a57984886b7220f2de4cf866c65a3a6..2df5003b8b18d19ecc01057de4f0a992d5d8836c 100644
|
||||
index 5428d74f02ba46fb48d885c0abc61c3e611ff8ed..3f1d496265c68b334116d6f429436b4a0772698a 100644
|
||||
--- a/content/renderer/render_thread_impl.cc
|
||||
+++ b/content/renderer/render_thread_impl.cc
|
||||
@@ -1129,11 +1129,11 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
@@ -1133,11 +1133,11 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
}
|
||||
|
||||
bool RenderThreadImpl::IsElasticOverscrollEnabledOnRoot() {
|
||||
|
||||
@@ -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 b54c240121e41ce1f6110fb314d341649b54dffc..9030f1ae9d970dcf36ea3da4808f6ce455d616bf 100644
|
||||
index 97019858eb12edf78ab97515c1d01f51edd6c01a..b2292f89fdd53c9ec2b1b3d31b5c208b2f1f6acf 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -1939,6 +1939,10 @@ bool RenderProcessHostImpl::Init() {
|
||||
@@ -37,7 +37,7 @@ index b54c240121e41ce1f6110fb314d341649b54dffc..9030f1ae9d970dcf36ea3da4808f6ce4
|
||||
std::unique_ptr<SandboxedProcessLauncherDelegate> sandbox_delegate =
|
||||
std::make_unique<RendererSandboxedProcessLauncherDelegate>();
|
||||
diff --git a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc
|
||||
index 0936beb23188f0d07cd5750f3a2e56dc560fdef2..996eab5dae4ffa6b7898cc070de8162ad2130d70 100644
|
||||
index 8397906e8d6685128097ef6f5b06f2b996aa1218..46fa9123a02489e91c8df3a685f5efa6e0d208f3 100644
|
||||
--- a/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc
|
||||
+++ b/content/browser/renderer_host/renderer_sandboxed_process_launcher_delegate.cc
|
||||
@@ -35,6 +35,9 @@ namespace content {
|
||||
|
||||
@@ -9,7 +9,7 @@ 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 796dbccf85c2ffaa5e0ec921596beec59e9b7444..ed421a1b008b686b2714205a046b061124897148 100644
|
||||
index 85a0d1eebff80d6054b80c1e9cc6e8a2ef8584e2..3237246346af539a860ff3f71c75d20292df3f7b 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4180,6 +4180,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
|
||||
@@ -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 b0bb049e9b52827152b89826d185b8b8fbac39aa..290b9dbc4e731106ba185cd15910864423b1d3d6 100644
|
||||
index 1718e3138961349bc79d3f0fc753097b125276e9..d67b02af700ae374d2321447db8e4b2b385beb9e 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -9096,6 +9096,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
@@ -9104,6 +9104,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ index b0bb049e9b52827152b89826d185b8b8fbac39aa..290b9dbc4e731106ba185cd159108644
|
||||
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 ed421a1b008b686b2714205a046b061124897148..3b3bd369e235c9710fb80789dbb289350714c535 100644
|
||||
index 3237246346af539a860ff3f71c75d20292df3f7b..d72fddcda30ea6d18180f7734ba958b8696355b4 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4480,21 +4480,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
|
||||
|
||||
@@ -8,3 +8,4 @@ remove_accesscontrol_enum_for_v8_14_4_59.patch
|
||||
chore_add_yarnrc_yml_and_yarn_lock_file_to_use_yarn_v4.patch
|
||||
chore_handle_deprecation_of_v8_returnvalue_void_set_local_s.patch
|
||||
chore_handle_removal_of_v8_propertycallbackinfo_t_this.patch
|
||||
fix_add_externalpointertypetag_to_v8_external_api_calls.patch
|
||||
|
||||
@@ -0,0 +1,442 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Alice Zhao <alicelovescake@anthropic.com>
|
||||
Date: Mon, 23 Feb 2026 10:57:52 -0800
|
||||
Subject: fix: add ExternalPointerTypeTag to v8::External API calls
|
||||
|
||||
V8 changed v8::External::New and v8::External::Value to require
|
||||
an ExternalPointerTypeTag parameter.
|
||||
|
||||
diff --git a/nan_callbacks_12_inl.h b/nan_callbacks_12_inl.h
|
||||
index 5cb6d98406ada00186289cc471726fa2a5ae711d..a6dc3b5864d0e98fa604e12f1c132c8089d1efe8 100644
|
||||
--- a/nan_callbacks_12_inl.h
|
||||
+++ b/nan_callbacks_12_inl.h
|
||||
@@ -215,7 +215,7 @@ void FunctionCallbackWrapper(const v8::FunctionCallbackInfo<v8::Value> &info) {
|
||||
FunctionCallback callback = reinterpret_cast<FunctionCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kFunctionIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
FunctionCallbackInfo<v8::Value>
|
||||
cbinfo(info, obj->GetInternalField(kDataIndex).As<v8::Value>());
|
||||
callback(cbinfo);
|
||||
@@ -234,7 +234,7 @@ void GetterCallbackWrapper(
|
||||
GetterCallback callback = reinterpret_cast<GetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kGetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property.As<v8::String>(), cbinfo);
|
||||
}
|
||||
|
||||
@@ -252,7 +252,7 @@ void SetterCallbackWrapper(
|
||||
SetterCallback callback = reinterpret_cast<SetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kSetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property.As<v8::String>(), value, cbinfo);
|
||||
}
|
||||
|
||||
@@ -271,7 +271,7 @@ void GetterCallbackWrapper(
|
||||
GetterCallback callback = reinterpret_cast<GetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kGetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, cbinfo);
|
||||
}
|
||||
|
||||
@@ -289,7 +289,7 @@ void SetterCallbackWrapper(
|
||||
SetterCallback callback = reinterpret_cast<SetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kSetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, value, cbinfo);
|
||||
}
|
||||
|
||||
@@ -313,7 +313,7 @@ v8::Intercepted PropertyGetterCallbackWrapper(
|
||||
PropertyGetterCallback callback = reinterpret_cast<PropertyGetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyGetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
return callback(property.As<v8::String>(), cbinfo);
|
||||
}
|
||||
|
||||
@@ -331,7 +331,7 @@ v8::Intercepted PropertySetterCallbackWrapper(
|
||||
PropertySetterCallback callback = reinterpret_cast<PropertySetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertySetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
return callback(property.As<v8::String>(), value, cbinfo);
|
||||
}
|
||||
|
||||
@@ -351,7 +351,7 @@ void PropertyGetterCallbackWrapper(
|
||||
PropertyGetterCallback callback = reinterpret_cast<PropertyGetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyGetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property.As<v8::String>(), cbinfo);
|
||||
}
|
||||
|
||||
@@ -369,7 +369,7 @@ void PropertySetterCallbackWrapper(
|
||||
PropertySetterCallback callback = reinterpret_cast<PropertySetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertySetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property.As<v8::String>(), value, cbinfo);
|
||||
}
|
||||
|
||||
@@ -388,7 +388,7 @@ void PropertyEnumeratorCallbackWrapper(
|
||||
PropertyEnumeratorCallback callback =
|
||||
reinterpret_cast<PropertyEnumeratorCallback>(reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyEnumeratorIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(cbinfo);
|
||||
}
|
||||
|
||||
@@ -407,7 +407,7 @@ v8::Intercepted PropertyDeleterCallbackWrapper(
|
||||
PropertyDeleterCallback callback = reinterpret_cast<PropertyDeleterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyDeleterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
return callback(property.As<v8::String>(), cbinfo);
|
||||
}
|
||||
|
||||
@@ -425,7 +425,7 @@ v8::Intercepted PropertyQueryCallbackWrapper(
|
||||
PropertyQueryCallback callback = reinterpret_cast<PropertyQueryCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyQueryIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
return callback(property.As<v8::String>(), cbinfo);
|
||||
}
|
||||
|
||||
@@ -442,7 +442,7 @@ void PropertyDeleterCallbackWrapper(
|
||||
PropertyDeleterCallback callback = reinterpret_cast<PropertyDeleterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyDeleterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property.As<v8::String>(), cbinfo);
|
||||
}
|
||||
|
||||
@@ -459,7 +459,7 @@ void PropertyQueryCallbackWrapper(
|
||||
PropertyQueryCallback callback = reinterpret_cast<PropertyQueryCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyQueryIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property.As<v8::String>(), cbinfo);
|
||||
}
|
||||
|
||||
@@ -477,7 +477,7 @@ void PropertyGetterCallbackWrapper(
|
||||
PropertyGetterCallback callback = reinterpret_cast<PropertyGetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyGetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, cbinfo);
|
||||
}
|
||||
|
||||
@@ -495,7 +495,7 @@ void PropertySetterCallbackWrapper(
|
||||
PropertySetterCallback callback = reinterpret_cast<PropertySetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertySetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, value, cbinfo);
|
||||
}
|
||||
|
||||
@@ -513,7 +513,7 @@ void PropertyEnumeratorCallbackWrapper(
|
||||
PropertyEnumeratorCallback callback =
|
||||
reinterpret_cast<PropertyEnumeratorCallback>(reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyEnumeratorIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(cbinfo);
|
||||
}
|
||||
|
||||
@@ -530,7 +530,7 @@ void PropertyDeleterCallbackWrapper(
|
||||
PropertyDeleterCallback callback = reinterpret_cast<PropertyDeleterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyDeleterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, cbinfo);
|
||||
}
|
||||
|
||||
@@ -547,7 +547,7 @@ void PropertyQueryCallbackWrapper(
|
||||
PropertyQueryCallback callback = reinterpret_cast<PropertyQueryCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyQueryIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, cbinfo);
|
||||
}
|
||||
|
||||
@@ -566,7 +566,7 @@ v8::Intercepted IndexGetterCallbackWrapper(
|
||||
IndexGetterCallback callback = reinterpret_cast<IndexGetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertyGetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
return callback(index, cbinfo);
|
||||
}
|
||||
|
||||
@@ -584,7 +584,7 @@ v8::Intercepted IndexSetterCallbackWrapper(
|
||||
IndexSetterCallback callback = reinterpret_cast<IndexSetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertySetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
return callback(index, value, cbinfo);
|
||||
}
|
||||
|
||||
@@ -603,7 +603,7 @@ void IndexGetterCallbackWrapper(
|
||||
IndexGetterCallback callback = reinterpret_cast<IndexGetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertyGetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(index, cbinfo);
|
||||
}
|
||||
|
||||
@@ -620,7 +620,7 @@ void IndexSetterCallbackWrapper(
|
||||
IndexSetterCallback callback = reinterpret_cast<IndexSetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertySetterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(index, value, cbinfo);
|
||||
}
|
||||
|
||||
@@ -641,7 +641,7 @@ void IndexEnumeratorCallbackWrapper(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(
|
||||
kIndexPropertyEnumeratorIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(cbinfo);
|
||||
}
|
||||
|
||||
@@ -659,7 +659,7 @@ v8::Intercepted IndexDeleterCallbackWrapper(
|
||||
IndexDeleterCallback callback = reinterpret_cast<IndexDeleterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertyDeleterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
return callback(index, cbinfo);
|
||||
}
|
||||
|
||||
@@ -675,7 +675,7 @@ v8::Intercepted IndexQueryCallbackWrapper(
|
||||
IndexQueryCallback callback = reinterpret_cast<IndexQueryCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertyQueryIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
return callback(index, cbinfo);
|
||||
}
|
||||
|
||||
@@ -691,7 +691,7 @@ void IndexDeleterCallbackWrapper(
|
||||
IndexDeleterCallback callback = reinterpret_cast<IndexDeleterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertyDeleterIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(index, cbinfo);
|
||||
}
|
||||
|
||||
@@ -707,7 +707,7 @@ void IndexQueryCallbackWrapper(
|
||||
IndexQueryCallback callback = reinterpret_cast<IndexQueryCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertyQueryIndex)
|
||||
- .As<v8::Value>().As<v8::External>()->Value()));
|
||||
+ .As<v8::Value>().As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(index, cbinfo);
|
||||
}
|
||||
|
||||
diff --git a/nan_callbacks_pre_12_inl.h b/nan_callbacks_pre_12_inl.h
|
||||
index 74861e2035029b1519a5be81d0ee43d4ad9a22a8..96936862c8ec553e4333cee58256236e6d1750e2 100644
|
||||
--- a/nan_callbacks_pre_12_inl.h
|
||||
+++ b/nan_callbacks_pre_12_inl.h
|
||||
@@ -303,7 +303,7 @@ v8::Handle<v8::Value> FunctionCallbackWrapper(const v8::Arguments &args) {
|
||||
v8::Local<v8::Object> obj = args.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::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
FunctionCallbackInfo<v8::Value>
|
||||
cbinfo(args, obj->GetInternalField(kDataIndex));
|
||||
callback(cbinfo);
|
||||
@@ -320,7 +320,7 @@ v8::Handle<v8::Value> GetterCallbackWrapper(
|
||||
cbinfo(info, obj->GetInternalField(kDataIndex));
|
||||
GetterCallback callback = reinterpret_cast<GetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
- obj->GetInternalField(kGetterIndex).As<v8::External>()->Value()));
|
||||
+ obj->GetInternalField(kGetterIndex).As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, cbinfo);
|
||||
return ReturnValueImp<v8::Value>(cbinfo.GetReturnValue()).Value();
|
||||
}
|
||||
@@ -338,7 +338,7 @@ void SetterCallbackWrapper(
|
||||
cbinfo(info, obj->GetInternalField(kDataIndex));
|
||||
SetterCallback callback = reinterpret_cast<SetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
- obj->GetInternalField(kSetterIndex).As<v8::External>()->Value()));
|
||||
+ obj->GetInternalField(kSetterIndex).As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, value, cbinfo);
|
||||
}
|
||||
|
||||
@@ -354,7 +354,7 @@ v8::Handle<v8::Value> PropertyGetterCallbackWrapper(
|
||||
PropertyGetterCallback callback = reinterpret_cast<PropertyGetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyGetterIndex)
|
||||
- .As<v8::External>()->Value()));
|
||||
+ .As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, cbinfo);
|
||||
return ReturnValueImp<v8::Value>(cbinfo.GetReturnValue()).Value();
|
||||
}
|
||||
@@ -373,7 +373,7 @@ v8::Handle<v8::Value> PropertySetterCallbackWrapper(
|
||||
PropertySetterCallback callback = reinterpret_cast<PropertySetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertySetterIndex)
|
||||
- .As<v8::External>()->Value()));
|
||||
+ .As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, value, cbinfo);
|
||||
return ReturnValueImp<v8::Value>(cbinfo.GetReturnValue()).Value();
|
||||
}
|
||||
@@ -390,7 +390,7 @@ v8::Handle<v8::Array> PropertyEnumeratorCallbackWrapper(
|
||||
PropertyEnumeratorCallback callback =
|
||||
reinterpret_cast<PropertyEnumeratorCallback>(reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyEnumeratorIndex)
|
||||
- .As<v8::External>()->Value()));
|
||||
+ .As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(cbinfo);
|
||||
return ReturnValueImp<v8::Array>(cbinfo.GetReturnValue()).Value();
|
||||
}
|
||||
@@ -408,7 +408,7 @@ v8::Handle<v8::Boolean> PropertyDeleterCallbackWrapper(
|
||||
PropertyDeleterCallback callback = reinterpret_cast<PropertyDeleterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyDeleterIndex)
|
||||
- .As<v8::External>()->Value()));
|
||||
+ .As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, cbinfo);
|
||||
return ReturnValueImp<v8::Boolean>(cbinfo.GetReturnValue()).Value();
|
||||
}
|
||||
@@ -425,7 +425,7 @@ v8::Handle<v8::Integer> PropertyQueryCallbackWrapper(
|
||||
PropertyQueryCallback callback = reinterpret_cast<PropertyQueryCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kPropertyQueryIndex)
|
||||
- .As<v8::External>()->Value()));
|
||||
+ .As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(property, cbinfo);
|
||||
return ReturnValueImp<v8::Integer>(cbinfo.GetReturnValue()).Value();
|
||||
}
|
||||
@@ -442,7 +442,7 @@ v8::Handle<v8::Value> IndexGetterCallbackWrapper(
|
||||
IndexGetterCallback callback = reinterpret_cast<IndexGetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertyGetterIndex)
|
||||
- .As<v8::External>()->Value()));
|
||||
+ .As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(index, cbinfo);
|
||||
return ReturnValueImp<v8::Value>(cbinfo.GetReturnValue()).Value();
|
||||
}
|
||||
@@ -461,7 +461,7 @@ v8::Handle<v8::Value> IndexSetterCallbackWrapper(
|
||||
IndexSetterCallback callback = reinterpret_cast<IndexSetterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertySetterIndex)
|
||||
- .As<v8::External>()->Value()));
|
||||
+ .As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(index, value, cbinfo);
|
||||
return ReturnValueImp<v8::Value>(cbinfo.GetReturnValue()).Value();
|
||||
}
|
||||
@@ -478,7 +478,7 @@ v8::Handle<v8::Array> IndexEnumeratorCallbackWrapper(
|
||||
IndexEnumeratorCallback callback = reinterpret_cast<IndexEnumeratorCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertyEnumeratorIndex)
|
||||
- .As<v8::External>()->Value()));
|
||||
+ .As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(cbinfo);
|
||||
return ReturnValueImp<v8::Array>(cbinfo.GetReturnValue()).Value();
|
||||
}
|
||||
@@ -495,7 +495,7 @@ v8::Handle<v8::Boolean> IndexDeleterCallbackWrapper(
|
||||
IndexDeleterCallback callback = reinterpret_cast<IndexDeleterCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertyDeleterIndex)
|
||||
- .As<v8::External>()->Value()));
|
||||
+ .As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(index, cbinfo);
|
||||
return ReturnValueImp<v8::Boolean>(cbinfo.GetReturnValue()).Value();
|
||||
}
|
||||
@@ -512,7 +512,7 @@ v8::Handle<v8::Integer> IndexQueryCallbackWrapper(
|
||||
IndexQueryCallback callback = reinterpret_cast<IndexQueryCallback>(
|
||||
reinterpret_cast<intptr_t>(
|
||||
obj->GetInternalField(kIndexPropertyQueryIndex)
|
||||
- .As<v8::External>()->Value()));
|
||||
+ .As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault)));
|
||||
callback(index, cbinfo);
|
||||
return ReturnValueImp<v8::Integer>(cbinfo.GetReturnValue()).Value();
|
||||
}
|
||||
diff --git a/nan_implementation_12_inl.h b/nan_implementation_12_inl.h
|
||||
index 255293ac2deb689d0e15644c4645780b09ad0e3b..ce8ccdacc8a01ffebbea4f188fd34af3a7240b4d 100644
|
||||
--- a/nan_implementation_12_inl.h
|
||||
+++ b/nan_implementation_12_inl.h
|
||||
@@ -76,7 +76,7 @@ Factory<v8::Date>::New(double value) {
|
||||
|
||||
Factory<v8::External>::return_t
|
||||
Factory<v8::External>::New(void * value) {
|
||||
- return v8::External::New(v8::Isolate::GetCurrent(), value);
|
||||
+ return v8::External::New(v8::Isolate::GetCurrent(), value, v8::kExternalPointerTypeTagDefault);
|
||||
}
|
||||
|
||||
//=== Function =================================================================
|
||||
@@ -92,7 +92,7 @@ Factory<v8::Function>::New( FunctionCallback callback
|
||||
|
||||
obj->SetInternalField(
|
||||
imp::kFunctionIndex
|
||||
- , v8::External::New(isolate, reinterpret_cast<void *>(callback)));
|
||||
+ , v8::External::New(isolate, reinterpret_cast<void *>(callback), v8::kExternalPointerTypeTagDefault));
|
||||
|
||||
v8::Local<v8::Value> val = v8::Local<v8::Value>::New(isolate, data);
|
||||
|
||||
@@ -128,7 +128,7 @@ Factory<v8::FunctionTemplate>::New( FunctionCallback callback
|
||||
|
||||
obj->SetInternalField(
|
||||
imp::kFunctionIndex
|
||||
- , v8::External::New(isolate, reinterpret_cast<void *>(callback)));
|
||||
+ , v8::External::New(isolate, reinterpret_cast<void *>(callback), v8::kExternalPointerTypeTagDefault));
|
||||
v8::Local<v8::Value> val = v8::Local<v8::Value>::New(isolate, data);
|
||||
|
||||
if (!val.IsEmpty()) {
|
||||
diff --git a/test/cpp/nannew.cpp b/test/cpp/nannew.cpp
|
||||
index e36ce4f85d2a30dcba1e8bc13232459b4699d921..c368c34581ff8f1a704a718b88972903af588f73 100644
|
||||
--- a/test/cpp/nannew.cpp
|
||||
+++ b/test/cpp/nannew.cpp
|
||||
@@ -136,7 +136,7 @@ NAN_METHOD(testExternal) {
|
||||
|
||||
t.plan(2);
|
||||
|
||||
- t.ok(_(New<External>(&ttt)->Value() == &ttt));
|
||||
+ t.ok(_(New<External>(&ttt)->Value(v8::kExternalPointerTypeTagDefault) == &ttt));
|
||||
t.ok(_( assertType<External>(New<External>(&ttt))));
|
||||
|
||||
info.GetReturnValue().SetUndefined();
|
||||
diff --git a/test/cpp/news.cpp b/test/cpp/news.cpp
|
||||
index 3597f0fca8a7adff7738468a9a8bd54e854c9625..f913b679a77b43f9264b68f75af44c316cd5e1cb 100644
|
||||
--- a/test/cpp/news.cpp
|
||||
+++ b/test/cpp/news.cpp
|
||||
@@ -93,7 +93,7 @@ NAN_METHOD(NewBooleanObject) {
|
||||
|
||||
NAN_METHOD(NewExternal) {
|
||||
v8::Local<v8::External> ext = New<v8::External>(&magic);
|
||||
- assert(*static_cast<int *>(ext->Value()) == 1337);
|
||||
+ assert(*static_cast<int *>(ext->Value(v8::kExternalPointerTypeTagDefault)) == 1337);
|
||||
info.GetReturnValue().Set(New("passed").ToLocalChecked());
|
||||
}
|
||||
|
||||
@@ -45,3 +45,4 @@ src_refactor_wasmstreaming_finish_to_accept_a_callback.patch
|
||||
src_stop_using_v8_propertycallbackinfo_t_this.patch
|
||||
build_restore_macos_deployment_target_to_12_0.patch
|
||||
fix_generate_config_gypi_needs_to_generate_valid_json.patch
|
||||
fix_add_externalpointertypetag_to_v8_external_api_calls.patch
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Alice Zhao <alicelovescake@anthropic.com>
|
||||
Date: Fri, 20 Feb 2026 21:57:00 -0800
|
||||
Subject: fix: add ExternalPointerTypeTag to v8::External API calls
|
||||
|
||||
V8 changed v8::External::New and v8::External::Value to require
|
||||
an ExternalPointerTypeTag parameter. Use kExternalPointerTypeTagDefault
|
||||
for all existing call sites.
|
||||
|
||||
diff --git a/src/crypto/crypto_context.cc b/src/crypto/crypto_context.cc
|
||||
index d6af2460c3745901415d4e785cf210da8a730a8d..4b5b892b81727c8f93e3041d33902c31d3776a52 100644
|
||||
--- a/src/crypto/crypto_context.cc
|
||||
+++ b/src/crypto/crypto_context.cc
|
||||
@@ -2336,7 +2336,7 @@ int SecureContext::TicketCompatibilityCallback(SSL* ssl,
|
||||
void SecureContext::CtxGetter(const FunctionCallbackInfo<Value>& info) {
|
||||
SecureContext* sc;
|
||||
ASSIGN_OR_RETURN_UNWRAP(&sc, info.This());
|
||||
- Local<External> ext = External::New(info.GetIsolate(), sc->ctx_.get());
|
||||
+ Local<External> ext = External::New(info.GetIsolate(), sc->ctx_.get(), v8::kExternalPointerTypeTagDefault);
|
||||
info.GetReturnValue().Set(ext);
|
||||
}
|
||||
|
||||
diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc
|
||||
index a944c18518471a55a44a7ff32190fe9920d0cb20..82214a5d051bb2ca487c92f684b03dcf709255a0 100644
|
||||
--- a/src/js_native_api_v8.cc
|
||||
+++ b/src/js_native_api_v8.cc
|
||||
@@ -356,7 +356,7 @@ inline napi_status Unwrap(napi_env env,
|
||||
.ToLocalChecked();
|
||||
RETURN_STATUS_IF_FALSE(env, val->IsExternal(), napi_invalid_arg);
|
||||
Reference* reference =
|
||||
- static_cast<v8impl::Reference*>(val.As<v8::External>()->Value());
|
||||
+ static_cast<v8impl::Reference*>(val.As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault));
|
||||
|
||||
if (result) {
|
||||
*result = reference->Data();
|
||||
@@ -395,14 +395,14 @@ class CallbackBundle {
|
||||
bundle->cb_data = data;
|
||||
bundle->env = env;
|
||||
|
||||
- v8::Local<v8::Value> cbdata = v8::External::New(env->isolate, bundle);
|
||||
+ v8::Local<v8::Value> cbdata = v8::External::New(env->isolate, bundle, v8::kExternalPointerTypeTagDefault);
|
||||
ReferenceWithFinalizer::New(
|
||||
env, cbdata, 0, ReferenceOwnership::kRuntime, Delete, bundle, nullptr);
|
||||
return cbdata;
|
||||
}
|
||||
|
||||
static CallbackBundle* FromCallbackData(v8::Local<v8::Value> data) {
|
||||
- return reinterpret_cast<CallbackBundle*>(data.As<v8::External>()->Value());
|
||||
+ return reinterpret_cast<CallbackBundle*>(data.As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault));
|
||||
}
|
||||
|
||||
public:
|
||||
@@ -575,7 +575,7 @@ inline napi_status Wrap(napi_env env,
|
||||
|
||||
CHECK(obj->SetPrivate(context,
|
||||
NAPI_PRIVATE_KEY(context, wrapper),
|
||||
- v8::External::New(env->isolate, reference))
|
||||
+ v8::External::New(env->isolate, reference, v8::kExternalPointerTypeTagDefault))
|
||||
.FromJust());
|
||||
|
||||
return GET_RETURN_STATUS(env);
|
||||
@@ -842,7 +842,7 @@ class ExternalWrapper {
|
||||
public:
|
||||
static v8::Local<v8::External> New(napi_env env, void* data) {
|
||||
ExternalWrapper* wrapper = new ExternalWrapper(data);
|
||||
- v8::Local<v8::External> external = v8::External::New(env->isolate, wrapper);
|
||||
+ v8::Local<v8::External> external = v8::External::New(env->isolate, wrapper, v8::kExternalPointerTypeTagDefault);
|
||||
wrapper->persistent_.Reset(env->isolate, external);
|
||||
wrapper->persistent_.SetWeak(
|
||||
wrapper, WeakCallback, v8::WeakCallbackType::kParameter);
|
||||
@@ -851,7 +851,7 @@ class ExternalWrapper {
|
||||
}
|
||||
|
||||
static ExternalWrapper* From(v8::Local<v8::External> external) {
|
||||
- return static_cast<ExternalWrapper*>(external->Value());
|
||||
+ return static_cast<ExternalWrapper*>(external->Value(v8::kExternalPointerTypeTagDefault));
|
||||
}
|
||||
|
||||
void* Data() { return data_; }
|
||||
diff --git a/src/node_modules.cc b/src/node_modules.cc
|
||||
index c5c61888ecaaeeb23ebc9887f19ae3ad4c30dbd4..e2db3f4935ad58c5b409c67bfe5fc964f4ea5e83 100644
|
||||
--- a/src/node_modules.cc
|
||||
+++ b/src/node_modules.cc
|
||||
@@ -642,7 +642,7 @@ void GetCompileCacheEntry(const FunctionCallbackInfo<Value>& args) {
|
||||
v8::LocalVector<v8::Name> names(isolate,
|
||||
{FIXED_ONE_BYTE_STRING(isolate, "external")});
|
||||
v8::LocalVector<v8::Value> values(isolate,
|
||||
- {v8::External::New(isolate, cache_entry)});
|
||||
+ {v8::External::New(isolate, cache_entry, v8::kExternalPointerTypeTagDefault)});
|
||||
if (cache_entry->cache != nullptr) {
|
||||
Debug(env,
|
||||
DebugCategory::COMPILE_CACHE,
|
||||
@@ -752,7 +752,7 @@ void SaveCompileCacheEntry(const FunctionCallbackInfo<Value>& args) {
|
||||
CHECK(args[0]->IsExternal());
|
||||
CHECK(args[1]->IsString()); // TODO(joyeecheung): accept buffer.
|
||||
auto* cache_entry =
|
||||
- static_cast<CompileCacheEntry*>(args[0].As<External>()->Value());
|
||||
+ static_cast<CompileCacheEntry*>(args[0].As<External>()->Value(v8::kExternalPointerTypeTagDefault));
|
||||
Utf8Value utf8(isolate, args[1].As<String>());
|
||||
env->compile_cache_handler()->MaybeSave(cache_entry, utf8.ToStringView());
|
||||
}
|
||||
diff --git a/src/node_util.cc b/src/node_util.cc
|
||||
index e9f4c1cdb60c03dce210f49e18dda57a4934a8b5..263edfd92e38c66f7912c602b306d420b503a839 100644
|
||||
--- a/src/node_util.cc
|
||||
+++ b/src/node_util.cc
|
||||
@@ -93,7 +93,7 @@ static void GetExternalValue(
|
||||
Isolate* isolate = args.GetIsolate();
|
||||
Local<External> external = args[0].As<External>();
|
||||
|
||||
- void* ptr = external->Value();
|
||||
+ void* ptr = external->Value(v8::kExternalPointerTypeTagDefault);
|
||||
uint64_t value = reinterpret_cast<uint64_t>(ptr);
|
||||
Local<BigInt> ret = BigInt::NewFromUnsigned(isolate, value);
|
||||
args.GetReturnValue().Set(ret);
|
||||
diff --git a/src/stream_base.cc b/src/stream_base.cc
|
||||
index 566204e667c8e8802db6ac47881d33178f6147b2..31af8313611961d8c18654ce9ccaee6e6af087b1 100644
|
||||
--- a/src/stream_base.cc
|
||||
+++ b/src/stream_base.cc
|
||||
@@ -653,7 +653,7 @@ void StreamBase::GetExternal(const FunctionCallbackInfo<Value>& args) {
|
||||
StreamBase* wrap = StreamBase::FromObject(args.This().As<Object>());
|
||||
if (wrap == nullptr) return;
|
||||
|
||||
- Local<External> ext = External::New(args.GetIsolate(), wrap);
|
||||
+ Local<External> ext = External::New(args.GetIsolate(), wrap, v8::kExternalPointerTypeTagDefault);
|
||||
args.GetReturnValue().Set(ext);
|
||||
}
|
||||
|
||||
@@ -8,10 +8,10 @@ This definition conflicts with libuv's: https://github.com/libuv/libuv/blob/bb0b
|
||||
Breaks the build on 32-bit windows.
|
||||
|
||||
diff --git a/include/perfetto/ext/base/sys_types.h b/include/perfetto/ext/base/sys_types.h
|
||||
index 407819b4636ea1efcd169d0d3606d63e8cfe854c..9bc86d3549d530fd672be14239a1121c252c9280 100644
|
||||
index 74cd1b734c162d0f48c653a501ded1522d24c387..a150109ca0dd3795d94c9ae8c976576439a3e3e4 100644
|
||||
--- a/include/perfetto/ext/base/sys_types.h
|
||||
+++ b/include/perfetto/ext/base/sys_types.h
|
||||
@@ -34,11 +34,7 @@ using gid_t = int;
|
||||
@@ -41,11 +41,7 @@ using gid_t = int;
|
||||
using pid_t = int;
|
||||
#endif // !GCC
|
||||
|
||||
@@ -22,5 +22,5 @@ index 407819b4636ea1efcd169d0d3606d63e8cfe854c..9bc86d3549d530fd672be14239a1121c
|
||||
-#endif // _WIN64
|
||||
+using ssize_t = intptr_t;
|
||||
|
||||
#endif // OS_WIN
|
||||
#endif // __MINGW32__
|
||||
|
||||
|
||||
@@ -14,6 +14,23 @@ const DEPS_REGEX = /chromium_version':\n +'(.+?)',/m;
|
||||
const CL_REGEX = /https:\/\/chromium-review\.googlesource\.com\/c\/(?:chromium\/src|v8\/v8)\/\+\/(\d+)(#\S+)?/g;
|
||||
const ROLLER_BRANCH_PATTERN = /^roller\/chromium\/(.+)$/;
|
||||
|
||||
function getCurrentBranch () {
|
||||
// In CI, use `GITHUB_HEAD_REF` since we checkout the PR branch in detached HEAD state
|
||||
if (process.env.GITHUB_HEAD_REF) {
|
||||
return process.env.GITHUB_HEAD_REF;
|
||||
}
|
||||
|
||||
try {
|
||||
return execSync('git rev-parse --abbrev-ref HEAD', {
|
||||
cwd: ELECTRON_DIR,
|
||||
encoding: 'utf8'
|
||||
}).trim();
|
||||
} catch {
|
||||
console.error('Could not determine current git branch');
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
function getCommitsSinceMergeBase (mergeBase) {
|
||||
try {
|
||||
const output = execSync(`git log --format=%H%n%B%n---COMMIT_END--- ${mergeBase}..HEAD`, {
|
||||
@@ -92,17 +109,7 @@ async function getGerritPatchDetails (clUrl) {
|
||||
}
|
||||
|
||||
async function main () {
|
||||
let currentBranch;
|
||||
|
||||
try {
|
||||
currentBranch = execSync('git rev-parse --abbrev-ref HEAD', {
|
||||
cwd: ELECTRON_DIR,
|
||||
encoding: 'utf8'
|
||||
}).trim();
|
||||
} catch {
|
||||
console.error('Could not determine current git branch');
|
||||
process.exit(1);
|
||||
}
|
||||
const currentBranch = getCurrentBranch();
|
||||
|
||||
// Check if we're on a roller/chromium/* branch
|
||||
const branchMatch = ROLLER_BRANCH_PATTERN.exec(currentBranch);
|
||||
|
||||
@@ -66,8 +66,6 @@
|
||||
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
#include "base/nix/xdg_util.h"
|
||||
#include "base/posix/global_descriptors.h"
|
||||
#include "content/public/common/content_descriptors.h"
|
||||
#include "v8/include/v8-wasm-trap-handler-posix.h"
|
||||
#include "v8/include/v8.h"
|
||||
#endif
|
||||
@@ -242,20 +240,6 @@ void ElectronMainDelegate::PreSandboxStartup() {
|
||||
auto* command_line = base::CommandLine::ForCurrentProcess();
|
||||
std::string process_type = GetProcessType();
|
||||
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
// Register the pseudonymization salt descriptor in GlobalDescriptors.
|
||||
// (see https://crbug.com/40850085) Only affects processes launched
|
||||
// without the zygote (i.e. utility processes)
|
||||
// TODO: Remove in favor of
|
||||
// https://chromium-review.googlesource.com/c/chromium/src/+/7568382
|
||||
if (!process_type.empty() && !IsZygoteProcess()) {
|
||||
base::GlobalDescriptors::GetInstance()->Set(
|
||||
kPseudonymizationSaltDescriptor,
|
||||
kPseudonymizationSaltDescriptor +
|
||||
base::GlobalDescriptors::kBaseDescriptor);
|
||||
}
|
||||
#endif
|
||||
|
||||
base::FilePath user_data_dir =
|
||||
command_line->GetSwitchValuePath(::switches::kUserDataDir);
|
||||
if (!user_data_dir.empty()) {
|
||||
|
||||
@@ -49,6 +49,7 @@ BrowserWindow::BrowserWindow(gin::Arguments* args,
|
||||
// when initially hidden
|
||||
bool paint_when_initially_hidden = true;
|
||||
options.Get(options::kPaintWhenInitiallyHidden, &paint_when_initially_hidden);
|
||||
paint_when_initially_hidden_ = paint_when_initially_hidden;
|
||||
if (!paint_when_initially_hidden) {
|
||||
bool show = true;
|
||||
options.Get(options::kShow, &show);
|
||||
@@ -288,6 +289,17 @@ void BrowserWindow::OnWindowHide() {
|
||||
BaseWindow::OnWindowHide();
|
||||
}
|
||||
|
||||
void BrowserWindow::RenderViewReady() {
|
||||
// When paintWhenInitiallyHidden is true and the native window has not been
|
||||
// shown yet, tell the WebContents it is visible so the renderer's compositor
|
||||
// starts producing frames. Without this the renderer's LayerTreeHost stays
|
||||
// hidden and no CompositorFrames (and therefore no presentation callbacks)
|
||||
// are ever produced, which means PerformanceObserver paint-timing entries
|
||||
// (first-paint / first-contentful-paint) never fire.
|
||||
if (paint_when_initially_hidden_ && !window()->IsVisible())
|
||||
web_contents()->WasShown();
|
||||
}
|
||||
|
||||
void BrowserWindow::Show() {
|
||||
web_contents()->WasShown();
|
||||
BaseWindow::Show();
|
||||
|
||||
@@ -42,6 +42,7 @@ class BrowserWindow : public BaseWindow,
|
||||
|
||||
// content::WebContentsObserver:
|
||||
void BeforeUnloadDialogCancelled() override;
|
||||
void RenderViewReady() override;
|
||||
void WebContentsDestroyed() override;
|
||||
|
||||
// ExtendedWebContentsObserver:
|
||||
@@ -79,6 +80,12 @@ class BrowserWindow : public BaseWindow,
|
||||
private:
|
||||
// Helpers.
|
||||
|
||||
// When true and the window is created with show: false, the renderer is
|
||||
// told it is visible as soon as it is ready so that PerformanceObserver
|
||||
// paint‐timing entries (first-paint / first-contentful-paint) are
|
||||
// produced even before the native window is shown.
|
||||
bool paint_when_initially_hidden_ = false;
|
||||
|
||||
v8::Global<v8::Value> web_contents_;
|
||||
v8::Global<v8::Value> web_contents_view_;
|
||||
base::WeakPtr<api::WebContents> api_web_contents_;
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "content/public/common/result_codes.h"
|
||||
#include "gin/object_template_builder.h"
|
||||
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
||||
#include "services/network/public/cpp/originating_process.h"
|
||||
#include "services/network/public/cpp/originating_process_id.h"
|
||||
#include "shell/browser/api/message_port.h"
|
||||
#include "shell/browser/browser.h"
|
||||
#include "shell/browser/javascript_environment.h"
|
||||
|
||||
@@ -1283,6 +1283,8 @@ content::WebContents* WebContents::CreateCustomWebContents(
|
||||
const GURL& opener_url,
|
||||
const std::string& frame_name,
|
||||
const GURL& target_url,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& window_features,
|
||||
const content::StoragePartitionConfig& partition_config,
|
||||
content::SessionStorageNamespace* session_storage_namespace) {
|
||||
return nullptr;
|
||||
@@ -4746,6 +4748,19 @@ gin_helper::Handle<WebContents> WebContents::CreateFromWebPreferences(
|
||||
existing_preferences->SetFromDictionary(web_preferences_dict);
|
||||
web_contents->SetBackgroundColor(
|
||||
existing_preferences->GetBackgroundColor());
|
||||
|
||||
double zoom_factor;
|
||||
if (web_preferences.Get(options::kZoomFactor, &zoom_factor)) {
|
||||
auto* zoom_controller = WebContentsZoomController::FromWebContents(
|
||||
web_contents->web_contents());
|
||||
if (zoom_controller) {
|
||||
zoom_controller->SetDefaultZoomFactor(zoom_factor);
|
||||
// Also set the current zoom level immediately, since the page
|
||||
// has already navigated by the time we wrap the webContents.
|
||||
zoom_controller->SetZoomLevel(
|
||||
blink::ZoomFactorToZoomLevel(zoom_factor));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Create one if not.
|
||||
|
||||
@@ -506,6 +506,8 @@ class WebContents final : public ExclusiveAccessContext,
|
||||
const GURL& opener_url,
|
||||
const std::string& frame_name,
|
||||
const GURL& target_url,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& window_features,
|
||||
const content::StoragePartitionConfig& partition_config,
|
||||
content::SessionStorageNamespace* session_storage_namespace) override;
|
||||
void WebContentsCreatedWithFullParams(
|
||||
|
||||
@@ -33,7 +33,7 @@ WebContentsView::WebContentsView(v8::Isolate* isolate,
|
||||
gin_helper::Handle<WebContents> web_contents)
|
||||
: View(web_contents->inspectable_web_contents()->GetView()),
|
||||
web_contents_(isolate, web_contents.ToV8()),
|
||||
api_web_contents_(web_contents.get()) {
|
||||
api_web_contents_(web_contents->GetWeakPtr()) {
|
||||
set_delete_view(false);
|
||||
view()->SetProperty(
|
||||
views::kFlexBehaviorKey,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
#include <optional>
|
||||
|
||||
#include "base/memory/raw_ptr.h"
|
||||
#include "base/memory/weak_ptr.h"
|
||||
#include "content/public/browser/web_contents_observer.h"
|
||||
#include "shell/browser/api/electron_api_view.h"
|
||||
#include "shell/browser/draggable_region_provider.h"
|
||||
@@ -63,7 +63,7 @@ class WebContentsView : public View,
|
||||
|
||||
// Keep a reference to v8 wrapper.
|
||||
v8::Global<v8::Value> web_contents_;
|
||||
raw_ptr<api::WebContents> api_web_contents_;
|
||||
base::WeakPtr<api::WebContents> api_web_contents_;
|
||||
};
|
||||
|
||||
} // namespace electron::api
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
#include "services/network/public/cpp/features.h"
|
||||
#include "services/network/public/cpp/is_potentially_trustworthy.h"
|
||||
#include "services/network/public/cpp/network_switches.h"
|
||||
#include "services/network/public/cpp/originating_process.h"
|
||||
#include "services/network/public/cpp/originating_process_id.h"
|
||||
#include "services/network/public/cpp/resource_request_body.h"
|
||||
#include "services/network/public/cpp/self_deleting_url_loader_factory.h"
|
||||
#include "services/network/public/cpp/url_loader_factory_builder.h"
|
||||
@@ -1436,7 +1436,7 @@ void ElectronBrowserClient::OverrideURLLoaderFactoryParams(
|
||||
// Bypass CORB and CORS when web security is disabled.
|
||||
auto* rfh = content::RenderFrameHost::FromFrameToken(
|
||||
content::GlobalRenderFrameHostToken(
|
||||
factory_params->process_id.renderer_process().value(),
|
||||
factory_params->process_id.renderer_process_id().value(),
|
||||
blink::LocalFrameToken(factory_params->top_frame_id.value())));
|
||||
auto* web_contents = content::WebContents::FromRenderFrameHost(rfh);
|
||||
auto* prefs = WebContentsPreferences::From(web_contents);
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
#include "gin/arguments.h"
|
||||
#include "media/audio/audio_device_description.h"
|
||||
#include "services/network/public/cpp/features.h"
|
||||
#include "services/network/public/cpp/originating_process.h"
|
||||
#include "services/network/public/cpp/originating_process_id.h"
|
||||
#include "services/network/public/cpp/url_loader_factory_builder.h"
|
||||
#include "services/network/public/cpp/wrapper_shared_url_loader_factory.h"
|
||||
#include "services/network/public/mojom/network_context.mojom.h"
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
#include "services/network/network_service.h"
|
||||
#include "services/network/public/cpp/cross_thread_pending_shared_url_loader_factory.h"
|
||||
#include "services/network/public/cpp/features.h"
|
||||
#include "services/network/public/cpp/originating_process.h"
|
||||
#include "services/network/public/cpp/originating_process_id.h"
|
||||
#include "services/network/public/cpp/shared_url_loader_factory.h"
|
||||
#include "services/network/public/mojom/network_context.mojom.h"
|
||||
#include "services/network/public/mojom/url_response_head.mojom.h"
|
||||
|
||||
@@ -35,6 +35,41 @@ int ScopedDisableResize::disable_resize_ = 0;
|
||||
|
||||
typedef void (*MouseDownImpl)(id, SEL, NSEvent*);
|
||||
|
||||
// Work around an Apple bug where the visual tab picker's
|
||||
// grid animation creates NSLayoutConstraints against nil layout anchors,
|
||||
// crashing in NSVisualTabPickerShadowTileView. This happens when a new tabbed
|
||||
// window is created while the tab picker is open — the "+" tile (and possibly
|
||||
// others) have broken internal state. Rather than patching individual tile
|
||||
// animation methods, short-circuit the entire grid animation by swizzling
|
||||
// NSVisualTabPickerGridView's -startGridAnimation:completionHandler: to
|
||||
// immediately invoke the completion handler without running the animation.
|
||||
typedef void (*StartGridAnimationIMP)(id, SEL, id, id);
|
||||
static StartGridAnimationIMP g_orig_startGridAnimation = nullptr;
|
||||
|
||||
static void Patched_startGridAnimation(id self,
|
||||
SEL _cmd,
|
||||
id animation,
|
||||
void (^completionHandler)(void)) {
|
||||
if (completionHandler)
|
||||
completionHandler();
|
||||
}
|
||||
|
||||
static void SwizzleTabPickerGridAnimation() {
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
Class cls = NSClassFromString(@"NSVisualTabPickerGridView");
|
||||
if (!cls)
|
||||
return;
|
||||
SEL sel = @selector(startGridAnimation:completionHandler:);
|
||||
Method method = class_getInstanceMethod(cls, sel);
|
||||
if (!method)
|
||||
return;
|
||||
g_orig_startGridAnimation =
|
||||
(StartGridAnimationIMP)method_getImplementation(method);
|
||||
method_setImplementation(method, (IMP)Patched_startGridAnimation);
|
||||
});
|
||||
}
|
||||
|
||||
namespace {
|
||||
MouseDownImpl g_nsthemeframe_mousedown;
|
||||
MouseDownImpl g_nsnextstepframe_mousedown;
|
||||
@@ -125,6 +160,7 @@ void SwizzleSwipeWithEvent(NSView* view, SEL swiz_selector) {
|
||||
|
||||
- (id)initWithShell:(electron::NativeWindowMac*)shell
|
||||
styleMask:(NSUInteger)styleMask {
|
||||
SwizzleTabPickerGridAnimation();
|
||||
if ((self = [super initWithContentRect:ui::kWindowSizeDeterminedLater
|
||||
styleMask:styleMask
|
||||
backing:NSBackingStoreBuffered
|
||||
|
||||
@@ -92,6 +92,13 @@ InspectableWebContentsView::InspectableWebContentsView(
|
||||
}
|
||||
|
||||
InspectableWebContentsView::~InspectableWebContentsView() {
|
||||
if (devtools_window_web_view_)
|
||||
devtools_window_web_view_->SetWebContents(nullptr);
|
||||
if (devtools_web_view_)
|
||||
devtools_web_view_->SetWebContents(nullptr);
|
||||
if (contents_web_view_)
|
||||
contents_web_view_->SetWebContents(nullptr);
|
||||
|
||||
if (devtools_window_)
|
||||
inspectable_web_contents()->SaveDevToolsBounds(
|
||||
devtools_window_->GetWindowBoundsInScreen());
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "components/input/native_web_keyboard_event.h"
|
||||
#include "shell/browser/native_window.h"
|
||||
#include "shell/browser/ui/views/menu_bar.h"
|
||||
#include "ui/events/keycodes/dom/keycode_converter.h"
|
||||
#include "ui/views/layout/box_layout.h"
|
||||
|
||||
namespace electron {
|
||||
@@ -21,9 +22,21 @@ bool IsAltKey(const input::NativeWebKeyboardEvent& event) {
|
||||
|
||||
bool IsAltModifier(const input::NativeWebKeyboardEvent& event) {
|
||||
using Mods = input::NativeWebKeyboardEvent::Modifiers;
|
||||
|
||||
// AltGraph (AltGr) should not be treated as a single Alt keypress for
|
||||
// menu-bar toggling.
|
||||
if (event.windows_key_code == ui::VKEY_ALTGR ||
|
||||
ui::KeycodeConverter::DomKeyToKeyString(event.dom_key) == "AltGraph") {
|
||||
return false;
|
||||
}
|
||||
|
||||
return (event.GetModifiers() & Mods::kKeyModifiers) == Mods::kAltKey;
|
||||
}
|
||||
|
||||
bool IsSingleAltKey(const input::NativeWebKeyboardEvent& event) {
|
||||
return IsAltKey(event) && IsAltModifier(event);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
RootView::RootView(NativeWindow* window)
|
||||
@@ -98,7 +111,7 @@ void RootView::HandleKeyEvent(const input::NativeWebKeyboardEvent& event) {
|
||||
return;
|
||||
|
||||
// Show accelerator when "Alt" is pressed.
|
||||
if (menu_bar_visible_ && IsAltKey(event))
|
||||
if (menu_bar_visible_ && IsSingleAltKey(event))
|
||||
menu_bar_->SetAcceleratorVisibility(
|
||||
event.GetType() == blink::WebInputEvent::Type::kRawKeyDown);
|
||||
|
||||
@@ -121,11 +134,11 @@ void RootView::HandleKeyEvent(const input::NativeWebKeyboardEvent& event) {
|
||||
|
||||
// Toggle the menu bar only when a single Alt is released.
|
||||
if (event.GetType() == blink::WebInputEvent::Type::kRawKeyDown &&
|
||||
IsAltKey(event)) {
|
||||
IsSingleAltKey(event)) {
|
||||
// When a single Alt is pressed:
|
||||
menu_bar_alt_pressed_ = true;
|
||||
} else if (event.GetType() == blink::WebInputEvent::Type::kKeyUp &&
|
||||
IsAltKey(event) && menu_bar_alt_pressed_) {
|
||||
IsSingleAltKey(event) && menu_bar_alt_pressed_) {
|
||||
// When a single Alt is released right after a Alt is pressed:
|
||||
menu_bar_alt_pressed_ = false;
|
||||
if (menu_bar_autohide_)
|
||||
|
||||
@@ -275,12 +275,16 @@ bool WinFrameView::GetShouldPaintAsActive() {
|
||||
}
|
||||
|
||||
gfx::Size WinFrameView::GetMinimumSize() const {
|
||||
if (!window_)
|
||||
return gfx::Size();
|
||||
// Chromium expects minimum size to be in content dimensions on Windows
|
||||
// because it adds the frame border automatically in OnGetMinMaxInfo.
|
||||
return window_->GetContentMinimumSize();
|
||||
}
|
||||
|
||||
gfx::Size WinFrameView::GetMaximumSize() const {
|
||||
if (!window_)
|
||||
return gfx::Size();
|
||||
// Chromium expects minimum size to be in content dimensions on Windows
|
||||
// because it adds the frame border automatically in OnGetMinMaxInfo.
|
||||
gfx::Size size = window_->GetContentMaximumSize();
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "base/command_line.h"
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/strings/string_util.h"
|
||||
#include "services/network/public/cpp/network_switches.h"
|
||||
#include "net/base/switches.h"
|
||||
#include "shell/common/gin_converters/base_converter.h"
|
||||
#include "shell/common/gin_converters/file_path_converter.h"
|
||||
#include "shell/common/gin_helper/dictionary.h"
|
||||
@@ -34,7 +34,7 @@ void AppendSwitch(const std::string& switch_string,
|
||||
auto* command_line = base::CommandLine::ForCurrentProcess();
|
||||
if (base::EndsWith(switch_string, "-path",
|
||||
base::CompareCase::INSENSITIVE_ASCII) ||
|
||||
switch_string == network::switches::kLogNetLog) {
|
||||
switch_string == net::switches::kLogNetLog) {
|
||||
base::FilePath path;
|
||||
args->GetNext(&path);
|
||||
command_line->AppendSwitchPath(switch_str, path);
|
||||
|
||||
@@ -3977,6 +3977,28 @@ describe('BrowserWindow module', () => {
|
||||
expect(webPreferences!.contextIsolation).to.equal(false);
|
||||
});
|
||||
|
||||
it('should apply zoomFactor from setWindowOpenHandler overrideBrowserWindowOptions', async () => {
|
||||
const w = new BrowserWindow({
|
||||
show: false,
|
||||
webPreferences: {
|
||||
sandbox: true
|
||||
}
|
||||
});
|
||||
|
||||
w.webContents.setWindowOpenHandler(() => ({
|
||||
action: 'allow',
|
||||
overrideBrowserWindowOptions: {
|
||||
webPreferences: {
|
||||
zoomFactor: 2.0
|
||||
}
|
||||
}
|
||||
}));
|
||||
w.loadFile(path.join(fixtures, 'api', 'new-window.html'));
|
||||
const [childWindow] = await once(w.webContents, 'did-create-window') as [BrowserWindow, any];
|
||||
await once(childWindow.webContents, 'did-finish-load');
|
||||
expect(childWindow.webContents.getZoomFactor()).to.be.closeTo(2.0, 0.1);
|
||||
});
|
||||
|
||||
it('should set ipc event sender correctly', async () => {
|
||||
const w = new BrowserWindow({
|
||||
show: false,
|
||||
@@ -5903,6 +5925,23 @@ describe('BrowserWindow module', () => {
|
||||
});
|
||||
});
|
||||
|
||||
ifdescribe(process.platform === 'linux')('menu bar AltGr behavior', () => {
|
||||
it('does not toggle auto-hide menu bar visibility', async () => {
|
||||
const w = new BrowserWindow({ show: false, autoHideMenuBar: true });
|
||||
w.setMenuBarVisibility(false);
|
||||
expect(w.isMenuBarVisible()).to.be.false('isMenuBarVisible');
|
||||
|
||||
w.show();
|
||||
await once(w, 'show');
|
||||
w.webContents.focus();
|
||||
w.webContents.sendInputEvent({ type: 'keyDown', keyCode: 'AltGr' });
|
||||
w.webContents.sendInputEvent({ type: 'keyUp', keyCode: 'AltGr' });
|
||||
await setTimeout();
|
||||
|
||||
expect(w.isMenuBarVisible()).to.be.false('isMenuBarVisible');
|
||||
});
|
||||
});
|
||||
|
||||
ifdescribe(process.platform !== 'darwin')('when fullscreen state is changed', () => {
|
||||
it('correctly remembers state prior to fullscreen change', async () => {
|
||||
const w = new BrowserWindow({ show: false });
|
||||
@@ -6682,28 +6721,35 @@ describe('BrowserWindow module', () => {
|
||||
w.loadFile(path.join(fixtures, 'pages', 'send-after-node.html'));
|
||||
});
|
||||
|
||||
// TODO(codebytere): fix on Windows and Linux too
|
||||
ifdescribe(process.platform === 'darwin')('window.webContents initial paint', () => {
|
||||
describe('window.webContents initial paint', () => {
|
||||
afterEach(closeAllWindows);
|
||||
it('paints when a window is initially hidden', async () => {
|
||||
const w = new BrowserWindow({ show: false });
|
||||
it('paints when a window is initially hidden with paintWhenInitiallyHidden', async () => {
|
||||
const w = new BrowserWindow({
|
||||
show: false,
|
||||
paintWhenInitiallyHidden: true
|
||||
});
|
||||
await w.loadFile(path.join(fixtures, 'pages', 'a.html'));
|
||||
|
||||
const entries = await w.webContents.executeJavaScript(`
|
||||
new Promise((resolve) => {
|
||||
const observer = new PerformanceObserver((performance) => {
|
||||
observer.disconnect();
|
||||
resolve(performance.getEntries());
|
||||
const observer = new PerformanceObserver((list) => {
|
||||
const paintEntries = list.getEntries().filter(
|
||||
e => e.name === 'first-paint' || e.name === 'first-contentful-paint'
|
||||
);
|
||||
if (paintEntries.length > 0) {
|
||||
observer.disconnect();
|
||||
resolve(paintEntries.map(e => e.name));
|
||||
}
|
||||
});
|
||||
observer.observe({ entryTypes: ['paint'] });
|
||||
});
|
||||
|
||||
const header = document.createElement('h1');
|
||||
header.innerText = 'Paint me!!';
|
||||
document.getElementById('div').appendChild(header);
|
||||
const header = document.createElement('h1');
|
||||
header.innerText = 'Paint me!!';
|
||||
document.getElementById('div').appendChild(header);
|
||||
});
|
||||
`);
|
||||
|
||||
expect(JSON.stringify(entries)).to.eq('{}');
|
||||
expect(entries).to.be.an('array').that.includes('first-contentful-paint');
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -59,10 +59,11 @@ describe('WebContentsView', () => {
|
||||
const browserWindow = new BrowserWindow();
|
||||
|
||||
const webContentsView = new WebContentsView();
|
||||
webContentsView.webContents.loadURL('about:blank');
|
||||
webContentsView.webContents.destroy();
|
||||
const wc = webContentsView.webContents;
|
||||
wc.loadURL('about:blank');
|
||||
wc.destroy();
|
||||
|
||||
const destroyed = once(webContentsView.webContents, 'destroyed');
|
||||
const destroyed = once(wc, 'destroyed');
|
||||
await destroyed;
|
||||
expect(() => browserWindow.contentView.addChildView(webContentsView)).to.throw(
|
||||
'Can\'t add a destroyed child view to a parent view'
|
||||
@@ -90,13 +91,14 @@ describe('WebContentsView', () => {
|
||||
const w = new BaseWindow({ show: false });
|
||||
const v = new View();
|
||||
const wcv = new WebContentsView();
|
||||
const wc = wcv.webContents;
|
||||
w.setContentView(v);
|
||||
v.addChildView(wcv);
|
||||
await wcv.webContents.loadURL('about:blank');
|
||||
const destroyed = once(wcv.webContents, 'destroyed');
|
||||
wcv.webContents.executeJavaScript('window.close()');
|
||||
await wc.loadURL('about:blank');
|
||||
const destroyed = once(wc, 'destroyed');
|
||||
wc.executeJavaScript('window.close()');
|
||||
await destroyed;
|
||||
expect(wcv.webContents.isDestroyed()).to.be.true();
|
||||
expect(wc.isDestroyed()).to.be.true();
|
||||
v.removeChildView(wcv);
|
||||
});
|
||||
|
||||
@@ -170,18 +172,19 @@ describe('WebContentsView', () => {
|
||||
it('does not crash when closed via window.close()', async () => {
|
||||
const bw = new BrowserWindow();
|
||||
const wcv = new WebContentsView();
|
||||
const wc = wcv.webContents;
|
||||
|
||||
await bw.loadURL('data:text/html,<h1>Main Window</h1>');
|
||||
bw.contentView.addChildView(wcv);
|
||||
|
||||
const dto = new Promise<boolean>((resolve) => {
|
||||
wcv.webContents.on('blur', () => {
|
||||
const devToolsOpen = wcv.webContents.isDevToolsOpened();
|
||||
wc.on('blur', () => {
|
||||
const devToolsOpen = !wc.isDestroyed() && wc.isDevToolsOpened();
|
||||
resolve(devToolsOpen);
|
||||
});
|
||||
});
|
||||
|
||||
wcv.webContents.loadURL('data:text/html,<script>window.close()</script>');
|
||||
wc.loadURL('data:text/html,<script>window.close()</script>');
|
||||
|
||||
const open = await dto;
|
||||
expect(open).to.be.false();
|
||||
|
||||
Reference in New Issue
Block a user