mirror of
https://github.com/electron/electron.git
synced 2026-05-02 03:00:22 -04:00
Compare commits
30 Commits
sam/place-
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e07e896ab | ||
|
|
5c81e889ad | ||
|
|
7adb8b0d3f | ||
|
|
24ac4a4ba9 | ||
|
|
f8d041246c | ||
|
|
4f38f357f1 | ||
|
|
aaf328930d | ||
|
|
d0612e2c92 | ||
|
|
8f0f08e818 | ||
|
|
4cad9c868d | ||
|
|
a1d6918b59 | ||
|
|
00f0989f49 | ||
|
|
f6dc41a911 | ||
|
|
edd3b27063 | ||
|
|
212b53c63e | ||
|
|
4e56da6d30 | ||
|
|
d58c5a5562 | ||
|
|
d4e6b41f3d | ||
|
|
cc7ebe542d | ||
|
|
cef313a172 | ||
|
|
1766370311 | ||
|
|
2b341e5e5b | ||
|
|
e235c3fff0 | ||
|
|
bbdeb50405 | ||
|
|
b08931c957 | ||
|
|
3f0c48f567 | ||
|
|
8066df1817 | ||
|
|
69a4fa20e1 | ||
|
|
4b90a3fd78 | ||
|
|
966e932efa |
2
.github/workflows/audit-branch-ci.yml
vendored
2
.github/workflows/audit-branch-ci.yml
vendored
@@ -157,7 +157,7 @@ jobs:
|
||||
await core.summary.write();
|
||||
- name: Send Slack message if errors
|
||||
if: ${{ always() && steps.audit-errors.outputs.errorsFound && github.ref == 'refs/heads/main' }}
|
||||
uses: slackapi/slack-github-action@af78098f536edbc4de71162a307590698245be95 # v3.0.1
|
||||
uses: slackapi/slack-github-action@03ea5433c137af7c0495bc0cad1af10403fc800c # v3.0.2
|
||||
with:
|
||||
payload: |
|
||||
link: "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
|
||||
|
||||
2
.github/workflows/branch-created.yml
vendored
2
.github/workflows/branch-created.yml
vendored
@@ -98,7 +98,7 @@ jobs:
|
||||
done
|
||||
- name: Generate GitHub App token
|
||||
if: ${{ steps.check-major-version.outputs.MAJOR }}
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.RELEASE_BOARD_GH_APP_CREDS }}
|
||||
|
||||
4
.github/workflows/issue-commented.yml
vendored
4
.github/workflows/issue-commented.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
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
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
if: ${{ !contains(fromJSON('["MEMBER", "OWNER", "COLLABORATOR"]'), steps.get-author-association.outputs.author_association) }}
|
||||
id: generate-token
|
||||
with:
|
||||
@@ -45,7 +45,7 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: *get-author-association
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
if: ${{ contains(fromJSON('["MEMBER", "OWNER"]'), steps.get-author-association.outputs.author_association) }}
|
||||
id: generate-token
|
||||
with:
|
||||
|
||||
6
.github/workflows/issue-labeled.yml
vendored
6
.github/workflows/issue-labeled.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
@@ -36,7 +36,7 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
@@ -70,7 +70,7 @@ jobs:
|
||||
fi
|
||||
- name: Generate GitHub App token
|
||||
if: ${{ steps.check-for-comment.outputs.SHOULD_COMMENT }}
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
|
||||
4
.github/workflows/issue-opened.yml
vendored
4
.github/workflows/issue-opened.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
|
||||
2
.github/workflows/issue-transferred.yml
vendored
2
.github/workflows/issue-transferred.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
if: ${{ !github.event.changes.new_repository.private }}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
|
||||
2
.github/workflows/issue-unlabeled.yml
vendored
2
.github/workflows/issue-unlabeled.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
||||
fi
|
||||
- name: Generate GitHub App token
|
||||
if: ${{ steps.check-for-blocked-labels.outputs.NOT_BLOCKED }}
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
|
||||
2
.github/workflows/pr-triage-automation.yml
vendored
2
.github/workflows/pr-triage-automation.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
|
||||
6
.github/workflows/pull-request-labeled.yml
vendored
6
.github/workflows/pull-request-labeled.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Trigger Slack workflow
|
||||
uses: slackapi/slack-github-action@af78098f536edbc4de71162a307590698245be95 # v3.0.1
|
||||
uses: slackapi/slack-github-action@03ea5433c137af7c0495bc0cad1af10403fc800c # v3.0.2
|
||||
with:
|
||||
webhook: ${{ secrets.BACKPORT_REQUESTED_SLACK_WEBHOOK_URL }}
|
||||
webhook-type: webhook-trigger
|
||||
@@ -36,7 +36,7 @@ jobs:
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.RELEASE_BOARD_GH_APP_CREDS }}
|
||||
@@ -55,7 +55,7 @@ jobs:
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
|
||||
2
.github/workflows/stable-prep-items.yml
vendored
2
.github/workflows/stable-prep-items.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.RELEASE_BOARD_GH_APP_CREDS }}
|
||||
|
||||
4
.github/workflows/stale.yml
vendored
4
.github/workflows/stale.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
needs: stale
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
uses: electron/github-app-auth-action@5f70a3726af01b612f29aac96d05aa524389c9e9 # v2.1.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
|
||||
1
BUILD.gn
1
BUILD.gn
@@ -528,6 +528,7 @@ source_set("electron_lib") {
|
||||
"//content/public/utility",
|
||||
"//device/bluetooth",
|
||||
"//device/bluetooth/public/cpp",
|
||||
"//device/fido",
|
||||
"//gin",
|
||||
"//gpu/ipc/client",
|
||||
"//media/capture/mojom:video_capture",
|
||||
|
||||
2
DEPS
2
DEPS
@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
|
||||
|
||||
vars = {
|
||||
'chromium_version':
|
||||
'149.0.7811.0',
|
||||
'149.0.7817.0',
|
||||
'node_version':
|
||||
'v24.15.0',
|
||||
'nan_version':
|
||||
|
||||
@@ -2,7 +2,7 @@ is_electron_build = true
|
||||
root_extra_deps = [ "//electron" ]
|
||||
|
||||
# Registry of NMVs --> https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
|
||||
node_module_version = 146
|
||||
node_module_version = 148
|
||||
|
||||
v8_promise_internal_field_count = 1
|
||||
v8_embedder_string = "-electron.0"
|
||||
|
||||
@@ -65,6 +65,7 @@ template("electron_extra_paks") {
|
||||
"$root_gen_dir/net/net_resources.pak",
|
||||
"$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
|
||||
"$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak",
|
||||
"$root_gen_dir/third_party/blink/public/strings/permission_element_generated_strings.pak",
|
||||
"$target_gen_dir/electron_resources.pak",
|
||||
]
|
||||
deps = [
|
||||
@@ -83,6 +84,7 @@ template("electron_extra_paks") {
|
||||
"//net:net_resources",
|
||||
"//third_party/blink/public:devtools_inspector_resources",
|
||||
"//third_party/blink/public:resources",
|
||||
"//third_party/blink/public/strings:permission_element_generated_strings",
|
||||
"//ui/webui/resources",
|
||||
]
|
||||
if (defined(invoker.deps)) {
|
||||
@@ -187,6 +189,7 @@ template("electron_paks") {
|
||||
"${root_gen_dir}/extensions/strings/extensions_strings_",
|
||||
"${root_gen_dir}/services/strings/services_strings_",
|
||||
"${root_gen_dir}/third_party/blink/public/strings/blink_strings_",
|
||||
"${root_gen_dir}/third_party/blink/public/strings/permission_element_strings_",
|
||||
"${root_gen_dir}/ui/strings/app_locale_settings_",
|
||||
"${root_gen_dir}/ui/strings/auto_image_annotation_strings_",
|
||||
"${root_gen_dir}/ui/strings/ax_strings_",
|
||||
@@ -204,6 +207,7 @@ template("electron_paks") {
|
||||
"//extensions/strings",
|
||||
"//services/strings",
|
||||
"//third_party/blink/public/strings",
|
||||
"//third_party/blink/public/strings:permission_element_strings",
|
||||
"//ui/strings:app_locale_settings",
|
||||
"//ui/strings:auto_image_annotation_strings",
|
||||
"//ui/strings:ax_strings",
|
||||
|
||||
@@ -882,7 +882,7 @@ Returns `string` - Name of the application handling the protocol, or an empty
|
||||
This method returns the application name of the default handler for the protocol
|
||||
(aka URI scheme) of a URL.
|
||||
|
||||
### `app.getApplicationInfoForProtocol(url)` _macOS_ _Windows_
|
||||
### `app.getApplicationInfoForProtocol(url)`
|
||||
|
||||
* `url` string - a URL with the protocol name to check. Unlike the other
|
||||
methods in this family, this accepts an entire URL, including `://` at a
|
||||
@@ -1233,6 +1233,51 @@ This API must be called after the `ready` event is emitted.
|
||||
[doh-providers]: https://source.chromium.org/chromium/chromium/src/+/main:net/dns/public/doh_provider_entry.cc;l=31?q=%22DohProviderEntry::GetList()%22&ss=chromium%2Fchromium%2Fsrc
|
||||
[RFC8484 § 3]: https://datatracker.ietf.org/doc/html/rfc8484#section-3
|
||||
|
||||
### `app.configureWebAuthn(options)` _macOS_
|
||||
|
||||
* `options` Object
|
||||
* `touchID` Object (optional) - Enables the Touch ID / Secure Enclave platform
|
||||
authenticator for [Web Authentication](https://www.w3.org/TR/webauthn-2/)
|
||||
requests.
|
||||
* `keychainAccessGroup` string - The keychain access group that WebAuthn
|
||||
credentials will be stored under. This value **must** also be present in
|
||||
your app's `keychain-access-groups` code-signing entitlement, and is
|
||||
typically of the form `<TEAM_ID>.<BUNDLE_ID>.webauthn`.
|
||||
|
||||
Configures platform authenticators for the Web Authentication API
|
||||
(`navigator.credentials.create()` / `navigator.credentials.get()`). Until this
|
||||
is called, `PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()`
|
||||
resolves to `false` and platform-authenticator requests are not serviced.
|
||||
|
||||
When `touchID` is provided, WebAuthn credentials are stored in the macOS
|
||||
keychain and bound to this device's Secure Enclave. Electron automatically
|
||||
generates and persists a per-[`session`](session.md) metadata secret so that
|
||||
credentials created in one partition are not visible to another.
|
||||
|
||||
```js
|
||||
const { app } = require('electron')
|
||||
|
||||
app.configureWebAuthn({
|
||||
touchID: {
|
||||
keychainAccessGroup: 'A1B2C3D4E5.com.example.app.webauthn'
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
With the matching entitlement in your app's `entitlements.plist`:
|
||||
|
||||
```xml
|
||||
<key>keychain-access-groups</key>
|
||||
<array>
|
||||
<string>A1B2C3D4E5.com.example.app.webauthn</string>
|
||||
</array>
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> Touch ID WebAuthn credentials are device-bound and are not synced via iCloud
|
||||
> Keychain. They are only available on Macs with a Secure Enclave (Apple
|
||||
> silicon, or Intel Macs with a T2 chip).
|
||||
|
||||
### `app.disableHardwareAcceleration()`
|
||||
|
||||
Disables hardware acceleration for current app.
|
||||
|
||||
@@ -319,6 +319,17 @@ By default inspector websocket url is available in stderr and under /json/list e
|
||||
|
||||
Enable support for DevTools network inspector events, for visibility into requests made by the nodejs `http` and `https` modules.
|
||||
|
||||
### `--experimental-inspector-network-resource`
|
||||
|
||||
Enable support for resolving source maps over the network when using the Node.js inspector.
|
||||
|
||||
When enabled, DevTools can retrieve remote source maps for main and utility
|
||||
process scripts via the Node.js inspector.
|
||||
|
||||
**Note:** When enabled, the Node.js inspector will make network requests to
|
||||
URLs specified in source maps. Be mindful of this in environments where the
|
||||
process has access to internal networks.
|
||||
|
||||
### `--no-deprecation`
|
||||
|
||||
Silence deprecation warnings.
|
||||
|
||||
@@ -31,6 +31,7 @@ See [`Menu`](menu.md) for examples.
|
||||
* `header` - Only available on macOS 14 and up.
|
||||
* `palette` - Only available on macOS 14 and up.
|
||||
* `label` string (optional)
|
||||
* `accessibilityLabel` string (optional) _macOS_
|
||||
* `sublabel` string (optional) _macOS_ - Available in macOS >= 14.4
|
||||
* `toolTip` string (optional) _macOS_ - Hover text for this menu item.
|
||||
* `accelerator` string (optional) - An [Accelerator](../tutorial/keyboard-shortcuts.md#accelerators) string.
|
||||
@@ -83,6 +84,12 @@ A `string` indicating the item's visible label.
|
||||
|
||||
This property can be dynamically changed.
|
||||
|
||||
#### `menuItem.accessibilityLabel` _macOS_
|
||||
|
||||
A `string` indicating the item's accessibility label (used by assistive technology), if set.
|
||||
|
||||
This property can be dynamically changed.
|
||||
|
||||
#### `menuItem.click`
|
||||
|
||||
A `Function` that is fired when the MenuItem receives a click event.
|
||||
|
||||
@@ -629,6 +629,54 @@ Emitted after `USBDevice.forget()` has been called. This event can be used
|
||||
to help maintain persistent storage of permissions when
|
||||
`setDevicePermissionHandler` is used.
|
||||
|
||||
#### Event: 'select-webauthn-account'
|
||||
|
||||
Returns:
|
||||
|
||||
* `event` Event
|
||||
* `details` Object
|
||||
* `relyingPartyId` string - The relying party identifier from the WebAuthn request.
|
||||
* `accounts` [WebAuthnAccount[]](structures/webauthn-account.md)
|
||||
* `frame` [WebFrameMain](web-frame-main.md) | null - The frame initiating this event.
|
||||
May be `null` if accessed after the frame has either navigated or been destroyed.
|
||||
* `callback` Function
|
||||
* `credentialId` string | null (optional)
|
||||
|
||||
Emitted when a call to `navigator.credentials.get()` resolves multiple
|
||||
discoverable WebAuthn credentials and the user must choose one. `callback`
|
||||
should be called with the `credentialId` of the selected account; passing no
|
||||
arguments — or a `credentialId` that does not match one of the provided
|
||||
accounts — will cancel the request and the page will receive a
|
||||
`NotAllowedError`. If no listener is registered for this event, the request is
|
||||
cancelled with the same error. The credential request remains pending until
|
||||
the listener invokes the callback, so always invoke it exactly once — typically
|
||||
from a `try { … } finally { callback(…) }` block.
|
||||
|
||||
On macOS, the Touch ID platform authenticator surfaces accounts via this event
|
||||
once it has been configured with
|
||||
[`app.configureWebAuthn`](app.md#appconfigurewebauthnoptions-macos). The event
|
||||
may also fire on other platforms when a roaming FIDO2 authenticator returns
|
||||
multiple discoverable credentials.
|
||||
|
||||
```js
|
||||
const { app, BrowserWindow } = require('electron')
|
||||
|
||||
let win = null
|
||||
|
||||
app.whenReady().then(() => {
|
||||
app.configureWebAuthn({
|
||||
touchID: { keychainAccessGroup: 'A1B2C3D4E5.com.example.app.webauthn' }
|
||||
})
|
||||
|
||||
win = new BrowserWindow()
|
||||
|
||||
win.webContents.session.on('select-webauthn-account', (event, details, callback) => {
|
||||
const selected = details.accounts.find((a) => a.name === 'alice@example.com')
|
||||
callback(selected?.credentialId)
|
||||
})
|
||||
})
|
||||
```
|
||||
|
||||
### Instance Methods
|
||||
|
||||
The following methods are available on instances of `Session`:
|
||||
|
||||
9
docs/api/structures/webauthn-account.md
Normal file
9
docs/api/structures/webauthn-account.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# WebAuthnAccount Object
|
||||
|
||||
* `credentialId` string - URL-safe base64-encoded (no padding) credential ID of
|
||||
the discoverable credential. Matches `PublicKeyCredential.id` returned by
|
||||
`navigator.credentials.get()` in the renderer.
|
||||
* `userHandle` string (optional) - URL-safe base64-encoded (no padding) user
|
||||
handle (`user.id`) that was provided when the credential was created.
|
||||
* `name` string (optional) - Human-palatable identifier for the account (for example, an email address or username).
|
||||
* `displayName` string (optional) - Human-palatable name for the account, intended for display.
|
||||
@@ -17,6 +17,16 @@ Process: [Main](../glossary.md#main-process)<br />
|
||||
* `env` Object (optional) - Environment key-value pairs. Default is `process.env`.
|
||||
* `execArgv` string[] (optional) - List of string arguments passed to the executable.
|
||||
* `cwd` string (optional) - Current working directory of the child process.
|
||||
* `session` [Session](session.md) (optional) - Sets the session used by the process for network
|
||||
requests. By default, network requests from the utility process will use the system network
|
||||
context which does not have HTTP cache support. Setting a session enables HTTP caching and
|
||||
other session-specific network features. See [session](session.md) for more information.
|
||||
* `partition` string (optional) - Sets the session used by the process according to the
|
||||
session's partition string. If `partition` starts with `persist:`, the process will use a
|
||||
persistent session available to all pages in the app with the same `partition`. If there is
|
||||
no `persist:` prefix, the process will use an in-memory session. By assigning the same
|
||||
`partition`, multiple processes can share the same session. If the `session` option is set,
|
||||
this option is ignored.
|
||||
* `stdio` (string[] | string) (optional) - Allows configuring the mode for `stdout` and `stderr`
|
||||
of the child process. Default is `inherit`.
|
||||
String value can be one of `pipe`, `ignore`, `inherit`, for more details on these values you can refer to
|
||||
@@ -44,7 +54,9 @@ Process: [Main](../glossary.md#main-process)<br />
|
||||
that run third-party or otherwise untrusted code. Default is `false`.
|
||||
* `respondToAuthRequestsFromMainProcess` boolean (optional) - With this flag, all HTTP 401 and 407 network
|
||||
requests created via the [net module](net.md) will allow responding to them via the
|
||||
[`app#login`](app.md#event-login) event in the main process instead of the default
|
||||
[`login`](#event-login) event on the `UtilityProcess` instance when a `session` is provided, or via
|
||||
the [`app#login`](app.md#event-login) event in the main process when using the default system network
|
||||
context. Without this flag, auth challenges are handled by the default
|
||||
[`login`](client-request.md#event-login) event on the [`ClientRequest`](client-request.md) object. Default is
|
||||
`false`.
|
||||
|
||||
@@ -176,6 +188,45 @@ Returns:
|
||||
|
||||
Emitted when the child process sends a message using [`process.parentPort.postMessage()`](process.md#processparentport).
|
||||
|
||||
#### Event: 'login'
|
||||
|
||||
Returns:
|
||||
|
||||
* `authenticationResponseDetails` Object
|
||||
* `url` URL
|
||||
* `pid` number
|
||||
* `authInfo` Object
|
||||
* `isProxy` boolean
|
||||
* `scheme` string
|
||||
* `host` string
|
||||
* `port` Integer
|
||||
* `realm` string
|
||||
* `callback` Function
|
||||
* `username` string (optional)
|
||||
* `password` string (optional)
|
||||
|
||||
Emitted when the utility process encounters an HTTP 401 or 407 authentication challenge, if the
|
||||
process was created with both `respondToAuthRequestsFromMainProcess: true` and a `session` option.
|
||||
The `callback` should be called with credentials to respond to the challenge. Calling `callback`
|
||||
without arguments will cancel the request.
|
||||
|
||||
This behaves the same as the [`login` event on `app`](app.md#event-login) but is scoped to the
|
||||
individual utility process instance.
|
||||
|
||||
```js
|
||||
const { session, utilityProcess } = require('electron')
|
||||
|
||||
const ses = session.defaultSession
|
||||
const child = utilityProcess.fork('./worker.js', [], {
|
||||
session: ses,
|
||||
respondToAuthRequestsFromMainProcess: true
|
||||
})
|
||||
|
||||
child.on('login', (authenticationResponseDetails, authInfo, callback) => {
|
||||
callback('username', 'password')
|
||||
})
|
||||
```
|
||||
|
||||
[`child_process.fork`]: https://nodejs.org/dist/latest-v16.x/docs/api/child_process.html#child_processforkmodulepath-args-options
|
||||
[Services API]: https://chromium.googlesource.com/chromium/src/+/main/docs/mojo_and_services.md
|
||||
[stdio]: https://nodejs.org/dist/latest/docs/api/child_process.html#optionsstdio
|
||||
|
||||
@@ -117,6 +117,13 @@ Examples of valid `color` values:
|
||||
> [!NOTE]
|
||||
> The area cutout of the view's border still captures clicks.
|
||||
|
||||
#### `view.setBackgroundBlur(blurRadius)`
|
||||
|
||||
* `blurRadius` Integer - The radius of the background blur effect (in pixels).
|
||||
|
||||
> [!NOTE]
|
||||
> You must set a background color with an alpha channel (e.g. `#80ffffff`) in order for the blur effect to be visible.
|
||||
|
||||
#### `view.setVisible(visible)`
|
||||
|
||||
* `visible` boolean - If false, the view will be hidden from display.
|
||||
|
||||
@@ -226,7 +226,16 @@ Returns:
|
||||
Only defined when the window is being created by a form that set
|
||||
`target=_blank`.
|
||||
* `disposition` string - Can be `default`, `foreground-tab`,
|
||||
`background-tab`, `new-window` or `other`.
|
||||
`background-tab`, `new-window` or `other`. Corresponds to the manner
|
||||
an associated link was clicked. See Chromium's
|
||||
[WindowOpenDisposition](https://source.chromium.org/chromium/chromium/src/+/main:ui/base/window_open_disposition.h).
|
||||
* `default` - Indicates Chromium deems in-window navigation valid
|
||||
for a window open call.
|
||||
* `foreground-tab` - Corresponds to a left click or shift + middle click.
|
||||
* `background-tab` - Corresponds to a middle click or ctrl/cmd + click.
|
||||
* `new-window` - Corresponds to a shift + left click.
|
||||
* `other` - A catch-all for the remaining Chromium dispositions not
|
||||
handled by Electron.
|
||||
|
||||
Emitted _after_ successful creation of a window via `window.open` in the renderer.
|
||||
Not emitted if the creation of the window is canceled from
|
||||
@@ -1449,8 +1458,17 @@ Ignore application menu shortcuts while this web contents is focused.
|
||||
* `url` string - The _resolved_ version of the URL passed to `window.open()`. e.g. opening a window with `window.open('foo')` will yield something like `https://the-origin/the/current/path/foo`.
|
||||
* `frameName` string - Name of the window provided in `window.open()`
|
||||
* `features` string - Comma separated list of window features provided to `window.open()`.
|
||||
* `disposition` string - Can be `default`, `foreground-tab`, `background-tab`,
|
||||
`new-window` or `other`.
|
||||
* `disposition` string - Can be `default`, `foreground-tab`,
|
||||
`background-tab`, `new-window` or `other`. Corresponds to the manner
|
||||
an associated link was clicked. See Chromium's
|
||||
[WindowOpenDisposition](https://source.chromium.org/chromium/chromium/src/+/main:ui/base/window_open_disposition.h).
|
||||
* `default` - Indicates Chromium deems in-window navigation valid
|
||||
for a window open call.
|
||||
* `foreground-tab` - Corresponds to a left click or shift + middle click.
|
||||
* `background-tab` - Corresponds to a middle click or ctrl/cmd + click.
|
||||
* `new-window` - Corresponds to a shift + left click.
|
||||
* `other` - A catch-all for the remaining Chromium dispositions not
|
||||
handled by Electron.
|
||||
* `referrer` [Referrer](structures/referrer.md) - The referrer that will be
|
||||
passed to the new window. May or may not result in the `Referer` header being
|
||||
sent, depending on the referrer policy.
|
||||
|
||||
@@ -14,6 +14,17 @@ This document uses the following convention to categorize breaking changes:
|
||||
|
||||
## Planned Breaking API Changes (43.0)
|
||||
|
||||
### Behavior Changed: `chrome.scripting` CSS injection matches more fallback frames
|
||||
|
||||
Extensions using `chrome.scripting.insertCSS()` or `chrome.scripting.removeCSS()`
|
||||
now follow Chrome's behavior when Electron cannot match a frame's URL directly,
|
||||
such as with `about:blank` or `data:` frames. If the extension has access to the
|
||||
page that created the frame, CSS may now be inserted into or removed from those
|
||||
fallback frames as well.
|
||||
|
||||
Apps or extensions that relied on Electron skipping those frames should narrow their
|
||||
injection target, frame IDs, or match patterns.
|
||||
|
||||
### Behavior Changed: Dialog methods default to Downloads directory
|
||||
|
||||
The `defaultPath` option for the following methods now defaults to the user's Downloads folder (or their home directory if Downloads doesn't exist) when not explicitly provided:
|
||||
@@ -123,6 +134,12 @@ When a cookie is deleted, the change cause remains `explicit`.
|
||||
When the cookie being set is identical to an existing one (same name, domain, path, and value, with no actual changes), the change cause is `inserted-no-change-overwrite`.
|
||||
When the value of the cookie being set remains unchanged but some of its attributes are updated, such as the expiration attribute, the change cause will be `inserted-no-value-change-overwrite`.
|
||||
|
||||
### Deprecated: `showHiddenFiles` in Dialogs on Linux
|
||||
|
||||
This property will still be honored on macOS and Windows, but support on Linux
|
||||
will be removed in Electron 42. GTK intends for this to be a user choice rather
|
||||
than an app choice and has removed the API to do this programmatically.
|
||||
|
||||
## Planned Breaking API Changes (40.0)
|
||||
|
||||
### Deprecated: `clipboard` API access from renderer processes
|
||||
@@ -136,12 +153,6 @@ your preload script and expose it using the [contextBridge](https://www.electron
|
||||
Debug symbols for MacOS (dSYM) now use xz compression in order to handle larger file sizes. `dsym.zip` files are now
|
||||
`dsym.tar.xz` files. End users using debug symbols may need to update their zip utilities.
|
||||
|
||||
### Deprecated: `showHiddenFiles` in Dialogs on Linux
|
||||
|
||||
This property will still be honored on macOS and Windows, but support on Linux
|
||||
will be removed in Electron 42. GTK intends for this to be a user choice rather
|
||||
than an app choice and has removed the API to do this programmatically.
|
||||
|
||||
## Planned Breaking API Changes (39.0)
|
||||
|
||||
### Deprecated: `--host-rules` command line switch
|
||||
|
||||
@@ -171,6 +171,7 @@ auto_filenames = {
|
||||
"docs/api/structures/web-preferences.md",
|
||||
"docs/api/structures/web-request-filter.md",
|
||||
"docs/api/structures/web-source.md",
|
||||
"docs/api/structures/webauthn-account.md",
|
||||
"docs/api/structures/window-open-handler-response.md",
|
||||
"docs/api/structures/window-session-end-event.md",
|
||||
]
|
||||
@@ -190,7 +191,6 @@ auto_filenames = {
|
||||
"../third_party/electron_node/src/base_object_types.h",
|
||||
"../third_party/electron_node/src/blob_serializer_deserializer-inl.h",
|
||||
"../third_party/electron_node/src/blob_serializer_deserializer.h",
|
||||
"../third_party/electron_node/src/builtin_info.h",
|
||||
"../third_party/electron_node/src/callback_queue-inl.h",
|
||||
"../third_party/electron_node/src/callback_queue.h",
|
||||
"../third_party/electron_node/src/cares_wrap.h",
|
||||
@@ -254,7 +254,6 @@ auto_filenames = {
|
||||
"../third_party/electron_node/src/inspector/protocol_helper.h",
|
||||
"../third_party/electron_node/src/inspector/runtime_agent.h",
|
||||
"../third_party/electron_node/src/inspector/target_agent.h",
|
||||
"../third_party/electron_node/src/inspector/target_manager.h",
|
||||
"../third_party/electron_node/src/inspector/tracing_agent.h",
|
||||
"../third_party/electron_node/src/inspector/worker_agent.h",
|
||||
"../third_party/electron_node/src/inspector/worker_inspector.h",
|
||||
@@ -290,7 +289,6 @@ auto_filenames = {
|
||||
"../third_party/electron_node/src/node_contextify.h",
|
||||
"../third_party/electron_node/src/node_crypto.h",
|
||||
"../third_party/electron_node/src/node_debug.h",
|
||||
"../third_party/electron_node/src/node_diagnostics_channel.h",
|
||||
"../third_party/electron_node/src/node_dir.h",
|
||||
"../third_party/electron_node/src/node_dotenv.h",
|
||||
"../third_party/electron_node/src/node_errors.h",
|
||||
|
||||
@@ -48,8 +48,8 @@ filenames = {
|
||||
"shell/browser/ui/views/opaque_frame_view.h",
|
||||
"shell/browser/ui/views/caption_button_placeholder_container.cc",
|
||||
"shell/browser/ui/views/caption_button_placeholder_container.h",
|
||||
"shell/browser/ui/views/client_frame_view_linux.cc",
|
||||
"shell/browser/ui/views/client_frame_view_linux.h",
|
||||
"shell/browser/ui/views/native_frame_view_linux.cc",
|
||||
"shell/browser/ui/views/native_frame_view_linux.h",
|
||||
"shell/browser/ui/views/linux_frame_layout.cc",
|
||||
"shell/browser/ui/views/linux_frame_layout.h",
|
||||
"shell/common/application_info_linux.cc",
|
||||
@@ -440,8 +440,6 @@ filenames = {
|
||||
"shell/browser/microtasks_runner.h",
|
||||
"shell/browser/native_window.cc",
|
||||
"shell/browser/native_window.h",
|
||||
"shell/browser/native_window_features.cc",
|
||||
"shell/browser/native_window_features.h",
|
||||
"shell/browser/native_window_observer.h",
|
||||
"shell/browser/net/asar/asar_file_validator.cc",
|
||||
"shell/browser/net/asar/asar_file_validator.h",
|
||||
@@ -566,6 +564,8 @@ filenames = {
|
||||
"shell/browser/web_view_guest_delegate.h",
|
||||
"shell/browser/web_view_manager.cc",
|
||||
"shell/browser/web_view_manager.h",
|
||||
"shell/browser/webauthn/electron_authenticator_request_client_delegate.cc",
|
||||
"shell/browser/webauthn/electron_authenticator_request_client_delegate.h",
|
||||
"shell/browser/webauthn/electron_authenticator_request_delegate.cc",
|
||||
"shell/browser/webauthn/electron_authenticator_request_delegate.h",
|
||||
"shell/browser/window_list.cc",
|
||||
@@ -774,8 +774,6 @@ filenames = {
|
||||
"shell/browser/extensions/api/resources_private/resources_private_api.h",
|
||||
"shell/browser/extensions/api/runtime/electron_runtime_api_delegate.cc",
|
||||
"shell/browser/extensions/api/runtime/electron_runtime_api_delegate.h",
|
||||
"shell/browser/extensions/api/scripting/scripting_api.cc",
|
||||
"shell/browser/extensions/api/scripting/scripting_api.h",
|
||||
"shell/browser/extensions/api/streams_private/streams_private_api.cc",
|
||||
"shell/browser/extensions/api/streams_private/streams_private_api.h",
|
||||
"shell/browser/extensions/api/tabs/tabs_api.cc",
|
||||
|
||||
@@ -158,6 +158,8 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__algorithm/ranges_set_intersection.h",
|
||||
"//third_party/libc++/src/include/__algorithm/ranges_set_symmetric_difference.h",
|
||||
"//third_party/libc++/src/include/__algorithm/ranges_set_union.h",
|
||||
"//third_party/libc++/src/include/__algorithm/ranges_shift_left.h",
|
||||
"//third_party/libc++/src/include/__algorithm/ranges_shift_right.h",
|
||||
"//third_party/libc++/src/include/__algorithm/ranges_shuffle.h",
|
||||
"//third_party/libc++/src/include/__algorithm/ranges_sort.h",
|
||||
"//third_party/libc++/src/include/__algorithm/ranges_sort_heap.h",
|
||||
@@ -215,6 +217,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__atomic/atomic_lock_free.h",
|
||||
"//third_party/libc++/src/include/__atomic/atomic_ref.h",
|
||||
"//third_party/libc++/src/include/__atomic/atomic_sync.h",
|
||||
"//third_party/libc++/src/include/__atomic/atomic_sync_timed.h",
|
||||
"//third_party/libc++/src/include/__atomic/atomic_waitable_traits.h",
|
||||
"//third_party/libc++/src/include/__atomic/check_memory_order.h",
|
||||
"//third_party/libc++/src/include/__atomic/contention_t.h",
|
||||
@@ -331,11 +334,14 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__config",
|
||||
"//third_party/libc++/src/include/__config_site.in",
|
||||
"//third_party/libc++/src/include/__configuration/abi.h",
|
||||
"//third_party/libc++/src/include/__configuration/attributes.h",
|
||||
"//third_party/libc++/src/include/__configuration/availability.h",
|
||||
"//third_party/libc++/src/include/__configuration/compiler.h",
|
||||
"//third_party/libc++/src/include/__configuration/diagnostic_suppression.h",
|
||||
"//third_party/libc++/src/include/__configuration/experimental.h",
|
||||
"//third_party/libc++/src/include/__configuration/hardening.h",
|
||||
"//third_party/libc++/src/include/__configuration/language.h",
|
||||
"//third_party/libc++/src/include/__configuration/namespace.h",
|
||||
"//third_party/libc++/src/include/__configuration/platform.h",
|
||||
"//third_party/libc++/src/include/__coroutine/coroutine_handle.h",
|
||||
"//third_party/libc++/src/include/__coroutine/coroutine_traits.h",
|
||||
@@ -976,6 +982,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__format/format_to_n_result.h",
|
||||
"//third_party/libc++/src/include/__format/formatter.h",
|
||||
"//third_party/libc++/src/include/__format/formatter_bool.h",
|
||||
"//third_party/libc++/src/include/__format/formatter_bool_impl.h",
|
||||
"//third_party/libc++/src/include/__format/formatter_char.h",
|
||||
"//third_party/libc++/src/include/__format/formatter_floating_point.h",
|
||||
"//third_party/libc++/src/include/__format/formatter_integer.h",
|
||||
@@ -1053,6 +1060,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__iterator/aliasing_iterator.h",
|
||||
"//third_party/libc++/src/include/__iterator/back_insert_iterator.h",
|
||||
"//third_party/libc++/src/include/__iterator/bounded_iter.h",
|
||||
"//third_party/libc++/src/include/__iterator/capacity_aware_iterator.h",
|
||||
"//third_party/libc++/src/include/__iterator/common_iterator.h",
|
||||
"//third_party/libc++/src/include/__iterator/concepts.h",
|
||||
"//third_party/libc++/src/include/__iterator/counted_iterator.h",
|
||||
@@ -1299,6 +1307,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__ranges/empty_view.h",
|
||||
"//third_party/libc++/src/include/__ranges/enable_borrowed_range.h",
|
||||
"//third_party/libc++/src/include/__ranges/enable_view.h",
|
||||
"//third_party/libc++/src/include/__ranges/enumerate_view.h",
|
||||
"//third_party/libc++/src/include/__ranges/filter_view.h",
|
||||
"//third_party/libc++/src/include/__ranges/from_range.h",
|
||||
"//third_party/libc++/src/include/__ranges/iota_view.h",
|
||||
@@ -1318,6 +1327,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__ranges/single_view.h",
|
||||
"//third_party/libc++/src/include/__ranges/size.h",
|
||||
"//third_party/libc++/src/include/__ranges/split_view.h",
|
||||
"//third_party/libc++/src/include/__ranges/stride_view.h",
|
||||
"//third_party/libc++/src/include/__ranges/subrange.h",
|
||||
"//third_party/libc++/src/include/__ranges/take_view.h",
|
||||
"//third_party/libc++/src/include/__ranges/take_while_view.h",
|
||||
@@ -1342,7 +1352,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__support/ibm/gettod_zos.h",
|
||||
"//third_party/libc++/src/include/__support/ibm/locale_mgmt_zos.h",
|
||||
"//third_party/libc++/src/include/__support/ibm/nanosleep.h",
|
||||
"//third_party/libc++/src/include/__support/xlocale/__nop_locale_mgmt.h",
|
||||
"//third_party/libc++/src/include/__support/xlocale/__posix_l_fallback.h",
|
||||
"//third_party/libc++/src/include/__support/xlocale/__strtonum_fallback.h",
|
||||
"//third_party/libc++/src/include/__system_error/errc.h",
|
||||
@@ -1496,6 +1505,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__utility/as_lvalue.h",
|
||||
"//third_party/libc++/src/include/__utility/auto_cast.h",
|
||||
"//third_party/libc++/src/include/__utility/cmp.h",
|
||||
"//third_party/libc++/src/include/__utility/constant_wrapper.h",
|
||||
"//third_party/libc++/src/include/__utility/convert_to_integral.h",
|
||||
"//third_party/libc++/src/include/__utility/declval.h",
|
||||
"//third_party/libc++/src/include/__utility/default_three_way_comparator.h",
|
||||
|
||||
@@ -30,6 +30,7 @@ const MenuItem = function (this: any, options: any) {
|
||||
|
||||
this.overrideProperty('icon');
|
||||
this.overrideProperty('label', roles.getDefaultLabel(this.role));
|
||||
this.overrideProperty('accessibilityLabel', '');
|
||||
this.overrideProperty('sublabel', '');
|
||||
this.overrideProperty('toolTip', '');
|
||||
this.overrideProperty('enabled', true);
|
||||
|
||||
@@ -57,6 +57,10 @@ Menu.prototype._getLabelForCommandId = function (id) {
|
||||
return this.commandsMap[id]?.label ?? '';
|
||||
};
|
||||
|
||||
Menu.prototype._getAccessibilityLabelForCommandId = function (id) {
|
||||
return this.commandsMap[id]?.accessibilityLabel ?? '';
|
||||
};
|
||||
|
||||
Menu.prototype._getSecondaryLabelForCommandId = function (id) {
|
||||
return this.commandsMap[id]?.sublabel ?? '';
|
||||
};
|
||||
|
||||
@@ -96,7 +96,7 @@ function extractFile(zipPath) {
|
||||
}
|
||||
|
||||
function getPlatformPath() {
|
||||
const platform = process.env.npm_config_platform || os.platform();
|
||||
const platform = process.env.ELECTRON_INSTALL_PLATFORM || process.env.npm_config_platform || os.platform();
|
||||
|
||||
switch (platform) {
|
||||
case 'mas':
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
"@types/semver": "^7.5.8",
|
||||
"@types/stream-json": "^1.7.8",
|
||||
"@types/temp": "^0.9.4",
|
||||
"@xmldom/xmldom": "^0.8.12",
|
||||
"@xmldom/xmldom": "^0.8.13",
|
||||
"buffer": "^6.0.3",
|
||||
"chalk": "^4.1.0",
|
||||
"check-for-leaks": "^1.2.1",
|
||||
|
||||
@@ -152,4 +152,5 @@ chore_register_node_as_a_dynamic_trace_category_prefix.patch
|
||||
fix_make_macos_text_replacement_work_on_contenteditable.patch
|
||||
fix_allow_reentrancy_on_downloadmanagerimpl_observer_list.patch
|
||||
build_gn_arg_to_support_linker_wrapper_script_on_windows.patch
|
||||
chore_exclude_upstream_scripting_api_when_building_electron.patch
|
||||
fix_use_bundled_devtools_frontend_url_for_remote_debugging.patch
|
||||
fix_constrain_allowuniversalaccessfromfileurls_to_file_origins_in.patch
|
||||
|
||||
@@ -23,10 +23,10 @@ index 2c07b4f604cfc06d5fbfb3f0969ee37ea2f9dc85..1b8541bfa56a7e53c8396c29ea45a0b5
|
||||
int32_t world_id) {}
|
||||
virtual void DidClearWindowObject() {}
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
index 2f86c18cac89d5b29fb21c93ab575e304dd57173..93ee72d4eccd314388d0283249bc3c784559d9b4 100644
|
||||
index d5c655a204e5faacfcbc7a127fd95e8f227860c7..2507db2a4b8fd5763f81e7c6ca7dbbb2af919aa8 100644
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -4735,6 +4735,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
@@ -4736,6 +4736,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
observer.DidCreateScriptContext(context, world_id);
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ index 7d3c4b9bc955873ad67e5ab00406d884d77d3f57..222278059beb1681c1d8e2a93e33279d
|
||||
virtual void WillReleaseScriptContext(v8::Local<v8::Context>,
|
||||
int32_t world_id) {}
|
||||
diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
|
||||
index d293c49e6774de889fa9959234c82b41a4b1efe1..0787bc8a602c60e5b42933813baa6b9d923c9823 100644
|
||||
index a3f5649de4219168d5924b5a20ad84f59f16eecc..1316e7116c691030b3c764546c2f71fe61dde592 100644
|
||||
--- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
|
||||
+++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
|
||||
@@ -216,6 +216,7 @@ void LocalWindowProxy::Initialize() {
|
||||
|
||||
@@ -6,12 +6,12 @@ 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 913c92c8b224dc749c25864311d401b51b41d9b9..5c9772ede144b35792c59c4173935813cad7d0dd 100644
|
||||
index bdbcb809c4d0081aca93c4ed92912604abbf62bc..8c70713583e8a37201b6e037dae2e89838d382a6 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 {
|
||||
(bool supports_draggable_regions),
|
||||
(override));
|
||||
@@ -170,6 +170,12 @@ class MockPageBroadcast : public blink::mojom::PageBroadcast {
|
||||
|
||||
MOCK_METHOD(void, UpgradePrerenderUntilScriptToFullPrerender, (), (override));
|
||||
|
||||
+ MOCK_METHOD(
|
||||
+ void,
|
||||
@@ -23,10 +23,10 @@ index 913c92c8b224dc749c25864311d401b51b41d9b9..5c9772ede144b35792c59c4173935813
|
||||
return receiver_.BindNewEndpointAndPassDedicatedRemote();
|
||||
}
|
||||
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
|
||||
index d663fead3e1e2085a02ecbeb7a901c5d7311d55e..4f64c067c8598c3a3e36ee04467fc485039ed585 100644
|
||||
index f9fc11dae7e4abce612e58bad459f26f0deb1d51..b914fafb539c1913652b80c6ecf19f25399ff663 100644
|
||||
--- a/content/browser/renderer_host/render_view_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_view_host_impl.cc
|
||||
@@ -753,6 +753,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
|
||||
@@ -745,6 +745,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
|
||||
GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque);
|
||||
}
|
||||
|
||||
@@ -80,10 +80,10 @@ index 782bed0fdc08d57eceb059f398f253fab9233b1b..f1ab5b981ea68af1b11313e67f2c5060
|
||||
// This interface should only be implemented inside content.
|
||||
friend class RenderViewHostImpl;
|
||||
diff --git a/content/test/test_page_broadcast.h b/content/test/test_page_broadcast.h
|
||||
index 4c8d44cdb2fde8e174b78aee7defb980651da18e..f8bf421b5b32af4cd197cbf23f4bd281c3a12514 100644
|
||||
index 7f6223791c492d56412df57639ef988001b313fe..c6abcd08228a4fb0d9bc1bd4e7738864a281dd2c 100644
|
||||
--- a/content/test/test_page_broadcast.h
|
||||
+++ b/content/test/test_page_broadcast.h
|
||||
@@ -52,6 +52,7 @@ class TestPageBroadcast : public blink::mojom::PageBroadcast {
|
||||
@@ -53,6 +53,7 @@ class TestPageBroadcast : public blink::mojom::PageBroadcast {
|
||||
void UpdateColorProviders(
|
||||
const blink::ColorProviderColorMaps& color_provider_colors) override;
|
||||
void SetSupportsDraggableRegions(bool supports_draggable_regions) override;
|
||||
@@ -92,10 +92,10 @@ index 4c8d44cdb2fde8e174b78aee7defb980651da18e..f8bf421b5b32af4cd197cbf23f4bd281
|
||||
mojo::AssociatedReceiver<blink::mojom::PageBroadcast> receiver_;
|
||||
};
|
||||
diff --git a/third_party/blink/public/mojom/page/page.mojom b/third_party/blink/public/mojom/page/page.mojom
|
||||
index b00bc8a8a5044fbf46f627f9db56cea7f09d7ef6..114c3a4522d11c1348f681af500c487ccd97eea9 100644
|
||||
index de0291118714296eb3a3114478fa4dbef15be06c..6c7012c00df45fb057113501b756ef3a57ee0c38 100644
|
||||
--- a/third_party/blink/public/mojom/page/page.mojom
|
||||
+++ b/third_party/blink/public/mojom/page/page.mojom
|
||||
@@ -180,4 +180,7 @@ interface PageBroadcast {
|
||||
@@ -186,4 +186,7 @@ interface PageBroadcast {
|
||||
// Indicates that the page's main frame should collect draggable regions set
|
||||
// using the app-region CSS property.
|
||||
SetSupportsDraggableRegions(bool supports_draggable_regions);
|
||||
@@ -116,7 +116,7 @@ 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 135110e1ea397d52623bd1cd71759a2a014b454a..42b9ec3ca008be91318c843aba66a7a2e1c75ea5 100644
|
||||
index 0a7b21d77c115eb18c6a63c74358befc0f0ff1c1..ff29fd30758340a8a8daf7740deead59f112c259 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -2468,6 +2468,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
|
||||
@@ -130,7 +130,7 @@ index 135110e1ea397d52623bd1cd71759a2a014b454a..42b9ec3ca008be91318c843aba66a7a2
|
||||
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 &&
|
||||
@@ -4016,10 +4020,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
@@ -4021,10 +4025,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
return GetPage()->GetPageScheduler();
|
||||
}
|
||||
|
||||
@@ -155,10 +155,10 @@ index 135110e1ea397d52623bd1cd71759a2a014b454a..42b9ec3ca008be91318c843aba66a7a2
|
||||
// Do not throttle if the page should be painting.
|
||||
bool is_visible =
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
index f638ff2647fdeee4e1e180e1394b49a91227022b..698d1f78a0b2cabee59e3a7f0619935bea010b36 100644
|
||||
index 20212a57bb4dc13d9e384dffa5c564ed64655574..dd9e21d3e73f6ff14659b1e1fe7d837c5410695d 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
@@ -437,6 +437,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@@ -438,6 +438,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
LocalDOMWindow* PagePopupWindow() const;
|
||||
|
||||
PageScheduler* Scheduler() const override;
|
||||
@@ -166,7 +166,7 @@ index f638ff2647fdeee4e1e180e1394b49a91227022b..698d1f78a0b2cabee59e3a7f0619935b
|
||||
void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state,
|
||||
bool is_initial_state) override;
|
||||
mojom::blink::PageVisibilityState GetVisibilityState() override;
|
||||
@@ -927,6 +928,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@@ -928,6 +929,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
// If true, we send IPC messages when |preferred_size_| changes.
|
||||
bool send_preferred_size_changes_ = false;
|
||||
|
||||
|
||||
@@ -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 9827a89c56141596fde57b78f9c9894f273db83e..cedb4bd8217a0ad3ab07d85421e1850bc4d910f5 100644
|
||||
index 8244902250bdd96e4facf7aa71220f06a9c9d76a..cf65c8588444cfa26c35195873481a420baeb677 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) {
|
||||
|
||||
@@ -11,7 +11,7 @@ This patch can (and should) be removed when we can prevent those symbols
|
||||
from being stripped in the release build.
|
||||
|
||||
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
|
||||
index d9cbf64ce68e21ea06a6bf2c213daa7d67b931f5..150736bcabec57bd262e0ebe1649096ba656b386 100644
|
||||
index 674dc82a867dfabdff0bfe1787b03e36f32fc3b0..d9fce666db6993e28a5e3381dc749b77ffaabf5c 100644
|
||||
--- a/build/config/compiler/compiler.gni
|
||||
+++ b/build/config/compiler/compiler.gni
|
||||
@@ -151,7 +151,7 @@ declare_args() {
|
||||
|
||||
@@ -11,10 +11,10 @@ if we ever align our .pak file generation with Chrome we can remove this
|
||||
patch.
|
||||
|
||||
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
|
||||
index 48f28a61eac4b31c3d9be62100c00cadff84174c..6c2632d85db3d2115bc0c0fc3dc6970e680877c2 100644
|
||||
index 3497a3bec7f0f899c65593fa5a69913d54257ea2..ff97e4f0ffd4e288d98bf67a85f51f0ce86d3771 100644
|
||||
--- a/chrome/BUILD.gn
|
||||
+++ b/chrome/BUILD.gn
|
||||
@@ -201,6 +201,12 @@ if (!is_android && !is_mac) {
|
||||
@@ -196,6 +196,12 @@ if (!is_android && !is_mac) {
|
||||
"common/crash_keys.h",
|
||||
]
|
||||
|
||||
@@ -28,10 +28,10 @@ index 48f28a61eac4b31c3d9be62100c00cadff84174c..6c2632d85db3d2115bc0c0fc3dc6970e
|
||||
":chrome_dll",
|
||||
":chrome_exe_version",
|
||||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
index 684cc6c47f61e02831cfdb977b1719a0b0f899a5..ddbb1f4b58d8bee0b80410294c5a54d432d65a4f 100644
|
||||
index 3d105b718efbcd7338a8e0aeef9618b76a958a7c..42d6df56ec0f4335afb6e05e1c6b00aaa9eaafed 100644
|
||||
--- a/chrome/test/BUILD.gn
|
||||
+++ b/chrome/test/BUILD.gn
|
||||
@@ -7745,6 +7745,10 @@ test("unit_tests") {
|
||||
@@ -7793,6 +7793,10 @@ test("unit_tests") {
|
||||
"//chrome/notification_helper",
|
||||
]
|
||||
|
||||
@@ -42,7 +42,7 @@ index 684cc6c47f61e02831cfdb977b1719a0b0f899a5..ddbb1f4b58d8bee0b80410294c5a54d4
|
||||
deps += [
|
||||
"//chrome:other_version",
|
||||
"//chrome//services/util_win:unit_tests",
|
||||
@@ -8683,6 +8687,10 @@ test("unit_tests") {
|
||||
@@ -8730,6 +8734,10 @@ test("unit_tests") {
|
||||
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
|
||||
]
|
||||
|
||||
@@ -53,7 +53,7 @@ index 684cc6c47f61e02831cfdb977b1719a0b0f899a5..ddbb1f4b58d8bee0b80410294c5a54d4
|
||||
sources += [
|
||||
# The importer code is not used on Android.
|
||||
"../common/importer/firefox_importer_utils_unittest.cc",
|
||||
@@ -8726,7 +8734,7 @@ test("unit_tests") {
|
||||
@@ -8773,7 +8781,7 @@ 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 a4d71c98b0fe276ec698c67c7f51cc0371ed107c..f251e5d8eb873606193c903104adda0fc40e7446 100644
|
||||
index 00d3892f3cd42661dcd696f01e009e483c45b1ea..5d53847d53ccfd6a5a860f0574d3710797732ec3 100644
|
||||
--- a/build/config/BUILDCONFIG.gn
|
||||
+++ b/build/config/BUILDCONFIG.gn
|
||||
@@ -123,6 +123,9 @@ if (current_os == "") {
|
||||
|
||||
@@ -7,10 +7,10 @@ Build libc++ as static library to compile and pass
|
||||
nan tests
|
||||
|
||||
diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
|
||||
index ce38758afaa191b394a014a68aded12417aa72a1..d846b89156182073cff1aaac6cd32888a73867b2 100644
|
||||
index 3cde8c66bdc533e8090513f83da2964a2c149bec..8db5f3519846092c436c34213a439310e5472fbb 100644
|
||||
--- a/buildtools/third_party/libc++/BUILD.gn
|
||||
+++ b/buildtools/third_party/libc++/BUILD.gn
|
||||
@@ -456,6 +456,7 @@ target(libcxx_target_type, "libc++") {
|
||||
@@ -477,6 +477,7 @@ target(libcxx_target_type, "libc++") {
|
||||
# need to explicitly depend on libc++.
|
||||
visibility = [
|
||||
"//build/config:common_deps",
|
||||
|
||||
@@ -15,7 +15,7 @@ References:
|
||||
* third_party/libc++/src/include/__configuration/abi.h
|
||||
|
||||
diff --git a/buildtools/third_party/libc++/__config_site b/buildtools/third_party/libc++/__config_site
|
||||
index c94ace80e45de876a175506b66d4b96dba2f7c02..359f8688158fd5b57e819893047524dbbb1b1b45 100644
|
||||
index a9ab1614b67e2df7b379c1d8a4147265a15747db..f1c60c7d0a320e5a1e9a9e454ef0e084c594258c 100644
|
||||
--- a/buildtools/third_party/libc++/__config_site
|
||||
+++ b/buildtools/third_party/libc++/__config_site
|
||||
@@ -18,7 +18,11 @@
|
||||
|
||||
@@ -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 b4b82c13852232443f15785a1e8f2820c20fa0ca..80d3b463984813ac1459b02fac41ee995b437353 100644
|
||||
index 6cef9b432850481f34489a646e833390dfa665ad..0c1d88e2bcb6d86d5a007009116c1db818d40dcd 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -10262,6 +10262,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
@@ -10201,6 +10201,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 b4b82c13852232443f15785a1e8f2820c20fa0ca..80d3b463984813ac1459b02fac41ee99
|
||||
&no_javascript_access);
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 3dbcb361d8f41f8109ae7e544f6558fdda0997fe..86273f84bf55276c3b6ae91397332a019874c2af 100644
|
||||
index 54ed4af3eb75ea7c84b340f860cde7614ef40ecc..260ec31380c64e96dc8da4e3f6359bdef1b79d52 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5507,6 +5507,10 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5516,6 +5516,10 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
create_params.initially_hidden = renderer_started_hidden;
|
||||
create_params.initial_popup_url = params.target_url;
|
||||
|
||||
@@ -35,7 +35,7 @@ index 3dbcb361d8f41f8109ae7e544f6558fdda0997fe..86273f84bf55276c3b6ae91397332a01
|
||||
// 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,
|
||||
@@ -5561,6 +5565,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5570,6 +5574,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
// Sets the newly created WebContents WindowOpenDisposition.
|
||||
new_contents_impl->original_window_open_disposition_ = params.disposition;
|
||||
|
||||
@@ -48,7 +48,7 @@ index 3dbcb361d8f41f8109ae7e544f6558fdda0997fe..86273f84bf55276c3b6ae91397332a01
|
||||
// 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
|
||||
@@ -5602,12 +5612,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5611,12 +5621,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
AddWebContentsDestructionObserver(new_contents_impl);
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ index a2566982ff81db5166e41243232e23af94dc3c05..ff5c410e78fb171963122f8a24802b7b
|
||||
|
||||
// Operation result when the renderer asks the browser to create a new window.
|
||||
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
||||
index 0713f0cbbbd93be954758f0b1ddb20b9f9701228..9d2e8a70a4307f1d055b356e6bccd98f3e56109c 100644
|
||||
index d33c26c24b55566527d4c4898635db058ef0cff1..282e7be8b597a16a989d1896eef227f44ea667ea 100644
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -858,6 +858,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
@@ -90,10 +90,10 @@ index 0713f0cbbbd93be954758f0b1ddb20b9f9701228..9d2e8a70a4307f1d055b356e6bccd98f
|
||||
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 124994cc22f2923247b831e30c3241751c7b4c92..9d164c9386fe1906216db656e3972ef5dc50c583 100644
|
||||
index 55f93308ff65f0814da14f175ddee68b0a93e48d..0a4bc1855d2c59d9993c17f5de99c81f4f0d24e5 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -204,6 +204,7 @@ class NetworkService;
|
||||
@@ -205,6 +205,7 @@ class NetworkService;
|
||||
class TrustedURLLoaderHeaderClient;
|
||||
} // namespace mojom
|
||||
struct ResourceRequest;
|
||||
@@ -101,7 +101,7 @@ index 124994cc22f2923247b831e30c3241751c7b4c92..9d164c9386fe1906216db656e3972ef5
|
||||
} // namespace network
|
||||
|
||||
namespace sandbox {
|
||||
@@ -1411,6 +1412,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1412,6 +1413,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
@@ -111,7 +111,7 @@ index 124994cc22f2923247b831e30c3241751c7b4c92..9d164c9386fe1906216db656e3972ef5
|
||||
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 8f35d9844d79375a80758daee10c63083fb4460e..f40037ac4e232810d3bc814f6b744e31e7c3fc1a 100644
|
||||
index afdc5b192f711ebab9ae07aecfe25460f5bb9a38..495059091b7a046b40974247464a3610e3f845af 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -35,6 +35,17 @@ namespace content {
|
||||
@@ -133,7 +133,7 @@ index 8f35d9844d79375a80758daee10c63083fb4460e..f40037ac4e232810d3bc814f6b744e31
|
||||
WebContents* source,
|
||||
const OpenURLParams& params,
|
||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||
index 91ecedfc2aab50aa1aa54acdbe1b3f67041c75ce..b4602cf88acc2989b7e44543cd0e6296828f02ed 100644
|
||||
index a23da6cb64587f4ffc22d7d42a112dcc22a4212d..31d274e453ca1e99a9e4744d58b2ba22a0b08f40 100644
|
||||
--- a/content/public/browser/web_contents_delegate.h
|
||||
+++ b/content/public/browser/web_contents_delegate.h
|
||||
@@ -18,6 +18,7 @@
|
||||
@@ -170,10 +170,10 @@ index 91ecedfc2aab50aa1aa54acdbe1b3f67041c75ce..b4602cf88acc2989b7e44543cd0e6296
|
||||
// typically happens when popups are created.
|
||||
virtual void WebContentsCreated(WebContents* source_contents,
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
index c5bb0593bcb16cb275bfafd99212f53b525b6c2a..2f86c18cac89d5b29fb21c93ab575e304dd57173 100644
|
||||
index d6be4532c620861d77c900ac3aa67db26dbdf6ba..d5c655a204e5faacfcbc7a127fd95e8f227860c7 100644
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -6855,6 +6855,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
||||
@@ -6863,6 +6863,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
||||
params->started_by_ad =
|
||||
GetWebFrame()->IsAdFrame() || GetWebFrame()->IsAdScriptInStack();
|
||||
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Electron Scripts <scripts@electron>
|
||||
Date: Sat, 25 Apr 2026 21:10:03 -0500
|
||||
Subject: chore: exclude upstream scripting API when building Electron
|
||||
|
||||
Electron provides its own implementation of the Scripting API at
|
||||
shell/browser/extensions/api/scripting/ that includes Electron-specific
|
||||
modifications. CL 7784831 moved the upstream implementation from
|
||||
//chrome to //extensions, which caused it to be transitively linked
|
||||
into Electron, resulting in duplicate symbols.
|
||||
|
||||
Exclude the upstream sources when is_electron_build is set.
|
||||
|
||||
diff --git a/extensions/browser/api/scripting/BUILD.gn b/extensions/browser/api/scripting/BUILD.gn
|
||||
index 14d18bfbc36673f3eb9ffe0777d34ddd2163af0d..cff84c1a9e713e2845b2331913dde9be730305b1 100644
|
||||
--- a/extensions/browser/api/scripting/BUILD.gn
|
||||
+++ b/extensions/browser/api/scripting/BUILD.gn
|
||||
@@ -12,6 +12,16 @@ source_set("scripting") {
|
||||
"scripting_api.cc",
|
||||
"scripting_api.h",
|
||||
]
|
||||
+
|
||||
+ # Electron provides its own scripting API implementation in
|
||||
+ # shell/browser/extensions/api/scripting/.
|
||||
+ if (is_electron_build) {
|
||||
+ sources -= [
|
||||
+ "scripting_api.cc",
|
||||
+ "scripting_api.h",
|
||||
+ ]
|
||||
+ }
|
||||
+
|
||||
public_deps = [
|
||||
"//extensions/browser:browser_sources",
|
||||
"//extensions/common/api",
|
||||
@@ -34,10 +34,10 @@ index 1b8541bfa56a7e53c8396c29ea45a0b5af89ef81..28ffec368e5d6bc1744605e9dda7fc68
|
||||
virtual void DidClearWindowObject() {}
|
||||
virtual void DidChangeScrollOffset() {}
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
index 93ee72d4eccd314388d0283249bc3c784559d9b4..859cea7d1d539822f21bc7ac7f391dd60c3ee249 100644
|
||||
index 2507db2a4b8fd5763f81e7c6ca7dbbb2af919aa8..0ebb92e4676ef2bf95fec531920b23077e4782c2 100644
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -4741,10 +4741,11 @@ void RenderFrameImpl::DidInstallConditionalFeatures(
|
||||
@@ -4742,10 +4742,11 @@ void RenderFrameImpl::DidInstallConditionalFeatures(
|
||||
observer.DidInstallConditionalFeatures(context, world_id);
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ index 222278059beb1681c1d8e2a93e33279d4194227b..f68b1f841e20a78e3a109b61b11fd144
|
||||
|
||||
// Geometry notifications ----------------------------------------------
|
||||
diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
|
||||
index 0787bc8a602c60e5b42933813baa6b9d923c9823..c4adcc6083e09e56416587fbcde10c9026e54066 100644
|
||||
index 1316e7116c691030b3c764546c2f71fe61dde592..b633db5ff53aca3d94a6a3f77348f8e6236d1f4d 100644
|
||||
--- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
|
||||
+++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
|
||||
@@ -108,11 +108,12 @@ void LocalWindowProxy::DisposeContext(Lifecycle next_status,
|
||||
|
||||
@@ -61,10 +61,10 @@ index a389e96de45c8a380e4db23821feb396dab9bcbb..27322ef34edf3fa8bfbd20b1baddcaf3
|
||||
Widget* GetWidget();
|
||||
const Widget* GetWidget() const;
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index 124f32d2e25dcbed21b8fcf2d7804f61b7eb4c87..def5dcb3aad50a35e45e6fe2f21986b476f7ed35 100644
|
||||
index 7f3e2a70be5e40cf6ba19149488353fa48d551ab..826f5d17b523cac3ccc49425a330759770ac06ed 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -3287,15 +3287,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -3289,15 +3289,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
}
|
||||
// We must let Windows handle the caption buttons if it's drawing them, or
|
||||
// they won't work.
|
||||
@@ -86,7 +86,7 @@ index 124f32d2e25dcbed21b8fcf2d7804f61b7eb4c87..def5dcb3aad50a35e45e6fe2f21986b4
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -3318,6 +3322,7 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -3320,6 +3324,7 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
// handle alt-space, or in the frame itself.
|
||||
is_right_mouse_pressed_on_caption_ = false;
|
||||
::ReleaseCapture();
|
||||
@@ -94,7 +94,7 @@ index 124f32d2e25dcbed21b8fcf2d7804f61b7eb4c87..def5dcb3aad50a35e45e6fe2f21986b4
|
||||
// |point| is in window coordinates, but WM_NCHITTEST and TrackPopupMenu()
|
||||
// expect screen coordinates.
|
||||
POINT screen_point = CR_POINT_INITIALIZER_FROM_LPARAM(l_param);
|
||||
@@ -3325,7 +3330,17 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -3327,7 +3332,17 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
w_param = static_cast<WPARAM>(::SendMessage(
|
||||
hwnd(), WM_NCHITTEST, 0, MAKELPARAM(screen_point.x, screen_point.y)));
|
||||
if (w_param == HTCAPTION || w_param == HTSYSMENU) {
|
||||
|
||||
@@ -14,10 +14,10 @@ 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 70878c0ca05a21299c6a0e2e08e894431b1747c1..4daac586a6f01799f2f04b9206f7f6a53bc42054 100644
|
||||
index 44b91605948b989b500b16902c3eb22437af68ce..3c5b92660ef7fea6c5c8366009f223ffd0052dad 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5478,7 +5478,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5487,7 +5487,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.
|
||||
|
||||
@@ -80,20 +80,20 @@ 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 6277b04593768d5de235b2176933cbea11613ec6..2e6715a239dd042786d8040299e48b856df80608 100644
|
||||
index 0af9cabf98970600a992fadab6404f162f0aa6a3..296327e4d4829070124e2b7b2d5942d01fcb8ca4 100644
|
||||
--- a/chrome/browser/ui/browser.cc
|
||||
+++ b/chrome/browser/ui/browser.cc
|
||||
@@ -2328,7 +2328,8 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
@@ -2295,8 +2295,7 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
const std::string& frame_name,
|
||||
- const std::string& frame_name,
|
||||
- const GURL& target_url) {
|
||||
+ const GURL& target_url,
|
||||
+ const content::mojom::CreateNewWindowParams& params) {
|
||||
if (HasActorTaskPreventingNewWebContents(profile(), opener)) {
|
||||
if (actor::HasActorTaskPreventingNewWebContents(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
|
||||
@@ -2341,7 +2342,7 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
@@ -2309,7 +2308,7 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
return (window_container_type ==
|
||||
content::mojom::WindowContainerType::BACKGROUND &&
|
||||
ShouldCreateBackgroundContents(source_site_instance, opener_url,
|
||||
@@ -103,10 +103,10 @@ index 6277b04593768d5de235b2176933cbea11613ec6..2e6715a239dd042786d8040299e48b85
|
||||
|
||||
WebContents* Browser::CreateCustomWebContents(
|
||||
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
|
||||
index 78075410c13cda894ea5fa62c3a881637780dfad..90e586308e12a31eb94081788ecfc1e92ba3163f 100644
|
||||
index 05bc3f5e3cfb31d8092e35f2031a014d676c3bc9..791300d27a69a97ab4d063572c024390da41b9f5 100644
|
||||
--- a/chrome/browser/ui/browser.h
|
||||
+++ b/chrome/browser/ui/browser.h
|
||||
@@ -903,8 +903,7 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -902,8 +902,7 @@ class Browser : public TabStripModelObserver,
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
@@ -223,10 +223,10 @@ 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 361b34906ea017c1209899b9f0fec5e43f747f7e..adee34e64400f08dece1bef4f36ab9b93332696d 100644
|
||||
index e7769a0fa1e6534e45126d14e5f2e1e120a03b86..ecec29a59aac1dd775746884f20cfc53ac64c23f 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5442,8 +5442,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5451,8 +5451,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
if (delegate_ &&
|
||||
delegate_->IsWebContentsCreationOverridden(
|
||||
opener, source_site_instance, params.window_container_type,
|
||||
@@ -237,7 +237,7 @@ index 361b34906ea017c1209899b9f0fec5e43f747f7e..adee34e64400f08dece1bef4f36ab9b9
|
||||
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 f40037ac4e232810d3bc814f6b744e31e7c3fc1a..95007b7a5f40da2e23053f52da79295a829d3bde 100644
|
||||
index 495059091b7a046b40974247464a3610e3f845af..fd840b5de8945d91f218e66009f6c13f4e85e832 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -161,8 +161,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
|
||||
@@ -251,7 +251,7 @@ index f40037ac4e232810d3bc814f6b744e31e7c3fc1a..95007b7a5f40da2e23053f52da79295a
|
||||
}
|
||||
|
||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||
index b4602cf88acc2989b7e44543cd0e6296828f02ed..ceb6c66f6461b42556aaba167269811a9a363b40 100644
|
||||
index 31d274e453ca1e99a9e4744d58b2ba22a0b08f40..b9b59c92a0d69baed2241ca1686d490bba8e087b 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 {
|
||||
|
||||
@@ -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 e121bd64a30b8ce1892f04cfae077547f7df4f42..a024d438505c11f534b2217118c327f240864c07 100644
|
||||
index 338a198ece025bf59d50b1bd2fbe3964036ebab5..317c893fc06a3cbaceb9add3b7657f200964b682 100644
|
||||
--- a/content/app/content_main_runner_impl.cc
|
||||
+++ b/content/app/content_main_runner_impl.cc
|
||||
@@ -262,8 +262,13 @@ std::string GetSnapshotDataDescriptor(const base::CommandLine& command_line) {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: fix: disabling compositor recycling
|
||||
Compositor recycling is useful for Chrome because there can be many tabs and spinning up a compositor for each one would be costly. In practice, Chrome uses the parent compositor code path of browser_compositor_view_mac.mm; the NSView of each tab is detached when it's hidden and attached when it's shown. For Electron, there is no parent compositor, so we're forced into the "own compositor" code path, which seems to be non-optimal and pretty ruthless in terms of the release of resources. Electron has no real concept of multiple tabs per window, so it should be okay to disable this ruthless recycling altogether in Electron.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
index 6e5c03522683f1c19d4b9c9e65c1f4716b9c3f49..7900ba3ef4c4db5dbe871431107fbb44fa25ad45 100644
|
||||
index a8c01d4ac0e60fc7427191d51ab51c42d9e5f1c2..d2c4bbb75991fb4f3a3d45255d5885ad8aed1b8b 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
@@ -593,7 +593,11 @@
|
||||
@@ -592,7 +592,11 @@
|
||||
}
|
||||
|
||||
host()->WasHidden();
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: disable_hidden.patch
|
||||
Electron uses this to disable background throttling for hidden windows.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index 91c1bd0ee59e6f6819434631de3ed8b6b290540f..edd98668b9e8220ec26c901f69b8d3bee866aba5 100644
|
||||
index f54e0c29f128300c56c7e0b7e18b726eff4df548..c6c936a0b57cedbb761f6e9f31cb860c3bf245ed 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -828,6 +828,10 @@ void RenderWidgetHostImpl::WasHidden() {
|
||||
@@ -21,10 +21,10 @@ index 91c1bd0ee59e6f6819434631de3ed8b6b290540f..edd98668b9e8220ec26c901f69b8d3be
|
||||
// Prompts should remain open and functional across tab switches.
|
||||
if (!delegate_ || !delegate_->IsWaitingForPointerLockPrompt(this)) {
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
|
||||
index ae9afcf250cd6de6fcf83a19f6be2a9294e020af..7e88b070bfaae3d6430fe66fdc5f1070b15ac68c 100644
|
||||
index ac87b21a1cec649d01adbe92e08ef4bd5870336e..0b94b2bcf0b0fe643328a37ab8e8b29d8477d0f4 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.h
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.h
|
||||
@@ -1061,6 +1061,8 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
@@ -1063,6 +1063,8 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
|
||||
base::TimeDelta GetHungRendererDelayForTesting();
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ index 4c1c0c60b69f1a0ee7f98e03e6d8d2ca05645b0a..340a8d61e302c1b1ca6ad0dfb859fc9b
|
||||
excluded_margin);
|
||||
}
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index 3a665b97b001474c65e523939909d23c8f2a465d..8dd1c0014544af50ce52cc849a739c05c961fefe 100644
|
||||
index b441e5faec6f74bf7cefb435a8b9c947ba2223ba..a0204561bff578ef4e588438801e7ff5a991672d 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -1050,8 +1050,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen,
|
||||
|
||||
@@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
|
||||
|
||||
} // namespace net
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
index 4bf222c4e6688384c034ef16170ad4cd64c379b0..97e59f9453659a5bd6868cfceaaaa3ddcfe0e5c2 100644
|
||||
index a4baa7c363c02898f97c975767de98e5910142c5..d2bcaa4bba1ebefa98b034c7e7cfbb1c56c59a84 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -2013,6 +2013,13 @@ void NetworkContext::SetNetworkConditions(
|
||||
@@ -1997,6 +1997,13 @@ void NetworkContext::SetNetworkConditions(
|
||||
std::move(network_conditions));
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ index 4bf222c4e6688384c034ef16170ad4cd64c379b0..97e59f9453659a5bd6868cfceaaaa3dd
|
||||
// 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 18a5062bac18be40ecd9e4de12ca4556802403c7..4ef2d2034a32bc1b70797bc5897fa354ac9e8c84 100644
|
||||
index 8fefa1f73342de4e3fba5189ba37fa8657218a4d..415c298bc79848a7aa34eb9887461b9c62f18bba 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -334,6 +334,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -63,10 +63,10 @@ index 18a5062bac18be40ecd9e4de12ca4556802403c7..4ef2d2034a32bc1b70797bc5897fa354
|
||||
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 88ac7593a8317dc646a128cce81f163554407bbc..f6bb0b757b65002ff86fd1b3ba8f117d76c02344 100644
|
||||
index 6c586cc768ca8ee67617e432edfbc02a2fae97e2..23396a38d9d2a5bdd9d2eaccb4c7c3e015e452aa 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -1309,6 +1309,9 @@ interface NetworkContext {
|
||||
@@ -1303,6 +1303,9 @@ interface NetworkContext {
|
||||
mojo_base.mojom.UnguessableToken throttling_client_id,
|
||||
array<MatchedNetworkConditions> conditions);
|
||||
|
||||
@@ -77,7 +77,7 @@ index 88ac7593a8317dc646a128cce81f163554407bbc..f6bb0b757b65002ff86fd1b3ba8f117d
|
||||
SetAcceptLanguage(string new_accept_language);
|
||||
|
||||
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
|
||||
index af46691e72faa7e1c59de51b099fa7923eb89ec6..e1077e04b223adb4d25f12fcef2184f76c8b023c 100644
|
||||
index 6b9cf7d98311a69ac613ea70ed56922cd60ed13e..60420692faec1c277dac0df6e57f616e93fd0312 100644
|
||||
--- a/services/network/test/test_network_context.h
|
||||
+++ b/services/network/test/test_network_context.h
|
||||
@@ -157,6 +157,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 42b9ec3ca008be91318c843aba66a7a2e1c75ea5..932e5f8b417a75df41eee430a00564f629b0e4f1 100644
|
||||
index ff29fd30758340a8a8daf7740deead59f112c259..a576b7aa63c4a77ebffd09d1dcfd6f4ed071d2c6 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -1848,6 +1848,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
||||
|
||||
@@ -197,7 +197,7 @@ index 55f935f38bf05586650e7a83a689347bb41a45a4..3dc3e4836238c92b4a192a410f3b7c64
|
||||
if (!WriteToSocket(socket.fd(), to_send)) {
|
||||
// Try to kill the other process, because it might have been dead.
|
||||
diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc
|
||||
index f4d38a27eb3123ac4bca19de15e8b6184e5faf92..0d4cafb6d0d746d4bb7bf013c9602bd69f48b812 100644
|
||||
index 6687bcd53ab8dca1bc7b96446fdd673ed9d1a5da..a469ebd214407114784e06b7a8687d2de5943864 100644
|
||||
--- a/chrome/browser/process_singleton_win.cc
|
||||
+++ b/chrome/browser/process_singleton_win.cc
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
@@ -10,7 +10,7 @@ Electron needs this constructor, namely for gin_helper::Constructible
|
||||
objects.
|
||||
|
||||
diff --git a/gin/object_template_builder.cc b/gin/object_template_builder.cc
|
||||
index 0e4f17437ea2c687cb188e59b3b044557d6ad5fe..4c0c31a07b83506bb5f07a228ca79fb0c866d3fd 100644
|
||||
index d8b358befc28736cb4faa0d0bbbfb76036e42ed4..49ecd470ce29078418ccb490caa8cfde17a6944e 100644
|
||||
--- a/gin/object_template_builder.cc
|
||||
+++ b/gin/object_template_builder.cc
|
||||
@@ -145,6 +145,13 @@ ObjectTemplateBuilder::ObjectTemplateBuilder(v8::Isolate* isolate,
|
||||
@@ -28,7 +28,7 @@ index 0e4f17437ea2c687cb188e59b3b044557d6ad5fe..4c0c31a07b83506bb5f07a228ca79fb0
|
||||
const ObjectTemplateBuilder& other) = default;
|
||||
|
||||
diff --git a/gin/object_template_builder.h b/gin/object_template_builder.h
|
||||
index cf4f1ae6598fdede655d33baccda254965566ea5..a4c16dc0ec3ff16413fc2a04225a2401989a084b 100644
|
||||
index c633282925cb0652f5b205d6b600c3af078c4bfe..3dfe60f83bf18f2fe0ad625a4e82a8621f100efe 100644
|
||||
--- a/gin/object_template_builder.h
|
||||
+++ b/gin/object_template_builder.h
|
||||
@@ -48,6 +48,9 @@ class GIN_EXPORT ObjectTemplateBuilder {
|
||||
|
||||
@@ -326,7 +326,7 @@ index 64ffc2642c003c8fb7f133ee43ba3e20d48ea543..92846d1b45c04c324014474ec6c02e71
|
||||
|
||||
// Although ScreenCaptureKit is available in 12.3 there were some bugs that
|
||||
diff --git a/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc b/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
|
||||
index 0f6531fd1c7784867b2b4e6d72d042bee4bff579..1c7b00d6b1929b807649d7a00f963195bf3f4ea1 100644
|
||||
index 2fa0432a9180603ff652b7a13106c4b2ed7b37e3..29dbd2157a16330e9aec2d66b2e3b507becb11f8 100644
|
||||
--- a/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
|
||||
+++ b/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
|
||||
@@ -321,8 +321,16 @@ void InProcessVideoCaptureDeviceLauncher::LaunchDeviceAsync(
|
||||
@@ -354,8 +354,8 @@ index 0f6531fd1c7784867b2b4e6d72d042bee4bff579..1c7b00d6b1929b807649d7a00f963195
|
||||
+ media::VideoCaptureParams updated_params = params;
|
||||
+ updated_params.use_native_picker = stream_type != blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE;
|
||||
// All cases other than tab capture or Aura desktop/window capture.
|
||||
TRACE_EVENT_INSTANT0(TRACE_DISABLED_BY_DEFAULT("video_and_image_capture"),
|
||||
"UsingDesktopCapturer", TRACE_EVENT_SCOPE_THREAD);
|
||||
TRACE_EVENT_INSTANT(TRACE_DISABLED_BY_DEFAULT("video_and_image_capture"),
|
||||
"UsingDesktopCapturer");
|
||||
start_capture_closure = base::BindOnce(
|
||||
&InProcessVideoCaptureDeviceLauncher::
|
||||
DoStartDesktopCaptureOnDeviceThread,
|
||||
|
||||
@@ -193,10 +193,10 @@ index 4c0b23afb38066f4d29ead2d5705ae2b58ddca34..b79eb508bdfc1ae08dce254cfa57ab6c
|
||||
|
||||
UtilityProcessHost::Start(std::move(utility_options),
|
||||
diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc
|
||||
index 84eb94a0f1dd4b499ac8b58ce1e512d022ec1211..5e40db213db53dc69a11caeecdcb772190d30753 100644
|
||||
index dc561adf556b3f9548dd49aa4b2fc13207e388b4..ad6f5d92fe0f72d2ba6c173282b218c2bc6b9a55 100644
|
||||
--- a/content/browser/service_host/utility_process_host.cc
|
||||
+++ b/content/browser/service_host/utility_process_host.cc
|
||||
@@ -247,13 +247,13 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithFileToPreload(
|
||||
@@ -248,13 +248,13 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithFileToPreload(
|
||||
}
|
||||
#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||
|
||||
@@ -213,7 +213,7 @@ index 84eb94a0f1dd4b499ac8b58ce1e512d022ec1211..5e40db213db53dc69a11caeecdcb7721
|
||||
|
||||
#if BUILDFLAG(USE_ZYGOTE)
|
||||
UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
|
||||
@@ -263,6 +263,45 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
|
||||
@@ -264,6 +264,45 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
|
||||
}
|
||||
#endif // BUILDFLAG(USE_ZYGOTE)
|
||||
|
||||
@@ -259,7 +259,7 @@ index 84eb94a0f1dd4b499ac8b58ce1e512d022ec1211..5e40db213db53dc69a11caeecdcb7721
|
||||
UtilityProcessHost::Options&
|
||||
UtilityProcessHost::Options::WithBoundReceiverOnChildProcessForTesting(
|
||||
mojo::GenericPendingReceiver receiver) {
|
||||
@@ -543,9 +582,30 @@ bool UtilityProcessHost::StartProcess() {
|
||||
@@ -552,9 +591,30 @@ bool UtilityProcessHost::StartProcess() {
|
||||
}
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN)
|
||||
|
||||
@@ -377,7 +377,7 @@ index dfdcb66d65f07f4543703396eb529a6ec02b3f4a..96c0cadf5caf5bf27f2a767c43f0f1da
|
||||
// Whether or not to bind viz::mojom::Gpu to the utility process.
|
||||
bool allowed_gpu_;
|
||||
diff --git a/content/browser/service_host/utility_sandbox_delegate.cc b/content/browser/service_host/utility_sandbox_delegate.cc
|
||||
index 47a64f9c60ef359fc0015dff566c8041e34b5405..cd17ff94f279cf32c0bf0aef6c2b53bae37f80fb 100644
|
||||
index fd94515548e50a67cfa9956cf3fbab8c7af9fe31..5d7d752e38fbca84a45183121fcec0e60211b4c9 100644
|
||||
--- a/content/browser/service_host/utility_sandbox_delegate.cc
|
||||
+++ b/content/browser/service_host/utility_sandbox_delegate.cc
|
||||
@@ -39,17 +39,19 @@ UtilitySandboxedProcessLauncherDelegate::
|
||||
@@ -404,7 +404,7 @@ index 47a64f9c60ef359fc0015dff566c8041e34b5405..cd17ff94f279cf32c0bf0aef6c2b53ba
|
||||
#if DCHECK_IS_ON()
|
||||
bool supported_sandbox_type =
|
||||
sandbox_type_ == sandbox::mojom::Sandbox::kNoSandbox ||
|
||||
@@ -111,11 +113,28 @@ UtilitySandboxedProcessLauncherDelegate::GetSandboxType() {
|
||||
@@ -112,11 +114,28 @@ UtilitySandboxedProcessLauncherDelegate::GetSandboxType() {
|
||||
return sandbox_type_;
|
||||
}
|
||||
|
||||
@@ -435,7 +435,7 @@ index 47a64f9c60ef359fc0015dff566c8041e34b5405..cd17ff94f279cf32c0bf0aef6c2b53ba
|
||||
|
||||
#if BUILDFLAG(USE_ZYGOTE)
|
||||
ZygoteCommunication* UtilitySandboxedProcessLauncherDelegate::GetZygote() {
|
||||
@@ -189,6 +208,15 @@ UtilitySandboxedProcessLauncherDelegate::GetProcessRequirement() {
|
||||
@@ -190,6 +209,15 @@ UtilitySandboxedProcessLauncherDelegate::GetProcessRequirement() {
|
||||
|
||||
return std::nullopt;
|
||||
}
|
||||
@@ -745,7 +745,7 @@ index ea68aa0d16c46ad53b63e10027e81503610051d9..ac1ffa290b59d964931a312a911efbec
|
||||
|
||||
// An interface which can be implemented and used with
|
||||
diff --git a/sandbox/policy/win/sandbox_win.cc b/sandbox/policy/win/sandbox_win.cc
|
||||
index 8b470b9554d23a951c98c8cba644ae1ae4246004..a30fe3e814bb688be015956a195e0e8efe5662ca 100644
|
||||
index 1d798fecab6c7df12cddfb0a63e8985a3fafcb4d..5d0f821b7c86f7f2f3ca1212f3dc356168e647a5 100644
|
||||
--- a/sandbox/policy/win/sandbox_win.cc
|
||||
+++ b/sandbox/policy/win/sandbox_win.cc
|
||||
@@ -616,11 +616,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
|
||||
|
||||
@@ -46,10 +46,10 @@ index 1c01e4d6699da8760e074a5825784e139ed58fd4..c678a3df0b9e5a8c9e0bd99c1aa540b2
|
||||
'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 e6731ee14be233e023768fc8433a1cade4e12284..4d1b79641cb465225b56b8f7d261ba783762232e 100644
|
||||
index 4e9b1fc207ad131470778efdbeaff94ed671f9f4..dc0e5baf7ca8147d306d70b4bc3371b2fc62955b 100644
|
||||
--- a/third_party/blink/renderer/core/css/css_properties.json5
|
||||
+++ b/third_party/blink/renderer/core/css/css_properties.json5
|
||||
@@ -9787,6 +9787,27 @@
|
||||
@@ -9784,6 +9784,27 @@
|
||||
property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"],
|
||||
},
|
||||
|
||||
@@ -91,7 +91,7 @@ index 19cf78803d61a33f08d023bef8799f18c52b6fe3..9f267dbb92ae6496da8f0f14e94d90ea
|
||||
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 25028c2b98dc45a1f10feca152f1f2d7524ffbe7..392e343d97711f9909a8002f68e2d29732aa2c73 100644
|
||||
index e25ddd9f729eb365e0b5024d7a14b2c1798ca730..7b4213ec1288d80322818a13dfd4a5eb7fef68ec 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
|
||||
@@ -12380,5 +12380,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
||||
@@ -203,10 +203,10 @@ index 19cda703154dab9397827ab6ea66c2ca446c644d..dd5943c511886f4e39b2e7f10e67e60f
|
||||
return result;
|
||||
}
|
||||
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
|
||||
index b98b5459691c91367933e352a32a590a92b190fe..5b1b9036192ee6db2196c7dbadf3b0344a37bfc8 100644
|
||||
index 3c04bd0f52dd35717e2ed0f0fe88f5ea41001987..c687ae1b076e2a576297a43d58da86d7331bfd21 100644
|
||||
--- a/third_party/blink/renderer/platform/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
||||
@@ -1677,6 +1677,8 @@ component("platform") {
|
||||
@@ -1676,6 +1676,8 @@ component("platform") {
|
||||
"widget/widget_base.h",
|
||||
"widget/widget_base_client.h",
|
||||
"windows_keyboard_codes.h",
|
||||
@@ -314,7 +314,7 @@ index 398fc8badaaf1dddc3183211c9302460393da85f..b35c8261b27a2d5c5f6bd84b606925c9
|
||||
|
||||
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 4112cd5508122424bf1a87ba3a670352bfb9a3fa..23ac385af23d58832467fdb59db9b9b7f6dee881 100644
|
||||
index 2df2b7e2c3cf2cd3b53a9f9e6275c53142c914ff..262e538812fe35b70dc2865fc0fa006105b8844f 100644
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -215,6 +215,10 @@
|
||||
|
||||
@@ -8,7 +8,7 @@ rendering with the viz compositor by way of a custom HostDisplayClient
|
||||
and LayeredWindowUpdater.
|
||||
|
||||
diff --git a/components/viz/host/host_display_client.cc b/components/viz/host/host_display_client.cc
|
||||
index 65df78d7f2a311633e8512f46efa005c41930873..1978ac9a080c63f8e9aa323c7215051890c55f00 100644
|
||||
index 65e6d28734051dc6ba0201b7b09a91ac733e3ff9..f8d66e68f7fdb4944a667ec10ba227fa62af7728 100644
|
||||
--- a/components/viz/host/host_display_client.cc
|
||||
+++ b/components/viz/host/host_display_client.cc
|
||||
@@ -50,9 +50,9 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams(
|
||||
@@ -39,7 +39,7 @@ index 65df78d7f2a311633e8512f46efa005c41930873..1978ac9a080c63f8e9aa323c72150518
|
||||
gpu::SurfaceHandle child_window) {
|
||||
NOTREACHED();
|
||||
diff --git a/components/viz/host/host_display_client.h b/components/viz/host/host_display_client.h
|
||||
index 03410160827d5fde6478bb1b16f82b1367413183..2a1368e85b789b51f41625d1db877185ad7d7a6c 100644
|
||||
index 8d74efb0bbc6a226db2617f42ed9e483dc3d9bef..b4ddfd69985840d586df27b911e902880a164f2a 100644
|
||||
--- a/components/viz/host/host_display_client.h
|
||||
+++ b/components/viz/host/host_display_client.h
|
||||
@@ -39,6 +39,9 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom::DisplayClient {
|
||||
@@ -90,7 +90,7 @@ index 8af69cac78b7488d28f1f05ccb174793fe5148cd..9f74e511c263d147b5fbe81fe100d217
|
||||
private:
|
||||
const HWND hwnd_;
|
||||
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
|
||||
index c1be2f1a8dc4d834ffa2e5944f7dd2753740a4c6..982327d24f0c3d1a4b90bea9a0e93c684aeab17f 100644
|
||||
index 44072bd19a908aa0604e440e89c303cd8044f342..820c23869139d4293c26b6a854b7c08576c07a3c 100644
|
||||
--- a/components/viz/service/BUILD.gn
|
||||
+++ b/components/viz/service/BUILD.gn
|
||||
@@ -178,6 +178,8 @@ viz_component("service") {
|
||||
@@ -204,7 +204,7 @@ index f49bbc5d568f0cb323a22997a949e2cae8f35d59..c0154ee828e67b197eb2ddb1abf04c0a
|
||||
const raw_ptr<GpuServiceImpl> gpu_service_impl_;
|
||||
|
||||
diff --git a/components/viz/service/display_embedder/software_output_device_mac.cc b/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
index 982cacc1a7fb0ffe26433da6431e2f7a805c742b..5ea2fef095ffc2362181a8f1579a48cc2f7e004d 100644
|
||||
index 48333324f9beec05573d6f63869872c336b808e3..b233fcb586957fcbe5b7b9a767d86e5cda02bc93 100644
|
||||
--- a/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
+++ b/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
@@ -109,6 +109,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage(
|
||||
@@ -216,14 +216,14 @@ index 982cacc1a7fb0ffe26433da6431e2f7a805c742b..5ea2fef095ffc2362181a8f1579a48cc
|
||||
// Record the previous paint buffer.
|
||||
Buffer* previous_paint_buffer =
|
||||
buffer_queue_.empty() ? nullptr : buffer_queue_.back().get();
|
||||
@@ -199,6 +201,7 @@ void SoftwareOutputDeviceMac::EndPaint() {
|
||||
ca_layer_params.is_empty = false;
|
||||
@@ -198,6 +200,7 @@ void SoftwareOutputDeviceMac::EndPaint() {
|
||||
gfx::CALayerParams ca_layer_params;
|
||||
ca_layer_params.scale_factor = scale_factor_;
|
||||
ca_layer_params.pixel_size = pixel_size_;
|
||||
+ ca_layer_params.damage = last_damage;
|
||||
ca_layer_params.io_surface_mach_port.reset(
|
||||
IOSurfaceCreateMachPort(current_paint_buffer_->io_surface.get()));
|
||||
client_->SoftwareDeviceUpdatedCALayerParams(ca_layer_params);
|
||||
client_->SoftwareDeviceUpdatedCALayerParams(std::move(ca_layer_params));
|
||||
diff --git a/components/viz/service/display_embedder/software_output_device_mac.h b/components/viz/service/display_embedder/software_output_device_mac.h
|
||||
index 67d5ff67d74c107a867b39b306c6528425b87e05..5fd12a25c9e319e8e675955926271c9d1cd3a7ca 100644
|
||||
--- a/components/viz/service/display_embedder/software_output_device_mac.h
|
||||
@@ -522,7 +522,7 @@ index 4f9e8946fa02d859e92a6896beba82721914f868..78486eaa993ee7ffd5188b31503de7dd
|
||||
waiting_on_draw_ack_ = true;
|
||||
|
||||
diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
index 0be3821000011d6a3441cb6df95b959ff6805f01..c44e21a2f917dcdbd4a4f699fbb1477d847a25d1 100644
|
||||
index 5df4863505d134260bcbf09955d5cb10eb9f74e1..96d1fc6e6f5413ac62fb9f0d9c723f7779617c6d 100644
|
||||
--- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
+++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
@@ -131,7 +131,8 @@ RootCompositorFrameSinkImpl::Create(
|
||||
@@ -667,7 +667,7 @@ index fbe5a8e6458970652723f91a426541220b394a18..c2e748b92103c582802af9b973ebe0c3
|
||||
raw_ptr<Layer> root_layer_ = nullptr;
|
||||
|
||||
diff --git a/ui/gfx/ca_layer_params.h b/ui/gfx/ca_layer_params.h
|
||||
index 5b5bb16199d46f16be587856650b07121a786776..241efc4bddaf2ddfb4d4092766a9d3c9732ef36e 100644
|
||||
index b4172df479401a0073dcb70aa9aeaba67b01b6cf..e3f99fc7f440b8a8f7913fa3a95fbaee34ca08dc 100644
|
||||
--- a/ui/gfx/ca_layer_params.h
|
||||
+++ b/ui/gfx/ca_layer_params.h
|
||||
@@ -7,6 +7,7 @@
|
||||
@@ -678,7 +678,7 @@ index 5b5bb16199d46f16be587856650b07121a786776..241efc4bddaf2ddfb4d4092766a9d3c9
|
||||
#include "ui/gfx/geometry/size.h"
|
||||
|
||||
#if BUILDFLAG(IS_APPLE)
|
||||
@@ -51,6 +52,8 @@ struct COMPONENT_EXPORT(GFX) CALayerParams {
|
||||
@@ -53,6 +54,8 @@ struct COMPONENT_EXPORT(GFX) CALayerParams {
|
||||
gfx::ScopedRefCountedIOSurfaceMachPort io_surface_mach_port;
|
||||
#endif
|
||||
|
||||
@@ -688,21 +688,21 @@ index 5b5bb16199d46f16be587856650b07121a786776..241efc4bddaf2ddfb4d4092766a9d3c9
|
||||
gfx::Size pixel_size;
|
||||
float scale_factor = 1.f;
|
||||
diff --git a/ui/gfx/mojom/ca_layer_params.mojom b/ui/gfx/mojom/ca_layer_params.mojom
|
||||
index c380e4882d699232869c88bc65dc4d396bb95780..7d3c81b200cc9b390084a35ab5d0fc1904137144 100644
|
||||
index 53f4f4c8074a7f946fd2c3e50a7ac94407663940..082a094dd2dd95626e2866e4d80c9f09ab6ba7f7 100644
|
||||
--- a/ui/gfx/mojom/ca_layer_params.mojom
|
||||
+++ b/ui/gfx/mojom/ca_layer_params.mojom
|
||||
@@ -18,5 +18,6 @@ struct CALayerParams {
|
||||
bool is_empty;
|
||||
CALayerContent content;
|
||||
@@ -30,5 +30,6 @@ struct CALayerParams {
|
||||
|
||||
// The geometry of the frame.
|
||||
gfx.mojom.Size pixel_size;
|
||||
+ gfx.mojom.Rect damage;
|
||||
float scale_factor;
|
||||
};
|
||||
diff --git a/ui/gfx/mojom/ca_layer_params_mojom_traits.cc b/ui/gfx/mojom/ca_layer_params_mojom_traits.cc
|
||||
index e1c6ed1b3a456b164945ee7eef34f9d4f0b80e07..87bff4350cdfcca97de6f66946b9cb6155e36634 100644
|
||||
index 1c6052e7653e0875b2954b325f9856d1871c73e3..558a0f930acc4c791cbcdf6416617dc2c44ca4f6 100644
|
||||
--- a/ui/gfx/mojom/ca_layer_params_mojom_traits.cc
|
||||
+++ b/ui/gfx/mojom/ca_layer_params_mojom_traits.cc
|
||||
@@ -52,6 +52,9 @@ bool StructTraits<gfx::mojom::CALayerParamsDataView, gfx::CALayerParams>::Read(
|
||||
@@ -67,6 +67,9 @@ bool StructTraits<gfx::mojom::CALayerParamsDataView, gfx::CALayerParams>::Read(
|
||||
if (!data.ReadPixelSize(&out->pixel_size))
|
||||
return false;
|
||||
|
||||
@@ -713,10 +713,10 @@ index e1c6ed1b3a456b164945ee7eef34f9d4f0b80e07..87bff4350cdfcca97de6f66946b9cb61
|
||||
return true;
|
||||
}
|
||||
diff --git a/ui/gfx/mojom/ca_layer_params_mojom_traits.h b/ui/gfx/mojom/ca_layer_params_mojom_traits.h
|
||||
index b6d3f2fea1d663ee1eba82a8008afc830897534c..e06f7d3184d66d9585af39c896036c1792693ac5 100644
|
||||
index d52b720f891cecb86c4818c94e661a43fc4c88fa..cdfe28e2120b085b43c99bb3a9ea740596b775a8 100644
|
||||
--- a/ui/gfx/mojom/ca_layer_params_mojom_traits.h
|
||||
+++ b/ui/gfx/mojom/ca_layer_params_mojom_traits.h
|
||||
@@ -20,6 +20,10 @@ struct StructTraits<gfx::mojom::CALayerParamsDataView, gfx::CALayerParams> {
|
||||
@@ -16,6 +16,10 @@ struct StructTraits<gfx::mojom::CALayerParamsDataView, gfx::CALayerParams> {
|
||||
return ca_layer_params.pixel_size;
|
||||
}
|
||||
|
||||
@@ -724,6 +724,6 @@ index b6d3f2fea1d663ee1eba82a8008afc830897534c..e06f7d3184d66d9585af39c896036c17
|
||||
+ return ca_layer_params.damage;
|
||||
+ }
|
||||
+
|
||||
static float scale_factor(const gfx::CALayerParams& ca_layer_params) {
|
||||
static float scale_factor(gfx::CALayerParams& ca_layer_params) {
|
||||
return ca_layer_params.scale_factor;
|
||||
}
|
||||
|
||||
@@ -81,10 +81,10 @@ index 97a0f76571caf19e39d861bf188da9173fc2f8f6..e651e9b2f9a35265da00432cf2ffdc58
|
||||
private:
|
||||
const std::string service_interface_name_;
|
||||
diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc
|
||||
index 5e40db213db53dc69a11caeecdcb772190d30753..69540f50890c141349a20c1b8039b10c3ee4569b 100644
|
||||
index ad6f5d92fe0f72d2ba6c173282b218c2bc6b9a55..fb448c082f37c95a73502183f2ba83d523715c62 100644
|
||||
--- a/content/browser/service_host/utility_process_host.cc
|
||||
+++ b/content/browser/service_host/utility_process_host.cc
|
||||
@@ -660,7 +660,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
|
||||
@@ -669,7 +669,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
|
||||
: Client::CrashType::kPreIpcInitialization;
|
||||
}
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
@@ -112,7 +112,7 @@ index df038b9d2a798185d3ea49c4e705e0963262f580..c108e5b7cc32c512326a3e70d32f6313
|
||||
string mime_type;
|
||||
|
||||
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
|
||||
index aa67598684159196614cc9f68782e271e9a44c89..f46ed888a0c4467ea32efb045c81ac5025189872 100644
|
||||
index 815895447720c9383ae7788a2c45b0ffa429a028..89c324f53551ee5930edcefd412fbe6a46c9285d 100644
|
||||
--- a/services/network/url_loader.cc
|
||||
+++ b/services/network/url_loader.cc
|
||||
@@ -373,6 +373,9 @@ URLLoader::URLLoader(
|
||||
@@ -155,10 +155,10 @@ index aa67598684159196614cc9f68782e271e9a44c89..f46ed888a0c4467ea32efb045c81ac50
|
||||
|
||||
if (expected_response_headers_for_synthetic_response &&
|
||||
diff --git a/services/network/url_loader.h b/services/network/url_loader.h
|
||||
index 5c04a9cc1d789b92623cd92be8cb7f94e53a7a1c..ccb3b820435eafaf47c316a3db4789ff605229f3 100644
|
||||
index 9814d15b056df64918d5d663f41701bb5ff2765e..f57884602a179b5c6268d63093b3abd82fdf2587 100644
|
||||
--- a/services/network/url_loader.h
|
||||
+++ b/services/network/url_loader.h
|
||||
@@ -629,6 +629,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||
@@ -624,6 +624,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||
std::unique_ptr<ResourceScheduler::ScheduledResourceRequest>
|
||||
resource_scheduler_request_handle_;
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ index 7ea6daec53a497bf867d799e041bf6ae7191ef7b..15940624940d5c629c40319f45c59282
|
||||
execution_context->GetScheduler()
|
||||
->ToFrameScheduler()
|
||||
diff --git a/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc b/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
|
||||
index 936f5ebe28caa993ed5de0f7de3613fa338e263f..961ac8091aa82128e1cfb8800a7efcb80d100a05 100644
|
||||
index 3cf2c103c9460d6a5ef64b946a57f96432501670..937c824c5eb4253733c6cd78c38209e2019a79a9 100644
|
||||
--- a/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
|
||||
+++ b/third_party/blink/renderer/core/workers/threaded_worklet_messaging_proxy.cc
|
||||
@@ -13,10 +13,12 @@
|
||||
|
||||
@@ -20,10 +20,10 @@ This patch will be removed when the deprecated sync api support is
|
||||
removed.
|
||||
|
||||
diff --git a/components/permissions/permission_util.cc b/components/permissions/permission_util.cc
|
||||
index 33019cb5255afd757167517bcbb2c3d00414f787..66e2e0f8f39994dfe33c923d62fe791d5181d207 100644
|
||||
index 7ed353d3dfe079f90c0c36e5d37219b24a0239e2..24f75cbada86669028e5e40fe7b62c01e8316121 100644
|
||||
--- a/components/permissions/permission_util.cc
|
||||
+++ b/components/permissions/permission_util.cc
|
||||
@@ -566,7 +566,8 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
|
||||
@@ -567,7 +567,8 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
|
||||
return ContentSettingsType::LOCAL_NETWORK;
|
||||
case PermissionType::LOOPBACK_NETWORK:
|
||||
return ContentSettingsType::LOOPBACK_NETWORK;
|
||||
@@ -130,7 +130,7 @@ index 36410ff29d9c82e59f93fbb82968064bd330dfde..6c3f994e0b184f78bd9442002bb4dfae
|
||||
virtual void PassiveInsecureContentFound(const WebURL&) {}
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc b/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc
|
||||
index 8fded9303e74737d82ca6d54e00807ebabf6c1ac..c0b66eb9a62f8f75e3c4de43f467ddd09d8dc2d6 100644
|
||||
index 05d2b0b9610e0fce63baa4165cfa860aa55f7962..c7a89fe2e4ec62607cd38a1cd9a4e10918c4e183 100644
|
||||
--- a/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc
|
||||
+++ b/third_party/blink/renderer/core/editing/commands/clipboard_commands.cc
|
||||
@@ -123,7 +123,7 @@ bool ClipboardCommands::CanReadClipboard(LocalFrame& frame,
|
||||
@@ -142,7 +142,7 @@ index 8fded9303e74737d82ca6d54e00807ebabf6c1ac..c0b66eb9a62f8f75e3c4de43f467ddd0
|
||||
}
|
||||
|
||||
bool ClipboardCommands::CanWriteClipboard(LocalFrame& frame,
|
||||
@@ -312,7 +312,7 @@ bool ClipboardCommands::PasteSupported(LocalFrame* frame) {
|
||||
@@ -338,7 +338,7 @@ bool ClipboardCommands::PasteSupported(LocalFrame* frame) {
|
||||
return true;
|
||||
}
|
||||
return frame->GetContentSettingsClient() &&
|
||||
|
||||
@@ -23,7 +23,7 @@ additional headless changes from breaking macOS window behavior.
|
||||
https://chromium-review.googlesource.com/c/chromium/src/+/7487666
|
||||
|
||||
diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
|
||||
index 0c8fea71669aed9b00b202a7a66e1720c554a3fa..4ecd395acf6d3d3dcde766eb60da81a2a4f6006f 100644
|
||||
index e7959d485b894e7407187fb660c9186cc0c044a7..a9d90fc20549c9cb35a1a67a21ef97d7b96c9e47 100644
|
||||
--- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
|
||||
+++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
|
||||
@@ -241,6 +241,7 @@ @implementation NativeWidgetMacNSWindow {
|
||||
@@ -67,7 +67,7 @@ index 0c8fea71669aed9b00b202a7a66e1720c554a3fa..4ecd395acf6d3d3dcde766eb60da81a2
|
||||
return _headless_info.get();
|
||||
}
|
||||
diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
index 94ee727830545ff1576685722c0fd0dd215131cf..ba70aca429e33c12215dfd67d3855245855ae369 100644
|
||||
index 2fd9022f3924d5d47920efaea455b770affd79d2..25e70e294a43fe183051766d311883f920537740 100644
|
||||
--- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
+++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
@@ -559,7 +559,7 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
|
||||
@@ -94,10 +94,10 @@ index a41254c1f31654c1326b4bf1f29237bdf44bbe5a..8ca5673a225b69b5630383ed9673653b
|
||||
StateRestorationData? state_restoration_data;
|
||||
|
||||
diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.h b/ui/views/cocoa/native_widget_mac_ns_window_host.h
|
||||
index 7f0bf65efac90fb0d35e46a0a8171e05b7219348..90c58f77b94a65d2caa6348eb5b6ee92ec47fe84 100644
|
||||
index a7aa661f94df2a435de6727ca89b69e686b92887..16e6c4b02aca7f1c4f2e80340898262be3b23f87 100644
|
||||
--- a/ui/views/cocoa/native_widget_mac_ns_window_host.h
|
||||
+++ b/ui/views/cocoa/native_widget_mac_ns_window_host.h
|
||||
@@ -566,6 +566,7 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost
|
||||
@@ -567,6 +567,7 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost
|
||||
bool is_miniaturized_ = false;
|
||||
bool is_window_key_ = false;
|
||||
bool is_mouse_capture_active_ = false;
|
||||
@@ -106,7 +106,7 @@ index 7f0bf65efac90fb0d35e46a0a8171e05b7219348..90c58f77b94a65d2caa6348eb5b6ee92
|
||||
bool is_visible_on_all_workspaces_ = false;
|
||||
gfx::Rect window_bounds_before_fullscreen_;
|
||||
diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||
index a258b94a8122c74b6f98f4b88b710371291fcfe4..2bcee4b775a2a39fbbe3c070a5db608157158517 100644
|
||||
index 5f4d37702f25d3b05299562e56e764f3e4838a6a..a251e9df5677ec0889c6e85029910d8657d356bf 100644
|
||||
--- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||
+++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||
@@ -483,6 +483,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
|
||||
|
||||
@@ -11,10 +11,10 @@ enlarge window above dimensions set during creation of the
|
||||
BrowserWindow.
|
||||
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index 8dd1c0014544af50ce52cc849a739c05c961fefe..124f32d2e25dcbed21b8fcf2d7804f61b7eb4c87 100644
|
||||
index a0204561bff578ef4e588438801e7ff5a991672d..7f3e2a70be5e40cf6ba19149488353fa48d551ab 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -3886,17 +3886,30 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
|
||||
@@ -3888,17 +3888,30 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
|
||||
delegate_->GetMinMaxSize(&min_window_size, &max_window_size);
|
||||
min_window_size = delegate_->DIPToScreenSize(min_window_size);
|
||||
max_window_size = delegate_->DIPToScreenSize(max_window_size);
|
||||
|
||||
@@ -8,7 +8,7 @@ Check for broken links by confirming the file exists before setting its utime.
|
||||
This patch should be upstreamed & removed.
|
||||
|
||||
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
|
||||
index f570f5eca1c4302b399466fc24e125d4fd7059ef..5763e801255e09cefa7f74b8ebf8d11ec934aad5 100755
|
||||
index d4252ffa51409920e477f69f54efec4b46cd63c4..2623b4fef880923100724e91da4bc77b5784ba30 100755
|
||||
--- a/tools/clang/scripts/update.py
|
||||
+++ b/tools/clang/scripts/update.py
|
||||
@@ -201,10 +201,9 @@ def DownloadAndUnpack(url, output_dir, path_prefixes=None, is_known_zip=False):
|
||||
|
||||
@@ -0,0 +1,142 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Calvin Watford <cwatford@makenotion.com>
|
||||
Date: Sun, 12 Apr 2026 21:24:57 -0700
|
||||
Subject: fix: constrain AllowUniversalAccessFromFileURLs to file: origins in
|
||||
agent assignment
|
||||
|
||||
HasPotentialUniversalAccessPrivilege() was treating the
|
||||
AllowUniversalAccessFromFileURLs setting as unconditional, returning
|
||||
true for all origins regardless of scheme. This caused non-file origins
|
||||
(http://, https://, and custom schemes) to lose their browser-provided
|
||||
AgentClusterKey when the setting was enabled, overriding it with a
|
||||
universal file agent key and routing them to universal_access_agent_
|
||||
which carries no key.
|
||||
|
||||
Electron enables AllowUniversalAccessFromFileURLs in all renderers via
|
||||
the grant_file_protocol_extra_privileges fuse (on by default). After
|
||||
https://crrev.com/c/7079680 moved cross-origin isolation status to the
|
||||
renderer's per-context agent cluster key, this caused
|
||||
self.crossOriginIsolated to return false even with COOP + COEP headers
|
||||
correctly set on non-file origins.
|
||||
|
||||
The fix splits the single has_potential_universal_access_privilege
|
||||
boolean in WindowAgentFactory::GetAgentForAgentClusterKey() into two
|
||||
separate parameters:
|
||||
|
||||
- web_security_disabled: applies to all origins when web security is
|
||||
off (--disable-web-security, --run-web-tests).
|
||||
- allow_universal_access_from_file_urls: only takes effect for file:
|
||||
scheme origins (those with IsUniversalFileAgent() agent cluster
|
||||
keys), preserving their existing routing to universal_access_agent_.
|
||||
|
||||
This aligns the agent assignment logic with the origin privilege
|
||||
granting code in the same file (DocumentLoader::CalculateOrigin), which
|
||||
already correctly gates AllowUniversalAccessFromFileURLs behind
|
||||
origin->IsLocal().
|
||||
|
||||
This patch should be upstreamed, with updates to surrounding doc
|
||||
comments + tests.
|
||||
|
||||
Upstream CL: https://chromium-review.googlesource.com/c/chromium/src/+/7795303
|
||||
Chromium bug: https://crbug.com/505299810
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/window_agent_factory.cc b/third_party/blink/renderer/core/execution_context/window_agent_factory.cc
|
||||
index 86ce2d493dc833dd1601787fc042b8a4a612fc2e..b9bd1f459f240401d7a6b0bce03cf82b6b54e9fc 100644
|
||||
--- a/third_party/blink/renderer/core/execution_context/window_agent_factory.cc
|
||||
+++ b/third_party/blink/renderer/core/execution_context/window_agent_factory.cc
|
||||
@@ -20,19 +20,27 @@ WindowAgentFactory::WindowAgentFactory(
|
||||
AgentGroupScheduler& agent_group_scheduler)
|
||||
: agent_group_scheduler_(agent_group_scheduler) {}
|
||||
|
||||
+WindowAgent* WindowAgentFactory::GetOrCreateUniversalAccessAgent() {
|
||||
+ if (!universal_access_agent_) {
|
||||
+ universal_access_agent_ =
|
||||
+ MakeGarbageCollected<WindowAgent>(*agent_group_scheduler_);
|
||||
+ }
|
||||
+ return universal_access_agent_.Get();
|
||||
+}
|
||||
+
|
||||
WindowAgent* WindowAgentFactory::GetAgentForAgentClusterKey(
|
||||
- bool has_potential_universal_access_privilege,
|
||||
+ bool is_web_security_disabled,
|
||||
+ bool allow_universal_access_from_file_urls,
|
||||
const AgentClusterKey& agent_cluster_key) {
|
||||
- if (has_potential_universal_access_privilege) {
|
||||
- if (!universal_access_agent_) {
|
||||
- universal_access_agent_ =
|
||||
- MakeGarbageCollected<WindowAgent>(*agent_group_scheduler_);
|
||||
- }
|
||||
- return universal_access_agent_.Get();
|
||||
+ if (is_web_security_disabled) {
|
||||
+ return GetOrCreateUniversalAccessAgent();
|
||||
}
|
||||
|
||||
// For `file:` scheme origins.
|
||||
if (agent_cluster_key.IsUniversalFileAgent()) {
|
||||
+ if (allow_universal_access_from_file_urls) {
|
||||
+ return GetOrCreateUniversalAccessAgent();
|
||||
+ }
|
||||
if (!file_url_agent_) {
|
||||
file_url_agent_ = MakeGarbageCollected<WindowAgent>(
|
||||
*agent_group_scheduler_, agent_cluster_key);
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/window_agent_factory.h b/third_party/blink/renderer/core/execution_context/window_agent_factory.h
|
||||
index b5464975a3c365a29e342b0dd57a8a73a311924a..72ebd275330e61a8abebfe6d2c06f42544a83bec 100644
|
||||
--- a/third_party/blink/renderer/core/execution_context/window_agent_factory.h
|
||||
+++ b/third_party/blink/renderer/core/execution_context/window_agent_factory.h
|
||||
@@ -40,12 +40,15 @@ class WindowAgentFactory final : public GarbageCollected<WindowAgentFactory> {
|
||||
// * --run-web-tests is set,
|
||||
// * or, the Blink instance is running for Android WebView.
|
||||
WindowAgent* GetAgentForAgentClusterKey(
|
||||
- bool has_potential_universal_access_privilege,
|
||||
+ bool is_web_security_disabled,
|
||||
+ bool allow_universal_access_from_file_urls,
|
||||
const AgentClusterKey& agent_cluster_key);
|
||||
|
||||
void Trace(Visitor*) const;
|
||||
|
||||
private:
|
||||
+ WindowAgent* GetOrCreateUniversalAccessAgent();
|
||||
+
|
||||
// Use a shared instance of Agent for all frames if a frame may have the
|
||||
// universal access privilege.
|
||||
WeakMember<WindowAgent> universal_access_agent_;
|
||||
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
index 2344e1d62f4a2d7fdf139b64b6c71ede1e3094ce..f79f870408a71e107933219f30ea6dc3afaa8716 100644
|
||||
--- a/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
@@ -2600,22 +2600,16 @@ bool ShouldReuseDOMWindow(LocalDOMWindow* window,
|
||||
return *window_coi_key == *navigation_coi_key;
|
||||
}
|
||||
|
||||
-namespace {
|
||||
-
|
||||
-bool HasPotentialUniversalAccessPrivilege(LocalFrame* frame) {
|
||||
- return !frame->GetSettings()->GetWebSecurityEnabled() ||
|
||||
- frame->GetSettings()->GetAllowUniversalAccessFromFileURLs();
|
||||
-}
|
||||
-
|
||||
-} // namespace
|
||||
-
|
||||
WindowAgent* GetWindowAgentForAgentClusterKey(
|
||||
LocalFrame* frame,
|
||||
const AgentClusterKey& agent_cluster_key) {
|
||||
// TODO(keishi): Also check if AllowUniversalAccessFromFileURLs might
|
||||
// dynamically change.
|
||||
+ Settings* settings = frame->GetSettings();
|
||||
return frame->window_agent_factory().GetAgentForAgentClusterKey(
|
||||
- HasPotentialUniversalAccessPrivilege(frame), agent_cluster_key);
|
||||
+ /*is_web_security_disabled=*/!settings->GetWebSecurityEnabled(),
|
||||
+ /*allow_universal_access_from_file_urls=*/
|
||||
+ settings->GetAllowUniversalAccessFromFileURLs(), agent_cluster_key);
|
||||
}
|
||||
|
||||
// Inheriting cases use their agent's AgentClusterKey value, which is set
|
||||
@@ -2716,7 +2710,7 @@ void DocumentLoader::InitializeWindow(Document* owner_document) {
|
||||
// WindowAgentFactory::GetAgentForOrigin(), as the two conditions below hand
|
||||
// out universal WindowAgent objects, and thus override the AgentClusterKey
|
||||
// provided by the browser process.
|
||||
- } else if (HasPotentialUniversalAccessPrivilege(frame_.Get()) ||
|
||||
+ } else if (!frame_->GetSettings()->GetWebSecurityEnabled() ||
|
||||
security_origin->IsLocal()) {
|
||||
// In this case we either have AllowUniversalAccessFromFileURLs enabled, or
|
||||
// WebSecurity is disabled, or it's a local scheme such as file://; any of
|
||||
@@ -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 6eb61524c22e9fd60ebfd9cf6484622ed3ab28d4..62b5787e4bc3a9932125950b10ae6d3d0722a70c 100644
|
||||
index d0abcdb3dcc4081be58d9e61966c5a2f6fde117f..579fbfdbfea74b197b07dbe79f39d3ad050b1f4f 100644
|
||||
--- a/content/browser/renderer_host/navigation_request.cc
|
||||
+++ b/content/browser/renderer_host/navigation_request.cc
|
||||
@@ -11958,6 +11958,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
|
||||
@@ -11842,6 +11842,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
|
||||
target_rph_id);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ is currently bugged on these elements. This patch fixes that.
|
||||
2. Space now adds a space after accepting the replacement.
|
||||
|
||||
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
index 38159d146cdf71f84611d58e2983418a1a365911..c256a5a98cd93bdcf69190ee3ae083b8a6daedc4 100644
|
||||
index 5310b9905ad76154ff7c5f5fca48d63fe0d1136c..b78a87e2c39a08614e1bb863bf490c605f31d818 100644
|
||||
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
@@ -532,6 +532,13 @@ - (void)didAcceptReplacementString:(NSString*)acceptedString
|
||||
|
||||
@@ -83,10 +83,10 @@ index 525e6f03bc7699d43dc0a2e63b4ce02fcb35e74b..c88b53e1e5c090f03d834f2dd21ad20f
|
||||
|
||||
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 562ff4ad0a37279baf6392e14a46d950cd3ff8ae..e7c60d83c59a499e36a69588a10ffebcdd17e7d6 100644
|
||||
index 15b35792469aca29900025733fbcc9d62d7d1d62..1fe989a3191e491de89d654023911bd72bf6ff3f 100644
|
||||
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
@@ -449,11 +449,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
||||
@@ -450,11 +450,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
||||
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
|
||||
@@ -13,10 +13,10 @@ messages in the legacy window handle layer.
|
||||
These conditions are regularly hit with WCO-enabled windows on Windows.
|
||||
|
||||
diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.cc b/content/browser/renderer_host/legacy_render_widget_host_win.cc
|
||||
index d2c43cece0e1620462ed12fd194d0a51969451ea..241121fa9b64a4102fd6ce8a29e0a64308701dc9 100644
|
||||
index 6b4ce6055d835139fafa8bbdd54773c6126c1af5..faf098383962a905794b86d1a17d25256fe94d4e 100644
|
||||
--- a/content/browser/renderer_host/legacy_render_widget_host_win.cc
|
||||
+++ b/content/browser/renderer_host/legacy_render_widget_host_win.cc
|
||||
@@ -387,12 +387,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnKeyboardRange(UINT message,
|
||||
@@ -389,12 +389,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnKeyboardRange(UINT message,
|
||||
LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
|
||||
WPARAM w_param,
|
||||
LPARAM l_param) {
|
||||
@@ -31,7 +31,7 @@ index d2c43cece0e1620462ed12fd194d0a51969451ea..241121fa9b64a4102fd6ce8a29e0a643
|
||||
tme.hwndTrack = hwnd();
|
||||
tme.dwHoverTime = 0;
|
||||
TrackMouseEvent(&tme);
|
||||
@@ -431,7 +431,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
|
||||
@@ -433,7 +433,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
|
||||
// the picture.
|
||||
if (!msg_handled &&
|
||||
(message >= WM_NCMOUSEMOVE && message <= WM_NCXBUTTONDBLCLK)) {
|
||||
|
||||
@@ -87,10 +87,10 @@ index a4768b51dae6817c9e9a467e9b16e827e0bfebda..83c42b5062aa8193fe2f56e407abe67d
|
||||
// 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 db97c490b1979916b7c32175e1f50f463a5e7722..70878c0ca05a21299c6a0e2e08e894431b1747c1 100644
|
||||
index 341b0e45af39357af676ce3c3775462e6192b857..44b91605948b989b500b16902c3eb22437af68ce 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -10469,7 +10469,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||
@@ -10478,7 +10478,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||
"WebContentsImpl::OnFocusedElementChangedInFrame",
|
||||
"render_frame_host", frame);
|
||||
RenderWidgetHostViewBase* root_view =
|
||||
|
||||
@@ -18,7 +18,7 @@ or resizing, but Electron does not seem to run into that issue
|
||||
for opaque frameless windows even with that block commented out.
|
||||
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index def5dcb3aad50a35e45e6fe2f21986b476f7ed35..05aabcb8b8342c671a98dbbfa9b7c14f6110b038 100644
|
||||
index 826f5d17b523cac3ccc49425a330759770ac06ed..e66f269cb6aa77ae3fcff5bc106773122f5a6744 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -1868,7 +1868,23 @@ LRESULT HWNDMessageHandler::OnCreate(CREATESTRUCT* create_struct) {
|
||||
|
||||
@@ -36,7 +36,7 @@ index 27322ef34edf3fa8bfbd20b1baddcaf3b7555618..b8d1fa863fd05ebc3ab8ac5ef8c4d813
|
||||
// Overridden from DesktopWindowTreeHost:
|
||||
void Init(const Widget::InitParams& params) override;
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index 05aabcb8b8342c671a98dbbfa9b7c14f6110b038..e2b682dc61e58b982fb7bc13cb03b375339d051d 100644
|
||||
index e66f269cb6aa77ae3fcff5bc106773122f5a6744..03ed37bf6ca88e1615d876453f0b12072467b446 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -994,13 +994,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
|
||||
@@ -89,7 +89,7 @@ index 05aabcb8b8342c671a98dbbfa9b7c14f6110b038..e2b682dc61e58b982fb7bc13cb03b375
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2455,17 +2467,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
|
||||
@@ -2457,17 +2469,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
|
||||
delegate_->SchedulePaint();
|
||||
}
|
||||
|
||||
|
||||
@@ -11,10 +11,10 @@ This patch should be upstreamed as a conditional revert of the logic in desktop
|
||||
vs mobile runtimes. i.e. restore the old logic only on desktop platforms
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index c71887ba0658c98b7a3cf80064efb65f778ff426..ddafdbe57d3ba8f178f8a193a4ae1b59d1b47edf 100644
|
||||
index d6b134d37a260b578ea5cacf65c829825635c570..3a08cff7683fcd842a87e78ff132cc9da3be2038 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -2165,9 +2165,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
|
||||
@@ -2173,9 +2173,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
|
||||
void RenderWidgetHostImpl::NotifyScreenInfoChanged() {
|
||||
// The resize message (which may not happen immediately) will carry with it
|
||||
// the screen info as well as the new size (if the screen has changed scale
|
||||
|
||||
@@ -92,10 +92,10 @@ index dffb6f5850bf0f29eb1aaa3e7d24782dea8e4bdd..70493394ff5e262f975535fc293b1d26
|
||||
mojom::blink::WantResultOption,
|
||||
mojom::blink::PromiseResultOption);
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
|
||||
index 72a0bd2cff84fabe6d898f283d803ab03d5dc53c..ba3f447ab19ca1a2f16d406d09d11317bb25d85a 100644
|
||||
index 1767cf5698b0285c89e6ff35789a2d0016eebb36..b93899dce68c802daf2be7f35edce18c4aae22ab 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
|
||||
@@ -978,6 +978,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(
|
||||
@@ -974,6 +974,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(
|
||||
std::move(callback).Run(value ? std::move(*value) : base::Value());
|
||||
},
|
||||
std::move(callback)),
|
||||
@@ -223,7 +223,7 @@ index dfa6cc173bd4618d851a9101d300ca2d6205537d..312fd047e4fa531735fe935df289b978
|
||||
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 984ae2db198eee2241175446ab272502efdd222d..32963f9a2e3436b6794c832dfbc53b8faac6a02e 100644
|
||||
index 779b90b9f5c6f96cdc1cfd4226858733d70f05c1..453afd51cf1f27d18e0f42b833f8e982ded388a9 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
|
||||
@@ -1129,14 +1129,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: fix: select the first menu item when opened via keyboard
|
||||
This fixes an accessibility issue where the root view is 'focused' to the screen reader instead of the first menu item as with all other native menus. This patch will be upstreamed.
|
||||
|
||||
diff --git a/ui/views/controls/menu/menu_controller.cc b/ui/views/controls/menu/menu_controller.cc
|
||||
index 63f140c698fb1e5ba1f93c24bfe19bc3f87cec19..ea1824d09b37f6404985ffb048ce196ad5811507 100644
|
||||
index 532edde92c72df424a8898594c9ec195bf7575b3..e76b39f12dca4941631a6ff97904dab1bfb6f604 100644
|
||||
--- a/ui/views/controls/menu/menu_controller.cc
|
||||
+++ b/ui/views/controls/menu/menu_controller.cc
|
||||
@@ -724,6 +724,16 @@ void MenuController::Run(Widget* parent,
|
||||
@@ -26,7 +26,7 @@ index 63f140c698fb1e5ba1f93c24bfe19bc3f87cec19..ea1824d09b37f6404985ffb048ce196a
|
||||
if (button_controller) {
|
||||
pressed_lock_ = button_controller->TakeLock(
|
||||
false, ui::LocatedEvent::FromIfValid(event));
|
||||
@@ -2535,18 +2545,15 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) {
|
||||
@@ -2529,18 +2539,15 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) {
|
||||
}
|
||||
item->GetSubmenu()->ShowAt(params);
|
||||
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Om Ghante <omghante@users.noreply.github.com>
|
||||
Date: Tue, 21 Apr 2026 23:30:00 +0530
|
||||
Subject: fix: add ShouldUseBundledFrontendResources delegate for remote
|
||||
debugging
|
||||
|
||||
Adds a new `ShouldUseBundledFrontendResources()` virtual method to
|
||||
`DevToolsManagerDelegate` that embedders can override to control whether
|
||||
the bundled DevTools frontend URL is used in the `/json` response,
|
||||
regardless of `CHROMIUM_GIT_REVISION`.
|
||||
|
||||
This is needed because embedders like Electron ship bundled frontend
|
||||
resources, but the remote frontend on the CDN may not be available for
|
||||
their custom Chromium revisions or may expire before their extended
|
||||
release cycles end.
|
||||
|
||||
Without this, `GetFrontendURLInternal()` generates a
|
||||
`devtoolsFrontendUrl` pointing to
|
||||
`chrome-devtools-frontend.appspot.com`, which returns 404 for
|
||||
embedder-specific Chromium builds, causing Chrome's `chrome://inspect`
|
||||
page to show an empty DevTools window.
|
||||
|
||||
The default implementation returns `false` to preserve existing
|
||||
behavior for Chrome and other embedders.
|
||||
|
||||
Fixes: https://github.com/electron/electron/issues/51035
|
||||
|
||||
diff --git a/content/browser/devtools/devtools_http_handler.cc b/content/browser/devtools/devtools_http_handler.cc
|
||||
index fbfe1abebb19119387d55a1296aba5fd1ca7d99b..2c2d263bc026a0b63010498fb02d9bb897852bc8 100644
|
||||
--- a/content/browser/devtools/devtools_http_handler.cc
|
||||
+++ b/content/browser/devtools/devtools_http_handler.cc
|
||||
@@ -544,7 +544,8 @@ std::string DevToolsHttpHandler::GetFrontendURLInternal(
|
||||
const std::string& host) {
|
||||
std::string frontend_url;
|
||||
const std::string git_revision = CHROMIUM_GIT_REVISION;
|
||||
- if (git_revision == kMissingGitRevision &&
|
||||
+ if ((git_revision == kMissingGitRevision ||
|
||||
+ delegate_->ShouldUseBundledFrontendResources()) &&
|
||||
delegate_->HasBundledFrontendResources()) {
|
||||
frontend_url = "/devtools/inspector.html";
|
||||
} else {
|
||||
diff --git a/content/public/browser/devtools_manager_delegate.cc b/content/public/browser/devtools_manager_delegate.cc
|
||||
index 748e96014ce6144b38a8452774d520503721e59e..7cdeab0c1de9c6bbd400afd434b1603318af0c2e 100644
|
||||
--- a/content/public/browser/devtools_manager_delegate.cc
|
||||
+++ b/content/public/browser/devtools_manager_delegate.cc
|
||||
@@ -111,6 +111,10 @@ bool DevToolsManagerDelegate::HasBundledFrontendResources() {
|
||||
return false;
|
||||
}
|
||||
|
||||
+bool DevToolsManagerDelegate::ShouldUseBundledFrontendResources() {
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
bool DevToolsManagerDelegate::IsBrowserTargetDiscoverable() {
|
||||
return false;
|
||||
}
|
||||
diff --git a/content/public/browser/devtools_manager_delegate.h b/content/public/browser/devtools_manager_delegate.h
|
||||
index 1a053f63d3f2c16dd24a59537d5f381f55eb1ae7..78f8d70e0e8b56cc5a2d9f28e33d78e6a161aecc 100644
|
||||
--- a/content/public/browser/devtools_manager_delegate.h
|
||||
+++ b/content/public/browser/devtools_manager_delegate.h
|
||||
@@ -151,6 +151,13 @@ class CONTENT_EXPORT DevToolsManagerDelegate {
|
||||
// Returns whether frontend resources are bundled within the binary.
|
||||
virtual bool HasBundledFrontendResources();
|
||||
|
||||
+ // Returns whether the bundled frontend resources should be preferred over
|
||||
+ // the remote frontend served from the CDN. Embedders that ship bundled
|
||||
+ // frontend resources and whose Chromium revisions may not be available on
|
||||
+ // the CDN (or may expire before their release cycle ends) should override
|
||||
+ // this to return true.
|
||||
+ virtual bool ShouldUseBundledFrontendResources();
|
||||
+
|
||||
// Makes browser target easily discoverable for remote debugging.
|
||||
// This should only return true when remote debugging endpoint is not
|
||||
// accessible by the web (for example in Chrome for Android where it is
|
||||
@@ -20,10 +20,10 @@ index 9e1cfd02a369d865d24aa95d28b2597eec9dc614..63bd6220e49e933fca9258e1c01ab5c2
|
||||
}
|
||||
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index 9d164c9386fe1906216db656e3972ef5dc50c583..8305651861ad5978cc91763da8b99da2c07adfd5 100644
|
||||
index 0a4bc1855d2c59d9993c17f5de99c81f4f0d24e5..5b466f6cdf75a7cd4a5356b5859143c305488464 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -349,6 +349,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -350,6 +350,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
|
||||
virtual ~ContentBrowserClient() = default;
|
||||
|
||||
|
||||
@@ -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 d97cd9f349477ffaed02073948f4d93c9b10a49a..21be21d0bd82ccfcf79007d6ad58a0f89d7fa193 100644
|
||||
index 0d16ddff3ee6807fa8644e8c60e714471ad0d743..69e0f3b808d402eebfb9c189b13ec99dbad02bf5 100644
|
||||
--- a/tools/gritsettings/resource_ids.spec
|
||||
+++ b/tools/gritsettings/resource_ids.spec
|
||||
@@ -1709,6 +1709,11 @@
|
||||
@@ -1725,6 +1725,11 @@
|
||||
"includes": [12000],
|
||||
},
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ system font by checking if it's kCTFontPriorityAttribute is set to
|
||||
system priority.
|
||||
|
||||
diff --git a/base/BUILD.gn b/base/BUILD.gn
|
||||
index b6eda46513f34c3000c53eff9cee40f587483054..36590c346e64a55ee07e25e8cc1939eb12ca3c82 100644
|
||||
index ee3e6b431434cca3917887019ab39751af14555d..e1ab1700ce6fa2a134e632bcb26ed3e54ef2e9f2 100644
|
||||
--- a/base/BUILD.gn
|
||||
+++ b/base/BUILD.gn
|
||||
@@ -1124,6 +1124,7 @@ component("base") {
|
||||
@@ -640,7 +640,7 @@ index 48f47bf3eeb8464d1c3925f0f73f62c790cac2f0..b7b2b7c1b7e99927012ce1676cc753b2
|
||||
// The NSWindow used by BridgedNativeWidget. Provides hooks into AppKit that
|
||||
// can only be accomplished by overriding methods.
|
||||
diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
|
||||
index 5a74b954579ca65550d5bd4e9c83712c5d516cd1..0c8fea71669aed9b00b202a7a66e1720c554a3fa 100644
|
||||
index a293573bc4740782fc1bbda8180fa6700016d77e..e7959d485b894e7407187fb660c9186cc0c044a7 100644
|
||||
--- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
|
||||
+++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
|
||||
@@ -23,6 +23,7 @@
|
||||
@@ -811,7 +811,7 @@ index 5a74b954579ca65550d5bd4e9c83712c5d516cd1..0c8fea71669aed9b00b202a7a66e1720
|
||||
|
||||
- (NSWindow*)rootWindow {
|
||||
diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
index d58c5eff9f8fbca96d0912ab9a19d06974fd8016..94ee727830545ff1576685722c0fd0dd215131cf 100644
|
||||
index 07e0b72bb9807d21f6ef8597b0b6422d30f01003..2fd9022f3924d5d47920efaea455b770affd79d2 100644
|
||||
--- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
+++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
@@ -42,6 +42,7 @@
|
||||
@@ -869,10 +869,10 @@ index d58c5eff9f8fbca96d0912ab9a19d06974fd8016..94ee727830545ff1576685722c0fd0dd
|
||||
|
||||
void NativeWidgetNSWindowBridge::SetColorMode(
|
||||
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
|
||||
index 86c7e67902a7e9c0f90c4d10ebabfef2f53c1ec4..c1be2f1a8dc4d834ffa2e5944f7dd2753740a4c6 100644
|
||||
index 1001fc872ae76c80c285a00f96a43c12910937cc..44072bd19a908aa0604e440e89c303cd8044f342 100644
|
||||
--- a/components/viz/service/BUILD.gn
|
||||
+++ b/components/viz/service/BUILD.gn
|
||||
@@ -393,6 +393,7 @@ viz_component("service") {
|
||||
@@ -395,6 +395,7 @@ viz_component("service") {
|
||||
"frame_sinks/external_begin_frame_source_mojo_mac.h",
|
||||
]
|
||||
}
|
||||
@@ -880,7 +880,7 @@ index 86c7e67902a7e9c0f90c4d10ebabfef2f53c1ec4..c1be2f1a8dc4d834ffa2e5944f7dd275
|
||||
}
|
||||
|
||||
if (is_ios) {
|
||||
@@ -738,6 +739,7 @@ viz_source_set("unit_tests") {
|
||||
@@ -740,6 +741,7 @@ viz_source_set("unit_tests") {
|
||||
"display_embedder/software_output_device_mac_unittest.mm",
|
||||
]
|
||||
frameworks = [ "IOSurface.framework" ]
|
||||
@@ -940,7 +940,7 @@ index 010c713090e5038dc90db131c8f621422d30c03b..20c35e887a0496ee609c077e3b0494bd
|
||||
|
||||
void ForwardKeyboardEvent(const input::NativeWebKeyboardEvent& key_event,
|
||||
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
index 664e12c07204feeb5be16581fe51e8adc4b898dd..38159d146cdf71f84611d58e2983418a1a365911 100644
|
||||
index 989b11c5b67343fbb03bb849e1b3febd6167a00e..5310b9905ad76154ff7c5f5fca48d63fe0d1136c 100644
|
||||
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
@@ -33,6 +33,7 @@
|
||||
@@ -951,7 +951,7 @@ index 664e12c07204feeb5be16581fe51e8adc4b898dd..38159d146cdf71f84611d58e2983418a
|
||||
#include "skia/ext/skia_utils_mac.h"
|
||||
#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/public/mojom/input/input_handler.mojom.h"
|
||||
@@ -2233,15 +2234,21 @@ - (NSAccessibilityRole)accessibilityRole {
|
||||
@@ -2258,15 +2259,21 @@ - (NSAccessibilityRole)accessibilityRole {
|
||||
// Since this implementation doesn't have to wait any IPC calls, this doesn't
|
||||
// make any key-typing jank. --hbono 7/23/09
|
||||
//
|
||||
@@ -986,7 +986,7 @@ index 65f4f7cb0162257b5223f324acdf6fcb0c295c27..908fff2acf576f925b9309e3b024c150
|
||||
|
||||
public_deps = [
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h
|
||||
index 4cecf7a28fbf85f6e4ed2290b872b5d3e8e0c008..d49abe8b6a867407ef5442a4e45efc18e75cd7ce 100644
|
||||
index 2575ac6b4211b43447a39f9ce89077182ef0cf54..1bce550e07780196b7606545cac1e9ae7cf0f563 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.h
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.h
|
||||
@@ -25,6 +25,7 @@
|
||||
@@ -1007,7 +1007,7 @@ index 4cecf7a28fbf85f6e4ed2290b872b5d3e8e0c008..d49abe8b6a867407ef5442a4e45efc18
|
||||
@class RenderWidgetHostViewCocoa;
|
||||
|
||||
namespace content {
|
||||
@@ -681,9 +684,11 @@ class CONTENT_EXPORT RenderWidgetHostViewMac
|
||||
@@ -682,9 +685,11 @@ class CONTENT_EXPORT RenderWidgetHostViewMac
|
||||
// EnsureSurfaceSynchronizedForWebTest().
|
||||
uint32_t latest_capture_sequence_number_ = 0u;
|
||||
|
||||
@@ -1020,10 +1020,10 @@ index 4cecf7a28fbf85f6e4ed2290b872b5d3e8e0c008..d49abe8b6a867407ef5442a4e45efc18
|
||||
// Used to force the NSApplication's focused accessibility element to be the
|
||||
// content::BrowserAccessibilityCocoa accessibility tree when the NSView for
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
index 6eab22fa2589038c402fe4bf0a54e42fda5eb1dd..6e5c03522683f1c19d4b9c9e65c1f4716b9c3f49 100644
|
||||
index 4ef475fb46fb12bc9f4dd8b17ab44568084932e4..a8c01d4ac0e60fc7427191d51ab51c42d9e5f1c2 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
@@ -53,6 +53,7 @@
|
||||
@@ -54,6 +54,7 @@
|
||||
#include "content/public/browser/render_widget_host.h"
|
||||
#include "content/public/browser/web_contents.h"
|
||||
#include "content/public/common/page_visibility_state.h"
|
||||
@@ -1031,7 +1031,7 @@ index 6eab22fa2589038c402fe4bf0a54e42fda5eb1dd..6e5c03522683f1c19d4b9c9e65c1f471
|
||||
#include "media/base/media_switches.h"
|
||||
#include "skia/ext/platform_canvas.h"
|
||||
#include "skia/ext/skia_utils_mac.h"
|
||||
@@ -292,8 +293,10 @@
|
||||
@@ -291,8 +292,10 @@
|
||||
void RenderWidgetHostViewMac::MigrateNSViewBridge(
|
||||
remote_cocoa::mojom::Application* remote_cocoa_application,
|
||||
uint64_t parent_ns_view_id) {
|
||||
@@ -1042,7 +1042,7 @@ index 6eab22fa2589038c402fe4bf0a54e42fda5eb1dd..6e5c03522683f1c19d4b9c9e65c1f471
|
||||
|
||||
// Reset `ns_view_` before resetting `remote_ns_view_` to avoid dangling
|
||||
// pointers. `ns_view_` gets reinitialized later in this method.
|
||||
@@ -1721,10 +1724,12 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
@@ -1720,10 +1723,12 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
|
||||
gfx::NativeViewAccessible
|
||||
RenderWidgetHostViewMac::AccessibilityGetNativeViewAccessibleForWindow() {
|
||||
@@ -1055,7 +1055,7 @@ index 6eab22fa2589038c402fe4bf0a54e42fda5eb1dd..6e5c03522683f1c19d4b9c9e65c1f471
|
||||
return gfx::NativeViewAccessible([GetInProcessNSView() window]);
|
||||
}
|
||||
|
||||
@@ -1776,9 +1781,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
@@ -1775,9 +1780,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
}
|
||||
|
||||
void RenderWidgetHostViewMac::SetAccessibilityWindow(NSWindow* window) {
|
||||
@@ -1067,7 +1067,7 @@ index 6eab22fa2589038c402fe4bf0a54e42fda5eb1dd..6e5c03522683f1c19d4b9c9e65c1f471
|
||||
}
|
||||
|
||||
bool RenderWidgetHostViewMac::SyncIsWidgetForMainFrame(
|
||||
@@ -2308,20 +2315,26 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
@@ -2312,20 +2319,26 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
void RenderWidgetHostViewMac::GetRenderWidgetAccessibilityToken(
|
||||
GetRenderWidgetAccessibilityTokenCallback callback) {
|
||||
base::ProcessId pid = getpid();
|
||||
@@ -1107,10 +1107,10 @@ index 6294792999d1653b73c695ebfddda0f8a45d82c9..da6be02dcff5d956e69fa356ec6dea65
|
||||
|
||||
defines = []
|
||||
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn
|
||||
index f41d1a0ca0f0bfa2c817ec2571c996622ce68240..63ca31dc0d9e0daf971c7dbd85ac1c1982eeec91 100644
|
||||
index a99405158fbecc5e08b334c4e40f40f51e92b2d9..f35b1a1a6c9c3a28573fee901652a55b82756cfd 100644
|
||||
--- a/content/renderer/BUILD.gn
|
||||
+++ b/content/renderer/BUILD.gn
|
||||
@@ -324,6 +324,7 @@ target(link_target_type, "renderer") {
|
||||
@@ -322,6 +322,7 @@ target(link_target_type, "renderer") {
|
||||
"//ui/strings:auto_image_annotation_strings_grit",
|
||||
"//url",
|
||||
"//v8",
|
||||
@@ -1308,18 +1308,18 @@ index 03a74b7d29f12be3a5d208b43beaa13f47a8e4a6..d36254ca28c1a3a4ef2b15cfbb327212
|
||||
if (is_ios) {
|
||||
sources += [ "image_transport_surface_ios.mm" ]
|
||||
diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.h b/gpu/ipc/service/image_transport_surface_overlay_mac.h
|
||||
index c2fd68d54df18eb544f9167870054aabbcc91623..915536753b3f3f61f370eee233c579cd14e4c19c 100644
|
||||
index 8b680a115718c94c9b8d7027594ac953daf201d7..20a973c240973f2fb2e782209e75da8799d90851 100644
|
||||
--- a/gpu/ipc/service/image_transport_surface_overlay_mac.h
|
||||
+++ b/gpu/ipc/service/image_transport_surface_overlay_mac.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <vector>
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#include "base/memory/weak_ptr.h"
|
||||
#include "base/power_monitor/power_observer.h"
|
||||
+#include "electron/mas.h"
|
||||
#include "gpu/ipc/service/command_buffer_stub.h"
|
||||
#include "gpu/ipc/service/image_transport_surface.h"
|
||||
#include "ui/gfx/ca_layer_result.h"
|
||||
@@ -27,7 +28,9 @@
|
||||
@@ -28,7 +29,9 @@
|
||||
#include <BrowserEngineKit/BrowserEngineKit.h>
|
||||
#endif
|
||||
|
||||
@@ -1342,7 +1342,7 @@ index 2939a4183785608041041642ee81287d0fbd605d..89081a4d8e1dedbe8d45a824c5823601
|
||||
|
||||
if (is_ios) {
|
||||
diff --git a/media/audio/apple/audio_low_latency_input.cc b/media/audio/apple/audio_low_latency_input.cc
|
||||
index 75178516b53665c82195f795c5e4498c588e51c9..10e453a18813d3078dc4f01ab040acc66bf12bec 100644
|
||||
index 02ddb6aedb21d85dfb7de91944198c291399063e..adb9c6165f52162b8fd84792c6b710034e263c4a 100644
|
||||
--- a/media/audio/apple/audio_low_latency_input.cc
|
||||
+++ b/media/audio/apple/audio_low_latency_input.cc
|
||||
@@ -26,6 +26,7 @@
|
||||
@@ -1974,7 +1974,7 @@ index 8542a74f1b0e90cd32c0220ef2e82c7763b1ee97..52c989796a2251b52615a04028fece39
|
||||
// The root CALayer to display the current frame. This does not change
|
||||
// over the lifetime of the object.
|
||||
diff --git a/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm b/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm
|
||||
index 3195cdaa3ff8310d01b37ceaedff9118cf8dbf22..4b086551497a2fcc6eef4c69f0ea5982b2ea0629 100644
|
||||
index 00de2fe5bcc1bf45296f186d16b69ecf4215226c..9866fc255ebbe770928fcf9c3e694642b6629925 100644
|
||||
--- a/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm
|
||||
+++ b/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm
|
||||
@@ -10,6 +10,7 @@
|
||||
@@ -2002,9 +2002,9 @@ index 3195cdaa3ff8310d01b37ceaedff9118cf8dbf22..4b086551497a2fcc6eef4c69f0ea5982
|
||||
|
||||
CALayerTreeCoordinator::~CALayerTreeCoordinator() = default;
|
||||
@@ -209,9 +212,13 @@
|
||||
TRACE_EVENT_INSTANT2("test_gpu", "SwapBuffers", TRACE_EVENT_SCOPE_THREAD,
|
||||
"GLImpl", static_cast<int>(gl::GetGLImplementation()),
|
||||
"width", pixel_size_.width());
|
||||
TRACE_EVENT_INSTANT("test_gpu", "SwapBuffers", "GLImpl",
|
||||
static_cast<int>(gl::GetGLImplementation()), "width",
|
||||
pixel_size_.width());
|
||||
+#if !IS_MAS_BUILD()
|
||||
if (allow_remote_layers_) {
|
||||
params.ca_context_id = [ca_context_ contextId];
|
||||
@@ -2016,7 +2016,7 @@ index 3195cdaa3ff8310d01b37ceaedff9118cf8dbf22..4b086551497a2fcc6eef4c69f0ea5982
|
||||
if (io_surface) {
|
||||
DCHECK(!allow_remote_layers_);
|
||||
diff --git a/ui/accelerated_widget_mac/display_ca_layer_tree.mm b/ui/accelerated_widget_mac/display_ca_layer_tree.mm
|
||||
index dcf493d62990018040a3f84b6f875af737bd2214..3d1c4dcc9ee0bbfdac15f40d9c74e9f342a59e39 100644
|
||||
index 862094f2f03a18b22bdfd5095731614fec6da795..8bb9f07b885919caceaf3bec2494375bb41d4d41 100644
|
||||
--- a/ui/accelerated_widget_mac/display_ca_layer_tree.mm
|
||||
+++ b/ui/accelerated_widget_mac/display_ca_layer_tree.mm
|
||||
@@ -12,6 +12,7 @@
|
||||
@@ -2027,7 +2027,7 @@ index dcf493d62990018040a3f84b6f875af737bd2214..3d1c4dcc9ee0bbfdac15f40d9c74e9f3
|
||||
#include "ui/base/cocoa/animation_utils.h"
|
||||
#include "ui/base/cocoa/remote_layer_api.h"
|
||||
#include "ui/gfx/geometry/dip_util.h"
|
||||
@@ -121,6 +122,7 @@ - (void)setContentsChanged;
|
||||
@@ -120,6 +121,7 @@ - (void)setContentsChanged;
|
||||
}
|
||||
|
||||
void DisplayCALayerTree::GotCALayerFrame(uint32_t ca_context_id) {
|
||||
@@ -2035,7 +2035,7 @@ index dcf493d62990018040a3f84b6f875af737bd2214..3d1c4dcc9ee0bbfdac15f40d9c74e9f3
|
||||
// Early-out if the remote layer has not changed.
|
||||
if (remote_layer_.contextId == ca_context_id) {
|
||||
return;
|
||||
@@ -150,6 +152,9 @@ - (void)setContentsChanged;
|
||||
@@ -149,6 +151,9 @@ - (void)setContentsChanged;
|
||||
[io_surface_layer_ removeFromSuperlayer];
|
||||
io_surface_layer_ = nil;
|
||||
}
|
||||
@@ -2381,7 +2381,7 @@ index 1bd7242e935915d201aef63abe41a101c5b51fe9..c6ea05641c994b4bfe7f2eb839071e5a
|
||||
sources += [
|
||||
"test/desktop_window_tree_host_win_test_api.cc",
|
||||
diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.h b/ui/views/cocoa/native_widget_mac_ns_window_host.h
|
||||
index c087bf258c07537f589001cd1de9635823015812..7f0bf65efac90fb0d35e46a0a8171e05b7219348 100644
|
||||
index 318bb37f5e065222104ef11c476f6bf7c2758ca1..a7aa661f94df2a435de6727ca89b69e686b92887 100644
|
||||
--- a/ui/views/cocoa/native_widget_mac_ns_window_host.h
|
||||
+++ b/ui/views/cocoa/native_widget_mac_ns_window_host.h
|
||||
@@ -19,6 +19,7 @@
|
||||
@@ -2402,7 +2402,7 @@ index c087bf258c07537f589001cd1de9635823015812..7f0bf65efac90fb0d35e46a0a8171e05
|
||||
@class NSView;
|
||||
|
||||
namespace remote_cocoa {
|
||||
@@ -516,10 +519,12 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost
|
||||
@@ -517,10 +520,12 @@ class VIEWS_EXPORT NativeWidgetMacNSWindowHost
|
||||
mojo::AssociatedRemote<remote_cocoa::mojom::NativeWidgetNSWindow>
|
||||
remote_ns_window_remote_;
|
||||
|
||||
@@ -2416,7 +2416,7 @@ index c087bf258c07537f589001cd1de9635823015812..7f0bf65efac90fb0d35e46a0a8171e05
|
||||
// Used to force the NSApplication's focused accessibility element to be the
|
||||
// views::Views accessibility tree when the NSView for this is focused.
|
||||
diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||
index 2914e7149f24fa903ca9861934a93e77f397e979..a258b94a8122c74b6f98f4b88b710371291fcfe4 100644
|
||||
index 68c472037d3e7f718e928ab8b9256877d247d66e..5f4d37702f25d3b05299562e56e764f3e4838a6a 100644
|
||||
--- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||
+++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||
@@ -22,6 +22,7 @@
|
||||
@@ -2495,7 +2495,7 @@ index 2914e7149f24fa903ca9861934a93e77f397e979..a258b94a8122c74b6f98f4b88b710371
|
||||
}
|
||||
|
||||
diff --git a/ui/views/controls/webview/BUILD.gn b/ui/views/controls/webview/BUILD.gn
|
||||
index dfcff42888a014a1e1325fe164243051b616604a..603a18f125d1b2bf23a017c1ed97716e90842854 100644
|
||||
index e741b52a4db7ff481fe0f9c6d915465ccad8733d..2dd0d120848e8f2236f20bdaee20dd4b244891ff 100644
|
||||
--- a/ui/views/controls/webview/BUILD.gn
|
||||
+++ b/ui/views/controls/webview/BUILD.gn
|
||||
@@ -48,6 +48,12 @@ component("webview") {
|
||||
|
||||
@@ -7,7 +7,7 @@ This adds a callback from the network service that's used to implement
|
||||
session.setCertificateVerifyCallback.
|
||||
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
index bab46a7eb7b58356ea37702880a46d4e7bbc8f2f..4bf222c4e6688384c034ef16170ad4cd64c379b0 100644
|
||||
index 92f7d50e82808628345f3b00d3aa3a9996d3bc84..a4baa7c363c02898f97c975767de98e5910142c5 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -174,6 +174,11 @@
|
||||
@@ -148,7 +148,7 @@ index bab46a7eb7b58356ea37702880a46d4e7bbc8f2f..4bf222c4e6688384c034ef16170ad4cd
|
||||
void NetworkContext::CreateURLLoaderFactory(
|
||||
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
|
||||
mojom::URLLoaderFactoryParamsPtr params) {
|
||||
@@ -2819,6 +2936,10 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||
@@ -2785,6 +2902,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 bab46a7eb7b58356ea37702880a46d4e7bbc8f2f..4bf222c4e6688384c034ef16170ad4cd
|
||||
|
||||
builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
|
||||
diff --git a/services/network/network_context.h b/services/network/network_context.h
|
||||
index 7de41be5dfb099b9e47d65416c548e033fcae684..18a5062bac18be40ecd9e4de12ca4556802403c7 100644
|
||||
index cecfe79a530c33972eb1ec066038cd93eee607f0..8fefa1f73342de4e3fba5189ba37fa8657218a4d 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -123,6 +123,7 @@ class SimpleUrlPatternMatcher;
|
||||
@@ -180,7 +180,7 @@ index 7de41be5dfb099b9e47d65416c548e033fcae684..18a5062bac18be40ecd9e4de12ca4556
|
||||
void ResetURLLoaderFactories() override;
|
||||
void GetViaObliviousHttp(
|
||||
mojom::ObliviousHttpRequestPtr request,
|
||||
@@ -1010,6 +1013,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -1007,6 +1010,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
std::vector<base::OnceClosure> dismount_closures_;
|
||||
#endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED)
|
||||
|
||||
@@ -190,7 +190,7 @@ index 7de41be5dfb099b9e47d65416c548e033fcae684..18a5062bac18be40ecd9e4de12ca4556
|
||||
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 065da0cd7ec38f52c45f515f47ecf1ec81104598..88ac7593a8317dc646a128cce81f163554407bbc 100644
|
||||
index 91fd7f0d38216b5ed33875fcf2595cb2384672ed..6c586cc768ca8ee67617e432edfbc02a2fae97e2 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -331,6 +331,17 @@ struct SocketBrokerRemotes {
|
||||
@@ -211,7 +211,7 @@ index 065da0cd7ec38f52c45f515f47ecf1ec81104598..88ac7593a8317dc646a128cce81f1635
|
||||
// Parameters for constructing a network context.
|
||||
struct NetworkContextParams {
|
||||
// The user agent string.
|
||||
@@ -990,6 +1001,9 @@ interface NetworkContext {
|
||||
@@ -984,6 +995,9 @@ interface NetworkContext {
|
||||
// Sets a client for this network context.
|
||||
SetClient(pending_remote<NetworkContextClient> client);
|
||||
|
||||
@@ -222,7 +222,7 @@ index 065da0cd7ec38f52c45f515f47ecf1ec81104598..88ac7593a8317dc646a128cce81f1635
|
||||
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 61d23511df68e2efd1e5eb41d5a94457aca038ad..af46691e72faa7e1c59de51b099fa7923eb89ec6 100644
|
||||
index d0614f3d775a21de62f5a486ab07b0875894e188..6b9cf7d98311a69ac613ea70ed56922cd60ed13e 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 {
|
||||
|
||||
@@ -7,7 +7,7 @@ Pass RenderFrameHost through to PlatformNotificationService
|
||||
so Electron can identify which renderer a notification came from.
|
||||
|
||||
diff --git a/chrome/browser/notifications/platform_notification_service_impl.cc b/chrome/browser/notifications/platform_notification_service_impl.cc
|
||||
index 16ef14e1fba28b43fe23214fb299eee3b152673d..5127f296bcf5f65c83b91defb1133de281a3ac19 100644
|
||||
index e617356dc4864d7e0fede7d2e1e104e6bd91b701..6f82bb909d24ae1d8f7e90f82b034cd142fc166e 100644
|
||||
--- a/chrome/browser/notifications/platform_notification_service_impl.cc
|
||||
+++ b/chrome/browser/notifications/platform_notification_service_impl.cc
|
||||
@@ -265,6 +265,7 @@ bool PlatformNotificationServiceImpl::WasClosedProgrammatically(
|
||||
|
||||
@@ -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 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950cd3ff8ae 100644
|
||||
index 2d97ec9d47de4d2624e3b40cdaf7c07b9d862a90..15b35792469aca29900025733fbcc9d62d7d1d62 100644
|
||||
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
@@ -18,13 +18,17 @@
|
||||
@@ -53,8 +53,8 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
+#if 0
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "chrome/browser/ui/browser.h"
|
||||
#include "chrome/browser/ui/browser_finder.h"
|
||||
#include "chrome/browser/ui/browser_window/public/browser_window_interface.h"
|
||||
#include "chrome/browser/ui/browser_window/public/global_browser_collection.h"
|
||||
+#endif
|
||||
#include "chrome/browser/ui/color/chrome_color_id.h"
|
||||
#include "chrome/browser/ui/views/overlay/back_to_tab_button.h"
|
||||
@@ -87,8 +87,8 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
+#if 0
|
||||
std::wstring app_user_model_id;
|
||||
BrowserWindowInterface* browser =
|
||||
chrome::FindBrowserWithTab(controller->GetWebContents());
|
||||
@@ -709,6 +715,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) {
|
||||
GlobalBrowserCollection::GetInstance()->FindBrowserWithTab(
|
||||
@@ -710,6 +716,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) {
|
||||
}
|
||||
|
||||
case ui::EventType::kMousePressed:
|
||||
@@ -96,7 +96,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
// Hide the live caption dialog if it's visible and the user clicks
|
||||
// outside of it.
|
||||
if (live_caption_dialog_ && live_caption_dialog_->GetVisible() &&
|
||||
@@ -717,6 +724,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) {
|
||||
@@ -718,6 +725,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) {
|
||||
SetLiveCaptionDialogVisibility(false);
|
||||
return;
|
||||
}
|
||||
@@ -104,7 +104,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -752,11 +760,11 @@ bool VideoOverlayWindowViews::HideLiveCaptionDialogForGestureIfNecessary(
|
||||
@@ -753,11 +761,11 @@ bool VideoOverlayWindowViews::HideLiveCaptionDialogForGestureIfNecessary(
|
||||
if (event->type() != ui::EventType::kGestureTap) {
|
||||
return false;
|
||||
}
|
||||
@@ -118,7 +118,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
if (!GetLiveCaptionDialogBounds().Contains(event->location())) {
|
||||
SetLiveCaptionDialogVisibility(false);
|
||||
event->SetHandled();
|
||||
@@ -1243,6 +1251,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
@@ -1244,6 +1252,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
timestamp->SetBackgroundColor(SK_ColorTRANSPARENT);
|
||||
timestamp->SetHorizontalAlignment(gfx::ALIGN_LEFT);
|
||||
|
||||
@@ -126,7 +126,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
auto live_status = std::make_unique<views::Label>(
|
||||
l10n_util::GetStringUTF16(IDS_PICTURE_IN_PICTURE_LIVE_STATUS_TEXT),
|
||||
views::style::CONTEXT_LABEL, views::style::STYLE_CAPTION_BOLD);
|
||||
@@ -1262,6 +1271,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
@@ -1263,6 +1272,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
Profile::FromBrowserContext(
|
||||
controller_->GetWebContents()->GetBrowserContext()));
|
||||
live_caption_dialog->SetVisible(false);
|
||||
@@ -134,7 +134,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
|
||||
auto toggle_microphone_button =
|
||||
std::make_unique<ToggleMicrophoneButton>(base::BindRepeating(
|
||||
@@ -1395,13 +1405,15 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
@@ -1396,13 +1406,15 @@ void VideoOverlayWindowViews::SetUpViews() {
|
||||
|
||||
timestamp_ =
|
||||
playback_controls_container_view_->AddChildView(std::move(timestamp));
|
||||
@@ -151,7 +151,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
|
||||
toggle_camera_button_ = vc_controls_container_view_->AddChildView(
|
||||
std::move(toggle_camera_button));
|
||||
@@ -1685,6 +1697,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
@@ -1686,6 +1698,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
timestamp_->SetSize({max_timestamp_width, kTimestampHeight});
|
||||
timestamp_->SetVisible(!is_live_);
|
||||
|
||||
@@ -159,7 +159,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
live_status_->SetPosition(timestamp_position);
|
||||
live_status_->SetMaximumWidthSingleLine(max_timestamp_width);
|
||||
live_status_->SetSize(
|
||||
@@ -1692,7 +1705,6 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
@@ -1693,7 +1706,6 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
.width(),
|
||||
kTimestampHeight});
|
||||
live_status_->SetVisible(is_live_);
|
||||
@@ -167,7 +167,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
gfx::Rect live_caption_button_bounds(
|
||||
bottom_controls_bounds.right() - kBottomControlsHorizontalMargin -
|
||||
kActionButtonSize.width(),
|
||||
@@ -1711,7 +1723,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
@@ -1712,7 +1724,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
||||
live_caption_dialog_->SetPosition(
|
||||
{live_caption_button_bounds.right() - live_caption_dialog_->width(),
|
||||
live_caption_button_bounds.y() - live_caption_dialog_->height()});
|
||||
@@ -176,7 +176,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
// 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 =
|
||||
@@ -2140,14 +2152,20 @@ gfx::Rect VideoOverlayWindowViews::GetProgressViewBounds() {
|
||||
@@ -2141,14 +2153,20 @@ gfx::Rect VideoOverlayWindowViews::GetProgressViewBounds() {
|
||||
}
|
||||
|
||||
gfx::Rect VideoOverlayWindowViews::GetLiveCaptionButtonBounds() {
|
||||
@@ -197,7 +197,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
}
|
||||
|
||||
gfx::Rect VideoOverlayWindowViews::GetToggleMuteButtonBounds() {
|
||||
@@ -2159,6 +2177,7 @@ gfx::Rect VideoOverlayWindowViews::GetToggleMuteButtonBounds() {
|
||||
@@ -2160,6 +2178,7 @@ gfx::Rect VideoOverlayWindowViews::GetToggleMuteButtonBounds() {
|
||||
|
||||
bool VideoOverlayWindowViews::HasHighMediaEngagement(
|
||||
const url::Origin& origin) const {
|
||||
@@ -205,7 +205,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
MediaEngagementService* service =
|
||||
MediaEngagementService::Get(Profile::FromBrowserContext(
|
||||
GetController()->GetWebContents()->GetBrowserContext()));
|
||||
@@ -2167,6 +2186,8 @@ bool VideoOverlayWindowViews::HasHighMediaEngagement(
|
||||
@@ -2168,6 +2187,8 @@ bool VideoOverlayWindowViews::HasHighMediaEngagement(
|
||||
}
|
||||
|
||||
return service->HasHighEngagement(origin);
|
||||
@@ -214,7 +214,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
}
|
||||
|
||||
bool VideoOverlayWindowViews::IsTrustedForMediaPlayback() const {
|
||||
@@ -2433,11 +2454,14 @@ void VideoOverlayWindowViews::UpdateTimestampLabel(base::TimeDelta current_time,
|
||||
@@ -2434,11 +2455,14 @@ void VideoOverlayWindowViews::UpdateTimestampLabel(base::TimeDelta current_time,
|
||||
}
|
||||
|
||||
void VideoOverlayWindowViews::OnLiveCaptionButtonPressed() {
|
||||
@@ -229,7 +229,7 @@ index 2e5fdf423033df2d669162407586088072bcc46f..562ff4ad0a37279baf6392e14a46d950
|
||||
if (wanted_visibility == live_caption_dialog_->GetVisible()) {
|
||||
return;
|
||||
}
|
||||
@@ -2465,6 +2489,7 @@ void VideoOverlayWindowViews::SetLiveCaptionDialogVisibility(
|
||||
@@ -2466,6 +2490,7 @@ void VideoOverlayWindowViews::SetLiveCaptionDialogVisibility(
|
||||
if (toggle_mute_button_) {
|
||||
toggle_mute_button_->SetEnabled(!wanted_visibility);
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ index 2448abf73b097f04583aefda1fb1a67b3de67e5b..55f935f38bf05586650e7a83a689347b
|
||||
int dir_mode = 0;
|
||||
CHECK(base::GetPosixFilePermissions(socket_dir_.GetPath(), &dir_mode) &&
|
||||
diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc
|
||||
index 98918bf5ed23798669251bee846aea4255ee9b7c..f4d38a27eb3123ac4bca19de15e8b6184e5faf92 100644
|
||||
index 026f480ebe1d47af8b949d6a076a2d053022bda2..6687bcd53ab8dca1bc7b96446fdd673ed9d1a5da 100644
|
||||
--- a/chrome/browser/process_singleton_win.cc
|
||||
+++ b/chrome/browser/process_singleton_win.cc
|
||||
@@ -29,7 +29,9 @@
|
||||
|
||||
@@ -30,7 +30,7 @@ index d83118cbc1e4c1ecf4ba3f4df2d730800c5cf7dd..37b9dde276f27ce6aa8c7e8e5ecb9fba
|
||||
// RenderWidgetHost on the primary main frame, and false otherwise.
|
||||
virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*);
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index edd98668b9e8220ec26c901f69b8d3bee866aba5..c71887ba0658c98b7a3cf80064efb65f778ff426 100644
|
||||
index c6c936a0b57cedbb761f6e9f31cb860c3bf245ed..d6b134d37a260b578ea5cacf65c829825635c570 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -2076,6 +2076,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
|
||||
@@ -44,10 +44,10 @@ index edd98668b9e8220ec26c901f69b8d3bee866aba5..c71887ba0658c98b7a3cf80064efb65f
|
||||
|
||||
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 86273f84bf55276c3b6ae91397332a019874c2af..361b34906ea017c1209899b9f0fec5e43f747f7e 100644
|
||||
index 260ec31380c64e96dc8da4e3f6359bdef1b79d52..e7769a0fa1e6534e45126d14e5f2e1e120a03b86 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -6349,6 +6349,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
@@ -6358,6 +6358,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
return text_input_manager_.get();
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ it in Electron and prevent drift from Chrome's blocklist. We should look for a w
|
||||
to upstream this change to Chrome.
|
||||
|
||||
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||
index 069196b656b5273317934280b77a2a9160d0136a..429e862e6ee46b8a4fbcc6ba6c9ac1b2147a1596 100644
|
||||
index 05a3746627fe63e8adc1605848039ef9742fd244..1a3db07bad2282222ff49fb4a16edb7df2a3a95c 100644
|
||||
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||
@@ -84,11 +84,13 @@
|
||||
@@ -16,7 +16,7 @@ index 069196b656b5273317934280b77a2a9160d0136a..429e862e6ee46b8a4fbcc6ba6c9ac1b2
|
||||
#include "chrome/browser/ui/tabs/public/tab_features.h"
|
||||
#include "chrome/browser/ui/views/file_system_access/file_system_access_page_action_controller.h"
|
||||
+#if 0
|
||||
#include "chrome/browser/web_applications/proto/web_app_install_state.pb.h"
|
||||
#include "chrome/browser/web_applications/proto/web_app_install_state.pb.h" // nogncheck
|
||||
#include "chrome/browser/web_applications/web_app_install_manager.h"
|
||||
#include "chrome/browser/web_applications/web_app_install_manager_observer.h"
|
||||
#include "chrome/browser/web_applications/web_app_provider.h"
|
||||
@@ -139,7 +139,7 @@ index 069196b656b5273317934280b77a2a9160d0136a..429e862e6ee46b8a4fbcc6ba6c9ac1b2
|
||||
- // installed (sandboxed) application. It would be nice to limit a site to
|
||||
- // access only _its_ corresponding natively installed application, but
|
||||
- // unfortunately there's no straightforward way to do that. See
|
||||
- // https://crbug.com/40095723#c22.
|
||||
- // https://crbug.com/40095723#comment23.
|
||||
- BlockPath::CreateRelative(base::DIR_HOME,
|
||||
- FILE_PATH_LITERAL("Library/Containers"),
|
||||
- BlockType::kDontBlockChildren),
|
||||
@@ -270,7 +270,7 @@ index 069196b656b5273317934280b77a2a9160d0136a..429e862e6ee46b8a4fbcc6ba6c9ac1b2
|
||||
auto* provider = web_app::WebAppProvider::GetForWebApps(
|
||||
Profile::FromBrowserContext(profile_));
|
||||
if (provider) {
|
||||
@@ -2909,7 +2697,7 @@ void ChromeFileSystemAccessPermissionContext::OnShutdown() {
|
||||
@@ -2910,7 +2698,7 @@ void ChromeFileSystemAccessPermissionContext::OnShutdown() {
|
||||
one_time_permissions_tracker_.Reset();
|
||||
}
|
||||
|
||||
@@ -279,7 +279,7 @@ index 069196b656b5273317934280b77a2a9160d0136a..429e862e6ee46b8a4fbcc6ba6c9ac1b2
|
||||
void ChromeFileSystemAccessPermissionContext::OnWebAppInstalled(
|
||||
const webapps::AppId& app_id) {
|
||||
if (!base::FeatureList::IsEnabled(
|
||||
@@ -3267,11 +3055,7 @@ bool ChromeFileSystemAccessPermissionContext::
|
||||
@@ -3268,11 +3056,7 @@ bool ChromeFileSystemAccessPermissionContext::
|
||||
HandleType handle_type,
|
||||
UserAction user_action,
|
||||
GrantType grant_type) {
|
||||
@@ -292,7 +292,7 @@ index 069196b656b5273317934280b77a2a9160d0136a..429e862e6ee46b8a4fbcc6ba6c9ac1b2
|
||||
if (!base::FeatureList::IsEnabled(
|
||||
features::kFileSystemAccessPersistentPermissions)) {
|
||||
return false;
|
||||
@@ -3322,6 +3106,7 @@ bool ChromeFileSystemAccessPermissionContext::
|
||||
@@ -3323,6 +3107,7 @@ bool ChromeFileSystemAccessPermissionContext::
|
||||
|
||||
return false;
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
@@ -301,7 +301,7 @@ index 069196b656b5273317934280b77a2a9160d0136a..429e862e6ee46b8a4fbcc6ba6c9ac1b2
|
||||
|
||||
std::vector<FileRequestData> ChromeFileSystemAccessPermissionContext::
|
||||
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||
index 4111e2c0098402e8befe192d35458b5124639713..dc5988381cead59b704e7ca2b7629a18738d7437 100644
|
||||
index 4111e2c0098402e8befe192d35458b5124639713..956e285889efc1ac0547efaff03d5572a898511c 100644
|
||||
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||
@@ -10,10 +10,13 @@
|
||||
@@ -444,7 +444,7 @@ index 4111e2c0098402e8befe192d35458b5124639713..dc5988381cead59b704e7ca2b7629a18
|
||||
+ // installed (sandboxed) application. It would be nice to limit a site to
|
||||
+ // access only _its_ corresponding natively installed application, but
|
||||
+ // unfortunately there's no straightforward way to do that. See
|
||||
+ // https://crbug.com/40095723#c22.
|
||||
+ // https://crbug.com/40095723#comment23.
|
||||
+ BlockPath::CreateRelative(base::DIR_HOME,
|
||||
+ FILE_PATH_LITERAL("Library/Containers"),
|
||||
+ BlockType::kDontBlockChildren),
|
||||
|
||||
@@ -7,11 +7,11 @@ Subject: refactor: expose HostImportModuleDynamically and
|
||||
This is so that Electron can blend Blink's and Node's implementations of these isolate handlers.
|
||||
|
||||
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
||||
index 5fd388fba60b28ed833dbbffc47c285912a33809..7affef58358092094f1b3848bb75881c556dc32d 100644
|
||||
index ea4a2faa2f60632301c084beaeeb58c3e2eaca40..f771deade22c86ca78ba281563921ebc55a065fd 100644
|
||||
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
||||
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
||||
@@ -737,8 +737,9 @@ bool WasmCustomDescriptorsEnabledCallback(v8::Local<v8::Context> context) {
|
||||
return RuntimeEnabledFeatures::WebAssemblyCustomDescriptorsEnabled(
|
||||
return RuntimeEnabledFeatures::WebAssemblyCustomDescriptorsV2Enabled(
|
||||
execution_context);
|
||||
}
|
||||
+} // namespace
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: refactor: patch electron PermissionTypes into blink
|
||||
6387077: [PermissionOptions] Generalize PermissionRequestDescription | https://chromium-review.googlesource.com/c/chromium/src/+/6387077
|
||||
|
||||
diff --git a/components/permissions/permission_util.cc b/components/permissions/permission_util.cc
|
||||
index 66e2e0f8f39994dfe33c923d62fe791d5181d207..ed3af30b66d331e2af9df1bbcb496bc087568110 100644
|
||||
index 24f75cbada86669028e5e40fe7b62c01e8316121..f07c7991934c8697ad73b2d7c3b86d110e0cab99 100644
|
||||
--- a/components/permissions/permission_util.cc
|
||||
+++ b/components/permissions/permission_util.cc
|
||||
@@ -566,9 +566,17 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
|
||||
@@ -567,9 +567,17 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
|
||||
return ContentSettingsType::LOCAL_NETWORK;
|
||||
case PermissionType::LOOPBACK_NETWORK:
|
||||
return ContentSettingsType::LOOPBACK_NETWORK;
|
||||
|
||||
@@ -15,10 +15,10 @@ 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 4daac586a6f01799f2f04b9206f7f6a53bc42054..4c54077bf42cc2dd29d828549126eadfdf681a84 100644
|
||||
index 3c5b92660ef7fea6c5c8366009f223ffd0052dad..2c5ba252480912cbfdd26df681f16619822f92a0 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -10621,25 +10621,13 @@ void WebContentsImpl::RendererUnresponsive(
|
||||
@@ -10630,25 +10630,13 @@ void WebContentsImpl::RendererUnresponsive(
|
||||
base::RepeatingClosure hang_monitor_restarter) {
|
||||
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive",
|
||||
"render_widget_host", render_widget_host);
|
||||
|
||||
@@ -8,7 +8,7 @@ respond to the first mouse click in their window, which is desirable for some
|
||||
kinds of utility windows. Similarly for `disableAutoHideCursor`.
|
||||
|
||||
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
index 75de452a5f78705a544402fb3a639344665d7ff4..664e12c07204feeb5be16581fe51e8adc4b898dd 100644
|
||||
index ac67f346c4662b05e63576a092efa1f1af9d83cc..989b11c5b67343fbb03bb849e1b3febd6167a00e 100644
|
||||
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||
@@ -179,6 +179,15 @@ void ExtractUnderlines(NSAttributedString* string,
|
||||
@@ -38,7 +38,7 @@ index 75de452a5f78705a544402fb3a639344665d7ff4..664e12c07204feeb5be16581fe51e8ad
|
||||
// Enable "click-through" if mouse clicks are accepted in inactive windows.
|
||||
return
|
||||
[self acceptsMouseEventsOption] > AcceptMouseEvents::kWhenInActiveWindow;
|
||||
@@ -963,6 +976,8 @@ - (BOOL)shouldIgnoreMouseEvent:(NSEvent*)theEvent {
|
||||
@@ -977,6 +990,8 @@ - (BOOL)shouldIgnoreMouseEvent:(NSEvent*)theEvent {
|
||||
// its parent view.
|
||||
BOOL hitSelf = NO;
|
||||
while (view) {
|
||||
@@ -47,7 +47,7 @@ index 75de452a5f78705a544402fb3a639344665d7ff4..664e12c07204feeb5be16581fe51e8ad
|
||||
if (view == self)
|
||||
hitSelf = YES;
|
||||
if ([view isKindOfClass:[self class]] && ![view isEqual:self] &&
|
||||
@@ -1337,6 +1352,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv {
|
||||
@@ -1362,6 +1377,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv {
|
||||
eventType == NSEventTypeKeyDown &&
|
||||
!(modifierFlags & NSEventModifierFlagCommand);
|
||||
|
||||
|
||||
@@ -52,10 +52,10 @@ Some alternatives to this patch:
|
||||
None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
|
||||
|
||||
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
|
||||
index 1f0485537a00754d1aa0064d7a51d3e3a2a5fd3b..48f28a61eac4b31c3d9be62100c00cadff84174c 100644
|
||||
index e00f78b4eb1c364028312c57629c74234265306e..3497a3bec7f0f899c65593fa5a69913d54257ea2 100644
|
||||
--- a/chrome/BUILD.gn
|
||||
+++ b/chrome/BUILD.gn
|
||||
@@ -1566,7 +1566,7 @@ if (is_chrome_branded && !is_android) {
|
||||
@@ -1557,7 +1557,7 @@ if (is_chrome_branded && !is_android) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ index 1f0485537a00754d1aa0064d7a51d3e3a2a5fd3b..48f28a61eac4b31c3d9be62100c00cad
|
||||
chrome_paks("packed_resources") {
|
||||
if (is_mac) {
|
||||
output_dir = "$root_gen_dir/repack"
|
||||
@@ -1594,6 +1594,12 @@ repack("browser_tests_pak") {
|
||||
@@ -1585,6 +1585,12 @@ repack("browser_tests_pak") {
|
||||
deps = [ "//chrome/test/data/webui:resources" ]
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ index 37b9dde276f27ce6aa8c7e8e5ecb9fba05324ca6..56df8d4d5db8b68f3a0b043096065aaf
|
||||
// event before sending it to the renderer. See enum for details on return
|
||||
// value.
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index ddafdbe57d3ba8f178f8a193a4ae1b59d1b47edf..5303507537061de5f515f199f95fbae16fcd996c 100644
|
||||
index 3a08cff7683fcd842a87e78ff132cc9da3be2038..08abfb5d32a58d50391758065b08e2ca55c89acc 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -1572,6 +1572,10 @@ void RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo(
|
||||
@@ -54,7 +54,7 @@ index ddafdbe57d3ba8f178f8a193a4ae1b59d1b47edf..5303507537061de5f515f199f95fbae1
|
||||
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 4c54077bf42cc2dd29d828549126eadfdf681a84..29f188d6ba176fc0c1c0c55b26c25d061510953a 100644
|
||||
index 2c5ba252480912cbfdd26df681f16619822f92a0..5cdee649a7a7691a431321287edb51feb15915aa 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4577,6 +4577,12 @@ void WebContentsImpl::RenderWidgetWasResized(
|
||||
@@ -83,7 +83,7 @@ index bc8741ce88185df359c65c062b283089fc3c1785..a0c742b20989853b22f86173bab7702f
|
||||
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 95007b7a5f40da2e23053f52da79295a829d3bde..7ec19ac77a78fd7dd1a6ddeb2f248eb8d86f16ce 100644
|
||||
index fd840b5de8945d91f218e66009f6c13f4e85e832..e6be991b8faa75f8276e38474cdbdb88462bdf46 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -127,6 +127,12 @@ bool WebContentsDelegate::HandleContextMenu(RenderFrameHost& render_frame_host,
|
||||
@@ -100,7 +100,7 @@ index 95007b7a5f40da2e23053f52da79295a829d3bde..7ec19ac77a78fd7dd1a6ddeb2f248eb8
|
||||
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 ceb6c66f6461b42556aaba167269811a9a363b40..0ffc73449f86846f20225898d13c5243647aefe6 100644
|
||||
index b9b59c92a0d69baed2241ca1686d490bba8e087b..cbdc25cc215d8d46d2d3e7122d44ab12107409e6 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 {
|
||||
|
||||
@@ -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 8d193858877a410e00551622c37d0e10db98bf6c..15fca2fafa11588af102cdbe03af761c383a9e21 100644
|
||||
index 55bb42094ebf3ac1a8ba0b7c552122e50372114d..47b3a36385819ebcb407e21256680d6814e598bc 100644
|
||||
--- a/content/renderer/render_thread_impl.cc
|
||||
+++ b/content/renderer/render_thread_impl.cc
|
||||
@@ -1145,11 +1145,11 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
@@ -1150,11 +1150,11 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
}
|
||||
|
||||
bool RenderThreadImpl::IsElasticOverscrollEnabledOnRoot() {
|
||||
|
||||
@@ -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 adee34e64400f08dece1bef4f36ab9b93332696d..bcb3d2eabc99b3206a2195239d4c8fa0793dccd4 100644
|
||||
index ecec29a59aac1dd775746884f20cfc53ac64c23f..0754fde0ee1ec5e01f199e90169e0dbae6b5b657 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4296,6 +4296,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 80d3b463984813ac1459b02fac41ee995b437353..abdcf9cd75790f06e5aa7bc3edc3b9ec3b7e6ec3 100644
|
||||
index 0c1d88e2bcb6d86d5a007009116c1db818d40dcd..22fb6c91dac0178c4ea23463c33bb0a6dfd0a377 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -9293,6 +9293,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
@@ -9245,6 +9245,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ index 80d3b463984813ac1459b02fac41ee995b437353..abdcf9cd75790f06e5aa7bc3edc3b9ec
|
||||
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 bcb3d2eabc99b3206a2195239d4c8fa0793dccd4..db97c490b1979916b7c32175e1f50f463a5e7722 100644
|
||||
index 0754fde0ee1ec5e01f199e90169e0dbae6b5b657..341b0e45af39357af676ce3c3775462e6192b857 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4594,21 +4594,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
|
||||
|
||||
@@ -7,10 +7,10 @@ This allows us to show Chrome extension panels on pages served over
|
||||
custom protocols.
|
||||
|
||||
diff --git a/front_end/core/root/Runtime.ts b/front_end/core/root/Runtime.ts
|
||||
index 747706050ed526b7ce9fd447a4034b6a9b64db7f..f39ad77366375bd4a428f78979f1847002f6bdbb 100644
|
||||
index ce026caefa7b483a76a28c25e90ffe698138d461..04f2fb387539b2874466ab9305355b230c511b39 100644
|
||||
--- a/front_end/core/root/Runtime.ts
|
||||
+++ b/front_end/core/root/Runtime.ts
|
||||
@@ -649,6 +649,7 @@ export type HostConfig = Platform.TypeScriptUtilities.RecursivePartial<{
|
||||
@@ -668,6 +668,7 @@ export type HostConfig = Platform.TypeScriptUtilities.RecursivePartial<{
|
||||
* or guest mode, rather than a "normal" profile.
|
||||
*/
|
||||
isOffTheRecord: boolean,
|
||||
|
||||
@@ -46,3 +46,4 @@ src_stop_using_v8_propertycallbackinfo_t_this.patch
|
||||
build_restore_macos_deployment_target_to_12_0.patch
|
||||
fix_add_externalpointertypetag_to_v8_external_api_calls.patch
|
||||
test_update_v8_serialization_wire_format_version_to_16.patch
|
||||
fix_add_missing_cstdlib_include_to_builtin_info.patch
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Charles Kerr <charles@charleskerr.com>
|
||||
Date: Mon, 27 Apr 2026 21:17:16 -0500
|
||||
Subject: fix: add missing cstdlib include to builtin_info
|
||||
|
||||
Node's builtin_info.cc uses abort() but doesn't include <cstdlib>.
|
||||
It used to pick up the declaration by a transitive include, but
|
||||
that broke in this libc++ roll.
|
||||
|
||||
This patch can be removed after it's been upstreamed to Node.js.
|
||||
|
||||
diff --git a/src/builtin_info.cc b/src/builtin_info.cc
|
||||
index d5309265ac373310c20ba4f2438a778c9753254a..2c8b2b62704aadac6d8f3afbb56a9d4d5461ad58 100644
|
||||
--- a/src/builtin_info.cc
|
||||
+++ b/src/builtin_info.cc
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "builtin_info.h"
|
||||
|
||||
+#include <cstdlib>
|
||||
+
|
||||
namespace node {
|
||||
namespace builtins {
|
||||
|
||||
@@ -41,7 +43,7 @@ std::string GetBuiltinSourceTypeName(BuiltinSourceType type) {
|
||||
case BuiltinSourceType::kSourceTextModule:
|
||||
return "kSourceTextModule";
|
||||
}
|
||||
- abort();
|
||||
+ std::abort();
|
||||
}
|
||||
|
||||
} // namespace builtins
|
||||
@@ -15,10 +15,10 @@ Rather than disabling builtins PGO entirely, warn and skip mismatched
|
||||
builtins so all other builtins still benefit from PGO.
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index eedd49aa7f990912f46a27df5115917bd93e4c91..58c7fdfffba619637c430e783b57291f8cc586c8 100644
|
||||
index b60ba2b7d79984c9e54d3eefa66d7a636e3426c1..65e72f089a7acc8af0e686d619d5187a5f2aaf73 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -2826,9 +2826,11 @@ template("run_mksnapshot") {
|
||||
@@ -2825,9 +2825,11 @@ template("run_mksnapshot") {
|
||||
"--turbo-profiling-input",
|
||||
rebase_path(v8_builtins_profiling_log_file, root_build_dir),
|
||||
|
||||
|
||||
@@ -89,6 +89,13 @@ async function uploadObjectChangeStats(stats) {
|
||||
unit: 'byte',
|
||||
tags
|
||||
},
|
||||
{
|
||||
metric: 'electron.build.object-total-size',
|
||||
points: [{ timestamp, value: stats['total-size'] }],
|
||||
type: 3, // GAUGE
|
||||
unit: 'byte',
|
||||
tags
|
||||
},
|
||||
{
|
||||
metric: 'electron.build.new-object-count',
|
||||
points: [{ timestamp, value: stats['new-object-count'] }],
|
||||
@@ -174,7 +181,10 @@ async function main() {
|
||||
const checksums = {};
|
||||
for (const file of objectFiles) {
|
||||
const content = await fs.readFile(resolve(outDir, file));
|
||||
checksums[file] = createHash('sha256').update(content).digest('hex');
|
||||
checksums[file] = {
|
||||
size: content.byteLength,
|
||||
checksum: createHash('sha256').update(content).digest('hex')
|
||||
};
|
||||
}
|
||||
|
||||
if (outputObjectChecksums) {
|
||||
@@ -193,13 +203,20 @@ async function main() {
|
||||
let newObjectCount = 0;
|
||||
let changedSize = 0;
|
||||
|
||||
// Previously filenames mapped directly to checksum values, but now
|
||||
// they map to objects containing both checksum and size. Handle both
|
||||
// formats for backwards compatibility.
|
||||
const getInputChecksum = (file) => {
|
||||
const value = inputData.checksums[file];
|
||||
return typeof value === 'string' ? value : value.checksum;
|
||||
};
|
||||
|
||||
// Count changed files (only those present in both input and current)
|
||||
for (const file of inputFiles) {
|
||||
if (!(file in checksums)) continue; // Skip deleted files
|
||||
if (inputData.checksums[file] !== checksums[file]) {
|
||||
if (getInputChecksum(file) !== checksums[file].checksum) {
|
||||
changedCount++;
|
||||
const stat = await fs.stat(resolve(outDir, file));
|
||||
changedSize += stat.size;
|
||||
changedSize += checksums[file].size;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -207,20 +224,22 @@ async function main() {
|
||||
for (const file of Object.keys(checksums)) {
|
||||
if (!(file in inputData.checksums)) {
|
||||
newObjectCount++;
|
||||
const stat = await fs.stat(resolve(outDir, file));
|
||||
changedSize += stat.size;
|
||||
changedSize += checksums[file].size;
|
||||
}
|
||||
}
|
||||
|
||||
const changeRate = inputFiles.length > 0 ? changedCount / inputFiles.length : 0;
|
||||
const totalSize = Object.values(checksums).reduce((sum, { size }) => sum + size, 0);
|
||||
console.log(`${messagePrefix}Object change rate: ${(changeRate * 100).toFixed(2)}%`);
|
||||
if (newObjectCount > 0) {
|
||||
console.log(`${messagePrefix}New object count: ${newObjectCount}`);
|
||||
}
|
||||
console.log(`${messagePrefix}Cumulative changed object sizes: ${changedSize.toLocaleString()} bytes`);
|
||||
console.log(`${messagePrefix}Total object sizes: ${totalSize.toLocaleString()} bytes`);
|
||||
|
||||
objectChangeStats['change-rate'] = changeRate;
|
||||
objectChangeStats['change-size'] = changedSize;
|
||||
objectChangeStats['total-size'] = totalSize;
|
||||
objectChangeStats['new-object-count'] = newObjectCount;
|
||||
objectChangeStats['previous-chromium-version'] = inputData.chromiumVersion;
|
||||
objectChangeStats['chromium-version'] = currentVersion;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user