mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
Compare commits
1 Commits
v29.0.0-ni
...
m1-tests-x
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
544f376db4 |
@@ -2315,12 +2315,11 @@ jobs:
|
||||
darwin-testing-x64-tests:
|
||||
executor:
|
||||
name: macos
|
||||
size: macos.x86.medium.gen2
|
||||
size: macos.m1.medium.gen1
|
||||
version: 14.0.0
|
||||
environment:
|
||||
<<: *env-mac-large
|
||||
<<: *env-stack-dumping
|
||||
parallelism: 2
|
||||
steps:
|
||||
- electron-tests:
|
||||
artifact-key: darwin-x64
|
||||
@@ -2339,12 +2338,11 @@ jobs:
|
||||
mas-testing-x64-tests:
|
||||
executor:
|
||||
name: macos
|
||||
size: macos.x86.medium.gen2
|
||||
size: macos.m1.medium.gen1
|
||||
version: 14.0.0
|
||||
environment:
|
||||
<<: *env-mac-large
|
||||
<<: *env-stack-dumping
|
||||
parallelism: 2
|
||||
steps:
|
||||
- electron-tests:
|
||||
artifact-key: mas-x64
|
||||
|
||||
1
BUILD.gn
1
BUILD.gn
@@ -716,7 +716,6 @@ source_set("electron_lib") {
|
||||
"shell/common/extensions/api",
|
||||
"shell/common/extensions/api:extensions_features",
|
||||
"//chrome/browser/resources:component_extension_resources",
|
||||
"//components/guest_view/common:mojom",
|
||||
"//components/update_client:update_client",
|
||||
"//components/zoom",
|
||||
"//extensions/browser",
|
||||
|
||||
2
DEPS
2
DEPS
@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
|
||||
|
||||
vars = {
|
||||
'chromium_version':
|
||||
'121.0.6110.0',
|
||||
'121.0.6100.0',
|
||||
'node_version':
|
||||
'v18.18.2',
|
||||
'nan_version':
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
version: 1.0.{build}
|
||||
build_cloud: electronhq-16-core
|
||||
image: e-121.0.6110.0
|
||||
image: e-121.0.6100.0
|
||||
environment:
|
||||
GIT_CACHE_PATH: C:\Users\appveyor\libcc_cache
|
||||
ELECTRON_OUT_DIR: Default
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
version: 1.0.{build}
|
||||
build_cloud: electronhq-16-core
|
||||
image: e-121.0.6110.0
|
||||
image: e-121.0.6100.0
|
||||
environment:
|
||||
GIT_CACHE_PATH: C:\Users\appveyor\libcc_cache
|
||||
ELECTRON_OUT_DIR: Default
|
||||
|
||||
@@ -60,8 +60,3 @@ enable_dangling_raw_ptr_checks = false
|
||||
# This flag speeds up the performance of fork/execve on linux systems.
|
||||
# Ref: https://chromium-review.googlesource.com/c/v8/v8/+/4602858
|
||||
v8_enable_private_mapping_fork_optimization = true
|
||||
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/4995136
|
||||
# TODO(jkleinsc): convert legacy IPC calls in extensions to use mojo
|
||||
# https://github.com/electron/electron/issues/40439
|
||||
enable_extensions_legacy_ipc = true
|
||||
|
||||
@@ -8,6 +8,5 @@
|
||||
"node_cli_inspect": "1",
|
||||
"embedded_asar_integrity_validation": "0",
|
||||
"only_load_app_from_asar": "0",
|
||||
"load_browser_process_specific_v8_snapshot": "0",
|
||||
"grant_file_protocol_extra_privileges": "1"
|
||||
"load_browser_process_specific_v8_snapshot": "0"
|
||||
}
|
||||
|
||||
@@ -1514,7 +1514,7 @@ A `boolean` property that returns `true` if the app is packaged, `false` otherw
|
||||
[tasks]:https://learn.microsoft.com/en-us/windows/win32/shell/taskbar-extensions#tasks
|
||||
[app-user-model-id]: https://learn.microsoft.com/en-us/windows/win32/shell/appids
|
||||
[electron-forge]: https://www.electronforge.io/
|
||||
[electron-packager]: https://github.com/electron/packager
|
||||
[electron-packager]: https://github.com/electron/electron-packager
|
||||
[CFBundleURLTypes]: https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/TP40009249-102207-TPXREF115
|
||||
[LSCopyDefaultHandlerForURLScheme]: https://developer.apple.com/documentation/coreservices/1441725-lscopydefaulthandlerforurlscheme?language=objc
|
||||
[handoff]: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/Handoff/HandoffFundamentals/HandoffFundamentals.html
|
||||
|
||||
@@ -122,7 +122,7 @@ Example:
|
||||
|
||||
```js
|
||||
const { app, net, protocol } = require('electron')
|
||||
const path = require('node:path')
|
||||
const { join } = require('node:path')
|
||||
const { pathToFileURL } = require('url')
|
||||
|
||||
protocol.registerSchemesAsPrivileged([
|
||||
@@ -145,19 +145,9 @@ app.whenReady().then(() => {
|
||||
headers: { 'content-type': 'text/html' }
|
||||
})
|
||||
}
|
||||
// NB, this checks for paths that escape the bundle, e.g.
|
||||
// NB, this does not check for paths that escape the bundle, e.g.
|
||||
// app://bundle/../../secret_file.txt
|
||||
const pathToServe = path.resolve(__dirname, pathname)
|
||||
const relativePath = path.relative(__dirname, pathToServe)
|
||||
const isSafe = relativePath && !relativePath.startsWith('..') && !path.isAbsolute(relativePath)
|
||||
if (!isSafe) {
|
||||
return new Response('bad', {
|
||||
status: 400,
|
||||
headers: { 'content-type': 'text/html' }
|
||||
})
|
||||
}
|
||||
|
||||
return net.fetch(pathToFileURL(pathToServe).toString())
|
||||
return net.fetch(pathToFileURL(join(__dirname, pathname)).toString())
|
||||
} else if (host === 'api') {
|
||||
return net.fetch('https://api.my-server.com/' + pathname, {
|
||||
method: req.method,
|
||||
|
||||
@@ -266,7 +266,7 @@ Returns:
|
||||
|
||||
* `event` Event
|
||||
* `details` Object
|
||||
* `device` [HIDDevice](structures/hid-device.md)
|
||||
* `device` [HIDDevice[]](structures/hid-device.md)
|
||||
* `frame` [WebFrameMain](web-frame-main.md)
|
||||
|
||||
Emitted after `navigator.hid.requestDevice` has been called and
|
||||
@@ -281,7 +281,7 @@ Returns:
|
||||
|
||||
* `event` Event
|
||||
* `details` Object
|
||||
* `device` [HIDDevice](structures/hid-device.md)
|
||||
* `device` [HIDDevice[]](structures/hid-device.md)
|
||||
* `frame` [WebFrameMain](web-frame-main.md)
|
||||
|
||||
Emitted after `navigator.hid.requestDevice` has been called and
|
||||
@@ -296,7 +296,7 @@ Returns:
|
||||
|
||||
* `event` Event
|
||||
* `details` Object
|
||||
* `device` [HIDDevice](structures/hid-device.md)
|
||||
* `device` [HIDDevice[]](structures/hid-device.md)
|
||||
* `origin` string (optional) - The origin that the device has been revoked from.
|
||||
|
||||
Emitted after `HIDDevice.forget()` has been called. This event can be used
|
||||
@@ -901,7 +901,6 @@ win.webContents.session.setCertificateVerifyProc((request, callback) => {
|
||||
* `midiSysex` - Request the use of system exclusive messages in the [Web MIDI API](https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API).
|
||||
* `notifications` - Request notification creation and the ability to display them in the user's system tray using the [Notifications API](https://developer.mozilla.org/en-US/docs/Web/API/notification)
|
||||
* `pointerLock` - Request to directly interpret mouse movements as an input method via the [Pointer Lock API](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API). These requests always appear to originate from the main frame.
|
||||
* `keyboardLock` - Request capture of keypresses for any or all of the keys on the physical keyboard via the [Keyboard Lock API](https://developer.mozilla.org/en-US/docs/Web/API/Keyboard/lock). These requests always appear to originate from the main frame.
|
||||
* `openExternal` - Request to open links in external applications.
|
||||
* `window-management` - Request access to enumerate screens using the [`getScreenDetails`](https://developer.chrome.com/en/articles/multi-screen-window-placement/) API.
|
||||
* `unknown` - An unrecognized permission request.
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<h3>Packaging</h3>
|
||||
<p>This feature will only work on macOS when your app is packaged. It will not work when you're launching it in
|
||||
development from the command-line. When you package your app you'll need to make sure the macOS <code>plist</code>
|
||||
for the app is updated to include the new protocol handler. If you're using <code>@electron/packager</code> then you
|
||||
for the app is updated to include the new protocol handler. If you're using <code>electron-packager</code> then you
|
||||
can add the flag <code>--extend-info</code> with a path to the <code>plist</code> you've created. The one for this
|
||||
app is below:</p>
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ Currently ASAR integrity checking is only supported on macOS.
|
||||
|
||||
### Electron Forge / Electron Packager
|
||||
|
||||
If you are using `>= @electron/packager`, `>= electron-packager@15.4.0` or `>= @electron-forge/core@6.0.0-beta.61` then all these requirements are met for you automatically and you can skip to [Toggling the Fuse](#toggling-the-fuse).
|
||||
If you are using `>= electron-packager@15.4.0` or `>= @electron-forge/core@6.0.0-beta.61` then all these requirements are met for you automatically and you can skip to [Toggling the Fuse](#toggling-the-fuse).
|
||||
|
||||
### Other build systems
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ Electron Forge is a tool for packaging and publishing Electron applications. It
|
||||
into a single extensible interface so that anyone can jump right into making Electron apps.
|
||||
|
||||
Forge comes with [a ready-to-use template](https://electronforge.io/templates) using Webpack as a bundler. It includes an example typescript configuration and provides two configuration files to enable easy customization. It uses the same core modules used by the
|
||||
greater Electron community (like [`@electron/packager`](https://github.com/electron/packager)) –
|
||||
greater Electron community (like [`electron-packager`](https://github.com/electron/electron-packager)) –
|
||||
changes made by Electron maintainers (like Slack) benefit Forge's users, too.
|
||||
|
||||
You can find more information and documentation on [electronforge.io](https://electronforge.io/).
|
||||
|
||||
@@ -51,7 +51,7 @@ ways to get your application signed and notarized.
|
||||
|
||||
If you're using Electron's favorite build tool, getting your application signed
|
||||
and notarized requires a few additions to your configuration. [Forge](https://electronforge.io) is a
|
||||
collection of the official Electron tools, using [`@electron/packager`][],
|
||||
collection of the official Electron tools, using [`electron-packager`][],
|
||||
[`@electron/osx-sign`][], and [`@electron/notarize`][] under the hood.
|
||||
|
||||
Detailed instructions on how to configure your application can be found in the
|
||||
@@ -61,14 +61,14 @@ the Electron Forge docs.
|
||||
### Using Electron Packager
|
||||
|
||||
If you're not using an integrated build pipeline like Forge, you
|
||||
are likely using [`@electron/packager`][], which includes [`@electron/osx-sign`][] and
|
||||
are likely using [`electron-packager`][], which includes [`@electron/osx-sign`][] and
|
||||
[`@electron/notarize`][].
|
||||
|
||||
If you're using Packager's API, you can pass [in configuration that both signs
|
||||
and notarizes your application](https://electron.github.io/packager/main/interfaces/electronpackager.options.html).
|
||||
and notarizes your application](https://electron.github.io/electron-packager/main/interfaces/electronpackager.options.html).
|
||||
|
||||
```js @ts-nocheck
|
||||
const packager = require('@electron/packager')
|
||||
const packager = require('electron-packager')
|
||||
|
||||
packager({
|
||||
dir: '/path/to/my/app',
|
||||
@@ -190,7 +190,7 @@ See the [Windows Store Guide][].
|
||||
|
||||
[apple developer program]: https://developer.apple.com/programs/
|
||||
[`@electron/osx-sign`]: https://github.com/electron/osx-sign
|
||||
[`@electron/packager`]: https://github.com/electron/packager
|
||||
[`electron-packager`]: https://github.com/electron/electron-packager
|
||||
[`@electron/notarize`]: https://github.com/electron/notarize
|
||||
[`electron-winstaller`]: https://github.com/electron/windows-installer
|
||||
[`electron-wix-msi`]: https://github.com/electron-userland/electron-wix-msi
|
||||
|
||||
@@ -199,7 +199,7 @@ Run the example using Electron Fiddle and then click the "Toggle Dark Mode" butt
|
||||
|
||||
[system-wide-dark-mode]: https://developer.apple.com/design/human-interface-guidelines/macos/visual-design/dark-mode/
|
||||
[electron-forge]: https://www.electronforge.io/
|
||||
[electron-packager]: https://github.com/electron/packager
|
||||
[packager-darwindarkmode-api]: https://electron.github.io/packager/main/interfaces/electronpackager.options.html#darwindarkmodesupport
|
||||
[electron-packager]: https://github.com/electron/electron-packager
|
||||
[packager-darwindarkmode-api]: https://electron.github.io/electron-packager/main/interfaces/electronpackager.options.html#darwindarkmodesupport
|
||||
[prefers-color-scheme]: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
|
||||
[event-listeners]: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
|
||||
|
||||
@@ -61,19 +61,6 @@ The onlyLoadAppFromAsar fuse changes the search system that Electron uses to loc
|
||||
|
||||
The loadBrowserProcessSpecificV8Snapshot fuse changes which V8 snapshot file is used for the browser process. By default Electron's processes will all use the same V8 snapshot file. When this fuse is enabled the browser process uses the file called `browser_v8_context_snapshot.bin` for its V8 snapshot. The other processes will use the V8 snapshot file that they normally do.
|
||||
|
||||
### `grantFileProtocolExtraPrivileges`
|
||||
|
||||
**Default:** Enabled
|
||||
**@electron/fuses:** `FuseV1Options.GrantFileProtocolExtraPrivileges`
|
||||
|
||||
The grantFileProtocolExtraPrivileges fuse changes whether pages loaded from the `file://` protocol are given privileges beyond what they would receive in a traditional web browser. This behavior was core to Electron apps in original versions of Electron but is no longer required as apps should be [serving local files from custom protocols](./security.md#18-avoid-usage-of-the-file-protocol-and-prefer-usage-of-custom-protocols) now instead. If you aren't serving pages from `file://` you should disable this fuse.
|
||||
|
||||
The extra privileges granted to the `file://` protocol by this fuse are incompletely documented below:
|
||||
|
||||
* `file://` protocol pages can use `fetch` to load other assets over `file://`
|
||||
* `file://` protocol pages can use service workers
|
||||
* `file://` protocol pages have universal access granted to child frames also running on `file://` protocols regardless of sandbox settings
|
||||
|
||||
## How do I flip the fuses?
|
||||
|
||||
### The easy way
|
||||
|
||||
@@ -159,7 +159,7 @@ shows the bare minimum needed to add the configuration changes)_:
|
||||
}
|
||||
```
|
||||
|
||||
#### [Electron Packager](https://github.com/electron/packager)
|
||||
#### [Electron Packager](https://github.com/electron/electron-packager)
|
||||
|
||||
For macOS support:
|
||||
|
||||
@@ -168,7 +168,7 @@ Electron Forge is handled, except
|
||||
`protocols` is part of the Packager options passed to the `packager` function.
|
||||
|
||||
```javascript @ts-nocheck
|
||||
const packager = require('@electron/packager')
|
||||
const packager = require('electron-packager')
|
||||
|
||||
packager({
|
||||
// ...other options...
|
||||
|
||||
@@ -759,27 +759,6 @@ function validateSender (frame) {
|
||||
}
|
||||
```
|
||||
|
||||
### 18. Avoid usage of the `file://` protocol and prefer usage of custom protocols
|
||||
|
||||
You should serve local pages from a custom protocol instead of the `file://` protocol.
|
||||
|
||||
#### Why?
|
||||
|
||||
The `file://` protocol gets more privileges in Electron than in a web browser and even in
|
||||
browsers it is treated differently to http/https URLs. Using a custom protocol allows you
|
||||
to be more aligned with classic web url behavior while retaining even more control about
|
||||
what can be loaded and when.
|
||||
|
||||
Pages running on `file://` have unilateral access to every file on your machine meaning
|
||||
that XSS issues can be used to load arbitrary files from the users machine. Using a custom
|
||||
protocol prevents issues like this as you can limit the protocol to only serving a specific
|
||||
set of files.
|
||||
|
||||
#### How?
|
||||
|
||||
Follow the [`protocol.handle`](../api/protocol.md#protocolhandlescheme-handler) examples to
|
||||
learn how to serve files / content from a custom protocol.
|
||||
|
||||
[breaking-changes]: ../breaking-changes.md
|
||||
[browser-window]: ../api/browser-window.md
|
||||
[browser-view]: ../api/browser-view.md
|
||||
|
||||
@@ -16,7 +16,7 @@ There are three ways to create a `.snap` file:
|
||||
1) Using [Electron Forge][electron-forge] or
|
||||
[`electron-builder`][electron-builder], both tools that come with `snap`
|
||||
support out of the box. This is the easiest option.
|
||||
2) Using `electron-installer-snap`, which takes `@electron/packager`'s output.
|
||||
2) Using `electron-installer-snap`, which takes `electron-packager`'s output.
|
||||
3) Using an already created `.deb` package.
|
||||
|
||||
In some cases, you will need to have the `snapcraft` tool installed.
|
||||
@@ -35,7 +35,7 @@ npm install --save-dev electron-installer-snap
|
||||
|
||||
### Step 1: Package Your Electron Application
|
||||
|
||||
Package the application using [@electron/packager][electron-packager] (or a
|
||||
Package the application using [electron-packager][electron-packager] (or a
|
||||
similar tool). Make sure to remove `node_modules` that you don't need in your
|
||||
final application, since any module you don't actually need will increase
|
||||
your application's size.
|
||||
@@ -79,7 +79,7 @@ snap(options)
|
||||
.then(snapPath => console.log(`Created snap at ${snapPath}!`))
|
||||
```
|
||||
|
||||
## Using `snapcraft` with `@electron/packager`
|
||||
## Using `snapcraft` with `electron-packager`
|
||||
|
||||
### Step 1: Create Sample Snapcraft Project
|
||||
|
||||
@@ -113,7 +113,7 @@ parts:
|
||||
plugin: nil
|
||||
source: https://github.com/electron/electron-quick-start.git
|
||||
override-build: |
|
||||
npm install electron @electron/packager
|
||||
npm install electron electron-packager
|
||||
npx electron-packager . --overwrite --platform=linux --output=release-build --prune=true
|
||||
cp -rv ./electron-quick-start-linux-* $SNAPCRAFT_PART_INSTALL/electron-quick-start
|
||||
build-snaps:
|
||||
@@ -266,7 +266,7 @@ Finally, configure your application's environment for PipeWire:
|
||||
```
|
||||
|
||||
[snapcraft-syntax]: https://docs.snapcraft.io/build-snaps/syntax
|
||||
[electron-packager]: https://github.com/electron/packager
|
||||
[electron-packager]: https://github.com/electron/electron-packager
|
||||
[electron-forge]: https://github.com/electron/forge
|
||||
[electron-builder]: https://github.com/electron-userland/electron-builder
|
||||
[electron-installer-debian]: https://github.com/electron-userland/electron-installer-debian
|
||||
|
||||
@@ -35,7 +35,7 @@ as a **distributable**). Distributables can be either installers (e.g. MSI on Wi
|
||||
portable executable files (e.g. `.app` on macOS).
|
||||
|
||||
Electron Forge is an all-in-one tool that handles the packaging and distribution of Electron
|
||||
apps. Under the hood, it combines a lot of existing Electron tools (e.g. [`@electron/packager`][],
|
||||
apps. Under the hood, it combines a lot of existing Electron tools (e.g. [`electron-packager`][],
|
||||
[`@electron/osx-sign`][], [`electron-winstaller`][], etc.) into a single interface so you do not
|
||||
have to worry about wiring them all together.
|
||||
|
||||
@@ -200,7 +200,7 @@ information.
|
||||
|
||||
[`@electron/osx-sign`]: https://github.com/electron/osx-sign
|
||||
[application packaging]: ./application-distribution.md
|
||||
[`@electron/packager`]: https://github.com/electron/packager
|
||||
[`electron-packager`]: https://github.com/electron/electron-packager
|
||||
[`electron-winstaller`]: https://github.com/electron/windows-installer
|
||||
[electron forge]: https://www.electronforge.io
|
||||
[electron forge cli documentation]: https://www.electronforge.io/cli#commands
|
||||
|
||||
@@ -169,5 +169,5 @@ environment variable.
|
||||
[abi]: https://en.wikipedia.org/wiki/Application_binary_interface
|
||||
[@electron/rebuild]: https://github.com/electron/rebuild
|
||||
[electron-forge]: https://electronforge.io/
|
||||
[electron-packager]: https://github.com/electron/packager
|
||||
[electron-packager]: https://github.com/electron/electron-packager
|
||||
[node-pre-gyp]: https://github.com/mapbox/node-pre-gyp
|
||||
|
||||
@@ -42,7 +42,7 @@ npm install -g electron-windows-store
|
||||
|
||||
## Step 1: Package Your Electron Application
|
||||
|
||||
Package the application using [`@electron/packager`][electron-packager] (or a similar tool).
|
||||
Package the application using [electron-packager][electron-packager] (or a similar tool).
|
||||
Make sure to remove `node_modules` that you don't need in your final application, since
|
||||
any module you don't actually need will increase your application's size.
|
||||
|
||||
@@ -151,7 +151,7 @@ Once installation succeeded, you can move on to compiling your Electron app.
|
||||
[windows-sdk]: https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
|
||||
[app-converter]: https://learn.microsoft.com/en-us/windows/msix/packaging-tool/tool-overview
|
||||
[add-appxpackage]: https://learn.microsoft.com/en-us/previous-versions//hh856048(v=technet.10)?redirectedfrom=MSDN
|
||||
[electron-packager]: https://github.com/electron/packager
|
||||
[electron-packager]: https://github.com/electron/electron-packager
|
||||
[electron-windows-store]: https://github.com/electron-userland/electron-windows-store
|
||||
[background-task]: https://github.com/felixrieseberg/electron-uwp-background
|
||||
[centennial-campaigns]: https://developer.microsoft.com/en-us/windows/projects/campaigns/desktop-bridge
|
||||
|
||||
@@ -34,7 +34,7 @@ class AutoUpdater extends EventEmitter implements Electron.AutoUpdater {
|
||||
this.updateURL = updateURL;
|
||||
}
|
||||
|
||||
async checkForUpdates () {
|
||||
checkForUpdates () {
|
||||
const url = this.updateURL;
|
||||
if (!url) {
|
||||
return this.emitError(new Error('Update URL is not set'));
|
||||
@@ -43,24 +43,27 @@ class AutoUpdater extends EventEmitter implements Electron.AutoUpdater {
|
||||
return this.emitError(new Error('Can not find Squirrel'));
|
||||
}
|
||||
this.emit('checking-for-update');
|
||||
try {
|
||||
const update = await squirrelUpdate.checkForUpdate(url);
|
||||
squirrelUpdate.checkForUpdate(url, (error, update) => {
|
||||
if (error != null) {
|
||||
return this.emitError(error);
|
||||
}
|
||||
if (update == null) {
|
||||
return this.emit('update-not-available');
|
||||
}
|
||||
this.updateAvailable = true;
|
||||
this.emit('update-available');
|
||||
|
||||
await squirrelUpdate.update(url);
|
||||
const { releaseNotes, version } = update;
|
||||
// Date is not available on Windows, so fake it.
|
||||
const date = new Date();
|
||||
this.emit('update-downloaded', {}, releaseNotes, version, date, this.updateURL, () => {
|
||||
this.quitAndInstall();
|
||||
squirrelUpdate.update(url, (error) => {
|
||||
if (error != null) {
|
||||
return this.emitError(error);
|
||||
}
|
||||
const { releaseNotes, version } = update;
|
||||
// Date is not available on Windows, so fake it.
|
||||
const date = new Date();
|
||||
this.emit('update-downloaded', {}, releaseNotes, version, date, this.updateURL, () => {
|
||||
this.quitAndInstall();
|
||||
});
|
||||
});
|
||||
} catch (error) {
|
||||
this.emitError(error as Error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Private: Emit both error object and message, this is to keep compatibility
|
||||
|
||||
@@ -15,67 +15,89 @@ const isSameArgs = (args: string[]) => args.length === spawnedArgs.length && arg
|
||||
|
||||
// Spawn a command and invoke the callback when it completes with an error
|
||||
// and the output from standard out.
|
||||
const spawnUpdate = async function (args: string[], options: { detached: boolean }): Promise<string> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const spawnUpdate = function (args: string[], detached: boolean, callback: Function) {
|
||||
let error: Error, errorEmitted: boolean, stderr: string, stdout: string;
|
||||
|
||||
try {
|
||||
// Ensure we don't spawn multiple squirrel processes
|
||||
// Process spawned, same args: Attach events to already running process
|
||||
// Process spawned, different args: Return with error
|
||||
// No process spawned: Spawn new process
|
||||
if (spawnedProcess && !isSameArgs(args)) {
|
||||
throw new Error(`AutoUpdater process with arguments ${args} is already running`);
|
||||
return callback(`AutoUpdater process with arguments ${args} is already running`);
|
||||
} else if (!spawnedProcess) {
|
||||
spawnedProcess = spawn(updateExe, args, {
|
||||
detached: options.detached,
|
||||
detached: detached,
|
||||
windowsHide: true
|
||||
});
|
||||
spawnedArgs = args || [];
|
||||
}
|
||||
} catch (error1) {
|
||||
error = error1 as Error;
|
||||
|
||||
let stdout = '';
|
||||
let stderr = '';
|
||||
|
||||
spawnedProcess.stdout.on('data', (data) => { stdout += data; });
|
||||
spawnedProcess.stderr.on('data', (data) => { stderr += data; });
|
||||
|
||||
spawnedProcess.on('error', (error) => {
|
||||
reject(error);
|
||||
// Shouldn't happen, but still guard it.
|
||||
process.nextTick(function () {
|
||||
return callback(error);
|
||||
});
|
||||
return;
|
||||
}
|
||||
stdout = '';
|
||||
stderr = '';
|
||||
|
||||
spawnedProcess.on('exit', function (code, signal) {
|
||||
spawnedProcess = undefined;
|
||||
spawnedArgs = [];
|
||||
spawnedProcess.stdout.on('data', (data) => { stdout += data; });
|
||||
spawnedProcess.stderr.on('data', (data) => { stderr += data; });
|
||||
|
||||
if (code !== 0) {
|
||||
// Process terminated with error.
|
||||
reject(new Error(`Command failed: ${signal ?? code}\n${stderr}`));
|
||||
} else {
|
||||
// Success.
|
||||
resolve(stdout);
|
||||
}
|
||||
});
|
||||
errorEmitted = false;
|
||||
spawnedProcess.on('error', (error) => {
|
||||
errorEmitted = true;
|
||||
callback(error);
|
||||
});
|
||||
|
||||
return spawnedProcess.on('exit', function (code, signal) {
|
||||
spawnedProcess = undefined;
|
||||
spawnedArgs = [];
|
||||
|
||||
// We may have already emitted an error.
|
||||
if (errorEmitted) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Process terminated with error.
|
||||
if (code !== 0) {
|
||||
return callback(`Command failed: ${signal ?? code}\n${stderr}`);
|
||||
}
|
||||
|
||||
// Success.
|
||||
callback(null, stdout);
|
||||
});
|
||||
};
|
||||
|
||||
// Start an instance of the installed app.
|
||||
export function processStart () {
|
||||
spawnUpdate(['--processStartAndWait', exeName], { detached: true });
|
||||
return spawnUpdate(['--processStartAndWait', exeName], true, function () {});
|
||||
}
|
||||
|
||||
// Download the releases specified by the URL and write new results to stdout.
|
||||
export async function checkForUpdate (updateURL: string): Promise<any> {
|
||||
const stdout = await spawnUpdate(['--checkForUpdate', updateURL], { detached: false });
|
||||
try {
|
||||
// Last line of output is the JSON details about the releases
|
||||
const json = stdout.trim().split('\n').pop();
|
||||
return JSON.parse(json!)?.releasesToApply?.pop?.();
|
||||
} catch {
|
||||
throw new Error(`Invalid result:\n${stdout}`);
|
||||
}
|
||||
export function checkForUpdate (updateURL: string, callback: (error: Error | null, update?: any) => void) {
|
||||
return spawnUpdate(['--checkForUpdate', updateURL], false, function (error: Error, stdout: string) {
|
||||
let ref, ref1, update;
|
||||
if (error != null) {
|
||||
return callback(error);
|
||||
}
|
||||
try {
|
||||
// Last line of output is the JSON details about the releases
|
||||
const json = stdout.trim().split('\n').pop();
|
||||
update = (ref = JSON.parse(json!)) != null ? (ref1 = ref.releasesToApply) != null ? typeof ref1.pop === 'function' ? ref1.pop() : undefined : undefined : undefined;
|
||||
} catch {
|
||||
return callback(new Error(`Invalid result:\n${stdout}`));
|
||||
}
|
||||
return callback(null, update);
|
||||
});
|
||||
}
|
||||
|
||||
// Update the application to the latest remote version specified by URL.
|
||||
export async function update (updateURL: string): Promise<void> {
|
||||
await spawnUpdate(['--update', updateURL], { detached: false });
|
||||
export function update (updateURL: string, callback: (error: Error) => void) {
|
||||
return spawnUpdate(['--update', updateURL], false, callback);
|
||||
}
|
||||
|
||||
// Is the Update.exe installed with the current application?
|
||||
|
||||
@@ -23,10 +23,10 @@ index c302f3e672cea9b73591048cf581f3e81078d5cb..eb1d1b0b59e687b996e76c205a871234
|
||||
int32_t world_id) {}
|
||||
virtual void DidClearWindowObject() {}
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
index cdcb4a0a0ec3a44a79dac18086721d8fbb598e2e..9eab0679b498157d6376600dc08a206ba04c3e01 100644
|
||||
index 47562a65e99b1bdbeca57f1ba69822df768c0291..104209cc6c8f5e6a6660936b8c6f185a30570237 100644
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -4551,6 +4551,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
@@ -4546,6 +4546,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
observer.DidCreateScriptContext(context, world_id);
|
||||
}
|
||||
|
||||
@@ -53,10 +53,10 @@ index 7a49bed638125a9980475ac6d4c825fcc9481548..7317ca6d2aca2362e6a260c931ec72fc
|
||||
int world_id) override;
|
||||
void DidChangeScrollOffset() override;
|
||||
diff --git a/third_party/blink/public/web/web_local_frame_client.h b/third_party/blink/public/web/web_local_frame_client.h
|
||||
index 64d8aca52be5e63c56fea2cb2a835761df11e098..6d3c66f3b08a625c4bcfffc3f2caf2d67f9ca258 100644
|
||||
index 714eef7a6809e0efc461cab62cd75d325540f66e..e7189320516d9f8563d7f9b679666781ef8ac995 100644
|
||||
--- a/third_party/blink/public/web/web_local_frame_client.h
|
||||
+++ b/third_party/blink/public/web/web_local_frame_client.h
|
||||
@@ -620,6 +620,9 @@ class BLINK_EXPORT WebLocalFrameClient {
|
||||
@@ -619,6 +619,9 @@ class BLINK_EXPORT WebLocalFrameClient {
|
||||
virtual void DidCreateScriptContext(v8::Local<v8::Context>,
|
||||
int32_t world_id) {}
|
||||
|
||||
@@ -123,7 +123,7 @@ index 2dd6df6727828335ca4462b470df4afd8dd29539..91ee3bf31ba43e650cacd2f781a3a810
|
||||
int32_t world_id) override;
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/loader/empty_clients.h b/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
index e0c700c76f360b24d7ffa4edfe16dc855e4fd8b1..265f3c590062009ec98be231f9e1f496c39370e0 100644
|
||||
index 8f21b488a00e38ea318f08116cdabe5c9bd5e45a..2a90dc46b331f452bdd525fd043efd2a04adac9b 100644
|
||||
--- a/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
+++ b/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
@@ -408,6 +408,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
|
||||
|
||||
@@ -7,10 +7,10 @@ Ensure that licenses for the dependencies introduced by Electron
|
||||
are included in `LICENSES.chromium.html`
|
||||
|
||||
diff --git a/tools/licenses/licenses.py b/tools/licenses/licenses.py
|
||||
index 71dbd96a807f338752dd45bbb81a4b0e7ff63ca2..659caaf9e1ab93954704b2e5dbe7ddedc11f6a6d 100755
|
||||
index 9535c354a29fb5f5e98fdc60edeff2bdac40d69f..b9dcbe91ca6fd16d1d53cec6a589116ba7f7797d 100755
|
||||
--- a/tools/licenses/licenses.py
|
||||
+++ b/tools/licenses/licenses.py
|
||||
@@ -415,6 +415,31 @@ SPECIAL_CASES = {
|
||||
@@ -413,6 +413,31 @@ SPECIAL_CASES = {
|
||||
"License": "Apache 2.0",
|
||||
"License File": ["//third_party/selenium-atoms/LICENSE.closure"],
|
||||
},
|
||||
|
||||
@@ -99,10 +99,10 @@ index e89d7153d66d15e6e9a2a6980aaec5c671dfd0f3..c77228f8aa6ada81bcafc2622d784bb3
|
||||
// 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 f554c311146e670f45422599e1e8fcd93f1463c1..020d12b55e2527eac242d226d9dddcb38ff49dc3 100644
|
||||
index c8b7feaa65bfb47daa63565b193ff33806f53f88..70953a480dbc71594e292609ebd327c9b1c685af 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -2395,6 +2395,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
|
||||
@@ -2413,6 +2413,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
|
||||
TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal",
|
||||
"old_state", old_state, "new_state", new_state);
|
||||
|
||||
@@ -113,7 +113,7 @@ index f554c311146e670f45422599e1e8fcd93f1463c1..020d12b55e2527eac242d226d9dddcb3
|
||||
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 &&
|
||||
@@ -3887,10 +3891,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
@@ -3903,10 +3907,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
return GetPage()->GetPageScheduler();
|
||||
}
|
||||
|
||||
@@ -138,7 +138,7 @@ index f554c311146e670f45422599e1e8fcd93f1463c1..020d12b55e2527eac242d226d9dddcb3
|
||||
// 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 90359a1f1aafadc7bb4e8776c9b609a7485072f6..b66744a6557152b69a3c769f8dfb5b0221d67a01 100644
|
||||
index dde5e8c51fa5f690d67c077365e11c00edd4ea85..2cff9e7af83ba7ad13aafea1a22bbf7be9829839 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
@@ -447,6 +447,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
|
||||
@@ -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 53a60b74b8f1f74d9559708eab0724839303e48b..f2706cd37302af89e6d14b39483da4d3c4b9c438 100644
|
||||
index 840cac7b1f4231b8177e1d697e102a18201f41de..40762df275afe2b6f63ea3da44d94475e1f290bf 100644
|
||||
--- a/third_party/blink/renderer/core/frame/frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/frame.cc
|
||||
@@ -125,14 +125,6 @@ bool Frame::Detach(FrameDetachType type) {
|
||||
@@ -49,10 +49,10 @@ index 53a60b74b8f1f74d9559708eab0724839303e48b..f2706cd37302af89e6d14b39483da4d3
|
||||
// its owning reference back to our owning LocalFrame.
|
||||
client_->Detached(type);
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
index e7086a8fc1578f47c64733a861775330d4c6e226..6fa07b3b2631de6a8bd441688ee1fb6bf155f41e 100644
|
||||
index 152fd1307207a5dafce52b71dcb1469c3263165f..6fc9f48d84590f85576be0362c716634c87eff80 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -673,10 +673,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
@@ -671,10 +671,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
}
|
||||
DCHECK(!view_ || !view_->IsAttached());
|
||||
|
||||
@@ -63,7 +63,7 @@ index e7086a8fc1578f47c64733a861775330d4c6e226..6fa07b3b2631de6a8bd441688ee1fb6b
|
||||
if (!Client())
|
||||
return false;
|
||||
|
||||
@@ -724,6 +720,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
@@ -722,6 +718,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
DCHECK(!view_->IsAttached());
|
||||
Client()->WillBeDetached();
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@ Subject: boringssl BUILD.gn
|
||||
Build BoringSSL with some extra functions that nodejs needs.
|
||||
|
||||
diff --git a/third_party/boringssl/BUILD.gn b/third_party/boringssl/BUILD.gn
|
||||
index c98f801de361a3c521e790011bef3962b9dfb142..ca177d630a5ad11d97d72a98efdfdc87c6962ae1 100644
|
||||
index 321a2dc2eb38dfa57aaaa76ba65279001402b368..8f065573898836a0c7baeda1e0f626afbd55046a 100644
|
||||
--- a/third_party/boringssl/BUILD.gn
|
||||
+++ b/third_party/boringssl/BUILD.gn
|
||||
@@ -56,6 +56,21 @@ config("no_asm_config") {
|
||||
all_sources = crypto_sources + ssl_sources + pki_sources + pki_internal_headers
|
||||
all_headers = crypto_headers + ssl_headers + pki_internal_headers
|
||||
@@ -53,6 +53,20 @@ config("no_asm_config") {
|
||||
|
||||
all_sources = crypto_sources + ssl_sources + pki_sources
|
||||
all_headers = crypto_headers + ssl_headers
|
||||
+if (is_electron_build) {
|
||||
+ # Needed to build a nodejs-compatible boringssl.
|
||||
+ all_sources += [
|
||||
@@ -27,7 +27,6 @@ index c98f801de361a3c521e790011bef3962b9dfb142..ca177d630a5ad11d97d72a98efdfdc87
|
||||
+ "src/decrepit/ripemd/ripemd.c",
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
|
||||
if (enable_rust_boringssl) {
|
||||
rust_bindgen("raw_bssl_sys_bindings") {
|
||||
header = "src/rust/bssl-sys/wrapper.h"
|
||||
|
||||
@@ -33,10 +33,10 @@ index 0594fc8f8122b5f66457c262890ea93be3a579d8..19f045d14c6072c1b0b8fb6a50bf4caf
|
||||
"//base",
|
||||
"//build:branding_buildflags",
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
index 95c288ea917801626e445d9e4379d31287d1d980..1dfe32e08bd41c5ea5f8ed91943f7fbe65a720ac 100644
|
||||
index d79a6c13ce425ccc123205476b292e9fe4d53171..b78d2c8bad3f3f6d046d5be52e5e5f76c95a8454 100644
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -4821,7 +4821,7 @@ static_library("browser") {
|
||||
@@ -4822,7 +4822,7 @@ static_library("browser") {
|
||||
|
||||
# On Windows, the hashes are embedded in //chrome:chrome_initial rather
|
||||
# than here in :chrome_dll.
|
||||
@@ -46,10 +46,10 @@ index 95c288ea917801626e445d9e4379d31287d1d980..1dfe32e08bd41c5ea5f8ed91943f7fbe
|
||||
sources += [ "certificate_viewer_stub.cc" ]
|
||||
}
|
||||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
index 1ca9f1c8e56d0d5d0acc9f7c5a400a76825e475b..148107679100d691d842002750e7431e60e4582c 100644
|
||||
index b5242eef4e36dae88fd0e454203ce94777fd268b..99daebc34f3d0e6b154f919648cb4c5044a3c025 100644
|
||||
--- a/chrome/test/BUILD.gn
|
||||
+++ b/chrome/test/BUILD.gn
|
||||
@@ -7053,7 +7053,6 @@ test("unit_tests") {
|
||||
@@ -7048,7 +7048,6 @@ test("unit_tests") {
|
||||
|
||||
deps += [
|
||||
"//chrome:other_version",
|
||||
@@ -57,7 +57,7 @@ index 1ca9f1c8e56d0d5d0acc9f7c5a400a76825e475b..148107679100d691d842002750e7431e
|
||||
"//chrome//services/util_win:unit_tests",
|
||||
"//chrome/app:chrome_dll_resources",
|
||||
"//chrome/app:win_unit_tests",
|
||||
@@ -7074,6 +7073,10 @@ test("unit_tests") {
|
||||
@@ -7069,6 +7068,10 @@ test("unit_tests") {
|
||||
"//ui/resources",
|
||||
]
|
||||
|
||||
@@ -68,7 +68,7 @@ index 1ca9f1c8e56d0d5d0acc9f7c5a400a76825e475b..148107679100d691d842002750e7431e
|
||||
ldflags = [
|
||||
"/DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll",
|
||||
"/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll",
|
||||
@@ -8068,7 +8071,6 @@ test("unit_tests") {
|
||||
@@ -8062,7 +8065,6 @@ test("unit_tests") {
|
||||
}
|
||||
|
||||
deps += [
|
||||
@@ -76,7 +76,7 @@ index 1ca9f1c8e56d0d5d0acc9f7c5a400a76825e475b..148107679100d691d842002750e7431e
|
||||
"//chrome/browser/apps:icon_standardizer",
|
||||
"//chrome/browser/apps/app_service",
|
||||
"//chrome/browser/apps/app_service:app_registry_cache_waiter",
|
||||
@@ -8158,6 +8160,10 @@ test("unit_tests") {
|
||||
@@ -8153,6 +8155,10 @@ test("unit_tests") {
|
||||
"//ui/webui/resources/js/browser_command:mojo_bindings",
|
||||
]
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: build: only use the mas build config in the required components
|
||||
Before landing this patch should be split into the relevant MAS patches, or at least the patch this one partially reverts
|
||||
|
||||
diff --git a/base/BUILD.gn b/base/BUILD.gn
|
||||
index 5bb39e9b3b879a48514c69432569e0b3cd4a8fe4..f1283670da29d6559ce1431ce5c2cdafd42c24e9 100644
|
||||
index 8f12d13dcd67d9dfb97b3e1fbe6a8caefdb9fd2c..9e93386c769b7bb805cf8057ce4b28a6555a144a 100644
|
||||
--- a/base/BUILD.gn
|
||||
+++ b/base/BUILD.gn
|
||||
@@ -1035,6 +1035,7 @@ component("base") {
|
||||
@@ -74,7 +74,7 @@ index 53611e788cde9012ca566444e6c1ee05c99b921e..c5d018ae78b486ef4b3cc86a8091869f
|
||||
|
||||
if (is_win) {
|
||||
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||
index 204bbd1d3e67a5340f57ba9e562a427255859487..51ef5610ef8b3f20cea34ddc95595216d312603b 100644
|
||||
index d2b0f343db2cec3667576d37bad76c2294099331..aaa40fe000b85ffe249b1ce8230ac3a7746b0a1a 100644
|
||||
--- a/content/browser/BUILD.gn
|
||||
+++ b/content/browser/BUILD.gn
|
||||
@@ -52,6 +52,7 @@ source_set("browser") {
|
||||
@@ -110,7 +110,7 @@ index 697fa7c5e98e7ee16b1b5e676f60a9689f7aac2b..f5e7278a6e391cbab61bbd2981127beb
|
||||
|
||||
public_deps = [
|
||||
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
|
||||
index 0967c510f870a6b66f0b577521e2d8df61f0c68d..317c8b68e2d5fb62ae73eec867d6c52a7132ff3c 100644
|
||||
index 97e1984a154b0f4d36d9c02e001234a1d9ed0740..d5d6e524a6063abccee23d1e2632f4e3318f8f10 100644
|
||||
--- a/content/test/BUILD.gn
|
||||
+++ b/content/test/BUILD.gn
|
||||
@@ -482,6 +482,7 @@ static_library("test_support") {
|
||||
@@ -261,10 +261,10 @@ index 39a960146504ac6034fe24593006d09ff9c667ac..67d0b5c26ef4788559efc696656dc88f
|
||||
|
||||
if (is_apple) {
|
||||
diff --git a/ui/display/BUILD.gn b/ui/display/BUILD.gn
|
||||
index 301e8792b1259e7f7c4eb8e75a09a32f0d60e91f..36da16f203b14e872fb8153e8fc10c3f6725280d 100644
|
||||
index a8c6d49637a53961d1e16521ae569c3f03fd1e8a..b36e64816bb296e53479c5666ab418fdebfde4e4 100644
|
||||
--- a/ui/display/BUILD.gn
|
||||
+++ b/ui/display/BUILD.gn
|
||||
@@ -68,6 +68,10 @@ component("display") {
|
||||
@@ -67,6 +67,10 @@ component("display") {
|
||||
"mac/display_link_mac.h",
|
||||
"mac/screen_mac.mm",
|
||||
]
|
||||
@@ -276,7 +276,7 @@ index 301e8792b1259e7f7c4eb8e75a09a32f0d60e91f..36da16f203b14e872fb8153e8fc10c3f
|
||||
|
||||
if (is_win) {
|
||||
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
|
||||
index df601fcc40b4b8ca131a4f5a3ced5897075aa0f7..9d2edc62d95f04b6f1b3cd667940b1cb2dc728c3 100644
|
||||
index 9161edba8266e83480da3c04b63d64a6532517c9..2eb1d7637aede0e783cdddc04773015d4c70ecfd 100644
|
||||
--- a/ui/gfx/BUILD.gn
|
||||
+++ b/ui/gfx/BUILD.gn
|
||||
@@ -204,6 +204,7 @@ component("gfx") {
|
||||
@@ -288,10 +288,10 @@ index df601fcc40b4b8ca131a4f5a3ced5897075aa0f7..9d2edc62d95f04b6f1b3cd667940b1cb
|
||||
if (is_win) {
|
||||
sources += [
|
||||
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
|
||||
index 442f6d2fba860c9ed87f5ed66c188945c98734dd..62e0f63f8968dd9b5953aca23afd4f76c673026a 100644
|
||||
index d69a544d0971b776e59c0980b61961e7a0f83cac..2b4c4405911eba5f8cbb9dadb98e3b0224f1a938 100644
|
||||
--- a/ui/views/BUILD.gn
|
||||
+++ b/ui/views/BUILD.gn
|
||||
@@ -695,6 +695,7 @@ component("views") {
|
||||
@@ -684,6 +684,7 @@ component("views") {
|
||||
"IOSurface.framework",
|
||||
"QuartzCore.framework",
|
||||
]
|
||||
@@ -299,7 +299,7 @@ index 442f6d2fba860c9ed87f5ed66c188945c98734dd..62e0f63f8968dd9b5953aca23afd4f76
|
||||
}
|
||||
|
||||
if (is_win) {
|
||||
@@ -1124,6 +1125,8 @@ source_set("test_support") {
|
||||
@@ -1113,6 +1114,8 @@ source_set("test_support") {
|
||||
"//testing/gtest",
|
||||
]
|
||||
|
||||
|
||||
@@ -9,10 +9,10 @@ potentially prevent a window from being created.
|
||||
TODO(loc): this patch is currently broken.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
index 6a2f4989eff402e61e00832cf7be504a1a19db13..4fc07868f9b6db2b634356dea8e329a191c8c139 100644
|
||||
index ae39e6adf98e783e19d83e4e31dde47a19e37593..022ed0a5767806b66f32b8a7555d6726636b09cf 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -8288,6 +8288,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
@@ -8231,6 +8231,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 6a2f4989eff402e61e00832cf7be504a1a19db13..4fc07868f9b6db2b634356dea8e329a1
|
||||
&no_javascript_access);
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index d57a64e5b15512bdd9c7c99c5d5ee66cf833640f..161d0c99eb1da6af69a5dcf6bbb6f753e3397b5b 100644
|
||||
index a062e2af581013170e655f3d2318c8d43c7d5e63..f7a8529020e9be4a4f13156b9e96e74fbffd09cc 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4492,6 +4492,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -4483,6 +4483,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
|
||||
auto* new_contents_impl = new_contents.get();
|
||||
|
||||
@@ -37,7 +37,7 @@ index d57a64e5b15512bdd9c7c99c5d5ee66cf833640f..161d0c99eb1da6af69a5dcf6bbb6f753
|
||||
// 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
|
||||
@@ -4533,12 +4539,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -4524,12 +4530,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
AddWebContentsDestructionObserver(new_contents_impl);
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ index 40c14e1757dee4fda9aa79f3a52532f8ab737a97..2c833d683b737bd6b24d2ec10d97b46d
|
||||
|
||||
// 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 06027ffc39095213aa37d63b61f85ae52bc06e0a..b0198ac52eeab64eca5962ef644ff227b62be11a 100644
|
||||
index b9cb67d2350da2a59c69f7dc45ba8fec5f4192c5..cd26851920c6fae8721ba5c3a126962b1c036e49 100644
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -716,6 +716,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
@@ -79,7 +79,7 @@ index 06027ffc39095213aa37d63b61f85ae52bc06e0a..b0198ac52eeab64eca5962ef644ff227
|
||||
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 8b94386ec6e26a08fc8625ed8fc98a559c276692..f9e01547d36eed733414a34beed950057ecdb5b8 100644
|
||||
index e637fcabba2637d6044992c332a90c73d058e926..a5600d50354e21139baecbee89b27cf62a0f90fa 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -177,6 +177,7 @@ class NetworkService;
|
||||
@@ -90,7 +90,7 @@ index 8b94386ec6e26a08fc8625ed8fc98a559c276692..f9e01547d36eed733414a34beed95005
|
||||
} // namespace network
|
||||
|
||||
namespace sandbox {
|
||||
@@ -1154,6 +1155,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1153,6 +1154,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
@@ -100,7 +100,7 @@ index 8b94386ec6e26a08fc8625ed8fc98a559c276692..f9e01547d36eed733414a34beed95005
|
||||
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 9f38850f8efe3d9a29a7be6528129b48cf707a80..35c378f2ecedec3fc799189ecb70139ea090a5c2 100644
|
||||
index 1858dd4e9946aae67ab09b61c813eef23ed0284f..331e86ca4023980a2f26dab388dac02bbeb49f1c 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -30,6 +30,17 @@ namespace content {
|
||||
@@ -122,7 +122,7 @@ index 9f38850f8efe3d9a29a7be6528129b48cf707a80..35c378f2ecedec3fc799189ecb70139e
|
||||
const OpenURLParams& params) {
|
||||
return nullptr;
|
||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||
index 9fc7ad92817cc7fea982492b08da6e91ec4b8274..2885b140bb3a7e544d6ab7431090252e29e20ea5 100644
|
||||
index 5658b9774511ba54505370cd06193191db714ea3..04fa30594c33664a320598a3ec25d3b53bc4975b 100644
|
||||
--- a/content/public/browser/web_contents_delegate.h
|
||||
+++ b/content/public/browser/web_contents_delegate.h
|
||||
@@ -16,6 +16,7 @@
|
||||
@@ -148,10 +148,10 @@ index 9fc7ad92817cc7fea982492b08da6e91ec4b8274..2885b140bb3a7e544d6ab7431090252e
|
||||
// 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 be58abae55bd455bb84d3873f68f34efbab4cbde..cdcb4a0a0ec3a44a79dac18086721d8fbb598e2e 100644
|
||||
index d7c6222c977058f230d5e6153b1df13e127a9939..47562a65e99b1bdbeca57f1ba69822df768c0291 100644
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -6512,6 +6512,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
||||
@@ -6507,6 +6507,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
||||
request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
|
||||
GetWebFrame()->IsAdScriptInStack());
|
||||
|
||||
@@ -210,7 +210,7 @@ index bef5a989bac50c177f15f52fe87ac3790d553e85..65dcd2e3b51929400c8bfb6a98a4fb59
|
||||
|
||||
} // namespace blink
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
index f9517395278c9965c7191957f5b5b94be972e1c3..72be5fe31c7f1eda71784d0d2c1790511d6a2c1a 100644
|
||||
index 7405d410af1859db405f3cc7a2169f3aab597631..bb27d4350590bc7712a271567e1457e6551c7f7d 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
@@ -2175,6 +2175,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
|
||||
@@ -9,10 +9,10 @@ This is an experimental commit; but if it's successful,
|
||||
This patch should be upstreamed and then removed from electron's code.
|
||||
|
||||
diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h
|
||||
index 0bf626d8d67cd9badd75dc059ec189ee096cfb75..b1e96d9f3fcd41bc3ce4324c5a44f01fd46b3227 100644
|
||||
index 7c286fb2c0e22be420fef49027d5f8c5a32c11a6..1d47b3358e174143513ad0bc5261465b996ef98a 100644
|
||||
--- a/chrome/browser/ui/views/frame/browser_view.h
|
||||
+++ b/chrome/browser/ui/views/frame/browser_view.h
|
||||
@@ -42,7 +42,6 @@
|
||||
@@ -41,7 +41,6 @@
|
||||
#include "chrome/browser/ui/views/user_education/browser_feature_promo_controller.h"
|
||||
#include "chrome/common/buildflags.h"
|
||||
#include "components/infobars/core/infobar_container.h"
|
||||
@@ -20,7 +20,7 @@ index 0bf626d8d67cd9badd75dc059ec189ee096cfb75..b1e96d9f3fcd41bc3ce4324c5a44f01f
|
||||
#include "components/user_education/common/feature_promo_controller.h"
|
||||
#include "components/user_education/common/feature_promo_handle.h"
|
||||
#include "components/webapps/browser/banners/app_banner_manager.h"
|
||||
@@ -63,6 +62,10 @@
|
||||
@@ -62,6 +61,10 @@
|
||||
#include "ui/views/widget/widget_observer.h"
|
||||
#include "ui/views/window/client_view.h"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ This patch comes after Chromium removed the ScopedAllowIO API in favor
|
||||
of explicitly adding ScopedAllowBlocking calls as friends.
|
||||
|
||||
diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h
|
||||
index 83339edeacdc7d52093cfc8e8cf38dcafb0353c1..68acd0c99eda3f9103317abdfd8b3d8f5466963d 100644
|
||||
index 2c6f5bf5fc203f0d3b01c8d23b81434d68a3c57f..699e10d74fea4482925d6f7a270833991cdc03e7 100644
|
||||
--- a/base/threading/thread_restrictions.h
|
||||
+++ b/base/threading/thread_restrictions.h
|
||||
@@ -135,6 +135,7 @@ class KeyStorageLinux;
|
||||
@@ -28,7 +28,7 @@ index 83339edeacdc7d52093cfc8e8cf38dcafb0353c1..68acd0c99eda3f9103317abdfd8b3d8f
|
||||
namespace enterprise_connectors {
|
||||
class LinuxKeyRotationCommand;
|
||||
} // namespace enterprise_connectors
|
||||
@@ -563,6 +567,7 @@ class BASE_EXPORT [[maybe_unused, nodiscard]] ScopedAllowBlocking {
|
||||
@@ -562,6 +566,7 @@ class BASE_EXPORT [[maybe_unused, nodiscard]] ScopedAllowBlocking {
|
||||
friend class ::DesktopNotificationBalloon;
|
||||
friend class ::FirefoxProfileLock;
|
||||
friend class ::GaiaConfig;
|
||||
@@ -36,7 +36,7 @@ index 83339edeacdc7d52093cfc8e8cf38dcafb0353c1..68acd0c99eda3f9103317abdfd8b3d8f
|
||||
friend class ::ProfileImpl;
|
||||
friend class ::ScopedAllowBlockingForProfile;
|
||||
friend class ::StartupTabProviderImpl;
|
||||
@@ -601,6 +606,7 @@ class BASE_EXPORT [[maybe_unused, nodiscard]] ScopedAllowBlocking {
|
||||
@@ -600,6 +605,7 @@ class BASE_EXPORT [[maybe_unused, nodiscard]] ScopedAllowBlocking {
|
||||
friend class crosapi::LacrosThreadTypeDelegate;
|
||||
friend class crypto::ScopedAllowBlockingForNSS; // http://crbug.com/59847
|
||||
friend class drive::FakeDriveService;
|
||||
|
||||
@@ -8,7 +8,7 @@ is therefore not a method that will compile given we don't include
|
||||
relevant files.
|
||||
|
||||
diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/profiles/profile_selections.cc
|
||||
index 78c1e22427794262a33acd5a318abc9a1ec35871..a84b6103378fab20f6fdda2c8ec9bbd2dd2d2f20 100644
|
||||
index 0df82b71f05c34bd7896996feabcdd91ef3ea654..a59edbf28e561437db68f21471d806b71c6dd0c5 100644
|
||||
--- a/chrome/browser/profiles/profile_selections.cc
|
||||
+++ b/chrome/browser/profiles/profile_selections.cc
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
@@ -7,7 +7,7 @@ Pending upstream patch, this gives us fuller access to the window.open params
|
||||
so that we will be able to decide whether to cancel it or not.
|
||||
|
||||
diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc
|
||||
index 131306e6abaddec88b4b90284a53c46a6a8561ca..8d77e767ee45b2e2b678ac2dbc90cb95b32e4432 100644
|
||||
index 5620967379a2f0754449bb47e8a3994be97fed54..e6d46a14d62df5dffc383b4fb36bb792a93bddab 100644
|
||||
--- a/chrome/browser/media/offscreen_tab.cc
|
||||
+++ b/chrome/browser/media/offscreen_tab.cc
|
||||
@@ -286,8 +286,7 @@ bool OffscreenTab::IsWebContentsCreationOverridden(
|
||||
@@ -21,7 +21,7 @@ index 131306e6abaddec88b4b90284a53c46a6a8561ca..8d77e767ee45b2e2b678ac2dbc90cb95
|
||||
// uses this to spawn new windows/tabs, which is also not allowed for
|
||||
// offscreen tabs.
|
||||
diff --git a/chrome/browser/media/offscreen_tab.h b/chrome/browser/media/offscreen_tab.h
|
||||
index 6dd54eea3cb78f6bced31269b89ef51499d92fef..cd4ac085979a65c6d7112a40638165993802517c 100644
|
||||
index 155296ba7ee5495be62045bc620bb1cd31d3ceb3..954efde9e7a58f8b556c6ceabb81643f453f7dc3 100644
|
||||
--- a/chrome/browser/media/offscreen_tab.h
|
||||
+++ b/chrome/browser/media/offscreen_tab.h
|
||||
@@ -107,8 +107,7 @@ class OffscreenTab final : public ProfileObserver,
|
||||
@@ -80,10 +80,10 @@ index aaaa61d5c3a1d5ade2fd355e38a3985ef5cc4e7d..b45746ba0f38a381a2ee5ca17f3a1685
|
||||
}
|
||||
|
||||
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
|
||||
index 2b0bbd4bab6c1d7ec7aee8e723096a3948cec3ea..5824add91b529fb9c196078cf5a496c723f11ca8 100644
|
||||
index d906456768a211e916f8bea3c7506b5ad028d861..3706522250e20c2b5940b0226f13f4879cb0a3e0 100644
|
||||
--- a/chrome/browser/ui/browser.cc
|
||||
+++ b/chrome/browser/ui/browser.cc
|
||||
@@ -1891,12 +1891,11 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
@@ -1884,12 +1884,11 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
@@ -99,10 +99,10 @@ index 2b0bbd4bab6c1d7ec7aee8e723096a3948cec3ea..5824add91b529fb9c196078cf5a496c7
|
||||
|
||||
WebContents* Browser::CreateCustomWebContents(
|
||||
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
|
||||
index f0a388b58375f0a5db145bbeed998c7f722e52ac..e7d36857700095962fec939a37de6d541a28561d 100644
|
||||
index 5e73458fda65e4e91054a95c7d041006e9050db1..17c457095375fe8b4cf904695aaf91252d14cb80 100644
|
||||
--- a/chrome/browser/ui/browser.h
|
||||
+++ b/chrome/browser/ui/browser.h
|
||||
@@ -892,8 +892,7 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -891,8 +891,7 @@ class Browser : public TabStripModelObserver,
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
@@ -113,10 +113,10 @@ index f0a388b58375f0a5db145bbeed998c7f722e52ac..e7d36857700095962fec939a37de6d54
|
||||
content::RenderFrameHost* opener,
|
||||
content::SiteInstance* source_site_instance,
|
||||
diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
||||
index 4f9040c4fd3127cec4473b36f818a12796710ec0..a4e8d400404b44b7ec3269fcab3ecb8dd4374840 100644
|
||||
index 114e765ae7780922b0db688e381447c2e4b73cd3..c187ddf65418f4f3068593c6d4165d50524e1bfc 100644
|
||||
--- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
||||
+++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
||||
@@ -203,8 +203,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden(
|
||||
@@ -202,8 +202,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
@@ -127,7 +127,7 @@ index 4f9040c4fd3127cec4473b36f818a12796710ec0..a4e8d400404b44b7ec3269fcab3ecb8d
|
||||
// uses this to spawn new windows/tabs, which is also not allowed for
|
||||
// local presentations.
|
||||
diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
|
||||
index ca72b324bf7c3b81ac94b53f0ff454d2df177950..d60ef3075d126e2bbd50c8469f2bf67cfa05c6f7 100644
|
||||
index 0c8f72c7e6cbe38c2e05381e97c58a3a6c991f8e..2afc5dc73d6e23555faf39bf144b43a19a7c1118 100644
|
||||
--- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
|
||||
+++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
|
||||
@@ -105,8 +105,7 @@ class PresentationReceiverWindowController final
|
||||
@@ -141,10 +141,10 @@ index ca72b324bf7c3b81ac94b53f0ff454d2df177950..d60ef3075d126e2bbd50c8469f2bf67c
|
||||
// The profile used for the presentation.
|
||||
raw_ptr<Profile, DanglingUntriaged> otr_profile_;
|
||||
diff --git a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
||||
index 59849e7b7cd411eca0dfec2b55c0328d08222277..45fabbb399da8e030846cacec8639ed3ad5dccd2 100644
|
||||
index bf521a05278e2b2344751794def98324e7cdcbb5..bf984aa612e4a464ce46703d37402ef0fa24ea0c 100644
|
||||
--- a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
||||
+++ b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
||||
@@ -75,8 +75,7 @@ class HatsNextWebDialog::HatsWebView : public views::WebView {
|
||||
@@ -71,8 +71,7 @@ class HatsNextWebDialog::HatsWebView : public views::WebView {
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
@@ -190,10 +190,10 @@ index e5b1bd6bb831f9e1e17520015d09068464ecb098..f8094fb78f30d6f3145b6ee704305281
|
||||
void SetContentsBounds(content::WebContents* source,
|
||||
const gfx::Rect& bounds) override;
|
||||
diff --git a/components/offline_pages/content/background_loader/background_loader_contents.cc b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||
index 38e62b077b81a391c65e8308d333933852e7621a..c7a896f05125db0bd5e1daf64641cf20c6c1d3e3 100644
|
||||
index 524b71f68bc048486d43d39f24fd07d483919944..73bb698b646ea0b4992aa86f56862376df090598 100644
|
||||
--- a/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||
+++ b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||
@@ -85,8 +85,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden(
|
||||
@@ -84,8 +84,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
@@ -204,7 +204,7 @@ index 38e62b077b81a391c65e8308d333933852e7621a..c7a896f05125db0bd5e1daf64641cf20
|
||||
return true;
|
||||
}
|
||||
diff --git a/components/offline_pages/content/background_loader/background_loader_contents.h b/components/offline_pages/content/background_loader/background_loader_contents.h
|
||||
index 46924048ef26310b25d8ce7dd370c086193cf7ea..28a2b8c99b2cf32bb283ef1474b536ab2b08a584 100644
|
||||
index 4e32d708ecf4afd3913d86ec1602ef2dc9a60998..1dd2f50fba1387b5eeb554dd540957d7cc461b0a 100644
|
||||
--- a/components/offline_pages/content/background_loader/background_loader_contents.h
|
||||
+++ b/components/offline_pages/content/background_loader/background_loader_contents.h
|
||||
@@ -66,8 +66,7 @@ class BackgroundLoaderContents : public content::WebContentsDelegate {
|
||||
@@ -218,10 +218,10 @@ index 46924048ef26310b25d8ce7dd370c086193cf7ea..28a2b8c99b2cf32bb283ef1474b536ab
|
||||
void AddNewContents(content::WebContents* source,
|
||||
std::unique_ptr<content::WebContents> new_contents,
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 63c234f6a66b2e7fc7b457b6141aa1ec55ebcc7e..53726845fee76871cd5ddda8baa039d2dfeb89c7 100644
|
||||
index b907488927e11061f41669c8c16c427a051d783c..93a0fba3b73c9569a148472d5acec7e2cdc4eaa6 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4398,8 +4398,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -4389,8 +4389,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
|
||||
if (delegate_ && delegate_->IsWebContentsCreationOverridden(
|
||||
source_site_instance, params.window_container_type,
|
||||
@@ -232,7 +232,7 @@ index 63c234f6a66b2e7fc7b457b6141aa1ec55ebcc7e..53726845fee76871cd5ddda8baa039d2
|
||||
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 35c378f2ecedec3fc799189ecb70139ea090a5c2..2a1f90974f98f7194ea1172f592db103edd0e8da 100644
|
||||
index 331e86ca4023980a2f26dab388dac02bbeb49f1c..31781b898f30337185eca611d2b7838ce67adc3e 100644
|
||||
--- a/content/public/browser/web_contents_delegate.cc
|
||||
+++ b/content/public/browser/web_contents_delegate.cc
|
||||
@@ -138,8 +138,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
|
||||
@@ -246,7 +246,7 @@ index 35c378f2ecedec3fc799189ecb70139ea090a5c2..2a1f90974f98f7194ea1172f592db103
|
||||
}
|
||||
|
||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||
index 2885b140bb3a7e544d6ab7431090252e29e20ea5..8a90f489edd81aaef43a5f69b2de47d9229823a7 100644
|
||||
index 04fa30594c33664a320598a3ec25d3b53bc4975b..237e890d4ba5430f6632a7eaeecada93591ee976 100644
|
||||
--- a/content/public/browser/web_contents_delegate.h
|
||||
+++ b/content/public/browser/web_contents_delegate.h
|
||||
@@ -324,8 +324,7 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
@@ -358,10 +358,10 @@ index 60acb83c8d76f71db689f9d188bb6e8f64a74ffb..aa6cee708d1e451b443bc26528b56cc8
|
||||
->options()
|
||||
->block_new_web_contents();
|
||||
diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
|
||||
index 08879fbbdf3e4baa8a73de10fcc7b15cb3ca0cc4..f9652e92323f1739f1aaa932e4239f6971d4f736 100644
|
||||
index 31baf3534e7ddaa16a9dc6078ed816b9abe102a3..270bb9041b6812cbb95df46f8a0815020ab0ed97 100644
|
||||
--- a/ui/views/controls/webview/web_dialog_view.cc
|
||||
+++ b/ui/views/controls/webview/web_dialog_view.cc
|
||||
@@ -426,8 +426,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
|
||||
@@ -430,8 +430,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
|
||||
@@ -9,10 +9,10 @@ Electron when a session is non persistent we do not initialize the
|
||||
ExtensionSystem, so this check is not relevant for Electron.
|
||||
|
||||
diff --git a/extensions/browser/script_injection_tracker.cc b/extensions/browser/script_injection_tracker.cc
|
||||
index 508ad2d06e794192af5aea84df7b6cefc8734601..c30fdbae3d934917feffb3e2c33ae9b9c50df5f7 100644
|
||||
index 3ae34e1d1fc791a74a2430076b4ff2ab7607a1e5..a336ee67f3f1ee7fbdb70053135a9caf4fa55173 100644
|
||||
--- a/extensions/browser/script_injection_tracker.cc
|
||||
+++ b/extensions/browser/script_injection_tracker.cc
|
||||
@@ -168,7 +168,6 @@ std::vector<const UserScript*> GetLoadedDynamicScripts(
|
||||
@@ -176,7 +176,6 @@ std::vector<const UserScript*> GetLoadedDynamicScripts(
|
||||
UserScriptManager* manager =
|
||||
ExtensionSystem::Get(process.GetBrowserContext())->user_script_manager();
|
||||
if (!manager) {
|
||||
|
||||
@@ -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 5f25a4b71b7b2a9cf9d91b655d9976b5a32b1c9e..24798bf2a35ffd4a42fe8956a27b00756e6f5c00 100644
|
||||
index c5b68291a9632e8820721de5513ed682c65a175c..5b6c92952de30bb9a80b9595ab57344323484eea 100644
|
||||
--- a/content/app/content_main_runner_impl.cc
|
||||
+++ b/content/app/content_main_runner_impl.cc
|
||||
@@ -39,6 +39,7 @@
|
||||
@@ -18,7 +18,7 @@ index 5f25a4b71b7b2a9cf9d91b655d9976b5a32b1c9e..24798bf2a35ffd4a42fe8956a27b0075
|
||||
#include "base/strings/string_number_conversions.h"
|
||||
#include "base/strings/string_util.h"
|
||||
#include "base/task/single_thread_task_runner.h"
|
||||
@@ -253,8 +254,13 @@ std::string GetSnapshotDataDescriptor(const base::CommandLine& command_line) {
|
||||
@@ -254,8 +255,13 @@ std::string GetSnapshotDataDescriptor(const base::CommandLine& command_line) {
|
||||
|
||||
#endif
|
||||
|
||||
@@ -33,7 +33,7 @@ index 5f25a4b71b7b2a9cf9d91b655d9976b5a32b1c9e..24798bf2a35ffd4a42fe8956a27b0075
|
||||
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||
base::FileDescriptorStore& file_descriptor_store =
|
||||
base::FileDescriptorStore::GetInstance();
|
||||
@@ -283,11 +289,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line,
|
||||
@@ -284,11 +290,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line,
|
||||
|
||||
#endif // V8_USE_EXTERNAL_STARTUP_DATA
|
||||
|
||||
@@ -48,7 +48,7 @@ index 5f25a4b71b7b2a9cf9d91b655d9976b5a32b1c9e..24798bf2a35ffd4a42fe8956a27b0075
|
||||
#endif // V8_USE_EXTERNAL_STARTUP_DATA
|
||||
}
|
||||
|
||||
@@ -963,7 +970,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) {
|
||||
@@ -969,7 +976,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) {
|
||||
return TerminateForFatalInitializationError();
|
||||
#endif // BUILDFLAG(IS_ANDROID) && (ICU_UTIL_DATA_IMPL == ICU_UTIL_DATA_FILE)
|
||||
|
||||
@@ -102,10 +102,10 @@ index c891c5649a6ae76c9f0f988359649ece0e8ac1d9..54e30c4dd82042c283e36cae767dcdd7
|
||||
friend class ContentClientCreator;
|
||||
friend class ContentClientInitializer;
|
||||
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
|
||||
index 795c6cf3a1736607c6a0786c0c71dea5714e1d31..afe12745606c043cf03e1cccfa93915622cdd198 100644
|
||||
index d60429bab364f63afacb5e022ebf4dc65fbcba07..439f215ac7ecac065fe504ba0365cff20ed9147a 100644
|
||||
--- a/gin/v8_initializer.cc
|
||||
+++ b/gin/v8_initializer.cc
|
||||
@@ -552,8 +552,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out,
|
||||
@@ -549,8 +549,7 @@ void V8Initializer::GetV8ExternalSnapshotData(const char** snapshot_data_out,
|
||||
|
||||
#if defined(V8_USE_EXTERNAL_STARTUP_DATA)
|
||||
|
||||
@@ -115,7 +115,7 @@ index 795c6cf3a1736607c6a0786c0c71dea5714e1d31..afe12745606c043cf03e1cccfa939156
|
||||
if (g_mapped_snapshot) {
|
||||
// TODO(crbug.com/802962): Confirm not loading different type of snapshot
|
||||
// files in a process.
|
||||
@@ -562,10 +561,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) {
|
||||
@@ -559,10 +558,17 @@ void V8Initializer::LoadV8Snapshot(V8SnapshotFileType snapshot_file_type) {
|
||||
|
||||
base::MemoryMappedFile::Region file_region;
|
||||
base::File file =
|
||||
|
||||
@@ -17,10 +17,10 @@ only one or two specific checks fail. Then it's better to simply comment out the
|
||||
failing checks and allow the rest of the target to have them enabled.
|
||||
|
||||
diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc
|
||||
index 2ca479b9fb0b41b66220c524e242d4927c138f1f..61a85717ceb02cd0e19297a143ba9b0de8496eeb 100644
|
||||
index 41f27ac3bc062c5549799622a9c23ef828cf7791..e87df727c4c4ef2ecd1c5928e2a09108dc682855 100644
|
||||
--- a/ui/base/clipboard/clipboard_win.cc
|
||||
+++ b/ui/base/clipboard/clipboard_win.cc
|
||||
@@ -914,10 +914,10 @@ SkBitmap ClipboardWin::ReadBitmapInternal(ClipboardBuffer buffer) const {
|
||||
@@ -913,10 +913,10 @@ SkBitmap ClipboardWin::ReadBitmapInternal(ClipboardBuffer buffer) const {
|
||||
|
||||
void ClipboardWin::WriteToClipboard(ClipboardFormatType format, HANDLE handle) {
|
||||
UINT cf_format = format.ToFormatEtc().cfFormat;
|
||||
|
||||
@@ -20,7 +20,7 @@ to deal with color spaces. That is being tracked at
|
||||
https://crbug.com/634542 and https://crbug.com/711107.
|
||||
|
||||
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
||||
index 642daa4416f1703fafa8c0f283f64044e5fa26a3..4d8842e0022a4712779604e0b1683acb6591a992 100644
|
||||
index b64603e6a4bb9fae95ea529f90d9ad589bce9284..ae831251bd2a950297e1f2e264db7e24e2dae6ce 100644
|
||||
--- a/cc/trees/layer_tree_host_impl.cc
|
||||
+++ b/cc/trees/layer_tree_host_impl.cc
|
||||
@@ -1869,6 +1869,10 @@ void LayerTreeHostImpl::SetIsLikelyToRequireADraw(
|
||||
@@ -93,7 +93,7 @@ index 7c0598fb3f9f08d8d9905c5487f3a128f1262b15..314d443a60d0c9093dd06cd1589ab639
|
||||
sandbox::policy::switches::kGpuSandboxAllowSysVShm,
|
||||
sandbox::policy::switches::kGpuSandboxFailuresFatal,
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
index f259d42038ec740f1aed32f833f258aa724642d7..b8c8ed10d9fbfab0935a04f2421efde1d21050b2 100644
|
||||
index 179b9a06569a038e95a44ca42e35bf368860f51e..8d2053315bfa2847c7c3602b87f9bd6458bd484d 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -3353,6 +3353,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
|
||||
|
||||
@@ -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 db0224cf3d2631b444121fc33cb06248885a108e..699bda56605b9898896fdb83d654eb7bfaf41cd9 100644
|
||||
index 6800be4c8a0a6355318bd85c010189ec6c5d530b..00b9249d9892315d826acfc2337a34e82955a4b2 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
@@ -557,7 +557,11 @@
|
||||
@@ -556,7 +556,11 @@
|
||||
return;
|
||||
|
||||
host()->WasHidden();
|
||||
|
||||
@@ -33,7 +33,7 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
|
||||
|
||||
} // namespace net
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
index 10db584346aae90a8280d28f992375a9117eec71..4fec572e3bd55480deae7bec2b59e5f0a57db386 100644
|
||||
index f07572030e7b80fdc2c0563606e0b3eecb6b9ee3..7caf22bd77afac6e699fe1d492796a33842ea204 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -1562,6 +1562,13 @@ void NetworkContext::SetNetworkConditions(
|
||||
@@ -51,7 +51,7 @@ index 10db584346aae90a8280d28f992375a9117eec71..4fec572e3bd55480deae7bec2b59e5f0
|
||||
// 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 cdfbe0526dae267d912584fe94990276f86cbc54..3bdce3e468f7ffde941d86ee586fbcf4a5383415 100644
|
||||
index 49d3215854977cbe78dff2909739646f0c40dad9..93ed007eb4ed65625d1c7edac240f138ea89a551 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -317,6 +317,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -63,7 +63,7 @@ index cdfbe0526dae267d912584fe94990276f86cbc54..3bdce3e468f7ffde941d86ee586fbcf4
|
||||
void SetEnableReferrers(bool enable_referrers) override;
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||
index 3ef031b0c876c36c51a91ba9724f8f2fd7b455ac..646d9276a9ca6a55cfcb156380bd943589f451cc 100644
|
||||
index cda826721b166691f270dd9b28aacec1ce396d2b..7eb6a0b5e9471f605baae703ef654c61144cb39f 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -1245,6 +1245,9 @@ interface NetworkContext {
|
||||
@@ -77,7 +77,7 @@ index 3ef031b0c876c36c51a91ba9724f8f2fd7b455ac..646d9276a9ca6a55cfcb156380bd9435
|
||||
SetAcceptLanguage(string new_accept_language);
|
||||
|
||||
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
|
||||
index a133f8b85fce871219963bbcc428f1e7a0c97a2c..d6ea67709877567ad83c5d25e7d2936647f184ff 100644
|
||||
index b7b485b79ccbd1dd32f2777c4b54856c5dc5ea97..568524abba08fc0a4b0ce817593b7412dbb21ab8 100644
|
||||
--- a/services/network/test/test_network_context.h
|
||||
+++ b/services/network/test/test_network_context.h
|
||||
@@ -145,6 +145,7 @@ class TestNetworkContext : public mojom::NetworkContext {
|
||||
|
||||
@@ -12,7 +12,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 020d12b55e2527eac242d226d9dddcb38ff49dc3..753fca8dafb0b28e3aef93cf7a7dea97355fa0f4 100644
|
||||
index 70953a480dbc71594e292609ebd327c9b1c685af..cf7077949d5d04d8aef22ed29bb1b13315d706f7 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -166,6 +166,7 @@
|
||||
@@ -23,7 +23,7 @@ index 020d12b55e2527eac242d226d9dddcb38ff49dc3..753fca8dafb0b28e3aef93cf7a7dea97
|
||||
#include "third_party/blink/renderer/platform/graphics/image.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h"
|
||||
@@ -1770,6 +1771,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
||||
@@ -1788,6 +1789,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
web_view_impl->SetMaximumLegibleScale(
|
||||
prefs.default_maximum_page_scale_factor);
|
||||
|
||||
@@ -627,10 +627,10 @@ index cb43aa14c9742f3788ae58c3e49b890cd532f327..6a738f7aade504f2ff3bb6647a0da8f8
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
// Whether or not to disclaim TCC responsibility for the process, defaults to
|
||||
diff --git a/sandbox/policy/win/sandbox_win.cc b/sandbox/policy/win/sandbox_win.cc
|
||||
index 0aa0cdc434928f00bd722a8c92b772e02f90a1a5..9f1f67b16ddb508831ae635daeaf4d0e21c49041 100644
|
||||
index 16eaab2a26ed43ac94d8bc2aa4b38ffc91fd166e..1699cdb4c9a97e7c475d07eca447d70f19254e16 100644
|
||||
--- a/sandbox/policy/win/sandbox_win.cc
|
||||
+++ b/sandbox/policy/win/sandbox_win.cc
|
||||
@@ -724,11 +724,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
|
||||
@@ -728,11 +728,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
|
||||
// command line flag.
|
||||
ResultCode LaunchWithoutSandbox(
|
||||
const base::CommandLine& cmd_line,
|
||||
@@ -643,7 +643,7 @@ index 0aa0cdc434928f00bd722a8c92b772e02f90a1a5..9f1f67b16ddb508831ae635daeaf4d0e
|
||||
// Network process runs in a job even when unsandboxed. This is to ensure it
|
||||
// does not outlive the browser, which could happen if there is a lot of I/O
|
||||
// on process shutdown, in which case TerminateProcess can fail. See
|
||||
@@ -959,7 +957,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
|
||||
@@ -963,7 +961,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
|
||||
ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
const base::CommandLine& cmd_line,
|
||||
const std::string& process_type,
|
||||
@@ -652,7 +652,7 @@ index 0aa0cdc434928f00bd722a8c92b772e02f90a1a5..9f1f67b16ddb508831ae635daeaf4d0e
|
||||
SandboxDelegate* delegate,
|
||||
TargetPolicy* policy) {
|
||||
const base::CommandLine& launcher_process_command_line =
|
||||
@@ -973,7 +971,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
@@ -977,7 +975,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
}
|
||||
|
||||
// Add any handles to be inherited to the policy.
|
||||
@@ -661,7 +661,7 @@ index 0aa0cdc434928f00bd722a8c92b772e02f90a1a5..9f1f67b16ddb508831ae635daeaf4d0e
|
||||
policy->AddHandleToShare(handle);
|
||||
|
||||
if (!policy->GetConfig()->IsConfigured()) {
|
||||
@@ -988,6 +986,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
@@ -992,6 +990,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
// have no effect. These calls can fail with SBOX_ERROR_BAD_PARAMS.
|
||||
policy->SetStdoutHandle(GetStdHandle(STD_OUTPUT_HANDLE));
|
||||
policy->SetStderrHandle(GetStdHandle(STD_ERROR_HANDLE));
|
||||
@@ -675,7 +675,7 @@ index 0aa0cdc434928f00bd722a8c92b772e02f90a1a5..9f1f67b16ddb508831ae635daeaf4d0e
|
||||
#endif
|
||||
|
||||
if (!delegate->PreSpawnTarget(policy))
|
||||
@@ -1000,7 +1005,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
@@ -1004,7 +1009,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
|
||||
ResultCode SandboxWin::StartSandboxedProcess(
|
||||
const base::CommandLine& cmd_line,
|
||||
const std::string& process_type,
|
||||
@@ -684,7 +684,7 @@ index 0aa0cdc434928f00bd722a8c92b772e02f90a1a5..9f1f67b16ddb508831ae635daeaf4d0e
|
||||
SandboxDelegate* delegate,
|
||||
base::Process* process) {
|
||||
const base::ElapsedTimer timer;
|
||||
@@ -1008,13 +1013,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
@@ -1012,13 +1017,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
// Avoid making a policy if we won't use it.
|
||||
if (IsUnsandboxedProcess(delegate->GetSandboxType(), cmd_line,
|
||||
*base::CommandLine::ForCurrentProcess())) {
|
||||
|
||||
@@ -197,7 +197,7 @@ index e82717d5167e13e2926bcaf6c0ad66c1502e66f6..783c4d6ed399120e026bbf18baab4092
|
||||
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 5dccc2360cd1f3d83ffc59697aeb559a19b0547a..5fe62069b15e6370e63645b257d931be2a714bc3 100644
|
||||
index 4ceb1a9d9f336f65e15831856d30b45af594dd0f..646ac22f074c3d1827e59170a93807bc10d83d0b 100644
|
||||
--- a/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
+++ b/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
@@ -106,6 +106,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage(
|
||||
@@ -209,13 +209,13 @@ index 5dccc2360cd1f3d83ffc59697aeb559a19b0547a..5fe62069b15e6370e63645b257d931be
|
||||
// Record the previous paint buffer.
|
||||
Buffer* previous_paint_buffer =
|
||||
buffer_queue_.empty() ? nullptr : buffer_queue_.back().get();
|
||||
@@ -194,6 +196,7 @@ void SoftwareOutputDeviceMac::EndPaint() {
|
||||
@@ -191,6 +193,7 @@ void SoftwareOutputDeviceMac::EndPaint() {
|
||||
ca_layer_params.is_empty = false;
|
||||
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()));
|
||||
IOSurfaceCreateMachPort(current_paint_buffer_->io_surface));
|
||||
client_->SoftwareDeviceUpdatedCALayerParams(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
|
||||
@@ -556,10 +556,10 @@ index cc1ceb263a60b9bd743bd4166def23cd1c01b49f..d2c24bf0b674c5028e48c6b51f23d4a8
|
||||
|
||||
} // namespace viz
|
||||
diff --git a/content/browser/compositor/viz_process_transport_factory.cc b/content/browser/compositor/viz_process_transport_factory.cc
|
||||
index 6dad3a86b2880d73a764f81c0959d5e2b26df744..4caa2835d930e8bbf3ac9c1ccb7b791b1e1477ac 100644
|
||||
index 2705338b960a4f8de7ad14c58824fb897590639a..2eb3bfdf573976f17ef9df6a481fda65a75793d8 100644
|
||||
--- a/content/browser/compositor/viz_process_transport_factory.cc
|
||||
+++ b/content/browser/compositor/viz_process_transport_factory.cc
|
||||
@@ -414,8 +414,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
|
||||
@@ -397,8 +397,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
|
||||
mojo::AssociatedRemote<viz::mojom::DisplayPrivate> display_private;
|
||||
root_params->display_private =
|
||||
display_private.BindNewEndpointAndPassReceiver();
|
||||
@@ -612,7 +612,7 @@ index 2f462f0deb5fc8a637457243fb5d5849fc214d14..695869b83cefaa24af93a2e11b39de05
|
||||
+ Draw(gfx.mojom.Rect damage_rect) => ();
|
||||
};
|
||||
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
|
||||
index 2f358a2d95cfbf83a0b82f22a648926726b1fd34..e1781e682f2e1217fe4cc7ab26cd82e7bcc352e7 100644
|
||||
index 456adfeb5725390289e3441974fcb579a491de9a..59d437e25be86b1d2e30478a90d1e102b891e662 100644
|
||||
--- a/ui/compositor/compositor.h
|
||||
+++ b/ui/compositor/compositor.h
|
||||
@@ -93,6 +93,7 @@ class DisplayPrivate;
|
||||
@@ -650,7 +650,7 @@ index 2f358a2d95cfbf83a0b82f22a648926726b1fd34..e1781e682f2e1217fe4cc7ab26cd82e7
|
||||
// Sets the root of the layer tree drawn by this Compositor. The root layer
|
||||
// must have no parent. The compositor's root layer is reset if the root layer
|
||||
// is destroyed. NULL can be passed to reset the root layer, in which case the
|
||||
@@ -536,6 +550,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -533,6 +547,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
|
||||
std::unique_ptr<PendingBeginFrameArgs> pending_begin_frame_args_;
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ index 0960ab9c8361222cd4acf554e04dc3fc124d714e..524c7cf9032a249a30cc726019266ecd
|
||||
|
||||
// Returns the http referrer of original request which initited this load.
|
||||
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h
|
||||
index c8961490371edcf91ae3082784addf1e62582a06..88efd7ca601cffb76d58b207b3c59442ceb9d3e2 100644
|
||||
index e7155091dd5c076e6a785833be3ba450d1b38c39..b1a007ba4b865f44c060bf16dd2d9137054dcc10 100644
|
||||
--- a/third_party/blink/renderer/core/loader/document_loader.h
|
||||
+++ b/third_party/blink/renderer/core/loader/document_loader.h
|
||||
@@ -308,7 +308,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
|
||||
|
||||
@@ -37,7 +37,7 @@ index 2a309fe2b1dd672c6a38889f707eb84872cfa57b..a98bcfdef9a7d7723971fd4f8f953172
|
||||
allow_cookies_from_browser == other.allow_cookies_from_browser &&
|
||||
client_security_state == other.client_security_state;
|
||||
diff --git a/services/network/public/cpp/resource_request.h b/services/network/public/cpp/resource_request.h
|
||||
index 2ce7143ee3820e559f68dc67d2b4b6e058235289..9ddf9a26a155aeb6ef0f5c7af6bcb4d92fe6268f 100644
|
||||
index 41ef57d61f5d12748188a7791925d1c41bd52b66..b935b4d26e431599b8a37aa3725a7055ea7a7c65 100644
|
||||
--- a/services/network/public/cpp/resource_request.h
|
||||
+++ b/services/network/public/cpp/resource_request.h
|
||||
@@ -69,6 +69,7 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE) ResourceRequest {
|
||||
@@ -49,7 +49,7 @@ index 2ce7143ee3820e559f68dc67d2b4b6e058235289..9ddf9a26a155aeb6ef0f5c7af6bcb4d9
|
||||
mojo::PendingRemote<mojom::TrustTokenAccessObserver> trust_token_observer;
|
||||
mojo::PendingRemote<mojom::URLLoaderNetworkServiceObserver>
|
||||
diff --git a/services/network/public/cpp/url_request_mojom_traits.cc b/services/network/public/cpp/url_request_mojom_traits.cc
|
||||
index 502a59bd7547c76ed0e57bc9a8b8cfbfcf9eb30b..7db96c8bfe2bbd5d0c9aee3ecd9786d08d306978 100644
|
||||
index dc34fcc0d78f5b46809e5062709bc37575742487..e6f1fd1e8ad284ead0b10476db48a4c698dc1b40 100644
|
||||
--- a/services/network/public/cpp/url_request_mojom_traits.cc
|
||||
+++ b/services/network/public/cpp/url_request_mojom_traits.cc
|
||||
@@ -93,6 +93,7 @@ bool StructTraits<network::mojom::TrustedUrlRequestParamsDataView,
|
||||
@@ -61,7 +61,7 @@ index 502a59bd7547c76ed0e57bc9a8b8cfbfcf9eb30b..7db96c8bfe2bbd5d0c9aee3ecd9786d0
|
||||
mojo::PendingRemote<network::mojom::CookieAccessObserver>>();
|
||||
out->trust_token_observer = data.TakeTrustTokenObserver<
|
||||
diff --git a/services/network/public/cpp/url_request_mojom_traits.h b/services/network/public/cpp/url_request_mojom_traits.h
|
||||
index 1831d5c28d79e95ede87e3bd015fc1033c2adcd4..0e8d4b24f8d19c9aee79be1d14abe70c860f637a 100644
|
||||
index d3fcbf6dec2ff609e3d17f9b3af763a4fe341b05..d3d622f33cee467166ce2678d51d2c52e26efe4b 100644
|
||||
--- a/services/network/public/cpp/url_request_mojom_traits.h
|
||||
+++ b/services/network/public/cpp/url_request_mojom_traits.h
|
||||
@@ -73,6 +73,10 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE)
|
||||
@@ -76,7 +76,7 @@ index 1831d5c28d79e95ede87e3bd015fc1033c2adcd4..0e8d4b24f8d19c9aee79be1d14abe70c
|
||||
cookie_observer(
|
||||
const network::ResourceRequest::TrustedParams& trusted_params) {
|
||||
diff --git a/services/network/public/mojom/url_request.mojom b/services/network/public/mojom/url_request.mojom
|
||||
index 627a3df2debbc2a66be14556641f29232820ccf7..2a6a6e23244d9e1bc1b1f63279766e61f3962180 100644
|
||||
index 0bb989b3f5341c4c06d02939ae48a400d20e0603..a191f73c357ef16cf61c10d71f01ca531b9af5dc 100644
|
||||
--- a/services/network/public/mojom/url_request.mojom
|
||||
+++ b/services/network/public/mojom/url_request.mojom
|
||||
@@ -74,6 +74,9 @@ struct TrustedUrlRequestParams {
|
||||
@@ -112,10 +112,10 @@ index a58666f95cf6c0974e25b0c2805f944b290358ae..fa77efab0cbe5a702796a0e374f847c1
|
||||
string mime_type;
|
||||
|
||||
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
|
||||
index db1b5a2fd512ae02d10627bc41d9e3b51e5eb4a2..f92132a446abf8f7134e8539e6875914a211ea55 100644
|
||||
index 9872a3ff04cc6cc7b4b129049dfd147df92d0966..92b40aa9d94d0e581ee41c6a0719d67245e927ad 100644
|
||||
--- a/services/network/url_loader.cc
|
||||
+++ b/services/network/url_loader.cc
|
||||
@@ -625,6 +625,7 @@ URLLoader::URLLoader(
|
||||
@@ -624,6 +624,7 @@ URLLoader::URLLoader(
|
||||
has_user_activation_ = request.trusted_params->has_user_activation;
|
||||
allow_cookies_from_browser_ =
|
||||
request.trusted_params->allow_cookies_from_browser;
|
||||
@@ -123,7 +123,7 @@ index db1b5a2fd512ae02d10627bc41d9e3b51e5eb4a2..f92132a446abf8f7134e8539e6875914
|
||||
}
|
||||
|
||||
// Store any cookies passed from the browser process to later attach them to
|
||||
@@ -663,7 +664,7 @@ URLLoader::URLLoader(
|
||||
@@ -662,7 +663,7 @@ URLLoader::URLLoader(
|
||||
&URLLoader::IsSharedDictionaryReadAllowed, base::Unretained(this)));
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ index db1b5a2fd512ae02d10627bc41d9e3b51e5eb4a2..f92132a446abf8f7134e8539e6875914
|
||||
url_request_->SetResponseHeadersCallback(base::BindRepeating(
|
||||
&URLLoader::SetRawResponseHeaders, base::Unretained(this)));
|
||||
}
|
||||
@@ -1598,6 +1599,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
@@ -1597,6 +1598,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
}
|
||||
|
||||
response_ = BuildResponseHead();
|
||||
@@ -153,10 +153,10 @@ index db1b5a2fd512ae02d10627bc41d9e3b51e5eb4a2..f92132a446abf8f7134e8539e6875914
|
||||
|
||||
// Parse and remove the Trust Tokens response headers, if any are expected,
|
||||
diff --git a/services/network/url_loader.h b/services/network/url_loader.h
|
||||
index 4f18e0787ce24c91e88c74082a67b1939c69f563..0c3adc48463129541b02d656cd8a9c3a4731a61e 100644
|
||||
index 1d8615500cfc9bbc3162810d9545967796430976..9ac57ece3811da8146695f6546300c12ef6589e8 100644
|
||||
--- a/services/network/url_loader.h
|
||||
+++ b/services/network/url_loader.h
|
||||
@@ -634,6 +634,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||
@@ -633,6 +633,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||
std::unique_ptr<ResourceScheduler::ScheduledResourceRequest>
|
||||
resource_scheduler_request_handle_;
|
||||
|
||||
|
||||
@@ -23,10 +23,10 @@ Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
|
||||
Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/3856266.
|
||||
|
||||
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
|
||||
index 9d0fedf707f54835b75f9946b617cccf604ee21e..c32c37770d07f356d0732fa7b01c4196c900d0b6 100644
|
||||
index 26c8448f25a9b1944f4dc0ef19afe3682cae88e6..e4da0e9238cca35091d0a5e65e31f558b578764c 100644
|
||||
--- a/content/browser/renderer_host/navigation_request.cc
|
||||
+++ b/content/browser/renderer_host/navigation_request.cc
|
||||
@@ -9885,6 +9885,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
|
||||
@@ -9878,6 +9878,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
|
||||
return std::make_pair(parent->GetLastCommittedOrigin(), "about_srcdoc");
|
||||
}
|
||||
|
||||
@@ -40,10 +40,10 @@ index 9d0fedf707f54835b75f9946b617cccf604ee21e..c32c37770d07f356d0732fa7b01c4196
|
||||
// origin of |common_params.url| and/or |common_params.initiator_origin|.
|
||||
return std::make_pair(
|
||||
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
index a3db9af9b2330e106e02645aa43654c8db29b46f..cc9e0d69a63d5913ac50550cd05b1967b56e1658 100644
|
||||
index 440601f36c4e7f1d28520b859e4df9d075db4aa1..0eca1096d5adc39520cb38b62ce38abafbb37759 100644
|
||||
--- a/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
@@ -2117,6 +2117,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
|
||||
@@ -2113,6 +2113,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
|
||||
scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
|
||||
Document* owner_document) {
|
||||
scoped_refptr<SecurityOrigin> origin;
|
||||
@@ -54,7 +54,7 @@ index a3db9af9b2330e106e02645aa43654c8db29b46f..cc9e0d69a63d5913ac50550cd05b1967
|
||||
StringBuilder debug_info_builder;
|
||||
if (origin_to_commit_) {
|
||||
// Origin to commit is specified by the browser process, it must be taken
|
||||
@@ -2164,6 +2168,10 @@ scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
|
||||
@@ -2160,6 +2164,10 @@ scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
|
||||
debug_info_builder.Append(", url=");
|
||||
debug_info_builder.Append(owner_document->Url().BaseAsString());
|
||||
debug_info_builder.Append(")");
|
||||
|
||||
@@ -13,10 +13,10 @@ This patch can be removed should we choose to support chrome.fileSystem
|
||||
or support it enough to fix the crash.
|
||||
|
||||
diff --git a/chrome/browser/resources/pdf/pdf_viewer.ts b/chrome/browser/resources/pdf/pdf_viewer.ts
|
||||
index 2ce9eaccfe7d9f39a14f088fdfdf8fd4b0ef85ab..f0136a8da926471798588670d3dd062f081bcb7a 100644
|
||||
index 21f74639c3a64e596e9ef06c492642489273ac4f..7c63f536458de2a680e5fe6eedd094b747d2c8d9 100644
|
||||
--- a/chrome/browser/resources/pdf/pdf_viewer.ts
|
||||
+++ b/chrome/browser/resources/pdf/pdf_viewer.ts
|
||||
@@ -900,26 +900,12 @@ export class PdfViewerElement extends PdfViewerBaseElement {
|
||||
@@ -898,26 +898,12 @@ export class PdfViewerElement extends PdfViewerBaseElement {
|
||||
dataArray = [result.dataToSave];
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ index 2ce9eaccfe7d9f39a14f088fdfdf8fd4b0ef85ab..f0136a8da926471798588670d3dd062f
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1027,30 +1013,12 @@ export class PdfViewerElement extends PdfViewerBaseElement {
|
||||
@@ -1025,30 +1011,12 @@ export class PdfViewerElement extends PdfViewerBaseElement {
|
||||
fileName = fileName + '.pdf';
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ invisible state of the `viz::DisplayScheduler` owned
|
||||
by the `ui::Compositor`.
|
||||
|
||||
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
|
||||
index 64775be482d47143fb56d815d390bd56875e8493..347f135c75c226faec33199909cc5ee4a8924a24 100644
|
||||
index 42c27a6fd63abaf1fe096cb24b5bba53b725e4bb..c373d23ff31f18217ab06f668e21a5fb58f275e1 100644
|
||||
--- a/ui/compositor/compositor.cc
|
||||
+++ b/ui/compositor/compositor.cc
|
||||
@@ -338,7 +338,8 @@ void Compositor::SetLayerTreeFrameSink(
|
||||
@@ -39,7 +39,7 @@ index 64775be482d47143fb56d815d390bd56875e8493..347f135c75c226faec33199909cc5ee4
|
||||
}
|
||||
|
||||
bool Compositor::IsVisible() {
|
||||
@@ -958,4 +962,13 @@ const cc::LayerTreeSettings& Compositor::GetLayerTreeSettings() const {
|
||||
@@ -956,4 +960,13 @@ const cc::LayerTreeSettings& Compositor::GetLayerTreeSettings() const {
|
||||
return host_->GetSettings();
|
||||
}
|
||||
|
||||
@@ -54,10 +54,10 @@ index 64775be482d47143fb56d815d390bd56875e8493..347f135c75c226faec33199909cc5ee4
|
||||
+
|
||||
} // namespace ui
|
||||
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
|
||||
index e1781e682f2e1217fe4cc7ab26cd82e7bcc352e7..2cd96e3518b9a62091a69782b65ef61a8e798022 100644
|
||||
index 59d437e25be86b1d2e30478a90d1e102b891e662..f99676c579402f0961de036a49e62462ec6a6cec 100644
|
||||
--- a/ui/compositor/compositor.h
|
||||
+++ b/ui/compositor/compositor.h
|
||||
@@ -522,6 +522,10 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -519,6 +519,10 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
return host_->saved_events_metrics_count_for_testing();
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ index e1781e682f2e1217fe4cc7ab26cd82e7bcc352e7..2cd96e3518b9a62091a69782b65ef61a
|
||||
private:
|
||||
friend class base::RefCounted<Compositor>;
|
||||
friend class TotalAnimationThroughputReporter;
|
||||
@@ -628,6 +632,12 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -625,6 +629,12 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
// See go/report-ux-metrics-at-painting for details.
|
||||
bool animation_started_ = false;
|
||||
|
||||
|
||||
@@ -45,10 +45,10 @@ index 1dfd9c071a41482e0d35257b28522e5b37702f25..41a09e9470dfa5797c69d02fc9b4f5e6
|
||||
// RenderFrameMetadataProvider::Observer implementation.
|
||||
void OnRenderFrameMetadataChangedBeforeActivation(
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 5a711c115ab7690409f2b32d8c332151c462254e..1f06b818a48a307b34837deaf8721d8efdfd3013 100644
|
||||
index 7919112de3c7a5e35c83cc6746fd68fcc24cc785..9bc179ad5563fe1b9ae1a856ac99af47e76f8fe5 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -8653,7 +8653,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||
@@ -8644,7 +8644,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||
"WebContentsImpl::OnFocusedElementChangedInFrame",
|
||||
"render_frame_host", frame);
|
||||
RenderWidgetHostViewBase* root_view =
|
||||
|
||||
@@ -64,10 +64,10 @@ index 4cd668a127a50e5462e3878c3f1dcb7384926768..dfbec49249404df8f8ebdbd26e6e865c
|
||||
|
||||
#endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
index 6fa07b3b2631de6a8bd441688ee1fb6bf155f41e..eebde0b398966b293e1abc54c45407a1b71a2675 100644
|
||||
index 6fc9f48d84590f85576be0362c716634c87eff80..33391eeb8ce9f70955e4e991c5f400a2c001461c 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -2877,6 +2877,7 @@ void LocalFrame::RequestExecuteScript(
|
||||
@@ -2844,6 +2844,7 @@ void LocalFrame::RequestExecuteScript(
|
||||
mojom::blink::EvaluationTiming evaluation_timing,
|
||||
mojom::blink::LoadEventBlockingOption blocking_option,
|
||||
WebScriptExecutionCallback callback,
|
||||
@@ -75,7 +75,7 @@ index 6fa07b3b2631de6a8bd441688ee1fb6bf155f41e..eebde0b398966b293e1abc54c45407a1
|
||||
BackForwardCacheAware back_forward_cache_aware,
|
||||
mojom::blink::WantResultOption want_result_option,
|
||||
mojom::blink::PromiseResultOption promise_behavior) {
|
||||
@@ -2910,7 +2911,7 @@ void LocalFrame::RequestExecuteScript(
|
||||
@@ -2877,7 +2878,7 @@ void LocalFrame::RequestExecuteScript(
|
||||
PausableScriptExecutor::CreateAndRun(
|
||||
script_state, std::move(script_sources), execute_script_policy,
|
||||
user_gesture, evaluation_timing, blocking_option, want_result_option,
|
||||
@@ -85,10 +85,10 @@ index 6fa07b3b2631de6a8bd441688ee1fb6bf155f41e..eebde0b398966b293e1abc54c45407a1
|
||||
|
||||
void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() {
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
index 85f8e323e03e337e9e1c99cbeddaa86a7a4960d4..8155508df54b5212702fa201d63a0ca88cbe3732 100644
|
||||
index 7efb913cb4ec556deeed64a31e4da620a797c875..3e4e873ac62e387067bdfed9fc24b795acd723c6 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.h
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
@@ -802,6 +802,7 @@ class CORE_EXPORT LocalFrame final
|
||||
@@ -803,6 +803,7 @@ class CORE_EXPORT LocalFrame final
|
||||
mojom::blink::EvaluationTiming,
|
||||
mojom::blink::LoadEventBlockingOption,
|
||||
WebScriptExecutionCallback,
|
||||
|
||||
@@ -20,10 +20,10 @@ index 583ca650938d2e4feac0c31b0f828815c816ee02..525c97a6cf53e69f9eedd5cfb1223c8b
|
||||
}
|
||||
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index f9e01547d36eed733414a34beed950057ecdb5b8..92c44bef5808ce8429487c375429c84d7d7ae6ee 100644
|
||||
index a5600d50354e21139baecbee89b27cf62a0f90fa..44b582a349cb656de99b110bba6d3f0ae9a954ec 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -316,6 +316,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -315,6 +315,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
|
||||
virtual ~ContentBrowserClient() = default;
|
||||
|
||||
|
||||
@@ -38,10 +38,10 @@ index c19eb72e8d37fe8145b813d07875addf793e12dc..a5db8841773618814ac90f740201d4d7
|
||||
// Returns whether `Initialize` has already been invoked in the process.
|
||||
// Initialization is a one-way operation (i.e., this method cannot return
|
||||
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
|
||||
index 51fcf53b1996f61260334939637df965ae6b1612..795c6cf3a1736607c6a0786c0c71dea5714e1d31 100644
|
||||
index d3ac95ba2740b6f3b047acae83a97dcddb805e53..d60429bab364f63afacb5e022ebf4dc65fbcba07 100644
|
||||
--- a/gin/v8_initializer.cc
|
||||
+++ b/gin/v8_initializer.cc
|
||||
@@ -440,7 +440,8 @@ void SetFlags(IsolateHolder::ScriptMode mode,
|
||||
@@ -437,7 +437,8 @@ void SetFlags(IsolateHolder::ScriptMode mode,
|
||||
// static
|
||||
void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
|
||||
const std::string js_command_line_flags,
|
||||
@@ -51,7 +51,7 @@ index 51fcf53b1996f61260334939637df965ae6b1612..795c6cf3a1736607c6a0786c0c71dea5
|
||||
static bool v8_is_initialized = false;
|
||||
if (v8_is_initialized)
|
||||
return;
|
||||
@@ -450,7 +451,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
|
||||
@@ -447,7 +448,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode,
|
||||
// See https://crbug.com/v8/11043
|
||||
SetFlags(mode, js_command_line_flags);
|
||||
|
||||
|
||||
@@ -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 e54327cd4748ef651cf665def3b13b58ecde1bb7..b2219868df34a996c81e2fd7e3a246f468a2b928 100644
|
||||
index a7d630128056bba736d1826797b321790fc09453..264bcb394393444c5982eb041844a9bea3d91e72 100644
|
||||
--- a/tools/gritsettings/resource_ids.spec
|
||||
+++ b/tools/gritsettings/resource_ids.spec
|
||||
@@ -1259,6 +1259,11 @@
|
||||
@@ -1263,6 +1263,11 @@
|
||||
"includes": [8440],
|
||||
},
|
||||
|
||||
|
||||
@@ -9,10 +9,10 @@ but due to the nature of electron, we need to load the v8 snapshot
|
||||
in the browser process.
|
||||
|
||||
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
|
||||
index b3003b5d816464b77533ac3c235a79012b2c51e3..5f25a4b71b7b2a9cf9d91b655d9976b5a32b1c9e 100644
|
||||
index 965b07bc438473baacd3c1309e012e68a3b245d9..c5b68291a9632e8820721de5513ed682c65a175c 100644
|
||||
--- a/content/app/content_main_runner_impl.cc
|
||||
+++ b/content/app/content_main_runner_impl.cc
|
||||
@@ -274,11 +274,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) {
|
||||
@@ -275,11 +275,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) {
|
||||
|
||||
bool ShouldLoadV8Snapshot(const base::CommandLine& command_line,
|
||||
const std::string& process_type) {
|
||||
|
||||
@@ -99,10 +99,10 @@ index b267bc2272fa82334a70d897a900f1ea37b1a598..967e22699bf565368704972c021f9b42
|
||||
DPSXCHECK(responsibility_spawnattrs_setdisclaim(attr.get(), 1));
|
||||
}
|
||||
diff --git a/media/audio/mac/audio_low_latency_input_mac.cc b/media/audio/mac/audio_low_latency_input_mac.cc
|
||||
index 34935789d56a6f65926599f053a7bc1b2020ad12..67270c5c75492e9d4c91d33a1eca5caf1cc43ace 100644
|
||||
index 2d063ce0ae54510f3a33e2092e05f41f1de2c1aa..18e53655e080172c278fc89e35d69044a6718f9f 100644
|
||||
--- a/media/audio/mac/audio_low_latency_input_mac.cc
|
||||
+++ b/media/audio/mac/audio_low_latency_input_mac.cc
|
||||
@@ -30,19 +30,23 @@
|
||||
@@ -31,19 +31,23 @@
|
||||
|
||||
namespace {
|
||||
extern "C" {
|
||||
|
||||
@@ -147,7 +147,7 @@ index 223b88f1ab7cb6dd3694cf50187317555f2719c6..cfa7c77c7785388012f774317a7e5fbc
|
||||
// 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 aad75b3d5c747fc97682eb59043bcb09c7f7624e..db0224cf3d2631b444121fc33cb06248885a108e 100644
|
||||
index 988682beecc0f2273859f6b4924d87b207778160..6800be4c8a0a6355318bd85c010189ec6c5d530b 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
@@ -272,8 +272,10 @@
|
||||
@@ -161,7 +161,7 @@ index aad75b3d5c747fc97682eb59043bcb09c7f7624e..db0224cf3d2631b444121fc33cb06248
|
||||
|
||||
// Reset `ns_view_` before resetting `remote_ns_view_` to avoid dangling
|
||||
// pointers. `ns_view_` gets reinitialized later in this method.
|
||||
@@ -1636,8 +1638,10 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
@@ -1635,8 +1637,10 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
|
||||
gfx::NativeViewAccessible
|
||||
RenderWidgetHostViewMac::AccessibilityGetNativeViewAccessibleForWindow() {
|
||||
@@ -172,7 +172,7 @@ index aad75b3d5c747fc97682eb59043bcb09c7f7624e..db0224cf3d2631b444121fc33cb06248
|
||||
return [GetInProcessNSView() window];
|
||||
}
|
||||
|
||||
@@ -1682,9 +1686,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
@@ -1681,9 +1685,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
}
|
||||
|
||||
void RenderWidgetHostViewMac::SetAccessibilityWindow(NSWindow* window) {
|
||||
@@ -184,7 +184,7 @@ index aad75b3d5c747fc97682eb59043bcb09c7f7624e..db0224cf3d2631b444121fc33cb06248
|
||||
}
|
||||
|
||||
bool RenderWidgetHostViewMac::SyncIsWidgetForMainFrame(
|
||||
@@ -2191,12 +2197,14 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
@@ -2190,12 +2196,14 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||
|
||||
void RenderWidgetHostViewMac::SetRemoteAccessibilityWindowToken(
|
||||
const std::vector<uint8_t>& window_token) {
|
||||
|
||||
@@ -16,7 +16,7 @@ cases where performance improves when disabling remote CoreAnimation (remote
|
||||
CoreAnimation is really only about battery usage).
|
||||
|
||||
diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.h b/gpu/ipc/service/image_transport_surface_overlay_mac.h
|
||||
index d1deb3d7d7d587b36bc8c19cf3f331a0ec6764dd..263c5f3446dab67b9f8d3be4d08eadbaa749dc1d 100644
|
||||
index 655dca3b5628eae2d13bce22e24a517113701480..30b97c47b6804d5677f87a59d7d5c6028f6d4bf4 100644
|
||||
--- a/gpu/ipc/service/image_transport_surface_overlay_mac.h
|
||||
+++ b/gpu/ipc/service/image_transport_surface_overlay_mac.h
|
||||
@@ -23,7 +23,9 @@
|
||||
@@ -29,9 +29,9 @@ index d1deb3d7d7d587b36bc8c19cf3f331a0ec6764dd..263c5f3446dab67b9f8d3be4d08eadba
|
||||
@class CALayer;
|
||||
|
||||
namespace ui {
|
||||
@@ -76,8 +78,10 @@ class ImageTransportSurfaceOverlayMacEGL : public gl::Presenter {
|
||||
const gfx::PresentationFeedback& feedback);
|
||||
void PopulateCALayerParameters();
|
||||
@@ -79,8 +81,10 @@ class ImageTransportSurfaceOverlayMacEGL : public gl::Presenter {
|
||||
|
||||
base::WeakPtr<ImageTransportSurfaceDelegate> delegate_;
|
||||
|
||||
+#if !IS_MAS_BUILD()
|
||||
const bool use_remote_layer_api_;
|
||||
@@ -41,17 +41,15 @@ index d1deb3d7d7d587b36bc8c19cf3f331a0ec6764dd..263c5f3446dab67b9f8d3be4d08eadba
|
||||
|
||||
gfx::Size pixel_size_;
|
||||
diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.mm b/gpu/ipc/service/image_transport_surface_overlay_mac.mm
|
||||
index caa7b447f79d837f100b3ee8bb4063145811b9bc..5c510fafb2891759cc12711286e3c34f994411bd 100644
|
||||
index 34931ae06d7923aff611b384730ca2edb7e866e9..1973b90a04bcbd21059b82a0969d3ff1ce8dcd0a 100644
|
||||
--- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm
|
||||
+++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm
|
||||
@@ -52,12 +52,16 @@
|
||||
} // namespace
|
||||
|
||||
ImageTransportSurfaceOverlayMacEGL::ImageTransportSurfaceOverlayMacEGL()
|
||||
- : use_remote_layer_api_(ui::RemoteLayerAPISupported()),
|
||||
+ :
|
||||
@@ -54,12 +54,15 @@
|
||||
ImageTransportSurfaceOverlayMacEGL::ImageTransportSurfaceOverlayMacEGL(
|
||||
base::WeakPtr<ImageTransportSurfaceDelegate> delegate)
|
||||
: delegate_(delegate),
|
||||
+#if !IS_MAS_BUILD()
|
||||
+ use_remote_layer_api_(ui::RemoteLayerAPISupported()),
|
||||
use_remote_layer_api_(ui::RemoteLayerAPISupported()),
|
||||
+#endif
|
||||
scale_factor_(1),
|
||||
weak_ptr_factory_(this) {
|
||||
@@ -62,7 +60,7 @@ index caa7b447f79d837f100b3ee8bb4063145811b9bc..5c510fafb2891759cc12711286e3c34f
|
||||
ca_layer_tree_coordinator_ = std::make_unique<ui::CALayerTreeCoordinator>(
|
||||
use_remote_layer_api_, !av_disabled_at_command_line);
|
||||
|
||||
@@ -78,6 +82,10 @@
|
||||
@@ -80,6 +83,10 @@
|
||||
#endif
|
||||
ca_context_.layer = ca_layer_tree_coordinator_->GetCALayerForDisplay();
|
||||
}
|
||||
@@ -73,7 +71,7 @@ index caa7b447f79d837f100b3ee8bb4063145811b9bc..5c510fafb2891759cc12711286e3c34f
|
||||
}
|
||||
|
||||
ImageTransportSurfaceOverlayMacEGL::~ImageTransportSurfaceOverlayMacEGL() {
|
||||
@@ -195,9 +203,13 @@
|
||||
@@ -197,9 +204,13 @@
|
||||
TRACE_EVENT_INSTANT2("test_gpu", "SwapBuffers", TRACE_EVENT_SCOPE_THREAD,
|
||||
"GLImpl", static_cast<int>(gl::GetGLImplementation()),
|
||||
"width", pixel_size_.width());
|
||||
|
||||
@@ -145,10 +145,10 @@ index 37ce08d9c11de4e53dbf9a9db2e74f1b12adafcf..bb9433fcb49d40adbe9ef8fdddfde49f
|
||||
|
||||
base::WeakPtr<BluetoothLowEnergyAdapterApple>
|
||||
diff --git a/media/audio/mac/audio_manager_mac.cc b/media/audio/mac/audio_manager_mac.cc
|
||||
index b3e06372457f57a8c835a790691d8f492baecdec..b27691313cb15d663c903d05cdef20e44270c690 100644
|
||||
index 3dc680c0abe4252e5c733c641a2fc46e13503c43..11e325816ff0e5d49f8f710375ba1d9de8198439 100644
|
||||
--- a/media/audio/mac/audio_manager_mac.cc
|
||||
+++ b/media/audio/mac/audio_manager_mac.cc
|
||||
@@ -991,7 +991,7 @@ AudioParameters AudioManagerMac::GetPreferredOutputStreamParameters(
|
||||
@@ -989,7 +989,7 @@ AudioParameters AudioManagerMac::GetPreferredOutputStreamParameters(
|
||||
|
||||
void AudioManagerMac::InitializeOnAudioThread() {
|
||||
DCHECK(GetTaskRunner()->BelongsToCurrentThread());
|
||||
|
||||
@@ -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 372ba8372c24eac18ee69859491370c75fe4288e..10db584346aae90a8280d28f992375a9117eec71 100644
|
||||
index 344fb45470747ee5577e15fd5fc43f4e34a27459..f07572030e7b80fdc2c0563606e0b3eecb6b9ee3 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -146,6 +146,11 @@
|
||||
@@ -147,7 +147,7 @@ index 372ba8372c24eac18ee69859491370c75fe4288e..10db584346aae90a8280d28f992375a9
|
||||
|
||||
builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
|
||||
diff --git a/services/network/network_context.h b/services/network/network_context.h
|
||||
index 7e6ae6f9faf4ccdd482c1f5c3440605543baec33..cdfbe0526dae267d912584fe94990276f86cbc54 100644
|
||||
index 3d07f29d3aaa2100960cca787b35b626d472d388..49d3215854977cbe78dff2909739646f0c40dad9 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -114,6 +114,7 @@ class URLMatcher;
|
||||
@@ -167,7 +167,7 @@ index 7e6ae6f9faf4ccdd482c1f5c3440605543baec33..cdfbe0526dae267d912584fe94990276
|
||||
void ResetURLLoaderFactories() override;
|
||||
void GetViaObliviousHttp(
|
||||
mojom::ObliviousHttpRequestPtr request,
|
||||
@@ -906,6 +909,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -905,6 +908,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
std::vector<base::OnceClosure> dismount_closures_;
|
||||
#endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED)
|
||||
|
||||
@@ -177,7 +177,7 @@ index 7e6ae6f9faf4ccdd482c1f5c3440605543baec33..cdfbe0526dae267d912584fe94990276
|
||||
std::unique_ptr<HostResolver> internal_host_resolver_;
|
||||
// Map values set to non-null only if that HostResolver has its own private
|
||||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||
index e696f8197cd9f5e158c148a207ae1398dd16c526..3ef031b0c876c36c51a91ba9724f8f2fd7b455ac 100644
|
||||
index 88fc9ddba7fffd4d94a5086f258c5018788e9f93..cda826721b166691f270dd9b28aacec1ce396d2b 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -311,6 +311,17 @@ struct NetworkContextFilePaths {
|
||||
|
||||
@@ -133,7 +133,7 @@ index 9c9e590aab71d5b66cdd2c9a0cfc5f2d34443e84..c461c131d93d592487e319893d531bf4
|
||||
const GURL& document_url,
|
||||
const WeakDocumentPtr& weak_document_ptr,
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
index d265c16cdbc429366b086379994882b076912d1f..89b1840e1667e51fc5fb7776f2d4d84d0c2b6de9 100644
|
||||
index 5da4ee8f01e8314f8e5d84544e497a3600540b87..1d9b5d3134c363c7b55bee1cb45a45d3557020e2 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -2038,7 +2038,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||
|
||||
@@ -40,7 +40,7 @@ index af0616d9ca466d146f3c41887857dd4720ebafbf..c088db193f5bd4b88aa42a3803571d2b
|
||||
ui::ImageModel::FromVectorIcon(*icon, kColorPipWindowForeground,
|
||||
kCloseButtonIconSize));
|
||||
diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
index dd1db5f91d104845b8eea7c4d348b733f8c13ee6..f141eb1d315c930251b47f2fdebb6c8307d94382 100644
|
||||
index 56da12ea713adc699fc8a5d7eef493824f5a4980..599e3f762a7cd4213f5296a91fc290553608901f 100644
|
||||
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
@@ -16,9 +16,11 @@
|
||||
|
||||
@@ -11,7 +11,7 @@ majority of changes originally come from these PRs:
|
||||
This patch also fixes callback for manual user cancellation and success.
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index f0e0501629b13ae25f659b2127a01f99bb22b08d..2f9a35615c7d95cd1a921c25baa12f05b70e4837 100644
|
||||
index ad4b830fa0932340b7c6b45d94ebf49afb4b7f73..4acc0a5befd0da25460de37eef7c4aabfd291659 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -964,7 +964,6 @@ if (is_win) {
|
||||
@@ -904,7 +904,7 @@ index c68b68767ac52602981278ec655d9ccfad0c30ab..df2ea4524584417d859e1a22ec8a49c8
|
||||
// Calculate number of pages in source document.
|
||||
uint32_t CalculateNumberOfPages(blink::WebLocalFrame* frame,
|
||||
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||
index 012b390cd5362ada1252475654152e3e75d24519..204bbd1d3e67a5340f57ba9e562a427255859487 100644
|
||||
index 12700e24197d4d976ccd301af577e03439ad9be2..d2b0f343db2cec3667576d37bad76c2294099331 100644
|
||||
--- a/content/browser/BUILD.gn
|
||||
+++ b/content/browser/BUILD.gn
|
||||
@@ -2994,8 +2994,9 @@ source_set("browser") {
|
||||
|
||||
@@ -44,10 +44,10 @@ index 895f5126806b557c853f163fe69459ea929f11a4..b4ead2f5f2f813c23cd5eddae3d38052
|
||||
|
||||
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 161d0c99eb1da6af69a5dcf6bbb6f753e3397b5b..63c234f6a66b2e7fc7b457b6141aa1ec55ebcc7e 100644
|
||||
index f7a8529020e9be4a4f13156b9e96e74fbffd09cc..b907488927e11061f41669c8c16c427a051d783c 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5115,6 +5115,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
@@ -5106,6 +5106,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
return text_input_manager_.get();
|
||||
}
|
||||
|
||||
@@ -60,10 +60,10 @@ index 161d0c99eb1da6af69a5dcf6bbb6f753e3397b5b..63c234f6a66b2e7fc7b457b6141aa1ec
|
||||
RenderWidgetHostImpl* render_widget_host) {
|
||||
return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost();
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
|
||||
index 14281119070e4a6caa4291914386a93493593430..b884dfc2237d5f973de0edb5f05fcbe82f752a74 100644
|
||||
index a42970282ae2801c6d00cf7e2f0e78b2cb6973fc..c59480be5af3dae8492b5cd8200748b6a085f613 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.h
|
||||
+++ b/content/browser/web_contents/web_contents_impl.h
|
||||
@@ -1013,6 +1013,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
|
||||
@@ -1011,6 +1011,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
|
||||
void SendScreenRects() override;
|
||||
void SendActiveState(bool active) override;
|
||||
TextInputManager* GetTextInputManager() override;
|
||||
@@ -72,7 +72,7 @@ index 14281119070e4a6caa4291914386a93493593430..b884dfc2237d5f973de0edb5f05fcbe8
|
||||
RenderWidgetHostImpl* render_widget_host) override;
|
||||
bool IsShowingContextMenuOnPage() const override;
|
||||
diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h
|
||||
index 63905767fedc33f8a33be1d86e5a554003a95069..3d0b6cdbcf9f1de188aea8723a0bf4c67a4b5891 100644
|
||||
index 617b5a5609796dccf158273ed729a132f0425f09..a4cc8a53b21b40942b403ac6ffbe1f1c676402bb 100644
|
||||
--- a/content/public/browser/web_contents_observer.h
|
||||
+++ b/content/public/browser/web_contents_observer.h
|
||||
@@ -32,6 +32,7 @@
|
||||
@@ -83,7 +83,7 @@ index 63905767fedc33f8a33be1d86e5a554003a95069..3d0b6cdbcf9f1de188aea8723a0bf4c6
|
||||
#include "ui/base/page_transition_types.h"
|
||||
#include "ui/base/window_open_disposition.h"
|
||||
|
||||
@@ -576,6 +577,9 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver {
|
||||
@@ -572,6 +573,9 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver {
|
||||
// Invoked when the primary main frame changes size.
|
||||
virtual void PrimaryMainFrameWasResized(bool width_changed) {}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ index 30a7e6a641e7b17a47fb5c66fb44d3d5899b9e78..85764a533585df0abe398758e4fd510c
|
||||
+#endif
|
||||
}
|
||||
diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/profiles/profile_selections.cc
|
||||
index bf2e926f03c6c15a7141f40d446cb42251c5d930..78c1e22427794262a33acd5a318abc9a1ec35871 100644
|
||||
index ab3979e69f272bbc9596300823d96641fdf960bd..0df82b71f05c34bd7896996feabcdd91ef3ea654 100644
|
||||
--- a/chrome/browser/profiles/profile_selections.cc
|
||||
+++ b/chrome/browser/profiles/profile_selections.cc
|
||||
@@ -121,6 +121,7 @@ Profile* ProfileSelections::ApplyProfileSelection(Profile* profile) const {
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: Revert "Remove the AllowAggressiveThrottlingWithWebSocket feature."
|
||||
This reverts commit 615c1810a187840ffeb04096087efff86edb37de.
|
||||
|
||||
diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
|
||||
index 086679f616c3211324e0bae05c71e2d1bc459cf3..4103594b79d7482568b4c3a366b3290ee0523c0d 100644
|
||||
index f01370e63377722e9585e89d479100b87a448015..89fe8c569e7ddc2fad2076a33d3de743fb2fee52 100644
|
||||
--- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
|
||||
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
|
||||
@@ -95,6 +95,17 @@ enum WebSocketOpCode {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch
|
||||
Patch to make scrollBounce option work.
|
||||
|
||||
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
||||
index a8c6c2e5d826aa0d8986391e596faade512e38c5..a4b04ed5f194fe71db482877da8e26eca445ab26 100644
|
||||
index 83daef460d5dd9b6b908485da1c807ec94a00f3f..7b4fb3da23f4e7805f74932cd959229554c3e217 100644
|
||||
--- a/content/renderer/render_thread_impl.cc
|
||||
+++ b/content/renderer/render_thread_impl.cc
|
||||
@@ -1296,7 +1296,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
@@ -1302,7 +1302,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
}
|
||||
|
||||
bool RenderThreadImpl::IsElasticOverscrollEnabled() {
|
||||
|
||||
@@ -34,7 +34,7 @@ index 239c3870a149a9c31d8458c5c6aeb543d80c2a6a..843f442a55ce866dc018de74c33d888c
|
||||
if (use_atk) {
|
||||
assert(use_glib, "use_atk=true requires that use_glib=true")
|
||||
diff --git a/build/config/linux/atspi2/BUILD.gn b/build/config/linux/atspi2/BUILD.gn
|
||||
index 30bc77f9c23fbdd4cf46f3ae022266c75f0e9ddf..2f3070c91be9bd5a7c7456004efd44d8c5f665b0 100644
|
||||
index d1629205c82a30eaddcd2cb5315978dad48bec02..92234b463a50c9f297964e3f366b65c444f4e6b2 100644
|
||||
--- a/build/config/linux/atspi2/BUILD.gn
|
||||
+++ b/build/config/linux/atspi2/BUILD.gn
|
||||
@@ -6,7 +6,6 @@ import("//build/config/linux/pkg_config.gni")
|
||||
|
||||
@@ -22,7 +22,7 @@ However, the patch would need to be reviewed by the security team, as it
|
||||
does touch a security-sensitive class.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
index 89b1840e1667e51fc5fb7776f2d4d84d0c2b6de9..f259d42038ec740f1aed32f833f258aa724642d7 100644
|
||||
index 1d9b5d3134c363c7b55bee1cb45a45d3557020e2..179b9a06569a038e95a44ca42e35bf368860f51e 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -1715,9 +1715,15 @@ bool RenderProcessHostImpl::Init() {
|
||||
|
||||
@@ -9,10 +9,10 @@ is needed for OSR.
|
||||
Originally landed in https://github.com/electron/libchromiumcontent/pull/226.
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 53726845fee76871cd5ddda8baa039d2dfeb89c7..96d503ae1cd7af461833cf643aef36b4455397a6 100644
|
||||
index 93a0fba3b73c9569a148472d5acec7e2cdc4eaa6..52eb186a4b40f964c7633cdced8514089ec7b2a5 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -3457,6 +3457,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
@@ -3448,6 +3448,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
params.main_frame_name, GetOpener(), primary_main_frame_policy,
|
||||
base::UnguessableToken::Create());
|
||||
|
||||
@@ -26,7 +26,7 @@ index 53726845fee76871cd5ddda8baa039d2dfeb89c7..96d503ae1cd7af461833cf643aef36b4
|
||||
std::unique_ptr<WebContentsViewDelegate> delegate =
|
||||
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
||||
|
||||
@@ -3467,6 +3474,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
@@ -3458,6 +3465,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
view_ = CreateWebContentsView(this, std::move(delegate),
|
||||
&render_view_host_delegate_view_);
|
||||
}
|
||||
@@ -35,7 +35,7 @@ index 53726845fee76871cd5ddda8baa039d2dfeb89c7..96d503ae1cd7af461833cf643aef36b4
|
||||
CHECK(view_.get());
|
||||
|
||||
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
|
||||
index eb5486a4e8c64163afc363d3cb3e4cd81fa43afe..87c7d68b08e0db9d6209f56163405caa7dceccac 100644
|
||||
index 3707858d0af5909fce48fc5e2270fdcb660492cb..2e213048464416e23e5d57258e7cf901ddab5415 100644
|
||||
--- a/content/public/browser/web_contents.h
|
||||
+++ b/content/public/browser/web_contents.h
|
||||
@@ -98,10 +98,13 @@ class BrowserContext;
|
||||
|
||||
@@ -15,10 +15,10 @@ Note that we also need to manually update embedder's
|
||||
`api::WebContents::IsFullscreenForTabOrPending` value.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
index 4fc07868f9b6db2b634356dea8e329a191c8c139..6f9db0a2f37dcccd567cd946966f6e7bc7c9a94a 100644
|
||||
index 022ed0a5767806b66f32b8a7555d6726636b09cf..0bb935d9a1913a1ff67b1e0cdc2fb74f0fc75d96 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -7486,6 +7486,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
@@ -7445,6 +7445,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,10 +37,10 @@ index 4fc07868f9b6db2b634356dea8e329a191c8c139..6f9db0a2f37dcccd567cd946966f6e7b
|
||||
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 96d503ae1cd7af461833cf643aef36b4455397a6..5a711c115ab7690409f2b32d8c332151c462254e 100644
|
||||
index 52eb186a4b40f964c7633cdced8514089ec7b2a5..7919112de3c7a5e35c83cc6746fd68fcc24cc785 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -3711,21 +3711,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
|
||||
@@ -3702,21 +3702,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
|
||||
const NativeWebKeyboardEvent& event) {
|
||||
OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
|
||||
"WebContentsImpl::PreHandleKeyboardEvent");
|
||||
@@ -78,7 +78,7 @@ index 96d503ae1cd7af461833cf643aef36b4455397a6..5a711c115ab7690409f2b32d8c332151
|
||||
}
|
||||
|
||||
bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
|
||||
@@ -3861,7 +3865,7 @@ void WebContentsImpl::EnterFullscreenMode(
|
||||
@@ -3852,7 +3856,7 @@ void WebContentsImpl::EnterFullscreenMode(
|
||||
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
|
||||
DCHECK(CanEnterFullscreenMode(requesting_frame, options));
|
||||
DCHECK(requesting_frame->IsActive());
|
||||
|
||||
@@ -26,10 +26,10 @@ index 72f72e2c6627d1f7159796f9151e697b04af66b1..4dfabec61229f50faba64d5c14255e5a
|
||||
// An empty URL is returned if the URL is not overriden.
|
||||
virtual GURL OverrideFlashEmbedWithHTML(const GURL& url);
|
||||
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
|
||||
index 2993634bbc7eccfd3ff41af045a3eb0aecf14e98..fb24a9e3d8ed24315ffdec3b7bb9b5f781c6c7ae 100644
|
||||
index ee367c7306b078e442b7ac91a5b85144b458de1f..751f6f4455cfe8706e12f362f9af17b5182d525b 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.cc
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.cc
|
||||
@@ -795,6 +795,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
|
||||
@@ -792,6 +792,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
|
||||
WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ index 2993634bbc7eccfd3ff41af045a3eb0aecf14e98..fb24a9e3d8ed24315ffdec3b7bb9b5f7
|
||||
const v8::Local<v8::Context>& worker) {
|
||||
GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread(
|
||||
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
|
||||
index 617f10ab8f2a33fc88b6f5051246b9996390950c..9642781599a93cd24299096d62d44a79c712167c 100644
|
||||
index 23c389ed9c7317b7c2ba42d1228086fa8bd94635..e602b298a5dca24d64a3fe2b8962cb06a1f782ae 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.h
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.h
|
||||
@@ -174,6 +174,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
@@ -55,10 +55,10 @@ index 617f10ab8f2a33fc88b6f5051246b9996390950c..9642781599a93cd24299096d62d44a79
|
||||
const blink::WebSecurityOrigin& script_origin) override;
|
||||
blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel(
|
||||
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
|
||||
index b6f60be5b437b8b6761a94acb74117eb90d64b0d..a72dca432d3732aabf7a0d783c77537e5954a660 100644
|
||||
index 70987c88d0daf76c96eaa97c7361ac6d365a5541..578dc22dad63fdb9145186999f5fe24ad0c4155f 100644
|
||||
--- a/third_party/blink/public/platform/platform.h
|
||||
+++ b/third_party/blink/public/platform/platform.h
|
||||
@@ -625,6 +625,7 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
@@ -622,6 +622,7 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
virtual void DidStartWorkerThread() {}
|
||||
virtual void WillStopWorkerThread() {}
|
||||
virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}
|
||||
|
||||
@@ -35,10 +35,10 @@ index 4dfabec61229f50faba64d5c14255e5a726bf8f2..b91c37ed1dfccf2189cd17d61d2623c1
|
||||
// from the worker thread.
|
||||
virtual void WillDestroyWorkerContextOnWorkerThread(
|
||||
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
|
||||
index fb24a9e3d8ed24315ffdec3b7bb9b5f781c6c7ae..2f1c8b81c1e9681d3f48c1896b11907735206bbe 100644
|
||||
index 751f6f4455cfe8706e12f362f9af17b5182d525b..5ba00c8ba1fd4d671627aa224e0d536867f0c875 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.cc
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.cc
|
||||
@@ -807,6 +807,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
|
||||
@@ -804,6 +804,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
|
||||
worker);
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ index fb24a9e3d8ed24315ffdec3b7bb9b5f781c6c7ae..2f1c8b81c1e9681d3f48c1896b119077
|
||||
const blink::WebSecurityOrigin& script_origin) {
|
||||
return GetContentClient()->renderer()->AllowScriptExtensionForServiceWorker(
|
||||
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
|
||||
index 9642781599a93cd24299096d62d44a79c712167c..0fcee3b49a4830ac5cd640065849804c2fbd4525 100644
|
||||
index e602b298a5dca24d64a3fe2b8962cb06a1f782ae..61f1f60e8fbe82fc9b595c5204ccd11f8507eec8 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.h
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.h
|
||||
@@ -174,6 +174,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
@@ -65,10 +65,10 @@ index 9642781599a93cd24299096d62d44a79c712167c..0fcee3b49a4830ac5cd640065849804c
|
||||
bool AllowScriptExtensionForServiceWorker(
|
||||
const blink::WebSecurityOrigin& script_origin) override;
|
||||
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
|
||||
index a72dca432d3732aabf7a0d783c77537e5954a660..78c890f8366a5253cd9fe2c1f270aa5793b9b15e 100644
|
||||
index 578dc22dad63fdb9145186999f5fe24ad0c4155f..6589eb05ad1ca3121d39431bc1c376bb02e0d53a 100644
|
||||
--- a/third_party/blink/public/platform/platform.h
|
||||
+++ b/third_party/blink/public/platform/platform.h
|
||||
@@ -625,6 +625,8 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
@@ -622,6 +622,8 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
virtual void DidStartWorkerThread() {}
|
||||
virtual void WillStopWorkerThread() {}
|
||||
virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}
|
||||
|
||||
@@ -9,7 +9,7 @@ necessary for native modules to load.
|
||||
Also change visibility on mksnapshot in order to target mksnapshot for mksnapshot zip.
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index 3a2d1bc660c8dc7446262923c4120943f159f84d..17bffb493e401dac8e49742b56e78f27b430949d 100644
|
||||
index 52c9696e6afe89b584487d4a05e1b3680e856862..c7005f6774ea271ba27ea96bb3fe96010b36eeb2 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -752,7 +752,7 @@ config("internal_config") {
|
||||
@@ -21,7 +21,7 @@ index 3a2d1bc660c8dc7446262923c4120943f159f84d..17bffb493e401dac8e49742b56e78f27
|
||||
defines += [ "BUILDING_V8_SHARED" ]
|
||||
}
|
||||
|
||||
@@ -6887,7 +6887,7 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
@@ -6882,7 +6882,7 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
"src/interpreter/bytecodes.h",
|
||||
]
|
||||
|
||||
@@ -30,7 +30,7 @@ index 3a2d1bc660c8dc7446262923c4120943f159f84d..17bffb493e401dac8e49742b56e78f27
|
||||
|
||||
deps = [
|
||||
":v8_libbase",
|
||||
@@ -6899,7 +6899,6 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
@@ -6894,7 +6894,6 @@ if (current_toolchain == v8_generator_toolchain) {
|
||||
|
||||
if (current_toolchain == v8_snapshot_toolchain) {
|
||||
v8_executable("mksnapshot") {
|
||||
|
||||
@@ -12,7 +12,7 @@ This patch can be safely removed if, when it is removed, `node.lib` does not
|
||||
contain any standard C++ library exports (e.g. `std::ostringstream`).
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index 17bffb493e401dac8e49742b56e78f27b430949d..b85812b49c0e3cbc4211a187855d1f50d28cab20 100644
|
||||
index c7005f6774ea271ba27ea96bb3fe96010b36eeb2..f0a0020e146cecbbae141a024695e945be362533 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -752,6 +752,10 @@ config("internal_config") {
|
||||
|
||||
@@ -6,7 +6,7 @@ const patchExportFnPath = path.resolve(__dirname, 'export_all_patches.py');
|
||||
const configPath = path.resolve(__dirname, '..', 'patches', 'config.json');
|
||||
|
||||
// Re-export all the patches to check if there were changes.
|
||||
const proc = spawnSync('python3', [patchExportFnPath, configPath, '--dry-run'], {
|
||||
const proc = spawnSync('python', [patchExportFnPath, configPath, '--dry-run'], {
|
||||
cwd: srcPath
|
||||
});
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
#include "content/public/common/content_constants.h"
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "electron/buildflags/buildflags.h"
|
||||
#include "electron/fuses.h"
|
||||
#include "extensions/common/constants.h"
|
||||
#include "pdf/buildflags.h"
|
||||
#include "ppapi/buildflags/buildflags.h"
|
||||
@@ -169,9 +168,7 @@ void ElectronContentClient::AddAdditionalSchemes(Schemes* schemes) {
|
||||
&schemes->cors_enabled_schemes);
|
||||
}
|
||||
|
||||
if (electron::fuses::IsGrantFileProtocolExtraPrivilegesEnabled()) {
|
||||
schemes->service_worker_schemes.emplace_back(url::kFileScheme);
|
||||
}
|
||||
schemes->service_worker_schemes.emplace_back(url::kFileScheme);
|
||||
|
||||
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
|
||||
schemes->standard_schemes.push_back(extensions::kExtensionScheme);
|
||||
|
||||
@@ -1511,10 +1511,11 @@ void WebContents::FindReply(content::WebContents* web_contents,
|
||||
Emit("found-in-page", result.GetHandle());
|
||||
}
|
||||
|
||||
void WebContents::OnRequestToLockMouse(content::WebContents* web_contents,
|
||||
bool user_gesture,
|
||||
bool last_unlocked_by_target,
|
||||
bool allowed) {
|
||||
void WebContents::RequestExclusivePointerAccess(
|
||||
content::WebContents* web_contents,
|
||||
bool user_gesture,
|
||||
bool last_unlocked_by_target,
|
||||
bool allowed) {
|
||||
if (allowed) {
|
||||
exclusive_access_manager_.mouse_lock_controller()->RequestToLockMouse(
|
||||
web_contents, user_gesture, last_unlocked_by_target);
|
||||
@@ -1531,7 +1532,7 @@ void WebContents::RequestToLockMouse(content::WebContents* web_contents,
|
||||
WebContentsPermissionHelper::FromWebContents(web_contents);
|
||||
permission_helper->RequestPointerLockPermission(
|
||||
user_gesture, last_unlocked_by_target,
|
||||
base::BindOnce(&WebContents::OnRequestToLockMouse,
|
||||
base::BindOnce(&WebContents::RequestExclusivePointerAccess,
|
||||
base::Unretained(this)));
|
||||
}
|
||||
|
||||
@@ -1539,24 +1540,10 @@ void WebContents::LostMouseLock() {
|
||||
exclusive_access_manager_.mouse_lock_controller()->LostMouseLock();
|
||||
}
|
||||
|
||||
void WebContents::OnRequestKeyboardLock(content::WebContents* web_contents,
|
||||
bool esc_key_locked,
|
||||
bool allowed) {
|
||||
if (allowed) {
|
||||
exclusive_access_manager_.keyboard_lock_controller()->RequestKeyboardLock(
|
||||
web_contents, esc_key_locked);
|
||||
} else {
|
||||
web_contents->GotResponseToKeyboardLockRequest(false);
|
||||
}
|
||||
}
|
||||
|
||||
void WebContents::RequestKeyboardLock(content::WebContents* web_contents,
|
||||
bool esc_key_locked) {
|
||||
auto* permission_helper =
|
||||
WebContentsPermissionHelper::FromWebContents(web_contents);
|
||||
permission_helper->RequestKeyboardLockPermission(
|
||||
esc_key_locked, base::BindOnce(&WebContents::OnRequestKeyboardLock,
|
||||
base::Unretained(this)));
|
||||
exclusive_access_manager_.keyboard_lock_controller()->RequestKeyboardLock(
|
||||
web_contents, esc_key_locked);
|
||||
}
|
||||
|
||||
void WebContents::CancelKeyboardLockRequest(
|
||||
|
||||
@@ -568,17 +568,14 @@ class WebContents : public ExclusiveAccessContext,
|
||||
const gfx::Rect& selection_rect,
|
||||
int active_match_ordinal,
|
||||
bool final_update) override;
|
||||
void OnRequestToLockMouse(content::WebContents* web_contents,
|
||||
bool user_gesture,
|
||||
bool last_unlocked_by_target,
|
||||
bool allowed);
|
||||
void RequestExclusivePointerAccess(content::WebContents* web_contents,
|
||||
bool user_gesture,
|
||||
bool last_unlocked_by_target,
|
||||
bool allowed);
|
||||
void RequestToLockMouse(content::WebContents* web_contents,
|
||||
bool user_gesture,
|
||||
bool last_unlocked_by_target) override;
|
||||
void LostMouseLock() override;
|
||||
void OnRequestKeyboardLock(content::WebContents* web_contents,
|
||||
bool esc_key_locked,
|
||||
bool allowed);
|
||||
void RequestKeyboardLock(content::WebContents* web_contents,
|
||||
bool esc_key_locked) override;
|
||||
void CancelKeyboardLockRequest(content::WebContents* web_contents) override;
|
||||
|
||||
@@ -56,7 +56,6 @@
|
||||
#include "content/public/common/url_constants.h"
|
||||
#include "crypto/crypto_buildflags.h"
|
||||
#include "electron/buildflags/buildflags.h"
|
||||
#include "electron/fuses.h"
|
||||
#include "electron/shell/common/api/api.mojom.h"
|
||||
#include "extensions/browser/extension_navigation_ui_data.h"
|
||||
#include "mojo/public/cpp/bindings/binder_map.h"
|
||||
@@ -145,9 +144,7 @@
|
||||
#endif // BUILDFLAG(OVERRIDE_LOCATION_PROVIDER)
|
||||
|
||||
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
|
||||
#include "base/functional/bind.h"
|
||||
#include "chrome/common/webui_url_constants.h"
|
||||
#include "components/guest_view/common/guest_view.mojom.h"
|
||||
#include "content/public/browser/child_process_security_policy.h"
|
||||
#include "content/public/browser/file_url_loader.h"
|
||||
#include "content/public/browser/web_ui_url_loader_factory.h"
|
||||
@@ -167,15 +164,11 @@
|
||||
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
|
||||
#include "extensions/browser/process_manager.h"
|
||||
#include "extensions/browser/process_map.h"
|
||||
#include "extensions/browser/renderer_startup_helper.h"
|
||||
#include "extensions/browser/service_worker/service_worker_host.h"
|
||||
#include "extensions/browser/url_loader_factory_manager.h"
|
||||
#include "extensions/common/api/mime_handler.mojom.h"
|
||||
#include "extensions/common/constants.h"
|
||||
#include "extensions/common/extension.h"
|
||||
#include "extensions/common/mojom/event_router.mojom.h"
|
||||
#include "extensions/common/mojom/guest_view.mojom.h"
|
||||
#include "extensions/common/mojom/renderer_host.mojom.h"
|
||||
#include "extensions/common/switches.h"
|
||||
#include "shell/browser/extensions/electron_extension_message_filter.h"
|
||||
#include "shell/browser/extensions/electron_extension_system.h"
|
||||
@@ -426,10 +419,8 @@ void ElectronBrowserClient::OverrideWebkitPrefs(
|
||||
prefs->javascript_can_access_clipboard = true;
|
||||
prefs->local_storage_enabled = true;
|
||||
prefs->databases_enabled = true;
|
||||
prefs->allow_universal_access_from_file_urls =
|
||||
electron::fuses::IsGrantFileProtocolExtraPrivilegesEnabled();
|
||||
prefs->allow_file_access_from_file_urls =
|
||||
electron::fuses::IsGrantFileProtocolExtraPrivilegesEnabled();
|
||||
prefs->allow_universal_access_from_file_urls = true;
|
||||
prefs->allow_file_access_from_file_urls = true;
|
||||
prefs->webgl1_enabled = true;
|
||||
prefs->webgl2_enabled = true;
|
||||
prefs->allow_running_insecure_content = false;
|
||||
@@ -1493,12 +1484,6 @@ void ElectronBrowserClient::
|
||||
std::move(receiver), render_frame_host);
|
||||
},
|
||||
&render_frame_host));
|
||||
associated_registry.AddInterface<guest_view::mojom::GuestViewHost>(
|
||||
base::BindRepeating(&extensions::ExtensionsGuestView::CreateForComponents,
|
||||
render_frame_host.GetGlobalId()));
|
||||
associated_registry.AddInterface<extensions::mojom::GuestView>(
|
||||
base::BindRepeating(&extensions::ExtensionsGuestView::CreateForExtensions,
|
||||
render_frame_host.GetGlobalId()));
|
||||
#endif
|
||||
#if BUILDFLAG(ENABLE_PDF_VIEWER)
|
||||
associated_registry.AddInterface<pdf::mojom::PdfService>(base::BindRepeating(
|
||||
@@ -1574,8 +1559,8 @@ void ElectronBrowserClient::ExposeInterfacesToRenderer(
|
||||
associated_registry->AddInterface<extensions::mojom::EventRouter>(
|
||||
base::BindRepeating(&extensions::EventRouter::BindForRenderer,
|
||||
render_process_host->GetID()));
|
||||
associated_registry->AddInterface<extensions::mojom::RendererHost>(
|
||||
base::BindRepeating(&extensions::RendererStartupHelper::BindForRenderer,
|
||||
associated_registry->AddInterface<extensions::mojom::GuestView>(
|
||||
base::BindRepeating(&extensions::ExtensionsGuestView::CreateForExtensions,
|
||||
render_process_host->GetID()));
|
||||
associated_registry->AddInterface<extensions::mojom::ServiceWorkerHost>(
|
||||
base::BindRepeating(&extensions::ServiceWorkerHost::BindReceiver,
|
||||
|
||||
@@ -47,17 +47,17 @@ ExtensionFunction::ResponseAction ResourcesPrivateGetStringsFunction::Run() {
|
||||
api::resources_private::Component component = params->component;
|
||||
|
||||
switch (component) {
|
||||
case api::resources_private::Component::kPdf:
|
||||
case api::resources_private::COMPONENT_PDF:
|
||||
#if BUILDFLAG(ENABLE_PDF_VIEWER)
|
||||
pdf_extension_util::AddStrings(
|
||||
pdf_extension_util::PdfViewerContext::kPdfViewer, &dict);
|
||||
pdf_extension_util::AddAdditionalData(true, false, &dict);
|
||||
#endif
|
||||
break;
|
||||
case api::resources_private::Component::kIdentity:
|
||||
case api::resources_private::COMPONENT_IDENTITY:
|
||||
NOTREACHED();
|
||||
break;
|
||||
case api::resources_private::Component::kNone:
|
||||
case api::resources_private::COMPONENT_NONE:
|
||||
NOTREACHED();
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -65,11 +65,11 @@ mojom::CSSOrigin ConvertStyleOriginToCSSOrigin(
|
||||
api::scripting::StyleOrigin style_origin) {
|
||||
mojom::CSSOrigin css_origin = mojom::CSSOrigin::kAuthor;
|
||||
switch (style_origin) {
|
||||
case api::scripting::StyleOrigin::kNone:
|
||||
case api::scripting::StyleOrigin::kAuthor:
|
||||
case api::scripting::STYLE_ORIGIN_NONE:
|
||||
case api::scripting::STYLE_ORIGIN_AUTHOR:
|
||||
css_origin = mojom::CSSOrigin::kAuthor;
|
||||
break;
|
||||
case api::scripting::StyleOrigin::kUser:
|
||||
case api::scripting::STYLE_ORIGIN_USER:
|
||||
css_origin = mojom::CSSOrigin::kUser;
|
||||
break;
|
||||
}
|
||||
@@ -81,10 +81,10 @@ mojom::ExecutionWorld ConvertExecutionWorld(
|
||||
api::scripting::ExecutionWorld world) {
|
||||
mojom::ExecutionWorld execution_world = mojom::ExecutionWorld::kIsolated;
|
||||
switch (world) {
|
||||
case api::scripting::ExecutionWorld::kNone:
|
||||
case api::scripting::ExecutionWorld::kIsolated:
|
||||
case api::scripting::EXECUTION_WORLD_NONE:
|
||||
case api::scripting::EXECUTION_WORLD_ISOLATED:
|
||||
break; // Default to mojom::ExecutionWorld::kIsolated.
|
||||
case api::scripting::ExecutionWorld::kMain:
|
||||
case api::scripting::EXECUTION_WORLD_MAIN:
|
||||
execution_world = mojom::ExecutionWorld::kMain;
|
||||
}
|
||||
|
||||
@@ -95,15 +95,15 @@ api::scripting::ExecutionWorld ConvertExecutionWorldForAPI(
|
||||
mojom::ExecutionWorld world) {
|
||||
switch (world) {
|
||||
case mojom::ExecutionWorld::kIsolated:
|
||||
return api::scripting::ExecutionWorld::kIsolated;
|
||||
return api::scripting::EXECUTION_WORLD_ISOLATED;
|
||||
case mojom::ExecutionWorld::kMain:
|
||||
return api::scripting::ExecutionWorld::kMain;
|
||||
return api::scripting::EXECUTION_WORLD_MAIN;
|
||||
case mojom::ExecutionWorld::kUserScript:
|
||||
NOTREACHED() << "UserScript worlds are not supported in this API.";
|
||||
}
|
||||
|
||||
NOTREACHED();
|
||||
return api::scripting::ExecutionWorld::kIsolated;
|
||||
return api::scripting::EXECUTION_WORLD_ISOLATED;
|
||||
}
|
||||
|
||||
std::string InjectionKeyForCode(const mojom::HostID& host_id,
|
||||
|
||||
@@ -469,20 +469,7 @@ void NativeWindowMac::Focus(bool focus) {
|
||||
return;
|
||||
|
||||
if (focus) {
|
||||
// On macOS < Sonoma, "activateIgnoringOtherApps:NO" would not
|
||||
// activate apps if focusing a window that is inActive. That
|
||||
// changed with macOS Sonoma.
|
||||
//
|
||||
// There's a slim chance we should have never called
|
||||
// activateIgnoringOtherApps, but we tried that many years ago
|
||||
// and saw weird focus bugs on other macOS versions. So, to make
|
||||
// this safe, we're gating by versions.
|
||||
if (@available(macOS 14.0, *)) {
|
||||
[[NSApplication sharedApplication] activate];
|
||||
} else {
|
||||
[[NSApplication sharedApplication] activateIgnoringOtherApps:NO];
|
||||
}
|
||||
|
||||
[[NSApplication sharedApplication] activateIgnoringOtherApps:NO];
|
||||
[window_ makeKeyAndOrderFront:nil];
|
||||
} else {
|
||||
[window_ orderOut:nil];
|
||||
|
||||
@@ -253,15 +253,6 @@ void WebContentsPermissionHelper::RequestPointerLockPermission(
|
||||
user_gesture);
|
||||
}
|
||||
|
||||
void WebContentsPermissionHelper::RequestKeyboardLockPermission(
|
||||
bool esc_key_locked,
|
||||
base::OnceCallback<void(content::WebContents*, bool, bool)> callback) {
|
||||
RequestPermission(
|
||||
web_contents_->GetPrimaryMainFrame(),
|
||||
static_cast<blink::PermissionType>(PermissionType::KEYBOARD_LOCK),
|
||||
base::BindOnce(std::move(callback), web_contents_, esc_key_locked));
|
||||
}
|
||||
|
||||
void WebContentsPermissionHelper::RequestOpenExternalPermission(
|
||||
content::RenderFrameHost* requesting_frame,
|
||||
base::OnceCallback<void(bool)> callback,
|
||||
|
||||
@@ -31,8 +31,7 @@ class WebContentsPermissionHelper
|
||||
OPEN_EXTERNAL,
|
||||
SERIAL,
|
||||
HID,
|
||||
USB,
|
||||
KEYBOARD_LOCK
|
||||
USB
|
||||
};
|
||||
|
||||
// Asynchronous Requests
|
||||
@@ -45,9 +44,6 @@ class WebContentsPermissionHelper
|
||||
bool last_unlocked_by_target,
|
||||
base::OnceCallback<void(content::WebContents*, bool, bool, bool)>
|
||||
callback);
|
||||
void RequestKeyboardLockPermission(
|
||||
bool esc_key_locked,
|
||||
base::OnceCallback<void(content::WebContents*, bool, bool)> callback);
|
||||
void RequestWebNotificationPermission(
|
||||
content::RenderFrameHost* requesting_frame,
|
||||
base::OnceCallback<void(bool)> callback);
|
||||
|
||||
@@ -40,6 +40,10 @@ void WebViewGuestDelegate::AttachToIframe(
|
||||
|
||||
content::WebContents* guest_web_contents = api_web_contents_->web_contents();
|
||||
|
||||
// Force a refresh of the webPreferences so that OverrideWebkitPrefs runs on
|
||||
// the new web contents before the renderer process initializes.
|
||||
// guest_web_contents->NotifyPreferencesChanged();
|
||||
|
||||
// Attach this inner WebContents |guest_web_contents| to the outer
|
||||
// WebContents |embedder_web_contents|. The outer WebContents's
|
||||
// frame |embedder_frame| hosts the inner WebContents.
|
||||
@@ -72,18 +76,15 @@ content::WebContents* WebViewGuestDelegate::GetOwnerWebContents() {
|
||||
void WebViewGuestDelegate::OnZoomChanged(
|
||||
const WebContentsZoomController::ZoomChangedEventData& data) {
|
||||
if (data.web_contents == GetOwnerWebContents()) {
|
||||
auto* zoom_controller = api_web_contents_->GetZoomController();
|
||||
if (data.temporary) {
|
||||
zoom_controller->SetTemporaryZoomLevel(data.new_zoom_level);
|
||||
api_web_contents_->GetZoomController()->SetTemporaryZoomLevel(
|
||||
data.new_zoom_level);
|
||||
} else {
|
||||
if (blink::PageZoomValuesEqual(data.new_zoom_level,
|
||||
zoom_controller->GetZoomLevel()))
|
||||
return;
|
||||
zoom_controller->SetZoomLevel(data.new_zoom_level);
|
||||
api_web_contents_->GetZoomController()->SetZoomLevel(data.new_zoom_level);
|
||||
}
|
||||
// Change the default zoom factor to match the embedders' new zoom level.
|
||||
double zoom_factor = blink::PageZoomLevelToZoomFactor(data.new_zoom_level);
|
||||
zoom_controller->SetDefaultZoomFactor(zoom_factor);
|
||||
api_web_contents_->GetZoomController()->SetDefaultZoomFactor(zoom_factor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
// resourcesPrivate.
|
||||
[modernised_enums]
|
||||
namespace resourcesPrivate {
|
||||
enum Component { identity, pdf };
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
|
||||
// Use the <code>chrome.scripting</code> API to execute script in different
|
||||
// contexts.
|
||||
[modernised_enums]
|
||||
namespace scripting {
|
||||
callback InjectedFunction = void();
|
||||
|
||||
|
||||
@@ -300,8 +300,6 @@ v8::Local<v8::Value> Converter<blink::PermissionType>::ToV8(
|
||||
switch (static_cast<PermissionType>(val)) {
|
||||
case PermissionType::POINTER_LOCK:
|
||||
return StringToV8(isolate, "pointerLock");
|
||||
case PermissionType::KEYBOARD_LOCK:
|
||||
return StringToV8(isolate, "keyboardLock");
|
||||
case PermissionType::FULLSCREEN:
|
||||
return StringToV8(isolate, "fullscreen");
|
||||
case PermissionType::OPEN_EXTERNAL:
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "content/public/renderer/render_frame.h"
|
||||
#include "content/public/renderer/render_thread.h"
|
||||
#include "electron/buildflags/buildflags.h"
|
||||
#include "electron/fuses.h"
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "shell/browser/api/electron_api_protocol.h"
|
||||
#include "shell/common/api/electron_api_native_image.h"
|
||||
@@ -278,10 +277,8 @@ void RendererClientBase::RenderThreadStarted() {
|
||||
|
||||
// Allow file scheme to handle service worker by default.
|
||||
// FIXME(zcbenz): Can this be moved elsewhere?
|
||||
if (electron::fuses::IsGrantFileProtocolExtraPrivilegesEnabled()) {
|
||||
blink::WebSecurityPolicy::RegisterURLSchemeAsAllowingServiceWorkers("file");
|
||||
blink::SchemeRegistry::RegisterURLSchemeAsSupportingFetchAPI("file");
|
||||
}
|
||||
blink::WebSecurityPolicy::RegisterURLSchemeAsAllowingServiceWorkers("file");
|
||||
blink::SchemeRegistry::RegisterURLSchemeAsSupportingFetchAPI("file");
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Set ApplicationUserModelID in renderer process.
|
||||
|
||||
@@ -1196,40 +1196,6 @@ describe('BrowserWindow module', () => {
|
||||
await isClosed3;
|
||||
}
|
||||
});
|
||||
|
||||
ifit(process.platform === 'darwin')('it does not activate the app if focusing an inactive panel', async () => {
|
||||
// Show to focus app, then remove existing window
|
||||
w.show();
|
||||
w.destroy();
|
||||
|
||||
// We first need to resign app focus for this test to work
|
||||
const isInactive = once(app, 'did-resign-active');
|
||||
childProcess.execSync('osascript -e \'tell application "Finder" to activate\'');
|
||||
await isInactive;
|
||||
|
||||
// Create new window
|
||||
w = new BrowserWindow({
|
||||
type: 'panel',
|
||||
height: 200,
|
||||
width: 200,
|
||||
center: true,
|
||||
show: false
|
||||
});
|
||||
|
||||
const isShow = once(w, 'show');
|
||||
const isFocus = once(w, 'focus');
|
||||
|
||||
w.showInactive();
|
||||
w.focus();
|
||||
|
||||
await isShow;
|
||||
await isFocus;
|
||||
|
||||
const getActiveAppOsa = 'tell application "System Events" to get the name of the first process whose frontmost is true';
|
||||
const activeApp = childProcess.execSync(`osascript -e '${getActiveAppOsa}'`).toString().trim();
|
||||
|
||||
expect(activeApp).to.equal('Finder');
|
||||
});
|
||||
});
|
||||
|
||||
// TODO(RaisinTen): Make this work on Windows too.
|
||||
|
||||
Reference in New Issue
Block a user