Compare commits

..

50 Commits

Author SHA1 Message Date
Electron Bot
d4b2f69f36 Bump v15.0.0-nightly.20210719 2021-07-19 06:02:42 -07:00
Electron Bot
cfb2829634 Bump v15.0.0-nightly.20210716 2021-07-16 06:01:06 -07:00
Jeremy Rose
0d9e6f29ba fix: allow colored tray titles when font type is specified (#30146) 2021-07-15 16:45:20 -07:00
Shelley Vohr
1bb689e6dd fix: BrowserWindow transparency not working (#30136) 2021-07-15 16:18:39 -04:00
electron-roller[bot]
063ac19712 chore: bump node to v16.5.0 (main) (#30031)
* chore: bump node in DEPS to v16.4.2

* chore: update patches

* ci: run main and remote woa tests separately

* chore: bump node in DEPS to v16.5.0

* build: restore libplatform headers in distribution

https://github.com/nodejs/node/pull/39288

* build: pass directory instead of list of files to js2c.py

https://github.com/nodejs/node/pull/39069

* chore: various BoringSSL/OpenSSL upstreams

- https://github.com/nodejs/node/pull/39136
- https://github.com/nodejs/node/pull/39138
- https://github.com/nodejs/node/pull/39054

* test: move debugger test case to parallel

https://github.com/nodejs/node/pull/39300

* chore: fixup patch indices

* build: pass directory instead of list of files to js2c.py

https://github.com/nodejs/node/pull/39069

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2021-07-15 11:25:00 -04:00
Electron Bot
849a3b6f81 Bump v15.0.0-nightly.20210715 2021-07-15 07:13:56 -07:00
David Sanders
341b370213 fix: handle redirects within registered protocols (#29796) 2021-07-15 20:14:46 +09:00
Shelley Vohr
3f38681c55 fix: double traffic lights on exit fullscreen (#30114) 2021-07-14 16:45:12 -07:00
Cheng Zhao
05ba6359d0 feat: add signal option to dialog.showMessageBox (#26102)
* mac: add dialog.closeMessageBox API

* win: Implement dialog.closeMessageBox

* mac: Return cancelId with closeMessageBox

* gtk: Implement dialog.closeMessageBox

* win: Fix 32bit build

* win: Reduce the scope of lock

* fix: Build error after rebase

* feat: Use AbortSignal to close message box

* chore: silently handle duplicate ID

* win: Add more notes about the threads

* chore: apply reviews

* fix: base::NoDestructor should be warpped in function

* chore: fix style on windows
2021-07-15 07:59:27 +09:00
George Xu
4b780f9770 docs: update supported versions to match new release cadence (#30121) 2021-07-14 15:38:28 -07:00
Utkarsh Dixit
b2da2f759a docs: add runtime.reload as supported extension api (#29925) 2021-07-14 15:37:53 -07:00
Robo
4931c055a9 spec: disable flaky fullscreen test (#30141) 2021-07-14 15:26:09 -07:00
Antón Molleda
a855aa34d9 docs: fix fiddle path (#30139)
This is breaking the build in `electron/electronjs.org-new` and will
most likely not work when clicking the "Fiddle" button.

Rel: https://github.com/electron/electronjs.org-new/pull/65
2021-07-14 16:16:59 -04:00
Jeremy Rose
bec47f54f4 fix: use correct userData path when unbundled (#30113) 2021-07-14 13:10:37 -07:00
Electron Bot
4db7221c7d Bump v15.0.0-nightly.20210714 2021-07-14 06:02:07 -07:00
Davenury
75b4267aa9 Update quick-start.md (#30064)
Change app-quit link definition, so both window-all-closed and app-quit redirects to appropriate sites.
2021-07-14 20:59:32 +09:00
Milan Burda
c0995b8dff docs: add <webview> 'did-attach' event documentation (#29899) 2021-07-14 20:59:20 +09:00
Cheng Zhao
637ba48b42 fix: pressing ESC should exit fullscreen from webview (#30063) 2021-07-14 20:51:26 +09:00
Jeremy Rose
4d0475c9ce feat: expose location and modifiers on before-input-event (#29850)
* feat: expose location and modifiers on before-input-event

* lint
2021-07-14 20:50:02 +09:00
Keeley Hammond
1897b14af3 chore: update releases to 8 weeks in CONTRIBUTING (#30115)
* chore: update releases to 8 weeks in CONTRIBUTING

* chore: update support.md for four version support
2021-07-13 13:57:19 -07:00
Sofia Nguy
eb2efd4b7e docs: Update timeline for E15 alpha announcement (#30109)
* docs: Update timeline for E15 alpha announcement

* fix line break
2021-07-13 13:54:13 -07:00
1akshat1
d267f979b7 feat: continue-activity event is extended to support webpageURL property (#30042)
Co-authored-by: Akshat Malik <amalik@microstrategy.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
2021-07-13 13:21:33 -07:00
Electron Bot
3582a513ca Bump v15.0.0-nightly.20210713 2021-07-13 06:02:20 -07:00
Milan Burda
9959f01e4c spec: fix check for electron_common_testing binding in logging-spec.ts (#30086) 2021-07-12 22:11:19 -07:00
Robo
19a6286dfd chore: cherry-pick 9bab573a37 from chromium (#30084)
Refs https://chromium-review.googlesource.com/c/chromium/src/+/3010140
2021-07-12 18:35:29 -07:00
Jeremy Rose
459a8417e3 test: disable failing node tests (#30096) 2021-07-13 09:40:58 +09:00
Jeremy Rose
96ff8d7bd7 build: decode error output as utf8 (#30093) 2021-07-12 15:22:26 -07:00
Jeremy Rose
e26901aba4 fix: crash when invoking login callback synchronously (#30068) 2021-07-12 12:33:41 -07:00
Jeremy Rose
0cb5631b0b fix: return RGBA values from getSystemColor (#30055) 2021-07-12 11:08:10 -07:00
Robo
36079b822a chore: disable fullscreen test on mac arm (#30083) 2021-07-12 08:53:35 -07:00
Electron Bot
c15f44c20f Bump v15.0.0-nightly.20210712 2021-07-12 06:01:17 -07:00
Robo
c806184bfe chore: fix flaky fullscreen inheritance test (#30081) 2021-07-11 23:19:30 -07:00
Cheng Zhao
21f6937728 chore: remove unneeded conversions between wstring and u16string (#30047) 2021-07-12 13:33:26 +09:00
Robo
ccfde6c9d4 fix: window ordering on mac (#29857) 2021-07-09 13:38:25 -07:00
Electron Bot
98f617e856 Bump v15.0.0-nightly.20210709 2021-07-09 06:01:45 -07:00
George Xu
b7164428ec docs: modernize protocol-handler docs (#29380)
* docs: modernize protocol-handler docs

* docs: iadd contextIsolation

* docs: add guide for launch-app-from-URL-in-other-app

* docs: address comments

* chore: fix brackets

* chore: add escaped brackets
2021-07-08 11:42:28 -07:00
Electron Bot
0824fc57f7 Bump v15.0.0-nightly.20210708 2021-07-08 06:01:00 -07:00
Milan Burda
53386914e1 docs: move webRequest filters definition to structures/web-request-filter.md (#29900) 2021-07-08 00:20:08 -07:00
Milan Burda
635ed5a6e3 feat: add missing resourceType conversions for webRequest listener details (#29902) 2021-07-08 00:19:16 -07:00
Milan Burda
13bf2fd7ec build: fix building with enable_plugins = false (#30040) 2021-07-08 00:18:11 -07:00
Electron Bot
cd031a77dd Bump v15.0.0-nightly.20210707 2021-07-07 13:02:22 -07:00
Electron Bot
767b4973a3 Revert "Bump v15.0.0-nightly.20210707"
This reverts commit 5f1233cdad.
2021-07-07 12:11:40 -07:00
Electron Bot
5f1233cdad Bump v15.0.0-nightly.20210707 2021-07-07 06:01:31 -07:00
Jeremy Rose
550d3c11a8 docs: mention contextIsolation in ipc-main example (#29918) 2021-07-06 10:27:35 -07:00
Electron Bot
257b796856 Bump v15.0.0-nightly.20210706 2021-07-06 06:01:39 -07:00
electron-roller[bot]
2585e6d5fa chore: bump chromium to 93.0.4566.0 (main) (#29980)
* chore: bump chromium in DEPS to 93.0.4562.0

* chore: update patches

* [base] Made Value::Take{Dict,List}() rvalue ref-qualified.

https://chromium-review.googlesource.com/c/chromium/src/+/2988105

* Revert "Reland "Roll src/buildtools/third_party/libc++/trunk/ 8fa879467..79a2e924d (426 commits)""

https://chromium-review.googlesource.com/c/chromium/src/+/2995482

This reverts commit 9691d6c265 and 797723ec83

* Pass gfx::Insets to GetHTComponentForFrame

https://chromium-review.googlesource.com/c/chromium/src/+/2984243

* chore: bump chromium in DEPS to 93.0.4563.0

* [Clipboard API] Clipboard Custom Formats implementation Part 2.

https://chromium-review.googlesource.com/c/chromium/src/+/2967649

* chore: update patches

* chore: bump chromium in DEPS to 93.0.4564.0

* chore: bump chromium in DEPS to 93.0.4565.0

* chore: update patches

* Prevent use of base::NoDestructor for trivially-destructible types

https://chromium-review.googlesource.com/c/chromium/src/+/2998672

* chore: update patches

* fixup! [Clipboard API] Clipboard Custom Formats implementation Part 2.

* chore: bump chromium in DEPS to 93.0.4566.0

* chore: update patches

* chore: add missing header

* ci: do not run clipboard tests on WOA

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2021-07-06 08:17:13 -04:00
Samuel Attard
7169734470 fix: download the arm64 version of Electron when running node under rosetta (#29953) 2021-07-06 10:40:26 +09:00
Jenux
f3517b6635 docs: match css filename in dark-mode.md (#29936)
* Update dark-mode.md

Fix the unmatched css file name

* Update docs/tutorial/dark-mode.md

Co-authored-by: Jeremy Rose <nornagon@nornagon.net>

Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
2021-07-06 10:37:41 +09:00
David Sanders
6c251da201 chore: correct spelling of is_quitting in electron::Browser (#29948) 2021-07-05 15:45:50 -04:00
electron-roller[bot]
60366ad171 chore: bump node to v16.4.1 (main) (#29994)
* chore: bump node in DEPS to v16.4.1

* chore: update patches

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
2021-07-05 13:47:09 -04:00
149 changed files with 1812 additions and 1029 deletions

View File

@@ -1404,8 +1404,7 @@ dist_zip("hunspell_dictionaries_zip") {
}
copy("libcxx_headers") {
sources = libcxx_headers + libcxx_licenses +
[ "//buildtools/third_party/libc++/__config_site" ]
sources = libcxx_headers + libcxx_licenses
outputs = [ "$target_gen_dir/electron_libcxx_include/{{source_root_relative_dir}}/{{source_file_part}}" ]
}

View File

@@ -22,7 +22,7 @@ Issues are created [here](https://github.com/electron/electron/issues/new).
### Issue Closure
Bug reports will be closed if the issue has been inactive and the latest affected version no longer receives support. At the moment, Electron maintains its three latest major versions, with a new major version being released every 12 weeks. (For more information on Electron's release cadence, see [this blog post](https://electronjs.org/blog/12-week-cadence).)
Bug reports will be closed if the issue has been inactive and the latest affected version no longer receives support. At the moment, Electron maintains its three latest major versions, with a new major version being released every 8 weeks. (For more information on Electron's release cadence, see [this blog post](https://electronjs.org/blog/8-week-cadence).)
_If an issue has been closed and you still feel it's relevant, feel free to ping a maintainer or add a comment!_

4
DEPS
View File

@@ -15,9 +15,9 @@ gclient_gn_args = [
vars = {
'chromium_version':
'93.0.4558.0',
'93.0.4566.0',
'node_version':
'v16.4.0',
'v16.5.0',
'nan_version':
# The following commit hash of NAN is v2.14.2 with *only* changes to the
# test suite. This should be updated to a specific tag when one becomes

View File

@@ -1 +1 @@
15.0.0-nightly.20210705
15.0.0-nightly.20210719

View File

@@ -53,6 +53,16 @@ steps:
env:
APPVEYOR_TOKEN: $(APPVEYOR_TOKEN)
- powershell: |
$localArtifactPath = "$pwd\src\pdb.zip"
$serverArtifactPath = "$env:APPVEYOR_URL/buildjobs/$env:APPVEYOR_JOB_ID/artifacts/pdb.zip"
Invoke-RestMethod -Method Get -Uri $serverArtifactPath -OutFile $localArtifactPath -Headers @{ "Authorization" = "Bearer $env:APPVEYOR_TOKEN" }
cd src
& "${env:ProgramFiles(x86)}\7-Zip\7z.exe" x -y pdb.zip
displayName: 'Download pdb files for detailed stacktraces'
env:
APPVEYOR_TOKEN: $(APPVEYOR_TOKEN)
- powershell: |
New-Item src\out\Default\gen\node_headers\Release -Type directory
Copy-Item -path src\out\Default\electron.lib -destination src\out\Default\gen\node_headers\Release\node.lib
@@ -63,15 +73,30 @@ steps:
set npm_config_nodedir=%cd%\out\Default\gen\node_headers
set npm_config_arch=arm64
cd electron
# CalculateNativeWinOcclusion is disabled due to https://bugs.chromium.org/p/chromium/issues/detail?id=1139022
node script/yarn test -- --enable-logging --verbose --disable-features=CalculateNativeWinOcclusion
displayName: 'Run Electron tests'
node script/yarn test --runners=main --runTestFilesSeperately --enable-logging --disable-features=CalculateNativeWinOcclusion
displayName: 'Run Electron Main process tests'
env:
ELECTRON_ENABLE_STACK_DUMPING: true
ELECTRON_OUT_DIR: Default
IGNORE_YARN_INSTALL_ERROR: 1
ELECTRON_TEST_RESULTS_DIR: junit
MOCHA_MULTI_REPORTERS: 'mocha-junit-reporter, tap'
MOCHA_REPORTER: mocha-multi-reporters
- script: |
cd src
set npm_config_nodedir=%cd%\out\Default\gen\node_headers
set npm_config_arch=arm64
cd electron
node script/yarn test --runners=remote --enable-logging --disable-features=CalculateNativeWinOcclusion
displayName: 'Run Electron Remote based tests'
env:
ELECTRON_OUT_DIR: Default
IGNORE_YARN_INSTALL_ERROR: 1
ELECTRON_TEST_RESULTS_DIR: junit
MOCHA_MULTI_REPORTERS: 'mocha-junit-reporter, tap'
MOCHA_REPORTER: mocha-multi-reporters
condition: always()
- task: PublishTestResults@2
displayName: 'Publish Test Results'

View File

@@ -16,5 +16,5 @@ try:
subprocess.check_output(args, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
error_msg = "NPM script '{}' failed with code '{}':\n".format(sys.argv[2], e.returncode)
print(error_msg + e.output.decode('ascii'))
print(error_msg + e.output.decode('utf8'))
sys.exit(e.returncode)

View File

@@ -161,6 +161,8 @@ Returns:
[`NSUserActivity.activityType`][activity-type].
* `userInfo` unknown - Contains app-specific state stored by the activity on
another device.
* `details` Object
* `webpageURL` String (optional) - A string identifying the URL of the webpage accessed by the activity on another device, if available.
Emitted during [Handoff][handoff] when an activity from a different device wants
to be resumed. You should call `event.preventDefault()` if you want to handle

View File

@@ -199,7 +199,7 @@ const { clipboard } = require('electron')
const hasFormat = clipboard.has('<p>selection</p>')
console.log(hasFormat)
// 'true' or 'false
// 'true' or 'false'
```
### `clipboard.read(format)` _Experimental_
@@ -208,6 +208,10 @@ console.log(hasFormat)
Returns `String` - Reads `format` type from the clipboard.
`format` should contain valid ASCII characters and have `/` separator.
`a/c`, `a/bc` are valid formats while `/abc`, `abc/`, `a/`, `/a`, `a`
are not valid.
### `clipboard.readBuffer(format)` _Experimental_
* `format` String
@@ -218,9 +222,9 @@ Returns `Buffer` - Reads `format` type from the clipboard.
const { clipboard } = require('electron')
const buffer = Buffer.from('this is binary', 'utf8')
clipboard.writeBuffer('public.utf8-plain-text', buffer)
clipboard.writeBuffer('public/utf8-plain-text', buffer)
const ret = clipboard.readBuffer('public.utf8-plain-text')
const ret = clipboard.readBuffer('public/utf8-plain-text')
console.log(buffer.equals(out))
// true
@@ -238,7 +242,7 @@ Writes the `buffer` into the clipboard as `format`.
const { clipboard } = require('electron')
const buffer = Buffer.from('writeBuffer', 'utf8')
clipboard.writeBuffer('public.utf8-plain-text', buffer)
clipboard.writeBuffer('public/utf8-plain-text', buffer)
```
### `clipboard.write(data[, type])`

View File

@@ -273,6 +273,11 @@ If `browserWindow` is not shown dialog will not be attached to it. In such case
will result in one button labeled "OK".
* `defaultId` Integer (optional) - Index of the button in the buttons array which will
be selected by default when the message box opens.
* `signal` AbortSignal (optional) - Pass an instance of [AbortSignal][] to
optionally close the message box, the message box will behave as if it was
cancelled by the user. On macOS, `signal` does not work with message boxes
that do not have a parent window, since those message boxes run
synchronously due to platform limitations.
* `title` String (optional) - Title of the message box, some platforms will not show it.
* `detail` String (optional) - Extra information of the message.
* `checkboxLabel` String (optional) - If provided, the message box will
@@ -360,3 +365,5 @@ window is provided.
You can call `BrowserWindow.getCurrentWindow().setSheetOffset(offset)` to change
the offset from the window frame where sheets are attached.
[AbortSignal]: https://nodejs.org/api/globals.html#globals_class_abortsignal

View File

@@ -78,6 +78,7 @@ The following methods of `chrome.runtime` are supported:
- `chrome.runtime.getURL`
- `chrome.runtime.connect`
- `chrome.runtime.sendMessage`
- `chrome.runtime.reload`
The following events of `chrome.runtime` are supported:

View File

@@ -40,6 +40,8 @@ ipcMain.on('synchronous-message', (event, arg) => {
```javascript
// In renderer process (web page).
// NB. Electron APIs are only accessible from preload, unless contextIsolation is disabled.
// See https://www.electronjs.org/docs/tutorial/process-model#preload-scripts for more details.
const { ipcRenderer } = require('electron')
console.log(ipcRenderer.sendSync('synchronous-message', 'ping')) // prints "pong"

View File

@@ -0,0 +1,3 @@
# WebRequestFilter Object
* `urls` String[] - Array of URL patterns that will be used to filter out the requests that do not match the URL patterns.

View File

@@ -449,6 +449,8 @@ Returns:
* `control` Boolean - Equivalent to [KeyboardEvent.controlKey][keyboardevent].
* `alt` Boolean - Equivalent to [KeyboardEvent.altKey][keyboardevent].
* `meta` Boolean - Equivalent to [KeyboardEvent.metaKey][keyboardevent].
* `location` Number - Equivalent to [KeyboardEvent.location][keyboardevent].
* `modifiers` String[] - See [InputEvent.modifiers](structures/input-event.md).
Emitted before dispatching the `keydown` and `keyup` events in the page.
Calling `event.preventDefault` will prevent the page `keydown`/`keyup` events

View File

@@ -43,9 +43,7 @@ The following methods are available on instances of `WebRequest`:
#### `webRequest.onBeforeRequest([filter, ]listener)`
* `filter` Object (optional)
* `urls` String[] - Array of URL patterns that will be used to filter out the
requests that do not match the URL patterns.
* `filter` [WebRequestFilter](structures/web-request-filter.md) (optional)
* `listener` Function | null
* `details` Object
* `id` Integer
@@ -54,7 +52,7 @@ The following methods are available on instances of `WebRequest`:
* `webContentsId` Integer (optional)
* `webContents` WebContents (optional)
* `frame` WebFrameMain (optional)
* `resourceType` String
* `resourceType` String - Can be `mainFrame`, `subFrame`, `stylesheet`, `script`, `image`, `font`, `object`, `xhr`, `ping`, `cspReport`, `media`, `webSocket` or `other`.
* `referrer` String
* `timestamp` Double
* `uploadData` [UploadData[]](structures/upload-data.md)
@@ -88,9 +86,7 @@ Some examples of valid `urls`:
#### `webRequest.onBeforeSendHeaders([filter, ]listener)`
* `filter` Object (optional)
* `urls` String[] - Array of URL patterns that will be used to filter out the
requests that do not match the URL patterns.
* `filter` [WebRequestFilter](structures/web-request-filter.md) (optional)
* `listener` Function | null
* `details` Object
* `id` Integer
@@ -99,7 +95,7 @@ Some examples of valid `urls`:
* `webContentsId` Integer (optional)
* `webContents` WebContents (optional)
* `frame` WebFrameMain (optional)
* `resourceType` String
* `resourceType` String - Can be `mainFrame`, `subFrame`, `stylesheet`, `script`, `image`, `font`, `object`, `xhr`, `ping`, `cspReport`, `media`, `webSocket` or `other`.
* `referrer` String
* `timestamp` Double
* `requestHeaders` Record<string, string>
@@ -117,9 +113,7 @@ The `callback` has to be called with a `response` object.
#### `webRequest.onSendHeaders([filter, ]listener)`
* `filter` Object (optional)
* `urls` String[] - Array of URL patterns that will be used to filter out the
requests that do not match the URL patterns.
* `filter` [WebRequestFilter](structures/web-request-filter.md) (optional)
* `listener` Function | null
* `details` Object
* `id` Integer
@@ -128,7 +122,7 @@ The `callback` has to be called with a `response` object.
* `webContentsId` Integer (optional)
* `webContents` WebContents (optional)
* `frame` WebFrameMain (optional)
* `resourceType` String
* `resourceType` String - Can be `mainFrame`, `subFrame`, `stylesheet`, `script`, `image`, `font`, `object`, `xhr`, `ping`, `cspReport`, `media`, `webSocket` or `other`.
* `referrer` String
* `timestamp` Double
* `requestHeaders` Record<string, string>
@@ -139,9 +133,7 @@ response are visible by the time this listener is fired.
#### `webRequest.onHeadersReceived([filter, ]listener)`
* `filter` Object (optional)
* `urls` String[] - Array of URL patterns that will be used to filter out the
requests that do not match the URL patterns.
* `filter` [WebRequestFilter](structures/web-request-filter.md) (optional)
* `listener` Function | null
* `details` Object
* `id` Integer
@@ -150,7 +142,7 @@ response are visible by the time this listener is fired.
* `webContentsId` Integer (optional)
* `webContents` WebContents (optional)
* `frame` WebFrameMain (optional)
* `resourceType` String
* `resourceType` String - Can be `mainFrame`, `subFrame`, `stylesheet`, `script`, `image`, `font`, `object`, `xhr`, `ping`, `cspReport`, `media`, `webSocket` or `other`.
* `referrer` String
* `timestamp` Double
* `statusLine` String
@@ -172,9 +164,7 @@ The `callback` has to be called with a `response` object.
#### `webRequest.onResponseStarted([filter, ]listener)`
* `filter` Object (optional)
* `urls` String[] - Array of URL patterns that will be used to filter out the
requests that do not match the URL patterns.
* `filter` [WebRequestFilter](structures/web-request-filter.md) (optional)
* `listener` Function | null
* `details` Object
* `id` Integer
@@ -183,7 +173,7 @@ The `callback` has to be called with a `response` object.
* `webContentsId` Integer (optional)
* `webContents` WebContents (optional)
* `frame` WebFrameMain (optional)
* `resourceType` String
* `resourceType` String - Can be `mainFrame`, `subFrame`, `stylesheet`, `script`, `image`, `font`, `object`, `xhr`, `ping`, `cspReport`, `media`, `webSocket` or `other`.
* `referrer` String
* `timestamp` Double
* `responseHeaders` Record<string, string[]> (optional)
@@ -198,9 +188,7 @@ and response headers are available.
#### `webRequest.onBeforeRedirect([filter, ]listener)`
* `filter` Object (optional)
* `urls` String[] - Array of URL patterns that will be used to filter out the
requests that do not match the URL patterns.
* `filter` [WebRequestFilter](structures/web-request-filter.md) (optional)
* `listener` Function | null
* `details` Object
* `id` Integer
@@ -209,7 +197,7 @@ and response headers are available.
* `webContentsId` Integer (optional)
* `webContents` WebContents (optional)
* `frame` WebFrameMain (optional)
* `resourceType` String
* `resourceType` String - Can be `mainFrame`, `subFrame`, `stylesheet`, `script`, `image`, `font`, `object`, `xhr`, `ping`, `cspReport`, `media`, `webSocket` or `other`.
* `referrer` String
* `timestamp` Double
* `redirectURL` String
@@ -225,9 +213,7 @@ redirect is about to occur.
#### `webRequest.onCompleted([filter, ]listener)`
* `filter` Object (optional)
* `urls` String[] - Array of URL patterns that will be used to filter out the
requests that do not match the URL patterns.
* `filter` [WebRequestFilter](structures/web-request-filter.md) (optional)
* `listener` Function | null
* `details` Object
* `id` Integer
@@ -236,7 +222,7 @@ redirect is about to occur.
* `webContentsId` Integer (optional)
* `webContents` WebContents (optional)
* `frame` WebFrameMain (optional)
* `resourceType` String
* `resourceType` String - Can be `mainFrame`, `subFrame`, `stylesheet`, `script`, `image`, `font`, `object`, `xhr`, `ping`, `cspReport`, `media`, `webSocket` or `other`.
* `referrer` String
* `timestamp` Double
* `responseHeaders` Record<string, string[]> (optional)
@@ -250,9 +236,7 @@ completed.
#### `webRequest.onErrorOccurred([filter, ]listener)`
* `filter` Object (optional)
* `urls` String[] - Array of URL patterns that will be used to filter out the
requests that do not match the URL patterns.
* `filter` [WebRequestFilter](structures/web-request-filter.md) (optional)
* `listener` Function | null
* `details` Object
* `id` Integer
@@ -261,7 +245,7 @@ completed.
* `webContentsId` Integer (optional)
* `webContents` WebContents (optional)
* `frame` WebFrameMain (optional)
* `resourceType` String
* `resourceType` String - Can be `mainFrame`, `subFrame`, `stylesheet`, `script`, `image`, `font`, `object`, `xhr`, `ping`, `cspReport`, `media`, `webSocket` or `other`.
* `referrer` String
* `timestamp` Double
* `fromCache` Boolean

View File

@@ -710,6 +710,10 @@ Corresponds to the points in time when the spinner of the tab starts spinning.
Corresponds to the points in time when the spinner of the tab stops spinning.
### Event: 'did-attach'
Fired when attached to the embedder web contents.
### Event: 'dom-ready'
Fired when document in the given frame is loaded.

View File

@@ -1,92 +1,81 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<head>
<meta charset="UTF-8">
<!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
<meta http-equiv="X-Content-Security-Policy" content="default-src 'self'; script-src 'self'">
<title>app.setAsDefaultProtocol Demo</title>
</head>
<body>
<section>
<header>
<h1>
Protocol Handler
</h1>
<h3>The <code>app</code> module provides methods for handling protocols.</h3>
<p>These methods allow you to set and unset the protocols your app should be the default app for. Similar to when a browser asks to be your default for viewing web pages.</p>
<h1>App Default Protocol Demo</h1>
<p>Open the <a href="https://electronjs.org/docs/api/app">full app API documentation<span class="u-visible-to-screen-reader">(opens in new window)</span></a> in your browser.</p>
</header>
<p>The protocol API allows us to register a custom protocol and intercept existing protocol requests.</p>
<p>These methods allow you to set and unset the protocols your app should be the default app for. Similar to when a
browser asks to be your default for viewing web pages.</p>
<div >
<button id="open-in-browser" class="js-container-target demo-toggle-button">Launch current page in browser
<div class="demo-meta u-avoid-clicks">Supports: Win, macOS <span class="demo-meta-divider">|</span> Process: Main</div>
</button>
<section id='open-app-link'>
<a href="electron-api-demos://open">Now... launch the app from a web link</a>
</section>
<div >
<p>You can set your app as the default app to open for a specific protocol. For instance, in this demo we set this app as the default for <code>electron-api-demos://</code>. The demo button above will launch a page in your default browser with a link. Click that link and it will re-launch this app.</p>
<h5>Packaging</h5>
<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 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>
<h5>Renderer Process</h5>
<pre><code>
const {shell} = require('electron')
const path = require('path')
const protocolHandlerBtn = document.getElementById('protocol-handler')
protocolHandlerBtn.addEventListener('click', () => {
const pageDirectory = __dirname.replace('app.asar', 'app.asar.unpacked')
const pagePath = path.join('file://', pageDirectory, '../../sections/system/protocol-link.html')
shell.openExternal(pagePath)
})
</code></pre>
<h5>Main Process</h5>
<pre><code>
const {app, dialog} = require('electron')
const path = require('path')
<p>Open the <a href="https://www.electronjs.org/docs/api/protocol">full protocol API documentation</a> in your
browser.</p>
if (process.defaultApp) {
if (process.argv.length >= 2) {
app.setAsDefaultProtocolClient('electron-api-demos', process.execPath, [path.resolve(process.argv[1])])
}
} else {
app.setAsDefaultProtocolClient('electron-api-demos')
}
-----
app.on('open-url', (event, url) => {
dialog.showErrorBox('Welcome Back', `You arrived from: ${url}`)
})
<h3>Demo</h3>
<p>
First: Launch current page in browser
<button id="open-in-browser" class="js-container-target demo-toggle-button">
Click to Launch Browser
</button>
</p>
</code></pre>
<h5>macOS plist</h5>
<pre><code>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>electron-api-demos</string>
</array>
<key>CFBundleURLName</key>
<string>Electron API Demos Protocol</string>
</dict>
</array>
<key>ElectronTeamID</key>
<string>VEKTX9H2N7</string>
</dict>
</plist>
</code>
</pre>
</div>
</div>
<script type="text/javascript">
require('./renderer.js')
</script>
</section>
<p>
Then: Launch the app from a web link!
<a href="electron-fiddle://open">Click here to launch the app</a>
</p>
----
<p>You can set your app as the default app to open for a specific protocol. For instance, in this demo we set this app
as the default for <code>electron-fiddle://</code>. The demo button above will launch a page in your default
browser with a link. Click that link and it will re-launch this app.</p>
<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
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>
<p>
<h5>macOS plist</h5>
<pre><code>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
&lt;dict&gt;
&lt;key&gt;CFBundleURLTypes&lt;/key&gt;
&lt;array&gt;
&lt;dict&gt;
&lt;key&gt;CFBundleURLSchemes&lt;/key&gt;
&lt;array&gt;
&lt;string&gt;electron-api-demos&lt;/string&gt;
&lt;/array&gt;
&lt;key&gt;CFBundleURLName&lt;/key&gt;
&lt;string&gt;Electron API Demos Protocol&lt;/string&gt;
&lt;/dict&gt;
&lt;/array&gt;
&lt;key&gt;ElectronTeamID&lt;/key&gt;
&lt;string&gt;VEKTX9H2N7&lt;/string&gt;
&lt;/dict&gt;
&lt;/plist&gt;
</code>
</pre>
<p>
<!-- You can also require other files to run in this process -->
<script src="./renderer.js"></script>
</body>
</html>
</body>
</html>
</html>

View File

@@ -1,10 +1,39 @@
// Modules to control application life and create native browser window
const { app, BrowserWindow, dialog } = require('electron')
const { app, BrowserWindow, ipcMain, shell } = require('electron')
const path = require('path')
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let mainWindow
let mainWindow;
if (process.defaultApp) {
if (process.argv.length >= 2) {
app.setAsDefaultProtocolClient('electron-fiddle', process.execPath, [path.resolve(process.argv[1])])
}
} else {
app.setAsDefaultProtocolClient('electron-fiddle')
}
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
app.quit()
} else {
app.on('second-instance', (event, commandLine, workingDirectory) => {
// Someone tried to run a second instance, we should focus our window.
if (mainWindow) {
if (mainWindow.isMinimized()) mainWindow.restore()
mainWindow.focus()
}
})
// Create mainWindow, load the rest of the app, etc...
app.whenReady().then(() => {
createWindow()
})
app.on('open-url', (event, url) => {
dialog.showErrorBox('Welcome Back', `You arrived from: ${url}`)
})
}
function createWindow () {
// Create the browser window.
@@ -12,58 +41,23 @@ function createWindow () {
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
preload: path.join(__dirname, 'preload.js'),
}
})
// and load the index.html of the app.
mainWindow.loadFile('index.html')
// Open the DevTools.
mainWindow.webContents.openDevTools()
// Emitted when the window is closed.
mainWindow.on('closed', function () {
// Dereference the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the corresponding element.
mainWindow = null
})
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(createWindow)
// Quit when all windows are closed.
// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', function () {
// On macOS it is common for applications and their menu bar
// to stay active until the user quits explicitly with Cmd + Q
if (process.platform !== 'darwin') {
app.quit()
}
if (process.platform !== 'darwin') app.quit()
})
app.on('activate', function () {
// On macOS it is common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (mainWindow === null) {
createWindow()
}
})
// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.
if (process.defaultApp) {
if (process.argv.length >= 2) {
app.setAsDefaultProtocolClient('electron-api-demos', process.execPath, [path.resolve(process.argv[1])])
}
} else {
app.setAsDefaultProtocolClient('electron-api-demos')
}
app.on('open-url', (event, url) => {
dialog.showErrorBox('Welcome Back', `You arrived from: ${url}`)
// Handle window controls via IPC
ipcMain.on('shell:open', () => {
const pageDirectory = __dirname.replace('app.asar', 'app.asar.unpacked')
const pagePath = path.join('file://', pageDirectory, 'index.html')
shell.openExternal(pagePath)
})

View File

@@ -0,0 +1,11 @@
// All of the Node.js APIs are available in the preload process.
// It has the same sandbox as a Chrome extension.
const { contextBridge, ipcRenderer } = require('electron')
// Set up context bridge between the renderer process and the main process
contextBridge.exposeInMainWorld(
'shell',
{
open: () => ipcRenderer.send('shell:open'),
}
)

View File

@@ -1,14 +1,8 @@
const { shell } = require('electron')
const path = require('path')
// This file is required by the index.html file and will
// be executed in the renderer process for that window.
// All APIs exposed by the context bridge are available here.
const openInBrowserButton = document.getElementById('open-in-browser')
const openAppLink = document.getElementById('open-app-link')
// Hides openAppLink when loaded inside Electron
openAppLink.style.display = 'none'
openInBrowserButton.addEventListener('click', () => {
console.log('clicked')
const pageDirectory = __dirname.replace('app.asar', 'app.asar.unpacked')
const pagePath = path.join('file://', pageDirectory, 'index.html')
shell.openExternal(pagePath)
})
// Binds the buttons to the context bridge API.
document.getElementById('open-in-browser').addEventListener('click', () => {
shell.open();
});

View File

@@ -80,9 +80,9 @@ Starting with the `index.html` file:
</html>
```
And the `style.css` file:
And the `styles.css` file:
```css title='style.css'
```css title='styles.css'
@media (prefers-color-scheme: dark) {
body { background: #333; color: white; }
}

View File

@@ -1,23 +1,27 @@
# Electron Release Timelines
Special notes:
* The `-beta.1` and `stable` dates are our solid release dates.
* We strive for weekly beta releases, however we often release more betas than scheduled.
* All dates are our goals but there may be reasons for adjusting the stable deadline, such as security bugs.
* Take a look at the [5.0.0 Timeline blog post](https://electronjs.org/blog/electron-5-0-timeline) for info about publicizing our release dates.
* Since Electron 6.0, we've been targeting every other Chromium version and releasing our stable on the same day as Chrome stable. You can reference Chromium's release schedule [here](https://chromiumdash.appspot.com/schedule). See [Electron's new release cadence blog post](https://www.electronjs.org/blog/12-week-cadence) for more details on our release schedule.
* Electron 15.0 only will include a special Alpha release. Starting in Electron 16.0, we will release on an 8-week cadence. See [Electron's new 8-week cadence blog post](https://www.electronjs.org/blog/8-week-cadence) for more details.
| Version | -beta.1 | Stable | Chrome | Node |
| ------- | ------- | ------ | ------ | ---- |
| 2.0.0 | 2018-02-21 | 2018-05-01 | M61 | v8.9 |
| 3.0.0 | 2018-06-21 | 2018-09-18 | M66 | v10.2 |
| 4.0.0 | 2018-10-11 | 2018-12-20 | M69 | v10.11 |
| 5.0.0 | 2019-01-22 | 2019-04-24 | M73 | v12.0 |
| 6.0.0 | 2019-05-01 | 2019-07-30 | M76 | v12.4 |
| 7.0.0 | 2019-08-01 | 2019-10-22 | M78 | v12.8 |
| 8.0.0 | 2019-10-24 | 2020-02-04 | M80 | v12.13 |
| 9.0.0 | 2020-02-06 | 2020-05-19 | M83 | v12.14 |
| 10.0.0 | 2020-05-21 | 2020-08-25 | M85 | v12.16 |
| 11.0.0 | 2020-08-27 | 2020-11-17 | M87 | v12.18 |
| 12.0.0 | 2020-11-19 | 2021-03-02 | M89 | v14.16 |
| 13.0.0 | 2021-03-04 | 2021-05-25 | M91 | v14.16 |
| 14.0.0 | 2021-05-27 | 2021-08-31 | M93 | TBD |
| Electron | Alpha | Beta | Stable | Chrome | Node |
| ------- | ----- | ------- | ------ | ------ | ---- |
| 2.0.0 | -- | 2018-Feb-21 | 2018-May-01 | M61 | v8.9 |
| 3.0.0 | -- | 2018-Jun-21 | 2018-Sep-18 | M66 | v10.2 |
| 4.0.0 | -- | 2018-Oct-11 | 2018-Dec-20 | M69 | v10.11 |
| 5.0.0 | -- | 2019-Jan-22 | 2019-Apr-24 | M73 | v12.0 |
| 6.0.0 | -- | 2019-May-01 | 2019-Jul-30 | M76 | v12.4 |
| 7.0.0 | -- | 2019-Aug-01 | 2019-Oct-22 | M78 | v12.8 |
| 8.0.0 | -- | 2019-Oct-24 | 2020-Feb-04 | M80 | v12.13 |
| 9.0.0 | -- | 2020-Feb-06 | 2020-May-19 | M83 | v12.14 |
| 10.0.0 | -- | 2020-May-21 | 2020-Aug-25 | M85 | v12.16 |
| 11.0.0 | -- | 2020-Aug-27 | 2020-Nov-17 | M87 | v12.18 |
| 12.0.0 | -- | 2020-Nov-19 | 2021-Mar-02 | M89 | v14.16 |
| 13.0.0 | -- | 2021-Mar-04 | 2021-May-25 | M91 | v14.16 |
| 14.0.0 | -- | 2021-May-27 | 2021-Aug-31 | M93 | TBD |
| 15.0.0 | 2021-Jul-20 | 2021-Sep-01 | 2021-Sep-21 | M94 | TBD |

View File

@@ -0,0 +1,175 @@
---
title: launch-app-from-URL-in-another-app
description: This guide will take you through the process of setting your electron app as the default handler for a specific protocol.
slug: launch-app-from-url-in-another-app
hide_title: true
---
# Launching Your Electron App From A URL In Another App
## Overview
<!-- ✍ Update this section if you want to provide more details -->
This guide will take you through the process of setting your electron app as the default
handler for a specific [protocol](https://www.electronjs.org/docs/api/protocol).
By the end of this tutorial, we will have set our app to intercept and handle
any clicked URLs that start with a specific protocol. In this guide, the protocol
we will use will be "`electron-fiddle://`".
## Examples
### Main Process (main.js)
First we will import the required modules from `electron`. These modules help control our application life and create a native browser window.
```js
const { app, BrowserWindow, shell } = require('electron')
const path = require('path')
```
Next, we will proceed to register our application to handle all "`electron-fiddle://`" protocols.
```js
if (process.defaultApp) {
if (process.argv.length >= 2) {
app.setAsDefaultProtocolClient('electron-fiddle', process.execPath, [path.resolve(process.argv[1])])
}
} else {
app.setAsDefaultProtocolClient('electron-fiddle')
}
```
We will now define the function in charge of creating our browser window and load our application's `index.html` file.
```js
function createWindow () {
// Create the browser window.
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
mainWindow.loadFile('index.html')
}
```
In this next step, we will create our `BrowserWindow` and tell our application how to handle an event in which an external protocol is clicked.
This code will be different in WindowsOS compared to MacOS and Linux. This is due to Windows requiring additional code in order to open the contents of the protocol link within the same electron instance. Read more about this [here](https://www.electronjs.org/docs/api/app#apprequestsingleinstancelock).
### Windows code:
```js
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
app.quit()
} else {
app.on('second-instance', (event, commandLine, workingDirectory) => {
// Someone tried to run a second instance, we should focus our window.
if (mainWindow) {
if (mainWindow.isMinimized()) mainWindow.restore()
mainWindow.focus()
}
})
// Create mainWindow, load the rest of the app, etc...
app.whenReady().then(() => {
createWindow()
})
// handling the protocol. In this case, we choose to show an Error Box.
app.on('open-url', (event, url) => {
dialog.showErrorBox('Welcome Back', `You arrived from: ${url}`)
})
}
```
### MacOS and Linux code:
```js
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(() => {
createWindow()
})
// handling the protocol. In this case, we choose to show an Error Box.
app.on('open-url', (event, url) => {
dialog.showErrorBox('Welcome Back', `You arrived from: ${url}`)
})
```
Finally, we will add some additional code to handle when someone closes our application
```js
// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', function () {
if (process.platform !== 'darwin') app.quit()
})
```
## Important Note:
### Packaging
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 `plist` for the app is updated to include the new protocol handler. If you're using [`electron-packager`](https://github.com/electron/electron-packager) then you
can add the flag `--extend-info` with a path to the `plist` you've created. The one for this app is below:
### Plist
```XML
<p>
<h5>macOS plist</h5>
<pre><code>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>electron-api-demos</string>
</array>
<key>CFBundleURLName</key>
<string>Electron API Demos Protocol</string>
</dict>
</array>
<key>ElectronTeamID</key>
<string>VEKTX9H2N7</string>
</dict>
</plist>
</code>
</pre>
<p>
```
## Conclusion
After you start your electron app, you can now enter in a URL in your browser that contains the custom protocol, for example `"electron-fiddle://open"` and observe that the application will respond and show an error dialog box.
<!--
Because Electron examples usually require multiple files (HTML, CSS, JS
for the main and renderer process, etc.), we use this custom code block
for Fiddle (https://www.electronjs.org/fiddle).
Please modify any of the files in the referenced folder to fit your
example.
The content in this codeblock will not be rendered in the website so you
can leave it empty.
-->
```fiddle docs/fiddles/system/protocol-handler/launch-app-from-URL-in-another-app
```
<!-- ✍ Explanation of the code below -->

View File

@@ -223,7 +223,7 @@ app.on('window-all-closed', function () {
[node-platform]: https://nodejs.org/api/process.html#process_process_platform
[window-all-closed]: ../api/app.md#event-window-all-closed
[window-all-closed]: ../api/app.md#appquit
[app-quit]: ../api/app.md#appquit
#### Open a window if none are open (macOS)

View File

@@ -37,6 +37,13 @@ tools and resources.
## Supported Versions
_**Note:** Beginning in September 2021 with Electron 15, the Electron team
will temporarily support the latest **four** stable major versions. This
extended support is intended to help Electron developers transition to
the [new eight week release cadence](https://electronjs.org/blog/8-week-cadence), and will continue until May 2022, with
the release of Electron 19. At that time, the Electron team will drop support
back to the latest three stable major versions._
The latest three *stable* major versions are supported by the Electron team.
For example, if the latest release is 6.1.x, then the 5.0.x as well
as the 4.2.x series are supported. We only support the latest minor release
@@ -63,6 +70,7 @@ until the maintainers feel the maintenance burden is too high to continue doing
### Currently supported versions
* 14.x.y
* 13.x.y
* 12.x.y
* 11.x.y

View File

@@ -128,6 +128,7 @@ auto_filenames = {
"docs/api/structures/upload-file.md",
"docs/api/structures/upload-raw-data.md",
"docs/api/structures/user-default-types.md",
"docs/api/structures/web-request-filter.md",
"docs/api/structures/web-source.md",
]

View File

@@ -13,46 +13,23 @@ libcxx_headers = [
"//buildtools/third_party/libc++/trunk/include/__functional_base",
"//buildtools/third_party/libc++/trunk/include/__functional_base_03",
"//buildtools/third_party/libc++/trunk/include/__hash_table",
"//buildtools/third_party/libc++/trunk/include/__iterator/concepts.h",
"//buildtools/third_party/libc++/trunk/include/__iterator/incrementable_traits.h",
"//buildtools/third_party/libc++/trunk/include/__iterator/iter_move.h",
"//buildtools/third_party/libc++/trunk/include/__iterator/iterator_traits.h",
"//buildtools/third_party/libc++/trunk/include/__iterator/readable_traits.h",
"//buildtools/third_party/libc++/trunk/include/__libcpp_version",
"//buildtools/third_party/libc++/trunk/include/__locale",
"//buildtools/third_party/libc++/trunk/include/__memory/addressof.h",
"//buildtools/third_party/libc++/trunk/include/__memory/allocation_guard.h",
"//buildtools/third_party/libc++/trunk/include/__memory/allocator.h",
"//buildtools/third_party/libc++/trunk/include/__memory/allocator_traits.h",
"//buildtools/third_party/libc++/trunk/include/__memory/auto_ptr.h",
"//buildtools/third_party/libc++/trunk/include/__memory/compressed_pair.h",
"//buildtools/third_party/libc++/trunk/include/__memory/construct_at.h",
"//buildtools/third_party/libc++/trunk/include/__memory/pointer_safety.h",
"//buildtools/third_party/libc++/trunk/include/__memory/base.h",
"//buildtools/third_party/libc++/trunk/include/__memory/pointer_traits.h",
"//buildtools/third_party/libc++/trunk/include/__memory/raw_storage_iterator.h",
"//buildtools/third_party/libc++/trunk/include/__memory/shared_ptr.h",
"//buildtools/third_party/libc++/trunk/include/__memory/temporary_buffer.h",
"//buildtools/third_party/libc++/trunk/include/__memory/uninitialized_algorithms.h",
"//buildtools/third_party/libc++/trunk/include/__memory/unique_ptr.h",
"//buildtools/third_party/libc++/trunk/include/__memory/utilities.h",
"//buildtools/third_party/libc++/trunk/include/__mutex_base",
"//buildtools/third_party/libc++/trunk/include/__node_handle",
"//buildtools/third_party/libc++/trunk/include/__nullptr",
"//buildtools/third_party/libc++/trunk/include/__ranges/access.h",
"//buildtools/third_party/libc++/trunk/include/__ranges/concepts.h",
"//buildtools/third_party/libc++/trunk/include/__ranges/data.h",
"//buildtools/third_party/libc++/trunk/include/__ranges/empty.h",
"//buildtools/third_party/libc++/trunk/include/__ranges/enable_borrowed_range.h",
"//buildtools/third_party/libc++/trunk/include/__ranges/size.h",
"//buildtools/third_party/libc++/trunk/include/__ranges/view.h",
"//buildtools/third_party/libc++/trunk/include/__split_buffer",
"//buildtools/third_party/libc++/trunk/include/__sso_allocator",
"//buildtools/third_party/libc++/trunk/include/__std_stream",
"//buildtools/third_party/libc++/trunk/include/__string",
"//buildtools/third_party/libc++/trunk/include/__support/android/locale_bionic.h",
"//buildtools/third_party/libc++/trunk/include/__support/fuchsia/xlocale.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/gettod_zos.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/limits.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/locale_mgmt_aix.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/locale_mgmt_zos.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/nanosleep.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/support.h",
"//buildtools/third_party/libc++/trunk/include/__support/ibm/xlocale.h",
@@ -72,7 +49,6 @@ libcxx_headers = [
"//buildtools/third_party/libc++/trunk/include/__tree",
"//buildtools/third_party/libc++/trunk/include/__tuple",
"//buildtools/third_party/libc++/trunk/include/__undef_macros",
"//buildtools/third_party/libc++/trunk/include/__utility/to_underlying.h",
"//buildtools/third_party/libc++/trunk/include/algorithm",
"//buildtools/third_party/libc++/trunk/include/any",
"//buildtools/third_party/libc++/trunk/include/array",
@@ -176,7 +152,6 @@ libcxx_headers = [
"//buildtools/third_party/libc++/trunk/include/ostream",
"//buildtools/third_party/libc++/trunk/include/queue",
"//buildtools/third_party/libc++/trunk/include/random",
"//buildtools/third_party/libc++/trunk/include/ranges",
"//buildtools/third_party/libc++/trunk/include/ratio",
"//buildtools/third_party/libc++/trunk/include/regex",
"//buildtools/third_party/libc++/trunk/include/scoped_allocator",

View File

@@ -22,6 +22,11 @@ enum OpenFileDialogProperties {
dontAddToRecent = 1 << 8 // Windows
}
let nextId = 0;
const getNextId = function () {
return ++nextId;
};
const normalizeAccessKey = (text: string) => {
if (typeof text !== 'string') return text;
@@ -157,6 +162,7 @@ const messageBox = (sync: boolean, window: BrowserWindow | null, options?: Messa
let {
buttons = [],
cancelId,
signal,
checkboxLabel = '',
checkboxChecked,
defaultId = -1,
@@ -196,10 +202,21 @@ const messageBox = (sync: boolean, window: BrowserWindow | null, options?: Messa
}
}
// AbortSignal processing.
let id: number | undefined;
if (signal) {
// Generate an ID used for closing the message box.
id = getNextId();
// Close the message box when signal is aborted.
if (signal.aborted) { return Promise.resolve({ cancelId, checkboxChecked }); }
signal.addEventListener('abort', () => dialogBinding._closeMessageBox(id));
}
const settings = {
window,
messageBoxType,
buttons,
id,
defaultId,
cancelId,
noLink,

View File

@@ -2,6 +2,7 @@
const { version } = require('./package');
const childProcess = require('child_process');
const fs = require('fs');
const os = require('os');
const path = require('path');
@@ -18,14 +19,30 @@ if (isInstalled()) {
process.exit(0);
}
const platform = process.env.npm_config_platform || process.platform;
let arch = process.env.npm_config_arch || process.arch;
if (platform === 'darwin' && process.platform === 'darwin' && arch === 'x64') {
// When downloading for macOS ON macOS and we think we need x64 we should
// check if we're running under rosetta and download the arm64 version if appropriate
try {
const output = childProcess.execSync('sysctl -in sysctl.proc_translated');
if (output.toString().trim() === '1') {
arch = 'arm64';
}
} catch {
// Ignore failure
}
}
// downloads if not cached
downloadArtifact({
version,
artifactName: 'electron',
force: process.env.force_no_cache === 'true',
cacheRoot: process.env.electron_config_cache,
platform: process.env.npm_config_platform || process.platform,
arch: process.env.npm_config_arch || process.arch
platform,
arch
}).then(extractFile).catch(err => {
console.error(err.stack);
process.exit(1);

View File

@@ -1,6 +1,6 @@
{
"name": "electron",
"version": "15.0.0-nightly.20210705",
"version": "15.0.0-nightly.20210719",
"repository": "https://github.com/electron/electron",
"description": "Build cross platform desktop apps with JavaScript, HTML, and CSS",
"devDependencies": {

View File

@@ -101,3 +101,4 @@ build_do_not_depend_on_packed_resource_integrity.patch
refactor_restore_base_adaptcallbackforrepeating.patch
hack_to_allow_gclient_sync_with_host_os_mac_on_linux_in_ci.patch
don_t_run_pcscan_notifythreadcreated_if_pcscan_is_disabled.patch
set_svgimage_page_after_document_install.patch

View File

@@ -23,10 +23,10 @@ index e24c169444c699f295de2c1f1f42683eeca73436..4675cdccb1876a318a9a0253cdf552bb
int32_t world_id) {}
virtual void DidClearWindowObject() {}
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 9ae95b8118e37e22d6faddf62cd06b182d2033db..388dbbfc8b9e1b191c03792f41d5de75edb3b867 100644
index 4dbdc2d4e7c916ed3fd1ed1214bac673220bbec8..9fb54e95510808336effa6ca60a4ce7f2682429a 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -4381,6 +4381,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
@@ -4410,6 +4410,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
observer.DidCreateScriptContext(context, world_id);
}
@@ -40,10 +40,10 @@ index 9ae95b8118e37e22d6faddf62cd06b182d2033db..388dbbfc8b9e1b191c03792f41d5de75
int world_id) {
for (auto& observer : observers_)
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 3249400765135a0693ef9ba81045152c00bb0820..5abb2bed3e403a11016899cbb7701a80a9bb6399 100644
index 2dac6465ee3a829e224f00fe6ca08981b728f51d..0eb37a01a5caa291654966b287aca087de6e0bb1 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -583,6 +583,8 @@ class CONTENT_EXPORT RenderFrameImpl
@@ -585,6 +585,8 @@ class CONTENT_EXPORT RenderFrameImpl
blink::WebLocalFrameClient::LazyLoadBehavior lazy_load_behavior) override;
void DidCreateScriptContext(v8::Local<v8::Context> context,
int world_id) override;
@@ -53,10 +53,10 @@ index 3249400765135a0693ef9ba81045152c00bb0820..5abb2bed3e403a11016899cbb7701a80
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 346027ed008208978d187e025b90e7cc667698d6..c2aa23af0cae2b0a7322cd8809b9015fd953938a 100644
index 5e70b0d06e790ad28b647639c0f0a43ab4e6f9cf..6d101dc9c12c9bcbc0993d5ef7ddb8b194f6825a 100644
--- a/third_party/blink/public/web/web_local_frame_client.h
+++ b/third_party/blink/public/web/web_local_frame_client.h
@@ -578,6 +578,9 @@ class BLINK_EXPORT WebLocalFrameClient {
@@ -585,6 +585,9 @@ class BLINK_EXPORT WebLocalFrameClient {
virtual void DidCreateScriptContext(v8::Local<v8::Context>,
int32_t world_id) {}
@@ -79,10 +79,10 @@ index 83b81f4c1fd4232ee5c2b7b1b7b85424164f3acc..bdd4a0031af6f9c2b701979dd469867c
if (World().IsMainWorld()) {
GetFrame()->Loader().DispatchDidClearWindowObjectInMainWorld();
diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h
index cc3f43d1d06bd41193d5035d9e4a46342ff6a548..f44020c144b17626d833cf3a6d8ceb25602fd767 100644
index 354d705e7c5e33137767a8e75ebb2bb0bad7151b..8568d19178f5fac5c421b2e83e35341e6809a456 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client.h
+++ b/third_party/blink/renderer/core/frame/local_frame_client.h
@@ -293,6 +293,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
@@ -298,6 +298,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
virtual void DidCreateScriptContext(v8::Local<v8::Context>,
int32_t world_id) = 0;
@@ -92,7 +92,7 @@ index cc3f43d1d06bd41193d5035d9e4a46342ff6a548..f44020c144b17626d833cf3a6d8ceb25
int32_t world_id) = 0;
virtual bool AllowScriptExtensions() = 0;
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
index 0748a5f4f636792c05e436bd7186b35ca7b023a5..2df7e6cf8b474f0a86763e521c4058ec868b4683 100644
index 72ea858f8021b70e1b6aeca53bc7498345f5c08f..0ac6d1b812ab8196cf326ff49047387972c0034f 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
@@ -273,6 +273,13 @@ void LocalFrameClientImpl::DidCreateScriptContext(
@@ -110,7 +110,7 @@ index 0748a5f4f636792c05e436bd7186b35ca7b023a5..2df7e6cf8b474f0a86763e521c4058ec
v8::Local<v8::Context> context,
int32_t world_id) {
diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.h b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
index 0391fc4cd19f44b54896fb80dfc0d95816fcf878..b2242b4f084ffd3934a5f1fc23c0412cf69b99c7 100644
index 7ee0cd63a960e1bdb5cc9979827693c5bab7e96d..8486c97f8731ffc77d13e137819a1be8116105dc 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.h
+++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.h
@@ -77,6 +77,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient {
@@ -123,10 +123,10 @@ index 0391fc4cd19f44b54896fb80dfc0d95816fcf878..b2242b4f084ffd3934a5f1fc23c0412c
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 ac2ed9b3bb99ceec9cc72477e38bc0fbd7f7f4f9..1401e63a14cab972b4ccc7a25098536aca74d7f2 100644
index 3ca78179b0d262ae2a8f5e5e7b785da78e3c4eb4..02fbe278fcc7d3955ad9e439423737f039274383 100644
--- a/third_party/blink/renderer/core/loader/empty_clients.h
+++ b/third_party/blink/renderer/core/loader/empty_clients.h
@@ -350,6 +350,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
@@ -353,6 +353,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
void DidCreateScriptContext(v8::Local<v8::Context>,
int32_t world_id) override {}

View File

@@ -49,7 +49,7 @@ index 8bf6b4bc077cc41da5e0e6b13302bc343537c68f..01bddc0bcb7476408023c4cfc042a088
// 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 fd9c44f62701c3b4c70e46ab86992c34777a8579..975d90d7ce9ef5a39ac8e7407982495adf5ead32 100644
index 3c99fb90f5b02a3f10f70cd8d1773bedb5b961a2..08e2da6c1f1cbe8ddedd69f5291c089a84347110 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -808,10 +808,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {

View File

@@ -11,10 +11,10 @@ if we ever align our .pak file generation with Chrome we can remove this
patch.
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index a1aa8466ead6e428544ff00d7fcf3f92a3daf080..b7afa3200133220fecea3a410d90222082d1b961 100644
index 7cf86d58523fad6e9ae2f50ede21a40c8162b4a9..e1be9bec16f2c40d2d300f3f0ea6800a867e95fd 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -172,11 +172,16 @@ if (!is_android && !is_mac) {
@@ -165,11 +165,16 @@ if (!is_android && !is_mac) {
"common/crash_keys.h",
]
@@ -33,10 +33,10 @@ index a1aa8466ead6e428544ff00d7fcf3f92a3daf080..b7afa3200133220fecea3a410d902220
"//base",
"//build:branding_buildflags",
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 857c8f362d01bb89dd7f0d72a77aa537d3f4d04c..4c701c34f717e994ce6e876ba56d2292680967e4 100644
index afee595b9776d7e80cb3f68bd80e0c5b859a1fca..d103c44367ac09f68757053a55d25378c5ebf452 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -4294,7 +4294,7 @@ static_library("browser") {
@@ -4301,7 +4301,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 857c8f362d01bb89dd7f0d72a77aa537d3f4d04c..4c701c34f717e994ce6e876ba56d2292
}
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index f042b4cf1de0ade85b5abddbad5ec4efe0d48e4c..4eb71e24ae01031929d2196897e92d2fb468b489 100644
index 5ee912d147e0abba21a1da3829fd562095de2f3a..cee730b37e9aa3f77399a2002985924ba904439e 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -5220,7 +5220,6 @@ test("unit_tests") {
@@ -5245,7 +5245,6 @@ test("unit_tests") {
assert(toolkit_views)
sources += [ "../browser/ui/startup/credential_provider_signin_info_fetcher_win_unittest.cc" ]
deps += [
@@ -57,7 +57,7 @@ index f042b4cf1de0ade85b5abddbad5ec4efe0d48e4c..4eb71e24ae01031929d2196897e92d2f
"//chrome/browser:chrome_process_finder",
"//chrome/browser/safe_browsing/chrome_cleaner",
"//chrome/browser/safe_browsing/chrome_cleaner:public",
@@ -5233,6 +5232,12 @@ test("unit_tests") {
@@ -5258,6 +5257,12 @@ test("unit_tests") {
"//components/chrome_cleaner/public/proto",
"//ui/events/devices:test_support",
]
@@ -70,7 +70,7 @@ index f042b4cf1de0ade85b5abddbad5ec4efe0d48e4c..4eb71e24ae01031929d2196897e92d2f
}
if (is_win || is_chromeos_ash || is_mac) {
@@ -5791,7 +5796,6 @@ test("unit_tests") {
@@ -5819,7 +5824,6 @@ test("unit_tests") {
}
deps += [
@@ -78,7 +78,7 @@ index f042b4cf1de0ade85b5abddbad5ec4efe0d48e4c..4eb71e24ae01031929d2196897e92d2f
"//chrome/browser:cart_db_content_proto",
"//chrome/browser/media/router:test_support",
"//chrome/browser/promo_browser_command:mojo_bindings",
@@ -5826,6 +5830,9 @@ test("unit_tests") {
@@ -5854,6 +5858,9 @@ test("unit_tests") {
"//ui/color:test_support",
"//ui/native_theme:test_support",
]

View File

@@ -7,10 +7,10 @@ Build libc++ as static library to compile and pass
nan tests
diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
index 01d122aa78f15e0c94b1ee8ae54e08dace0aca0d..5ed9952afd4f4331c98ad41b7d79936794056ce8 100644
index 0dd09de1ac6474aecf1d5b3086638825df094967..da648d20ec590671ed2afaf0694272cbcc397da1 100644
--- a/buildtools/third_party/libc++/BUILD.gn
+++ b/buildtools/third_party/libc++/BUILD.gn
@@ -41,7 +41,11 @@ config("winver") {
@@ -32,7 +32,11 @@ config("winver") {
if (libcxx_is_shared) {
_libcxx_target_type = "shared_library"
} else {
@@ -23,7 +23,7 @@ index 01d122aa78f15e0c94b1ee8ae54e08dace0aca0d..5ed9952afd4f4331c98ad41b7d799367
}
target(_libcxx_target_type, "libc++") {
# Most things that need to depend on libc++ should do so via the implicit
@@ -49,6 +53,7 @@ target(_libcxx_target_type, "libc++") {
@@ -40,6 +44,7 @@ target(_libcxx_target_type, "libc++") {
# need to explicitly depend on libc++.
visibility = [
"//build/config:common_deps",

View File

@@ -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 70bf5fae269d934b9658502c1efca4c364f199de..5c16a9ee9bbf461c24456613ff709f4f608e3441 100644
index ec108a1471389763cb74c5edaa857f9ac9cf35f9..6dfd547b9e6c4e345af79d4875be95fb6a6d8bb0 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -6082,6 +6082,7 @@ void RenderFrameHostImpl::CreateNewWindow(
@@ -6223,6 +6223,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 70bf5fae269d934b9658502c1efca4c364f199de..5c16a9ee9bbf461c24456613ff709f4f
&no_javascript_access);
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 16f12ae09c0ad4ca720452a9afa6279645c2384e..0bd0bffa7f2166823148143c590283a03d8ef65b 100644
index 8eb069f0c29d814d8897589720690c38d3d95730..e590e0959e7aa77f562dc69fc6bd4b2da10ea001 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -3770,6 +3770,14 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -3777,6 +3777,14 @@ FrameTree* WebContentsImpl::CreateNewWindow(
}
auto* new_contents_impl = new_contents.get();
@@ -39,7 +39,7 @@ index 16f12ae09c0ad4ca720452a9afa6279645c2384e..0bd0bffa7f2166823148143c590283a0
new_contents_impl->GetController().SetSessionStorageNamespace(
partition_id, session_storage_namespace);
@@ -3812,12 +3820,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -3819,12 +3827,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
AddWebContentsDestructionObserver(new_contents_impl);
}
@@ -53,13 +53,13 @@ index 16f12ae09c0ad4ca720452a9afa6279645c2384e..0bd0bffa7f2166823148143c590283a0
new_contents_impl, opener, params.target_url,
params.referrer.To<Referrer>(), params.disposition,
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
index a61f273506fecd8574ffd0bb04d507adef7859c8..3a4a6efca3a66b12409da15e4f360fb8e3a40e2c 100644
index be6f44b67f0d1b302bcbda2afee45fcef8df4ffc..b124bd5ebc5fef4b464309229c5fb155f955810d 100644
--- a/content/common/frame.mojom
+++ b/content/common/frame.mojom
@@ -519,6 +519,10 @@ struct CreateNewWindowParams {
@@ -520,6 +520,10 @@ struct CreateNewWindowParams {
// The impression associated with the navigation in the new window, if
// one is specified.
Impression? impression;
blink.mojom.Impression? impression;
+
+ // Extra fields added by Electron.
+ string raw_features;
@@ -150,10 +150,10 @@ index 0574d390dc94aa1d17dfa9db805f846024b7956f..a2a3550272da12eee911a7ef0d9a21dd
// typically happens when popups are created.
virtual void WebContentsCreated(WebContents* source_contents,
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 2f697c7819d8ec0acd04c3c2949c084eb830b341..12e85524a462a1846674e7f01eb8b6d6b3efdc8c 100644
index 47c22b08e854b4aab1a169b1194753151b06823b..42d28521717035691839610af491ddb8d4065969 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -26,6 +26,7 @@
@@ -27,6 +27,7 @@
#include "third_party/blink/public/platform/impression_conversions.h"
#include "third_party/blink/public/platform/modules/video_capture/web_video_capture_impl_manager.h"
#include "third_party/blink/public/platform/url_conversion.h"
@@ -161,7 +161,7 @@ index 2f697c7819d8ec0acd04c3c2949c084eb830b341..12e85524a462a1846674e7f01eb8b6d6
#include "third_party/blink/public/web/modules/mediastream/web_media_stream_device_observer.h"
#include "third_party/blink/public/web/web_frame_widget.h"
#include "third_party/blink/public/web/web_local_frame.h"
@@ -284,6 +285,10 @@ WebView* RenderViewImpl::CreateView(
@@ -285,6 +286,10 @@ WebView* RenderViewImpl::CreateView(
params->impression = blink::ConvertWebImpressionToImpression(*impression);
}
@@ -220,10 +220,10 @@ index 84d32491a56528a84b4395fba1d54cdbb38d522b..09998a83c449ef8cd9f360fbcdcf7edc
} // 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 9797f3dfa05ada91cb83a6d271df19a5fbb1ab93..fc7278a77d78096b7eb804fae9210d9dea8bbf17 100644
index 0794b4943b54275033d3b0d563dee8ab37ccb031..e96e1beea473ba276abeee7103dec72f3d33d37b 100644
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
@@ -1989,6 +1989,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
@@ -1990,6 +1990,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
WebWindowFeatures window_features =
GetWindowFeaturesFromString(features, incumbent_window);

View File

@@ -264,10 +264,10 @@ index c5c5a7b63b5b3b62a9517cbef3ae23ce57a3c89c..4f1b7e88d6d2ae89a60311c8aeb1fcee
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 fed37a4d228e89e658d1ddcd3dc10c419cbb487c..69ea4796e62fc492a3444a92e7dfc14a9e079ce3 100644
index d7000889cb90ffaf7eddb01df33b12d768ef71aa..0d18a4b79f72a8b8ad93aecb1ee4fe49a2699aaf 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -3718,8 +3718,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -3725,8 +3725,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
if (delegate_ && delegate_->IsWebContentsCreationOverridden(
source_site_instance, params.window_container_type,
@@ -362,7 +362,7 @@ index bb90319f768ed2f3a3e530d64bf622de585ce163..d84de1d218267887f6b8624f913438eb
content::RenderFrameHost* opener,
content::SiteInstance* source_site_instance,
diff --git a/fuchsia/engine/browser/frame_impl.cc b/fuchsia/engine/browser/frame_impl.cc
index 34a11c791c6044c6a1fcea65807a9055723c89d4..a437cfe197194c0fb7082a4811c238b1c22bfa67 100644
index 533c51eadf822ef69b530c81d57503d0b486214e..63a130af5fc0b8f0d88736c381cbdaa6ec5ae363 100644
--- a/fuchsia/engine/browser/frame_impl.cc
+++ b/fuchsia/engine/browser/frame_impl.cc
@@ -388,8 +388,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(

View File

@@ -7,10 +7,10 @@ spellchecker uses a few IDS_ resources. We need to load these from
Electrons grit header instead of Chromes
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 443adf944cca37697a480a385e92193f729a774e..857c8f362d01bb89dd7f0d72a77aa537d3f4d04c 100644
index 332ffb9189d134a77f7ada0be1c2f5162365eb53..afee595b9776d7e80cb3f68bd80e0c5b859a1fca 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -6450,6 +6450,7 @@ static_library("browser") {
@@ -6458,6 +6458,7 @@ static_library("browser") {
deps += [
"//components/spellcheck/browser",
"//components/spellcheck/common",

View File

@@ -7,7 +7,7 @@ Disable persiste licence support check for widevine cdm,
as its not supported in the current version of chrome.
diff --git a/chrome/renderer/media/chrome_key_systems.cc b/chrome/renderer/media/chrome_key_systems.cc
index ac83e2c1290d16db38d6f91f3bb7eeab1adafed6..7f6b9cb64bbf3533c2d2f4ee30566e3ee4e217fa 100644
index f0e1a2dda1dd933bb15d726c5d95de416039649b..1d7df102cdc9e3cf7f8ae5b0858bf0fe1d9301be 100644
--- a/chrome/renderer/media/chrome_key_systems.cc
+++ b/chrome/renderer/media/chrome_key_systems.cc
@@ -16,7 +16,9 @@

View 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 f790065679a560251a9368c82549ed386a2396c9..7ce509e58839e574443cf486193139b3602634cf 100644
index 45ffed0f1879ab237b51a03cda7e1168209662de..3952ca42195ad4d201a7aac04908282b98016615 100644
--- a/ui/base/clipboard/clipboard_win.cc
+++ b/ui/base/clipboard/clipboard_win.cc
@@ -923,10 +923,10 @@ SkBitmap ClipboardWin::ReadImageInternal(ClipboardBuffer buffer) const {
@@ -908,10 +908,10 @@ SkBitmap ClipboardWin::ReadImageInternal(ClipboardBuffer buffer) const {
void ClipboardWin::WriteToClipboard(ClipboardFormatType format, HANDLE handle) {
UINT cf_format = format.ToFormatEtc().cfFormat;

View File

@@ -81,10 +81,10 @@ index f919df4d79a1168269c1538ac13a2a944586cf4e..fc34cf5d7dab95e7b6fc0576674b3e2b
!command_line->HasSwitch(switches::kUIDisablePartialSwap);
diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc
index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c937581db1de1 100644
index 2f14ea88d9bba70a0f93bf8507952163226b1191..114379c1065ad2fceba3b46e513048bff2cd1f7a 100644
--- a/components/viz/service/display/gl_renderer.cc
+++ b/components/viz/service/display/gl_renderer.cc
@@ -89,6 +89,9 @@
@@ -90,6 +90,9 @@
using gpu::gles2::GLES2Interface;
@@ -94,7 +94,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
namespace viz {
namespace {
@@ -679,8 +682,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad,
@@ -680,8 +683,9 @@ void GLRenderer::DoDrawQuad(const DrawQuad* quad,
void GLRenderer::DrawDebugBorderQuad(const DebugBorderDrawQuad* quad) {
SetBlendEnabled(quad->ShouldDrawWithBlending());
@@ -106,7 +106,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
// Use the full quad_rect for debug quads to not move the edges based on
// partial swaps.
@@ -1670,7 +1674,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
@@ -1671,7 +1675,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
params->use_color_matrix, tint_gl_composited_content_,
params->apply_shader_based_rounded_corner &&
ShouldApplyRoundedCorner(params->quad)),
@@ -116,7 +116,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
}
void GLRenderer::UpdateRPDQUniforms(DrawRenderPassDrawQuadParams* params) {
@@ -2143,15 +2148,16 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
@@ -2144,15 +2149,16 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
SetUseProgram(ProgramKey::SolidColor(use_aa ? USE_AA : NO_AA,
tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)),
@@ -136,7 +136,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
gfx::ColorTransform::TriStim col(color_f.fR, color_f.fG, color_f.fB);
color_transform->Transform(&col, 1);
color_f.fR = col.x();
@@ -2373,7 +2379,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
@@ -2374,7 +2380,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
: NON_PREMULTIPLIED_ALPHA,
false, false, tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)),
@@ -146,7 +146,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
if (current_program_->tint_color_matrix_location() != -1) {
auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
@@ -2472,7 +2479,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
@@ -2473,7 +2480,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
!quad->ShouldDrawWithBlending(), has_tex_clamp_rect,
tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)),
@@ -156,7 +156,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
if (current_program_->tint_color_matrix_location() != -1) {
auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
@@ -2582,7 +2590,8 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
@@ -2583,7 +2591,8 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
// The source color space should never be RGB.
DCHECK_NE(src_color_space, src_color_space.GetAsFullRangeRGB());
@@ -166,7 +166,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
#if defined(OS_WIN)
// Force sRGB output on Windows for overlay candidate video quads to match
@@ -2763,7 +2772,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
@@ -2764,7 +2773,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
SetUseProgram(ProgramKey::VideoStream(tex_coord_precision,
ShouldApplyRoundedCorner(quad)),
@@ -176,7 +176,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_));
gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id());
@@ -2834,8 +2844,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
@@ -2835,8 +2845,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR);
// Bind the program to the GL state.
@@ -187,7 +187,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
/*adjust_src_white_level=*/draw_cache_.is_video_frame,
locked_quad.hdr_metadata());
@@ -3691,7 +3701,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color,
@@ -3692,7 +3702,9 @@ void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color,
const gfx::ColorSpace& dst_color_space,
bool adjust_src_white_level,
absl::optional<gfx::HDRMetadata> hdr_metadata) {
@@ -198,7 +198,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
gfx::ColorSpace adjusted_src_color_space = src_color_space;
if (adjust_src_white_level && src_color_space.IsHDR()) {
// TODO(b/183236148): consider using the destination's HDR static metadata
@@ -4074,9 +4086,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
@@ -4075,9 +4087,9 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
cc::MathUtil::CheckedRoundUp(iosurface_height, iosurface_multiple);
}
@@ -211,7 +211,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
*new_bounds = gfx::RectF(updated_dst_rect.origin(),
gfx::SizeF((*overlay_texture)->texture.size()));
@@ -4296,8 +4308,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
@@ -4297,8 +4309,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
PrepareGeometry(SHARED_BINDING);
@@ -222,7 +222,7 @@ index 7d1dace6d2b6a06576b35db25f89f5fffb8a162c..ea1d0f6ecb297e438c428198327c9375
gfx::Transform render_matrix;
render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(),
@@ -4487,3 +4499,5 @@ GLRenderer::OverlayTexture::OverlayTexture() = default;
@@ -4488,3 +4500,5 @@ GLRenderer::OverlayTexture::OverlayTexture() = default;
GLRenderer::OverlayTexture::~OverlayTexture() = default;
} // namespace viz
@@ -241,7 +241,7 @@ index 59b34cdb1dc63b8d239cae5397b2a5a4f607bf1c..e2f556532459b1129465ca2b83aa1485
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 85e3dd76f528b3e60b86bef6a9231135ef2bc0f5..922e8e30a2918ef99dc53fc9124d56916d57ea5e 100644
index 65c5fa70ee04fe5285979a93ab67449137dae304..c1192715d78ab9cc4558b398c4fb72a12b1c05cd 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -216,6 +216,7 @@
@@ -252,7 +252,7 @@ index 85e3dd76f528b3e60b86bef6a9231135ef2bc0f5..922e8e30a2918ef99dc53fc9124d5691
#include "ui/gl/gl_switches.h"
#include "ui/native_theme/native_theme_features.h"
#include "url/origin.h"
@@ -3376,6 +3377,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3374,6 +3375,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
// Propagate the following switches to the renderer command line (along
// with any associated values) if present in the browser command line.
static const char* const kSwitchNames[] = {
@@ -261,7 +261,7 @@ index 85e3dd76f528b3e60b86bef6a9231135ef2bc0f5..922e8e30a2918ef99dc53fc9124d5691
sandbox::policy::switches::kDisableSeccompFilterSandbox,
sandbox::policy::switches::kNoSandbox,
diff --git a/third_party/blink/renderer/platform/graphics/canvas_color_params.cc b/third_party/blink/renderer/platform/graphics/canvas_color_params.cc
index 628c6bca129cd58a25984ff8300bfb4c33ec7ebf..ff9ce55f2701990b5b6119c18575477bfdaeecf7 100644
index 94ca8fd75212fa5c7b90823a112309dd7961353b..566393827ef739eb8fc0e24e6ee505e1680b38ab 100644
--- a/third_party/blink/renderer/platform/graphics/canvas_color_params.cc
+++ b/third_party/blink/renderer/platform/graphics/canvas_color_params.cc
@@ -4,6 +4,7 @@
@@ -280,7 +280,7 @@ index 628c6bca129cd58a25984ff8300bfb4c33ec7ebf..ff9ce55f2701990b5b6119c18575477b
namespace blink {
@@ -146,6 +148,11 @@ uint8_t CanvasColorParams::BytesPerPixel() const {
@@ -143,6 +145,11 @@ uint8_t CanvasColorParams::BytesPerPixel() const {
}
gfx::ColorSpace CanvasColorParams::GetStorageGfxColorSpace() const {
@@ -315,7 +315,7 @@ index 4d87cdf578fdd2cbde7929e3a8c7cabfbb1fc836..be8550927a7c9cdc001dedef66672453
// is what the renderer uses if its not threaded.
settings.enable_checker_imaging =
diff --git a/ui/gfx/mac/io_surface.cc b/ui/gfx/mac/io_surface.cc
index 4e22b4cf0bd06955af5fbac32db084f41d547545..087ec6df3e7cf53e0d79c7b3edb581dc426ff3a3 100644
index 546e43318ee74746a84a70c731e9117c88ea9136..3cc93ff14f3471e99e42d533517df36d16d3cca2 100644
--- a/ui/gfx/mac/io_surface.cc
+++ b/ui/gfx/mac/io_surface.cc
@@ -20,6 +20,7 @@
@@ -358,7 +358,7 @@ index 4e22b4cf0bd06955af5fbac32db084f41d547545..087ec6df3e7cf53e0d79c7b3edb581dc
if (__builtin_available(macos 10.12, *)) {
IOSurfaceSetValue(surface, CFSTR("IOSurfaceColorSpace"), kCGColorSpaceSRGB);
diff --git a/ui/gfx/switches.cc b/ui/gfx/switches.cc
index 0f746ead72a2c195321384c9c4ced96d0608fb7b..a9cc7b6d93cdb42c5a9a177e8a09edeb36db8122 100644
index 6733cbef7f7173e0cea4176986b851bad0f18e86..1714e52434f72ff4e3335e37cedb3f452f6b196b 100644
--- a/ui/gfx/switches.cc
+++ b/ui/gfx/switches.cc
@@ -10,6 +10,7 @@ namespace switches {
@@ -370,10 +370,10 @@ index 0f746ead72a2c195321384c9c4ced96d0608fb7b..a9cc7b6d93cdb42c5a9a177e8a09edeb
// Force disables font subpixel positioning. This affects the character glyph
// sharpness, kerning, hinting and layout.
diff --git a/ui/gfx/switches.h b/ui/gfx/switches.h
index f8fc7fe6a54f844dbb9eea201b2487177e6c6912..82ba306404581d61f805502b56dcfb1a555b2e05 100644
index afb36f3e9ae8b3f38244a5821341d34935283580..f967ae3e9e9c0edcd1b618ab09fc677aa72c0c8d 100644
--- a/ui/gfx/switches.h
+++ b/ui/gfx/switches.h
@@ -11,6 +11,8 @@
@@ -12,6 +12,8 @@
namespace switches {
GFX_SWITCHES_EXPORT extern const char kAnimationDurationScale[];

View File

@@ -34,7 +34,7 @@ index bdba3cf07542d494c45ef9167642898b196f06cc..db5eb3b795ab2442058dbf16375f5f13
// |routing_id| must not be MSG_ROUTING_NONE.
// If this object outlives |delegate|, DetachDelegate() must be called when
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 150b03e368ec3ae0d9b3c8c6eb61e5ca830c1fbc..65cead03331f7680cde35333e7c316fced8a9056 100644
index 0e606f2383a3352035b40b25c619695fedbe6125..8f36d0d0ede3b5e87dad5350df5e70dc5c254a31 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -594,7 +594,7 @@ void RenderWidgetHostViewAura::HideImpl() {

View File

@@ -24,7 +24,7 @@ This patch temporarily disables the metrics so we can have green CI, and we
should continue seeking for a real fix.
diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/renderer_host/navigator.cc
index 07e6c5b525f954f3408fbc5b5df8c9c01a901f76..619d303b51501b2d2a400ba05a18eb11d09cee7a 100644
index a5cb0c1497531a77881b24fc0fad3a8c9c848f1e..60822a341d99dde6341dbe5d481fa50f618cf0ef 100644
--- a/content/browser/renderer_host/navigator.cc
+++ b/content/browser/renderer_host/navigator.cc
@@ -1074,6 +1074,7 @@ void Navigator::RecordNavigationMetrics(

View File

@@ -26,10 +26,10 @@ index fd846ca91cb17638bf07ca35bf695099174f8f00..5b2ab293ade39b2ecd68d0438034da77
#if defined(PA_THREAD_CACHE_SUPPORTED)
// Don't completely empty the thread cache outside of low memory situations,
diff --git a/base/threading/platform_thread_posix.cc b/base/threading/platform_thread_posix.cc
index dbf96f68f9d8ca74616af10c236ebe24984b2b5e..5d27063a6b8b88a40a2b12ec5a4e1583fef4af1c 100644
index d37b50bb563eccc7460698ec7fd2d8a9736ac9f5..19333d4e52bd21e89e60744be7087ccacb876b84 100644
--- a/base/threading/platform_thread_posix.cc
+++ b/base/threading/platform_thread_posix.cc
@@ -40,6 +40,7 @@
@@ -39,6 +39,7 @@
#endif
#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
@@ -37,7 +37,7 @@ index dbf96f68f9d8ca74616af10c236ebe24984b2b5e..5d27063a6b8b88a40a2b12ec5a4e1583
#include "base/allocator/partition_allocator/starscan/pcscan.h"
#include "base/allocator/partition_allocator/starscan/stack/stack.h"
#endif
@@ -73,7 +74,7 @@ void* ThreadFunc(void* params) {
@@ -72,7 +73,7 @@ void* ThreadFunc(void* params) {
base::ThreadRestrictions::SetSingletonAllowed(false);
#if !defined(OS_NACL)
@@ -46,7 +46,7 @@ index dbf96f68f9d8ca74616af10c236ebe24984b2b5e..5d27063a6b8b88a40a2b12ec5a4e1583
internal::PCScan::NotifyThreadCreated(internal::GetStackPointer());
#endif
@@ -99,7 +100,7 @@ void* ThreadFunc(void* params) {
@@ -98,7 +99,7 @@ void* ThreadFunc(void* params) {
PlatformThread::CurrentHandle().platform_handle(),
PlatformThread::CurrentId());

View File

@@ -11,10 +11,10 @@ This regressed in https://chromium-review.googlesource.com/c/chromium/src/+/2572
Upstream: https://chromium-review.googlesource.com/c/chromium/src/+/2598393
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 388dbbfc8b9e1b191c03792f41d5de75edb3b867..7e8e5ef54bf77f56b5cc5e3b21fd60b54f802ba8 100644
index 9fb54e95510808336effa6ca60a4ce7f2682429a..196e6277f990776783105b7d3660c1cded1073d2 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -2354,7 +2354,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const {
@@ -2356,7 +2356,7 @@ const blink::WebView* RenderFrameImpl::GetWebView() const {
}
const blink::web_pref::WebPreferences& RenderFrameImpl::GetBlinkPreferences() {

View File

@@ -8,7 +8,7 @@ this but it is not a blocker for releasing Electron. This patch removes
tthe hard fail on dylib resolve failure from dump_syms
diff --git a/components/crash/content/tools/generate_breakpad_symbols.py b/components/crash/content/tools/generate_breakpad_symbols.py
index 1d12ce255505ee5612380cd14d0b127bd7c564d1..3ebbe8add082c648f7444c3a976acf0fa1efcc3f 100755
index ae381dd057d3fd4b6e70ba868edf30eeba93752e..78b2b2fe4e7be6b19bc0e980fee4d6817139701c 100755
--- a/components/crash/content/tools/generate_breakpad_symbols.py
+++ b/components/crash/content/tools/generate_breakpad_symbols.py
@@ -205,7 +205,7 @@ def GetSharedLibraryDependenciesMac(binary, exe_path):

View File

@@ -6,10 +6,10 @@ Subject: feat: enable setting aspect ratio to 0
Make SetAspectRatio accept 0 as valid input, which would reset to null.
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index f6c41d83fbd4ef613c951c1d0fee46d8379c1ded..a362a573bef4ce15d82335990c50cb0e6a72d053 100644
index 4d986b929bd795b7bacc9d7001a623e5d3f9d110..df4bab7b0a1cdf9158bd55c1f1a177156dd4c156 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -491,7 +491,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
@@ -517,7 +517,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
}
void DesktopWindowTreeHostWin::SetAspectRatio(const gfx::SizeF& aspect_ratio) {

View File

@@ -33,7 +33,7 @@ index 0ccfe130f00ec3b6c75cd8ee04d5a2777e1fd00c..653829457d58bf92057cc36aa8a28970
DISALLOW_COPY_AND_ASSIGN(StaticHttpUserAgentSettings);
};
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index 3a34df559a160c51488242bb7541a0a939ba67a3..42bf611491cda4778c1c109be6237814dd5e8c45 100644
index f513f1c8bc33136f58f7bc3de2bb3590af9a153f..ded56333f882e2975116fe45ba6898c9a589cf93 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1184,6 +1184,13 @@ void NetworkContext::SetNetworkConditions(
@@ -51,7 +51,7 @@ index 3a34df559a160c51488242bb7541a0a939ba67a3..42bf611491cda4778c1c109be6237814
// 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 3457e652131b962a574352803d06f5f4e47b6e59..c347bc731d58e5610cdbabb71075f30f282b4ab7 100644
index 1f09e757f9ac7f9f101066beddbd2f540cfd5b7d..43b461c1fa12ed38975a90a08987620088236dad 100644
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -255,6 +255,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -63,10 +63,10 @@ index 3457e652131b962a574352803d06f5f4e47b6e59..c347bc731d58e5610cdbabb71075f30f
void SetEnableReferrers(bool enable_referrers) override;
#if BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
index 2595d0b342951d03dcc9d809b33b3f2705e14aa3..3c6798196ada1e28936e8b2bc5530b675a9ea994 100644
index ebbdeaa440514740b672bbf722c31d58d254cd8f..a9c8d07092579043b176b78401474080423e112a 100644
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -949,6 +949,9 @@ interface NetworkContext {
@@ -952,6 +952,9 @@ interface NetworkContext {
SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id,
NetworkConditions? conditions);
@@ -77,7 +77,7 @@ index 2595d0b342951d03dcc9d809b33b3f2705e14aa3..3c6798196ada1e28936e8b2bc5530b67
SetAcceptLanguage(string new_accept_language);
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
index b10229fcdef0d6a50a03df26761511be5d3a2f04..65ef615b3a7cf3f8fc79b3972311265ec9dc91e0 100644
index 0d928e7db97bcc2ac99eea0e46a2f0b8405ddfb9..b325c08a447abb2424f08fb11abe2b1375e4b920 100644
--- a/services/network/test/test_network_context.h
+++ b/services/network/test/test_network_context.h
@@ -123,6 +123,7 @@ class TestNetworkContext : public mojom::NetworkContext {

View File

@@ -7,7 +7,7 @@ Subject: feat: allow embedders to add observers on created hunspell
This patch is used by Electron to implement spellchecker events.
diff --git a/chrome/browser/spellchecker/spellcheck_service.cc b/chrome/browser/spellchecker/spellcheck_service.cc
index 340667d184550f09077c0c6afb3e0befc9f3044e..c60be9ac250466dc882d950c4ec64787c0c19053 100644
index 6ba3efb81955c5f4cb43d99314790b2dd2d0ac8c..5ed5c24a5494fa4c954ee40d930dc9b49cb7161a 100644
--- a/chrome/browser/spellchecker/spellcheck_service.cc
+++ b/chrome/browser/spellchecker/spellcheck_service.cc
@@ -466,6 +466,9 @@ void SpellcheckService::LoadDictionaries() {

View File

@@ -8,10 +8,10 @@ we invoke it in order to expose contents.decrementCapturerCount([stayHidden, sta
to users. We should try to upstream this.
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index f86661da7ea27dcbbd89ece5a03e115f17466946..4dd10c802ed6b15e362f60a8e8c6b29f4ec523bf 100644
index 9b1c762c66692d552aaec7c2f24b9104cd623fea..f5de73704cfcaa746ddf6970c3bde72e63f29c71 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -1765,10 +1765,12 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
@@ -1768,10 +1768,12 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
// outermost frame trees in this WebContents.
std::vector<RenderFrameHostImpl*> GetOutermostMainFrames();
@@ -26,7 +26,7 @@ index f86661da7ea27dcbbd89ece5a03e115f17466946..4dd10c802ed6b15e362f60a8e8c6b29f
// state into account.
PageVisibilityState CalculatePageVisibilityState(Visibility visibility) const;
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
index 41943c884912ee34b1f588f404a085683588a549..940bae96321b6a939cdae14560ddc61b9bcee673 100644
index 4d6ba5102935330abc6f2354f4c442ad3a045e09..0afdb3ef00f89cbb2a79b66ed84b829bbbd98ac7 100644
--- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h
@@ -630,6 +630,8 @@ class WebContents : public PageNavigator,

View File

@@ -12,10 +12,10 @@ as they will loaded as empty strings.
* IDS_UTILITY_PROCESS_PRINTING_SERVICE_NAME on Windows
diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc
index f5fcfe6392a7b2f49ca491815411d110dc14d532..359f5678f52047c14ba2fa9dbadebf4e84b92146 100644
index f72431f5bc7ba82316cf318f7845e7523c366d92..5133f3cd28c0d630a039118eb91c6c37ee202f3e 100644
--- a/chrome/browser/pdf/pdf_extension_util.cc
+++ b/chrome/browser/pdf/pdf_extension_util.cc
@@ -10,8 +10,7 @@
@@ -11,8 +11,7 @@
#include "build/chromeos_buildflags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/common/chrome_content_client.h"

View File

@@ -6,10 +6,10 @@ Subject: frame_host_manager.patch
Allows embedder to intercept site instances created by chromium.
diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
index 780cdd2c709b7a50b87f037810a9277d23902e43..a015c3faaeb85e0a15e867575b305fe4a75cde78 100644
index a46cdea2d328a69efea6c6c730ef5ca3fdf9221b..95a876fbbe3ac6504a2a1e4c7ef3d3781ef1d25b 100644
--- a/content/browser/renderer_host/render_frame_host_manager.cc
+++ b/content/browser/renderer_host/render_frame_host_manager.cc
@@ -2994,6 +2994,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
@@ -2995,6 +2995,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
request->ResetStateForSiteInstanceChange();
}

View File

@@ -38,10 +38,10 @@ index eaf06bd895f3ed390d1b206b2dc5adcca5c87e72..6bd634c4a66999648c51b8867c0d9b0c
v8::Isolate* isolate() { return isolate_; }
diff --git a/gin/v8_initializer.cc b/gin/v8_initializer.cc
index f3505f07bdbe7975f64a7d7c3f85db6997aaa808..2735d4f7f6e3c7e6a79b066d699a5c20de53432e 100644
index 876814b6d7c340bef364836fd984cb8e9f6e88bb..3b6b4171f6999209db2b906f1a2f42951d171262 100644
--- a/gin/v8_initializer.cc
+++ b/gin/v8_initializer.cc
@@ -241,7 +241,8 @@ void RunArrayBufferCageReservationExperiment() {
@@ -252,7 +252,8 @@ void RunArrayBufferCageReservationExperiment() {
} // namespace
// static
@@ -51,7 +51,7 @@ index f3505f07bdbe7975f64a7d7c3f85db6997aaa808..2735d4f7f6e3c7e6a79b066d699a5c20
static bool v8_is_initialized = false;
if (v8_is_initialized)
return;
@@ -251,7 +252,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode) {
@@ -262,7 +263,8 @@ void V8Initializer::Initialize(IsolateHolder::ScriptMode mode) {
RunArrayBufferCageReservationExperiment();
}

View File

@@ -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 b27b177661d5a52812634c62e7db8b00919804ca..40fde94a58d3204b64511f4a201cca2251723eae 100644
index 74451c3470babb35f8c204fa204505b9f000455e..4c84e957717cf3ce45abda5e60ceb0d02d61940a 100644
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
@@ -802,6 +802,11 @@
@@ -805,6 +805,11 @@
"includes": [3880],
},

View File

@@ -11,7 +11,7 @@ If removing this patch causes no sync failures, it's safe to delete :+1:
Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
index da7fb3bf8bac52e19c7b8909ca1f3aaedddf25d4..5ff802bb4bcdea37b71d60cf004ea71d2b1c1963 100755
index c526db84c70c0ccc523ac29cd161139bc3d0ad13..68983f27414cc051f57b3273ca023165054792b5 100755
--- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py
@@ -297,6 +297,8 @@ def main():

View File

@@ -44,10 +44,10 @@ index 9ddda9116e7284cbccde8a51e23ad7560dd06367..e846091ad99b0154636489e53491209f
} // namespace
diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
index 2ccec9187c4ed3920f3df3f78994a18f797e4f49..a0598f6c928fcffe0c3f82d5c390f8a4fc7a1d90 100644
index 89e8a69b2bbb28fb90314b19c062b47d618b7038..e3f6be21487823d1d96945f163a7865119ce5605 100644
--- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
+++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
@@ -559,10 +559,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
@@ -557,10 +557,12 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
// this should be treated as an error and caught early.
CHECK(bridged_view_);

View File

@@ -46,7 +46,7 @@ index e3470fdbf945042a16dcb2affb7859607ca4184a..641d0a0e57ef7903ba9577954f85ae62
NSArray* node_array,
const LineIndexer* line_indexer) const {
diff --git a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm
index 73e440312d01d575a92072b05c4f84f5107242b1..c202a6faa8114b146f4fb51139542ab247f64655 100644
index 42800aa884846b1590b1df2b4b8a10d20ce24345..41c7bd66791fb81ea65a0e615bc46317012d058e 100644
--- a/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm
+++ b/content/browser/accessibility/accessibility_tree_formatter_utils_mac.mm
@@ -140,9 +140,11 @@
@@ -61,7 +61,7 @@ index 73e440312d01d575a92072b05c4f84f5107242b1..c202a6faa8114b146f4fb51139542ab2
if ([target isKindOfClass:[NSArray class]])
return InvokeForArray(target, property_node);
@@ -287,6 +289,7 @@
@@ -303,6 +305,7 @@
property_name == "AXTextMarkerRangeForUIElement") { // UIElement
return OptionalNSObject::NotNilOrError(PropertyNodeToUIElement(arg_node));
}
@@ -69,7 +69,7 @@ index 73e440312d01d575a92072b05c4f84f5107242b1..c202a6faa8114b146f4fb51139542ab2
if (property_name == "AXIndexForTextMarker" ||
property_name == "AXNextWordEndTextMarkerForTextMarker" ||
property_name ==
@@ -297,6 +300,7 @@
@@ -313,6 +316,7 @@
return OptionalNSObject::NotNilOrError(
PropertyNodeToTextMarkerRange(arg_node));
}
@@ -77,7 +77,7 @@ index 73e440312d01d575a92072b05c4f84f5107242b1..c202a6faa8114b146f4fb51139542ab2
return OptionalNSObject::NotApplicable();
}
@@ -362,6 +366,7 @@
@@ -384,6 +388,7 @@
return uielement;
}
@@ -85,7 +85,7 @@ index 73e440312d01d575a92072b05c4f84f5107242b1..c202a6faa8114b146f4fb51139542ab2
id AttributeInvoker::DictNodeToTextMarker(
const AXPropertyNode& dictnode) const {
if (!dictnode.IsDict()) {
@@ -469,6 +474,7 @@ OptionalNSObject TextMarkerRangeGetEndMarker(const OptionalNSObject& obj) {
@@ -491,6 +496,7 @@ OptionalNSObject TextMarkerRangeGetEndMarker(const OptionalNSObject& obj) {
return OptionalNSObject::NotNilOrError(content::AXTextMarkerFrom(
cocoa_node, range.focus()->text_offset(), range.focus()->affinity()));
}

View File

@@ -9,10 +9,10 @@ system font by checking if it's kCTFontPriorityAttribute is set to
system priority.
diff --git a/ui/gfx/platform_font_mac.mm b/ui/gfx/platform_font_mac.mm
index e39d9fe5f149adbaf6c9066b2f1438f7e824113d..70d180dc00a1e96e8b8dd522937b44d734c5db17 100644
index 99b4dffbd41dd5d53e4f8e7e0bfbbf3ecc6fcb43..db57e78efa22a26b71426d2960aeb7919ae6cf47 100644
--- a/ui/gfx/platform_font_mac.mm
+++ b/ui/gfx/platform_font_mac.mm
@@ -26,9 +26,11 @@
@@ -25,9 +25,11 @@
using Weight = Font::Weight;
@@ -24,7 +24,7 @@ index e39d9fe5f149adbaf6c9066b2f1438f7e824113d..70d180dc00a1e96e8b8dd522937b44d7
namespace {
@@ -233,7 +235,13 @@ NSInteger ToNSFontManagerWeight(Weight weight) {
@@ -232,7 +234,13 @@ NSInteger ToNSFontManagerWeight(Weight weight) {
// TODO(avi, etienneb): Figure out this font stuff.
base::ScopedCFTypeRef<CTFontDescriptorRef> descriptor(
CTFontCopyFontDescriptor(font));

View File

@@ -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 cbe158aa7a6691ee0f908fff061117dcc8b79ce4..3a34df559a160c51488242bb7541a0a939ba67a3 100644
index 8dcdcf899ea13be6237f63f425d85eb410c845ff..f513f1c8bc33136f58f7bc3de2bb3590af9a153f 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -117,6 +117,11 @@
@@ -116,7 +116,7 @@ index cbe158aa7a6691ee0f908fff061117dcc8b79ce4..3a34df559a160c51488242bb7541a0a9
void NetworkContext::CreateURLLoaderFactory(
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
mojom::URLLoaderFactoryParamsPtr params) {
@@ -1983,6 +2068,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -1984,6 +2069,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
std::move(cert_verifier));
cert_verifier = base::WrapUnique(cert_verifier_with_trust_anchors_);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -127,7 +127,7 @@ index cbe158aa7a6691ee0f908fff061117dcc8b79ce4..3a34df559a160c51488242bb7541a0a9
builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
diff --git a/services/network/network_context.h b/services/network/network_context.h
index c18f35d8debb142a0d23a72040b7668a93f3602c..3457e652131b962a574352803d06f5f4e47b6e59 100644
index 7ecd11bb762d0ccaa104d0cc198b66db2aed8143..1f09e757f9ac7f9f101066beddbd2f540cfd5b7d 100644
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -91,6 +91,7 @@ class DomainReliabilityMonitor;
@@ -147,7 +147,7 @@ index c18f35d8debb142a0d23a72040b7668a93f3602c..3457e652131b962a574352803d06f5f4
void ResetURLLoaderFactories() override;
void GetCookieManager(
mojo::PendingReceiver<mojom::CookieManager> receiver) override;
@@ -705,6 +708,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -707,6 +710,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
CertVerifierWithTrustAnchors* cert_verifier_with_trust_anchors_ = nullptr;
#endif
@@ -157,7 +157,7 @@ index c18f35d8debb142a0d23a72040b7668a93f3602c..3457e652131b962a574352803d06f5f4
// CertNetFetcher is not used by the current platform, or if the actual
// net::CertVerifier is instantiated outside of the network service.
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
index c1e7628be3dc7881c7871639edd7461ade3fd546..2595d0b342951d03dcc9d809b33b3f2705e14aa3 100644
index dfc0478673263810e270184603e88af6e2bcd400..ebbdeaa440514740b672bbf722c31d58d254cd8f 100644
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -189,6 +189,17 @@ struct CTPolicy {
@@ -178,7 +178,7 @@ index c1e7628be3dc7881c7871639edd7461ade3fd546..2595d0b342951d03dcc9d809b33b3f27
// Parameters for constructing a network context.
struct NetworkContextParams {
// Name used by memory tools to identify the context.
@@ -716,6 +727,9 @@ interface NetworkContext {
@@ -719,6 +730,9 @@ interface NetworkContext {
// Sets a client for this network context.
SetClient(pending_remote<NetworkContextClient> client);

View File

@@ -67,7 +67,7 @@ index 25a35dc7647d8bcb503c9b023bd912a5c0542877..cea756feb06f1b0ee1f7f5bd8b68fd4d
/*document_url=*/GURL(),
notification_service_remote_.BindNewPipeAndPassReceiver());
diff --git a/content/browser/notifications/platform_notification_context_impl.cc b/content/browser/notifications/platform_notification_context_impl.cc
index 8c91fc000ffb0e25d301ded93668b680222d44c1..d0aec3f134390b756aea5359b7a10d2ee10ba43b 100644
index 7cd9f5fdd74d8c7f87ef2ff6f52e354bf5da2dd2..27b83402af20c03eaa6dc2c8b6821f453db327a1 100644
--- a/content/browser/notifications/platform_notification_context_impl.cc
+++ b/content/browser/notifications/platform_notification_context_impl.cc
@@ -284,13 +284,14 @@ void PlatformNotificationContextImpl::Shutdown() {
@@ -108,10 +108,10 @@ index b195cb84d8bba3c51b04f8c32cf909d15bf34335..37528715db985d12771ba2dca86dcec8
const GURL& document_url,
mojo::PendingReceiver<blink::mojom::NotificationService> receiver);
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 3c98f632f55c99e9e1b96d1a4b31f9f813272a60..fdad49451e9dcdab8d2b532c90c784faf2e5aeba 100644
index 43c270f82113e75e77b9a0c9f58901eb87ddfea9..f354e09e070591017510ddf2f96785584da937b1 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -2298,7 +2298,7 @@ void RenderProcessHostImpl::CreateNotificationService(
@@ -2296,7 +2296,7 @@ void RenderProcessHostImpl::CreateNotificationService(
document_url = rfh->GetLastCommittedURL();
storage_partition_impl_->GetPlatformNotificationContext()->CreateService(

View File

@@ -61,7 +61,7 @@ index 7b711bdbaf4afddd6ccf300af7bab26487942243..987a60b81554b676661d8f1a53facbc9
#include "ui/base/l10n/l10n_util.h"
#include "ui/gfx/paint_vector_icon.h"
diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc
index 6da231ce996fda46be2c2ce787d08fba988b5304..e4628ae26118d8a042b805371142428f34247a9f 100644
index 2b185ba63ae3b5f2dc3d73d4a7bf6ac331e09361..25eb311ba9054ee65afce166fc1da0c2e1beb8f0 100644
--- a/chrome/browser/ui/views/overlay/overlay_window_views.cc
+++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc
@@ -16,9 +16,11 @@
@@ -94,7 +94,7 @@ index 6da231ce996fda46be2c2ce787d08fba988b5304..e4628ae26118d8a042b805371142428f
#include "chrome/browser/shell_integration_win.h"
#include "ui/aura/window.h"
#include "ui/aura/window_tree_host.h"
@@ -242,7 +244,7 @@ std::unique_ptr<OverlayWindowViews> OverlayWindowViews::Create(
@@ -247,7 +249,7 @@ std::unique_ptr<OverlayWindowViews> OverlayWindowViews::Create(
overlay_window->Init(std::move(params));
overlay_window->OnRootViewReady();

View File

@@ -11,24 +11,24 @@ majority of changes originally come from these PRs:
This patch also fixes callback for manual user cancellation and success.
diff --git a/chrome/browser/printing/print_job.cc b/chrome/browser/printing/print_job.cc
index cbe686c86aab691efeca9d104575711fd46037d5..26362670d68e8a6b3297678931ea43a240ae9391 100644
index 7f35eb191c651294fdf3cb14119bd4895bbc437e..6931a992de9c73bc3d40a7e74e4d009aefa236a8 100644
--- a/chrome/browser/printing/print_job.cc
+++ b/chrome/browser/printing/print_job.cc
@@ -349,18 +349,25 @@ void PrintJob::StartPdfToEmfConversion(
@@ -350,18 +350,25 @@ void PrintJob::StartPdfToEmfConversion(
// seems to work with the fix for this bug applied.
const PrintSettings& settings = document()->settings();
bool print_text_with_gdi =
- settings.print_text_with_gdi() && !settings.printer_is_xps() &&
- settings.print_text_with_gdi() && !settings.printer_language_is_xps() &&
+#if defined(OS_WIN)
+ settings.is_modifiable()
+#else
+ settings.print_text_with_gdi()
+#endif
+ && !settings.printer_is_xps() &&
+ && !settings.printer_language_is_xps() &&
base::FeatureList::IsEnabled(::features::kGdiTextPrinting);
// TODO(thestig): Figure out why crbug.com/1083911 occurred, which is likely
// because |web_contents| was null. As a result, this section has many more
// because `web_contents` was null. As a result, this section has many more
// pointer checks to avoid crashing.
+#if 0
content::WebContents* web_contents = worker_->GetWebContents();

View File

@@ -43,10 +43,10 @@ index a2227fabbafb9a5e162c063d2aaa494f78cdd610..760ce40cda142529a58c5d156e1d7b76
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 0bd0bffa7f2166823148143c590283a03d8ef65b..fed37a4d228e89e658d1ddcd3dc10c419cbb487c 100644
index e590e0959e7aa77f562dc69fc6bd4b2da10ea001..d7000889cb90ffaf7eddb01df33b12d768ef71aa 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4330,6 +4330,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
@@ -4337,6 +4337,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
return text_input_manager_.get();
}
@@ -59,10 +59,10 @@ index 0bd0bffa7f2166823148143c590283a03d8ef65b..fed37a4d228e89e658d1ddcd3dc10c41
RenderWidgetHostImpl* render_widget_host) {
return render_widget_host == GetMainFrame()->GetRenderWidgetHost();
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 8198b27e6de0555fa088096ba9b7d6e8503873e8..f86661da7ea27dcbbd89ece5a03e115f17466946 100644
index 46f7b550bdf5cbe260523735db975f9c8b0ba532..9b1c762c66692d552aaec7c2f24b9104cd623fea 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -968,6 +968,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
@@ -969,6 +969,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
blink::mojom::FrameVisibility visibility) override;
void SendScreenRects() override;
TextInputManager* GetTextInputManager() override;
@@ -71,7 +71,7 @@ index 8198b27e6de0555fa088096ba9b7d6e8503873e8..f86661da7ea27dcbbd89ece5a03e115f
bool IsShowingContextMenuOnPage() const override;
void DidChangeScreenOrientation() override;
diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h
index e6bbfa5b9d4003f256dcaf3eadb18faa7785a681..c46dafad4ddde7a64b5ee1d314eee58f8012ad32 100644
index bee7ace6ac2c3a7af108904fcdfe3cac3dc852fe..6ad9a7cfec251e814f8d64f025755f24c523d069 100644
--- a/content/public/browser/web_contents_observer.h
+++ b/content/public/browser/web_contents_observer.h
@@ -13,6 +13,7 @@
@@ -80,9 +80,9 @@ index e6bbfa5b9d4003f256dcaf3eadb18faa7785a681..c46dafad4ddde7a64b5ee1d314eee58f
#include "content/common/content_export.h"
+#include "content/common/cursors/webcursor.h"
#include "content/public/browser/allow_service_worker_result.h"
#include "content/public/browser/cookie_access_details.h"
#include "content/public/browser/navigation_controller.h"
@@ -456,6 +457,9 @@ class CONTENT_EXPORT WebContentsObserver {
#include "content/public/browser/reload_type.h"
#include "content/public/browser/render_frame_host.h"
@@ -460,6 +461,9 @@ class CONTENT_EXPORT WebContentsObserver {
// Invoked every time the WebContents changes visibility.
virtual void OnVisibilityChanged(Visibility visibility) {}

View File

@@ -52,10 +52,10 @@ Some alternatives to this patch:
None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index 6c594ef1816c2ff9d1c4e75f4488025079e090b2..a1aa8466ead6e428544ff00d7fcf3f92a3daf080 100644
index 2119244016aa6f28b93d649c5c4866863c913fc1..7cf86d58523fad6e9ae2f50ede21a40c8162b4a9 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -1534,7 +1534,7 @@ if (is_chrome_branded && !is_android) {
@@ -1527,7 +1527,7 @@ if (is_chrome_branded && !is_android) {
}
}
@@ -64,7 +64,7 @@ index 6c594ef1816c2ff9d1c4e75f4488025079e090b2..a1aa8466ead6e428544ff00d7fcf3f92
chrome_paks("packed_resources") {
if (is_mac) {
output_dir = "$root_gen_dir/repack"
@@ -1562,6 +1562,12 @@ if (!is_android) {
@@ -1555,6 +1555,12 @@ if (!is_android) {
}
}

View File

@@ -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 3a5834f68dadd0de9071c8e7c7bd416d59d40d55..dbaa8c95ab0a5572b2194c02a73ae54b8f676ac7 100644
index 0bc724506b213c5e95972df96b43bf755fc049ad..2426947095205f29352e9f25c0e4d39eadda16cf 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -1259,7 +1259,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
@@ -1264,7 +1264,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
}
bool RenderThreadImpl::IsElasticOverscrollEnabled() {

View File

@@ -0,0 +1,48 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20S=C3=B6derqvist?= <fs@opera.com>
Date: Fri, 9 Jul 2021 08:44:55 +0000
Subject: Set SVGImage::page_ after document install
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We can end up having the associated ImageResource call
SVGImage::ResetAnimation() before the Document has been associated with
the SVGImage's LocalFrame, but after the link to the initial Document
was severed, if a GC is triggered within that window and ends up
collecting the last observer of the ImageResource.
By assigning |SVGImage::page_| after the installing the document, we
close this hole since SVGImage::RootElement() (called by
SVGImage::ResetAnimation()) will now observe a null Page and return null
without attempting to dereference the document.
Bug: 1216190
Change-Id: I26e08848e5b9bd52e3377841eee35e4acc03d320
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3010140
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#899922}
diff --git a/third_party/blink/renderer/core/svg/graphics/svg_image.cc b/third_party/blink/renderer/core/svg/graphics/svg_image.cc
index b23ad2192bec4d1cac9d704074d12c9e00d4d2f5..ff2bf69be27f0afcb6a9909e716495e8d4a127ef 100644
--- a/third_party/blink/renderer/core/svg/graphics/svg_image.cc
+++ b/third_party/blink/renderer/core/svg/graphics/svg_image.cc
@@ -851,12 +851,15 @@ Image::SizeAvailability SVGImage::DataChanged(bool all_data_received) {
// SVG Images are transparent.
frame->View()->SetBaseBackgroundColor(Color::kTransparent);
- page_ = page;
-
TRACE_EVENT0("blink", "SVGImage::dataChanged::load");
frame->ForceSynchronousDocumentInstall("image/svg+xml", Data());
+ // Set up our Page reference after installing our document. This avoids
+ // tripping on a non-existing (null) Document if a GC is triggered during the
+ // set up and ends up collecting the last owner/observer of this image.
+ page_ = page;
+
// Intrinsic sizing relies on computed style (e.g. font-size and
// writing-mode).
frame->GetDocument()->UpdateStyleAndLayoutTree();

View File

@@ -21,11 +21,11 @@ See //ui/accessibility/BUILD.gn:297:20: which caused the file to be included.
which we don't build
diff --git a/build/config/linux/atk/BUILD.gn b/build/config/linux/atk/BUILD.gn
index bc8e27894732a6d3e834d6b21f00441eca02dd63..f7381c1d5b5842521e0c35476ae468ab508c0fea 100644
index 92baff2a9b6eea1bcfaa53a9e70b4857b68cea77..8fd6031dda6afa42e9ed0742ccc4e71a93df7583 100644
--- a/build/config/linux/atk/BUILD.gn
+++ b/build/config/linux/atk/BUILD.gn
@@ -12,7 +12,7 @@ import("//build/config/ui.gni")
assert(!is_chromeos_ash)
@@ -11,7 +11,7 @@ import("//build/config/ui.gni")
assert(!is_chromeos)
# These packages should _only_ be expected when building for a target.
-assert(current_toolchain == default_toolchain)

View File

@@ -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 fdad49451e9dcdab8d2b532c90c784faf2e5aeba..85e3dd76f528b3e60b86bef6a9231135ef2bc0f5 100644
index f354e09e070591017510ddf2f96785584da937b1..65c5fa70ee04fe5285979a93ab67449137dae304 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -427,10 +427,18 @@ class RendererSandboxedProcessLauncherDelegate

View File

@@ -6,7 +6,7 @@ Subject: ui_gtk_public_header.patch
Allow electron to depend on //ui/gtk/gtk_util.h
diff --git a/ui/gtk/BUILD.gn b/ui/gtk/BUILD.gn
index 7bdb5a0e439ab931d0656265cedf298ca4a34d13..a0098d0ca4256f22138f857fad920725853f998d 100644
index bef73bd7a6dfc8db07f4ee4e03b0c02b9f81b515..cd3b1f629ca591882dd19e6ffbc47b4b44c402d2 100644
--- a/ui/gtk/BUILD.gn
+++ b/ui/gtk/BUILD.gn
@@ -39,7 +39,7 @@ generate_stubs("gtk_stubs") {

View File

@@ -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 69ea4796e62fc492a3444a92e7dfc14a9e079ce3..115afedc169c767cb4297d34fbdc0792f4472c08 100644
index 0d18a4b79f72a8b8ad93aecb1ee4fe49a2699aaf..ffffc4521b9707956a063819a726eac92e87c1aa 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -2923,6 +2923,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -2926,6 +2926,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
frame_tree_.Init(site_instance.get(), params.renderer_initiated_creation,
params.main_frame_name);
@@ -25,7 +25,7 @@ index 69ea4796e62fc492a3444a92e7dfc14a9e079ce3..115afedc169c767cb4297d34fbdc0792
WebContentsViewDelegate* delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -2933,6 +2939,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -2936,6 +2942,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
view_.reset(CreateWebContentsView(this, delegate,
&render_view_host_delegate_view_));
}
@@ -34,7 +34,7 @@ index 69ea4796e62fc492a3444a92e7dfc14a9e079ce3..115afedc169c767cb4297d34fbdc0792
CHECK(view_.get());
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
index eff5a1b759bcfd6f775413080d5cdc9de148a547..41943c884912ee34b1f588f404a085683588a549 100644
index 43105b1caf9a3ee81ae0ecf5b9f13165b7d72222..4d6ba5102935330abc6f2354f4c442ad3a045e09 100644
--- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h
@@ -85,10 +85,13 @@ class BrowserContext;

View File

@@ -14,10 +14,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 5c16a9ee9bbf461c24456613ff709f4f608e3441..4e4d1fdf50e2d480e099c9af71a45fc864d2cf56 100644
index 6dfd547b9e6c4e345af79d4875be95fb6a6d8bb0..66bf5aea4d53e72e9b1f6fb0d7a64290db6c14b7 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -5520,6 +5520,15 @@ void RenderFrameHostImpl::EnterFullscreen(
@@ -5661,6 +5661,15 @@ void RenderFrameHostImpl::EnterFullscreen(
notified_instances.insert(parent_site_instance);
}

View File

@@ -55,7 +55,7 @@ index cb8770a47a808279d7c1999245d19eae3c941a4e..523a489b89735d77a2d44b5f5d327b20
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 7691e1e8b3289774f89830fd850c6f6d155dec24..e311411dc9b7074290cff0551fc3ae8043218538 100644
index cd2ebc947ed03690d7954b4bf6c1d20ebcfaa81b..401bae87ccfdde9a73c42c6e7a3787734c443190 100644
--- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h
@@ -728,6 +728,7 @@ class BLINK_PLATFORM_EXPORT Platform {

View File

@@ -65,7 +65,7 @@ index 523a489b89735d77a2d44b5f5d327b20dcbab3fb..842890143c2bc79f2acbf1d6f17cd8ea
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 e311411dc9b7074290cff0551fc3ae8043218538..3a1f06e9b7d8522dd8ed7fbfb61f3899cde24808 100644
index 401bae87ccfdde9a73c42c6e7a3787734c443190..b6edfa6c34e5519e1fcda6a6d402d807f2a26719 100644
--- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h
@@ -728,6 +728,8 @@ class BLINK_PLATFORM_EXPORT Platform {

View File

@@ -888,10 +888,10 @@ index 0000000000000000000000000000000000000000..2c9d2826c85bdd033f1df1d6188df636
+}
diff --git a/filenames.json b/filenames.json
new file mode 100644
index 0000000000000000000000000000000000000000..7225bdb6b281837253978430a665e9ee5a9e0646
index 0000000000000000000000000000000000000000..6ce2f7899ffc39e145a767685a51597fa4473e50
--- /dev/null
+++ b/filenames.json
@@ -0,0 +1,530 @@
@@ -0,0 +1,544 @@
+// This file is automatically generated by generate_gn_filenames_json.py
+// DO NOT EDIT
+{
@@ -926,6 +926,14 @@ index 0000000000000000000000000000000000000000..7225bdb6b281837253978430a665e9ee
+ ]
+ },
+ {
+ "dest_dir": "include/node//libplatform/",
+ "files": [
+ "//v8/include/libplatform/libplatform-export.h",
+ "//v8/include/libplatform/libplatform.h",
+ "//v8/include/libplatform/v8-tracing.h"
+ ]
+ },
+ {
+ "dest_dir": "include/node//uv/",
+ "files": [
+ "deps/uv/include/uv/aix.h",
@@ -953,250 +961,260 @@ index 0000000000000000000000000000000000000000..7225bdb6b281837253978430a665e9ee
+ }
+ ],
+ "library_files": [
+ "lib/internal/bootstrap/environment.js",
+ "lib/internal/bootstrap/loaders.js",
+ "lib/internal/bootstrap/node.js",
+ "lib/internal/bootstrap/pre_execution.js",
+ "lib/internal/bootstrap/switches/does_own_process_state.js",
+ "lib/internal/bootstrap/switches/does_not_own_process_state.js",
+ "lib/internal/bootstrap/switches/is_main_thread.js",
+ "lib/internal/bootstrap/switches/is_not_main_thread.js",
+ "lib/internal/per_context/primordials.js",
+ "lib/internal/per_context/domexception.js",
+ "lib/internal/per_context/messageport.js",
+ "lib/async_hooks.js",
+ "lib/assert.js",
+ "lib/assert/strict.js",
+ "lib/buffer.js",
+ "lib/child_process.js",
+ "lib/console.js",
+ "lib/constants.js",
+ "lib/crypto.js",
+ "lib/cluster.js",
+ "lib/diagnostics_channel.js",
+ "lib/dgram.js",
+ "lib/dns.js",
+ "lib/dns/promises.js",
+ "lib/domain.js",
+ "lib/events.js",
+ "lib/fs.js",
+ "lib/fs/promises.js",
+ "lib/http.js",
+ "lib/http2.js",
+ "lib/_http_agent.js",
+ "lib/_http_client.js",
+ "lib/_http_common.js",
+ "lib/_http_incoming.js",
+ "lib/_http_outgoing.js",
+ "lib/_http_server.js",
+ "lib/https.js",
+ "lib/inspector.js",
+ "lib/module.js",
+ "lib/net.js",
+ "lib/os.js",
+ "lib/path.js",
+ "lib/path/posix.js",
+ "lib/path/win32.js",
+ "lib/perf_hooks.js",
+ "lib/process.js",
+ "lib/punycode.js",
+ "lib/querystring.js",
+ "lib/readline.js",
+ "lib/repl.js",
+ "lib/stream.js",
+ "lib/stream/promises.js",
+ "lib/_stream_readable.js",
+ "lib/_stream_writable.js",
+ "lib/_stream_duplex.js",
+ "lib/_stream_transform.js",
+ "lib/_stream_passthrough.js",
+ "lib/_stream_wrap.js",
+ "lib/string_decoder.js",
+ "lib/sys.js",
+ "lib/timers/promises.js",
+ "lib/timers.js",
+ "lib/tls.js",
+ "lib/_tls_common.js",
+ "lib/_tls_wrap.js",
+ "lib/trace_events.js",
+ "lib/tty.js",
+ "lib/url.js",
+ "lib/events.js",
+ "lib/repl.js",
+ "lib/util.js",
+ "lib/util/types.js",
+ "lib/v8.js",
+ "lib/dgram.js",
+ "lib/vm.js",
+ "lib/wasi.js",
+ "lib/stream.js",
+ "lib/child_process.js",
+ "lib/assert.js",
+ "lib/_tls_wrap.js",
+ "lib/http2.js",
+ "lib/inspector.js",
+ "lib/os.js",
+ "lib/_http_server.js",
+ "lib/console.js",
+ "lib/perf_hooks.js",
+ "lib/readline.js",
+ "lib/punycode.js",
+ "lib/_http_incoming.js",
+ "lib/https.js",
+ "lib/_stream_wrap.js",
+ "lib/domain.js",
+ "lib/dns.js",
+ "lib/_http_client.js",
+ "lib/diagnostics_channel.js",
+ "lib/tty.js",
+ "lib/_http_agent.js",
+ "lib/timers.js",
+ "lib/_http_outgoing.js",
+ "lib/querystring.js",
+ "lib/_tls_common.js",
+ "lib/module.js",
+ "lib/_stream_passthrough.js",
+ "lib/_stream_transform.js",
+ "lib/worker_threads.js",
+ "lib/sys.js",
+ "lib/_stream_duplex.js",
+ "lib/path.js",
+ "lib/_http_common.js",
+ "lib/string_decoder.js",
+ "lib/cluster.js",
+ "lib/v8.js",
+ "lib/crypto.js",
+ "lib/wasi.js",
+ "lib/_stream_readable.js",
+ "lib/zlib.js",
+ "lib/internal/abort_controller.js",
+ "lib/internal/assert.js",
+ "lib/internal/assert/assertion_error.js",
+ "lib/internal/assert/calltracker.js",
+ "lib/internal/async_hooks.js",
+ "lib/internal/blob.js",
+ "lib/internal/blocklist.js",
+ "lib/internal/buffer.js",
+ "lib/internal/cli_table.js",
+ "lib/internal/child_process.js",
+ "lib/internal/child_process/serialization.js",
+ "lib/internal/cluster/child.js",
+ "lib/internal/cluster/primary.js",
+ "lib/internal/cluster/round_robin_handle.js",
+ "lib/internal/cluster/shared_handle.js",
+ "lib/internal/cluster/utils.js",
+ "lib/internal/cluster/worker.js",
+ "lib/internal/console/constructor.js",
+ "lib/internal/console/global.js",
+ "lib/internal/crypto/aes.js",
+ "lib/internal/crypto/certificate.js",
+ "lib/internal/crypto/cipher.js",
+ "lib/internal/crypto/diffiehellman.js",
+ "lib/internal/crypto/dsa.js",
+ "lib/internal/crypto/ec.js",
+ "lib/internal/crypto/hash.js",
+ "lib/internal/crypto/hashnames.js",
+ "lib/internal/crypto/hkdf.js",
+ "lib/internal/crypto/keygen.js",
+ "lib/internal/crypto/keys.js",
+ "lib/internal/crypto/mac.js",
+ "lib/internal/crypto/pbkdf2.js",
+ "lib/internal/crypto/random.js",
+ "lib/internal/crypto/rsa.js",
+ "lib/internal/crypto/scrypt.js",
+ "lib/internal/crypto/sig.js",
+ "lib/internal/crypto/util.js",
+ "lib/internal/crypto/webcrypto.js",
+ "lib/internal/crypto/x509.js",
+ "lib/url.js",
+ "lib/tls.js",
+ "lib/_stream_writable.js",
+ "lib/async_hooks.js",
+ "lib/process.js",
+ "lib/http.js",
+ "lib/buffer.js",
+ "lib/fs.js",
+ "lib/util/types.js",
+ "lib/timers/promises.js",
+ "lib/path/win32.js",
+ "lib/path/posix.js",
+ "lib/stream/promises.js",
+ "lib/stream/web.js",
+ "lib/internal/constants.js",
+ "lib/internal/debugger/_inspect.js",
+ "lib/internal/debugger/inspect_client.js",
+ "lib/internal/debugger/inspect_repl.js",
+ "lib/internal/dgram.js",
+ "lib/internal/dns/promises.js",
+ "lib/internal/dns/utils.js",
+ "lib/internal/dtrace.js",
+ "lib/internal/encoding.js",
+ "lib/internal/errors.js",
+ "lib/internal/error_serdes.js",
+ "lib/internal/event_target.js",
+ "lib/internal/fixed_queue.js",
+ "lib/internal/freelist.js",
+ "lib/internal/freeze_intrinsics.js",
+ "lib/internal/fs/dir.js",
+ "lib/internal/fs/promises.js",
+ "lib/internal/fs/read_file_context.js",
+ "lib/internal/fs/rimraf.js",
+ "lib/internal/fs/streams.js",
+ "lib/internal/fs/sync_write_stream.js",
+ "lib/internal/fs/utils.js",
+ "lib/internal/fs/watchers.js",
+ "lib/internal/http.js",
+ "lib/internal/heap_utils.js",
+ "lib/internal/histogram.js",
+ "lib/internal/idna.js",
+ "lib/internal/inspector_async_hook.js",
+ "lib/internal/js_stream_socket.js",
+ "lib/internal/legacy/processbinding.js",
+ "lib/internal/linkedlist.js",
+ "lib/internal/main/check_syntax.js",
+ "lib/internal/main/eval_string.js",
+ "lib/internal/main/eval_stdin.js",
+ "lib/internal/main/inspect.js",
+ "lib/internal/main/print_help.js",
+ "lib/internal/main/prof_process.js",
+ "lib/internal/main/repl.js",
+ "lib/internal/main/run_main_module.js",
+ "lib/internal/main/worker_thread.js",
+ "lib/internal/modules/run_main.js",
+ "lib/internal/modules/package_json_reader.js",
+ "lib/internal/modules/cjs/helpers.js",
+ "lib/internal/modules/cjs/loader.js",
+ "lib/internal/modules/esm/loader.js",
+ "lib/internal/modules/esm/create_dynamic_module.js",
+ "lib/internal/modules/esm/get_format.js",
+ "lib/internal/modules/esm/get_source.js",
+ "lib/internal/modules/esm/module_job.js",
+ "lib/internal/modules/esm/module_map.js",
+ "lib/internal/modules/esm/resolve.js",
+ "lib/internal/modules/esm/transform_source.js",
+ "lib/internal/modules/esm/translators.js",
+ "lib/internal/abort_controller.js",
+ "lib/internal/net.js",
+ "lib/internal/options.js",
+ "lib/internal/perf/perf.js",
+ "lib/internal/perf/nodetiming.js",
+ "lib/internal/perf/usertiming.js",
+ "lib/internal/perf/observe.js",
+ "lib/internal/perf/event_loop_delay.js",
+ "lib/internal/perf/event_loop_utilization.js",
+ "lib/internal/perf/timerify.js",
+ "lib/internal/policy/manifest.js",
+ "lib/internal/policy/sri.js",
+ "lib/internal/priority_queue.js",
+ "lib/internal/process/esm_loader.js",
+ "lib/internal/process/execution.js",
+ "lib/internal/process/per_thread.js",
+ "lib/internal/process/policy.js",
+ "lib/internal/process/promises.js",
+ "lib/internal/process/warning.js",
+ "lib/internal/process/worker_thread_only.js",
+ "lib/internal/process/report.js",
+ "lib/internal/process/signal.js",
+ "lib/internal/process/task_queues.js",
+ "lib/internal/querystring.js",
+ "lib/internal/readline/callbacks.js",
+ "lib/internal/readline/emitKeypressEvents.js",
+ "lib/internal/readline/utils.js",
+ "lib/internal/v8_prof_processor.js",
+ "lib/internal/event_target.js",
+ "lib/internal/inspector_async_hook.js",
+ "lib/internal/validators.js",
+ "lib/internal/linkedlist.js",
+ "lib/internal/cli_table.js",
+ "lib/internal/repl.js",
+ "lib/internal/repl/await.js",
+ "lib/internal/repl/history.js",
+ "lib/internal/repl/utils.js",
+ "lib/internal/socketaddress.js",
+ "lib/internal/util.js",
+ "lib/internal/histogram.js",
+ "lib/internal/error_serdes.js",
+ "lib/internal/dgram.js",
+ "lib/internal/child_process.js",
+ "lib/internal/assert.js",
+ "lib/internal/fixed_queue.js",
+ "lib/internal/blocklist.js",
+ "lib/internal/v8_prof_polyfill.js",
+ "lib/internal/options.js",
+ "lib/internal/worker.js",
+ "lib/internal/dtrace.js",
+ "lib/internal/idna.js",
+ "lib/internal/watchdog.js",
+ "lib/internal/encoding.js",
+ "lib/internal/tty.js",
+ "lib/internal/freeze_intrinsics.js",
+ "lib/internal/timers.js",
+ "lib/internal/heap_utils.js",
+ "lib/internal/querystring.js",
+ "lib/internal/js_stream_socket.js",
+ "lib/internal/errors.js",
+ "lib/internal/priority_queue.js",
+ "lib/internal/freelist.js",
+ "lib/internal/blob.js",
+ "lib/internal/socket_list.js",
+ "lib/internal/source_map/prepare_stack_trace.js",
+ "lib/internal/source_map/source_map.js",
+ "lib/internal/source_map/source_map_cache.js",
+ "lib/internal/socketaddress.js",
+ "lib/internal/stream_base_commons.js",
+ "lib/internal/url.js",
+ "lib/internal/async_hooks.js",
+ "lib/internal/http.js",
+ "lib/internal/buffer.js",
+ "lib/internal/trace_events_async_hooks.js",
+ "lib/internal/crypto/sig.js",
+ "lib/internal/crypto/rsa.js",
+ "lib/internal/crypto/aes.js",
+ "lib/internal/crypto/util.js",
+ "lib/internal/crypto/scrypt.js",
+ "lib/internal/crypto/random.js",
+ "lib/internal/crypto/keys.js",
+ "lib/internal/crypto/x509.js",
+ "lib/internal/crypto/certificate.js",
+ "lib/internal/crypto/ec.js",
+ "lib/internal/crypto/keygen.js",
+ "lib/internal/crypto/mac.js",
+ "lib/internal/crypto/diffiehellman.js",
+ "lib/internal/crypto/hkdf.js",
+ "lib/internal/crypto/cipher.js",
+ "lib/internal/crypto/hash.js",
+ "lib/internal/crypto/pbkdf2.js",
+ "lib/internal/crypto/webcrypto.js",
+ "lib/internal/crypto/dsa.js",
+ "lib/internal/crypto/hashnames.js",
+ "lib/internal/cluster/shared_handle.js",
+ "lib/internal/cluster/round_robin_handle.js",
+ "lib/internal/cluster/worker.js",
+ "lib/internal/cluster/primary.js",
+ "lib/internal/cluster/utils.js",
+ "lib/internal/cluster/child.js",
+ "lib/internal/webstreams/util.js",
+ "lib/internal/webstreams/writablestream.js",
+ "lib/internal/webstreams/readablestream.js",
+ "lib/internal/webstreams/queuingstrategies.js",
+ "lib/internal/webstreams/transformstream.js",
+ "lib/internal/webstreams/transfer.js",
+ "lib/internal/bootstrap/loaders.js",
+ "lib/internal/bootstrap/pre_execution.js",
+ "lib/internal/bootstrap/node.js",
+ "lib/internal/bootstrap/environment.js",
+ "lib/internal/bootstrap/switches/does_not_own_process_state.js",
+ "lib/internal/bootstrap/switches/is_not_main_thread.js",
+ "lib/internal/bootstrap/switches/does_own_process_state.js",
+ "lib/internal/bootstrap/switches/is_main_thread.js",
+ "lib/internal/test/binding.js",
+ "lib/internal/test/transfer.js",
+ "lib/internal/timers.js",
+ "lib/internal/tls.js",
+ "lib/internal/trace_events_async_hooks.js",
+ "lib/internal/tty.js",
+ "lib/internal/url.js",
+ "lib/internal/util.js",
+ "lib/internal/util/types.js",
+ "lib/internal/util/inspector.js",
+ "lib/internal/util/comparisons.js",
+ "lib/internal/util/debuglog.js",
+ "lib/internal/util/inspect.js",
+ "lib/internal/util/inspector.js",
+ "lib/internal/util/iterable_weak_map.js",
+ "lib/internal/util/types.js",
+ "lib/internal/http2/core.js",
+ "lib/internal/http2/compat.js",
+ "lib/internal/http2/util.js",
+ "lib/internal/v8_prof_polyfill.js",
+ "lib/internal/v8_prof_processor.js",
+ "lib/internal/validators.js",
+ "lib/internal/stream_base_commons.js",
+ "lib/internal/vm/module.js",
+ "lib/internal/worker.js",
+ "lib/internal/worker/io.js",
+ "lib/internal/worker/js_transferable.js",
+ "lib/internal/watchdog.js",
+ "lib/internal/streams/lazy_transform.js",
+ "lib/internal/streams/add-abort-signal.js",
+ "lib/internal/streams/buffer_list.js",
+ "lib/internal/streams/duplexpair.js",
+ "lib/internal/streams/from.js",
+ "lib/internal/streams/legacy.js",
+ "lib/internal/streams/readable.js",
+ "lib/internal/streams/writable.js",
+ "lib/internal/streams/duplex.js",
+ "lib/internal/streams/passthrough.js",
+ "lib/internal/streams/transform.js",
+ "lib/internal/streams/destroy.js",
+ "lib/internal/streams/legacy.js",
+ "lib/internal/streams/passthrough.js",
+ "lib/internal/streams/readable.js",
+ "lib/internal/streams/from.js",
+ "lib/internal/streams/writable.js",
+ "lib/internal/streams/state.js",
+ "lib/internal/streams/pipeline.js",
+ "lib/internal/streams/buffer_list.js",
+ "lib/internal/streams/end-of-stream.js",
+ "lib/internal/streams/utils.js",
+ "lib/internal/streams/transform.js",
+ "lib/internal/streams/lazy_transform.js",
+ "lib/internal/streams/duplex.js",
+ "lib/internal/streams/pipeline.js",
+ "lib/internal/readline/utils.js",
+ "lib/internal/readline/emitKeypressEvents.js",
+ "lib/internal/readline/callbacks.js",
+ "lib/internal/repl/history.js",
+ "lib/internal/repl/utils.js",
+ "lib/internal/repl/await.js",
+ "lib/internal/legacy/processbinding.js",
+ "lib/internal/assert/calltracker.js",
+ "lib/internal/assert/assertion_error.js",
+ "lib/internal/http2/util.js",
+ "lib/internal/http2/core.js",
+ "lib/internal/http2/compat.js",
+ "lib/internal/per_context/messageport.js",
+ "lib/internal/per_context/primordials.js",
+ "lib/internal/per_context/domexception.js",
+ "lib/internal/vm/module.js",
+ "lib/internal/tls/secure-pair.js",
+ "lib/internal/tls/parse-cert-string.js",
+ "lib/internal/tls/secure-context.js",
+ "lib/internal/child_process/serialization.js",
+ "lib/internal/debugger/inspect_repl.js",
+ "lib/internal/debugger/inspect_client.js",
+ "lib/internal/debugger/_inspect.js",
+ "lib/internal/worker/io.js",
+ "lib/internal/worker/js_transferable.js",
+ "lib/internal/main/repl.js",
+ "lib/internal/main/print_help.js",
+ "lib/internal/main/eval_string.js",
+ "lib/internal/main/check_syntax.js",
+ "lib/internal/main/prof_process.js",
+ "lib/internal/main/worker_thread.js",
+ "lib/internal/main/inspect.js",
+ "lib/internal/main/eval_stdin.js",
+ "lib/internal/main/run_main_module.js",
+ "lib/internal/modules/run_main.js",
+ "lib/internal/modules/package_json_reader.js",
+ "lib/internal/modules/esm/module_job.js",
+ "lib/internal/modules/esm/get_source.js",
+ "lib/internal/modules/esm/translators.js",
+ "lib/internal/modules/esm/resolve.js",
+ "lib/internal/modules/esm/create_dynamic_module.js",
+ "lib/internal/modules/esm/module_map.js",
+ "lib/internal/modules/esm/get_format.js",
+ "lib/internal/modules/esm/transform_source.js",
+ "lib/internal/modules/esm/loader.js",
+ "lib/internal/modules/cjs/helpers.js",
+ "lib/internal/modules/cjs/loader.js",
+ "lib/internal/source_map/source_map.js",
+ "lib/internal/source_map/prepare_stack_trace.js",
+ "lib/internal/source_map/source_map_cache.js",
+ "lib/internal/dns/promises.js",
+ "lib/internal/dns/utils.js",
+ "lib/internal/fs/watchers.js",
+ "lib/internal/fs/promises.js",
+ "lib/internal/fs/read_file_context.js",
+ "lib/internal/fs/rimraf.js",
+ "lib/internal/fs/sync_write_stream.js",
+ "lib/internal/fs/dir.js",
+ "lib/internal/fs/streams.js",
+ "lib/internal/fs/utils.js",
+ "lib/internal/perf/nodetiming.js",
+ "lib/internal/perf/usertiming.js",
+ "lib/internal/perf/performance_entry.js",
+ "lib/internal/perf/performance.js",
+ "lib/internal/perf/timerify.js",
+ "lib/internal/perf/utils.js",
+ "lib/internal/perf/observe.js",
+ "lib/internal/perf/event_loop_delay.js",
+ "lib/internal/perf/event_loop_utilization.js",
+ "lib/internal/policy/manifest.js",
+ "lib/internal/policy/sri.js",
+ "lib/internal/process/task_queues.js",
+ "lib/internal/process/per_thread.js",
+ "lib/internal/process/warning.js",
+ "lib/internal/process/policy.js",
+ "lib/internal/process/promises.js",
+ "lib/internal/process/signal.js",
+ "lib/internal/process/execution.js",
+ "lib/internal/process/esm_loader.js",
+ "lib/internal/process/report.js",
+ "lib/internal/process/worker_thread_only.js",
+ "lib/internal/console/constructor.js",
+ "lib/internal/console/global.js",
+ "lib/assert/strict.js",
+ "lib/dns/promises.js",
+ "lib/fs/promises.js",
+ "//v8/tools/splaytree.mjs",
+ "//v8/tools/codemap.mjs",
+ "//v8/tools/consarray.mjs",
@@ -1210,10 +1228,6 @@ index 0000000000000000000000000000000000000000..7225bdb6b281837253978430a665e9ee
+ "//v8/tools/tickprocessor-driver.mjs",
+ "deps/acorn/acorn/dist/acorn.js",
+ "deps/acorn/acorn-walk/dist/walk.js",
+ "deps/acorn-plugins/acorn-class-fields/index.js",
+ "deps/acorn-plugins/acorn-private-class-elements/index.js",
+ "deps/acorn-plugins/acorn-private-methods/index.js",
+ "deps/acorn-plugins/acorn-static-class-features/index.js",
+ "deps/cjs-module-lexer/lexer.js",
+ "deps/cjs-module-lexer/dist/lexer.js"
+ ],
@@ -1628,7 +1642,7 @@ index 0000000000000000000000000000000000000000..d1d6b51e8c0c5bc6a5d09e217eb30483
+ args = rebase_path(inputs + outputs, root_build_dir)
+}
diff --git a/src/node_version.h b/src/node_version.h
index a1a67f0f9034e448a650658df951f160430981ae..c04f70fd1357418b85f1cc64ba9ee0af97076592 100644
index 0523885212d429ee5c4142137524cb127d8adc97..116815364055a01f0c0619f0f22e9a387c2f2e2e 100644
--- a/src/node_version.h
+++ b/src/node_version.h
@@ -89,7 +89,10 @@
@@ -1661,17 +1675,17 @@ index 0000000000000000000000000000000000000000..01f62d4ae6e3b9d539444e3dff069f00
+ main(sys.argv[1:])
diff --git a/tools/generate_gn_filenames_json.py b/tools/generate_gn_filenames_json.py
new file mode 100755
index 0000000000000000000000000000000000000000..cf3b8df67d73b4096a0113b55e2a916b59701b23
index 0000000000000000000000000000000000000000..ece315d915f0a7b2c8e823caccba7ffec8420fdf
--- /dev/null
+++ b/tools/generate_gn_filenames_json.py
@@ -0,0 +1,71 @@
@@ -0,0 +1,75 @@
+#!/usr/bin/env python
+import json
+import os
+import sys
+
+import install
+
+import subprocess
+
+def LoadPythonDictionary(path):
+ file_string = open(path).read()
@@ -1704,6 +1718,7 @@ index 0000000000000000000000000000000000000000..cf3b8df67d73b4096a0113b55e2a916b
+ if t['target_name'] == '<(node_lib_target_name)')
+ node_source_blocklist = {
+ '<@(library_files)',
+ '<@(deps_files)',
+ 'common.gypi',
+ '<(SHARED_INTERMEDIATE_DIR)/node_javascript.cc',
+ }
@@ -1713,7 +1728,10 @@ index 0000000000000000000000000000000000000000..cf3b8df67d73b4096a0113b55e2a916b
+ files = [f.replace('deps/v8/', '//v8/', 1) for f in files]
+ return files
+
+ out['library_files'] = filter_v8_files(node_gyp['variables']['library_files'])
+ cwd = os.path.join(os.getcwd(), 'tools/search_files.py')
+ lib_files = subprocess.check_output('{} {} --ext js lib'.format('python3', cwd), shell=True).split()
+ out['library_files'] = filter_v8_files(lib_files)
+ out['library_files'] += filter_v8_files(node_gyp['variables']['deps_files'])
+
+ blocklisted_sources = [
+ f for f in node_lib_target['sources']
@@ -1768,14 +1786,17 @@ index 0000000000000000000000000000000000000000..3088ae4bdf814ae255c9805ebd393b2e
+
+ out_file.writelines(new_contents)
diff --git a/tools/install.py b/tools/install.py
index 045d406d84be301722f3de62abc448db84e751f8..95aa4c985d33ef37a73eebfca8bb8651e5059d37 100755
index 24cf51e73199e60b4c24700e1074fe9bd0a399e6..3cbf4f45fabec1a26e0edebb18fb589fbecfbe68 100755
--- a/tools/install.py
+++ b/tools/install.py
@@ -159,14 +159,15 @@ def files(action):
@@ -159,17 +159,18 @@ def files(action):
def headers(action):
def wanted_v8_headers(files_arg, dest):
v8_headers = [
- 'deps/v8/include/cppgc/common.h',
- 'deps/v8/include/libplatform/libplatform.h',
- 'deps/v8/include/libplatform/libplatform-export.h',
- 'deps/v8/include/libplatform/v8-tracing.h',
- 'deps/v8/include/v8.h',
- 'deps/v8/include/v8-internal.h',
- 'deps/v8/include/v8-platform.h',
@@ -1783,6 +1804,9 @@ index 045d406d84be301722f3de62abc448db84e751f8..95aa4c985d33ef37a73eebfca8bb8651
- 'deps/v8/include/v8-version.h',
- 'deps/v8/include/v8config.h',
+ '../../v8/include/cppgc/common.h',
+ '../../v8/include/libplatform/libplatform.h',
+ '../../v8/include/libplatform/libplatform-export.h',
+ '../../v8/include/libplatform/v8-tracing.h',
+ '../../v8/include/v8.h',
+ '../../v8/include/v8-internal.h',
+ '../../v8/include/v8-platform.h',
@@ -1794,7 +1818,7 @@ index 045d406d84be301722f3de62abc448db84e751f8..95aa4c985d33ef37a73eebfca8bb8651
files_arg = [name for name in files_arg if name in v8_headers]
action(files_arg, dest)
@@ -187,7 +188,7 @@ def headers(action):
@@ -190,7 +191,7 @@ def headers(action):
if sys.platform.startswith('aix'):
action(['out/Release/node.exp'], 'include/node/')
@@ -1804,10 +1828,10 @@ index 045d406d84be301722f3de62abc448db84e751f8..95aa4c985d33ef37a73eebfca8bb8651
if 'false' == variables.get('node_shared_libuv'):
subdir_files('deps/uv/include', 'include/node/', action)
diff --git a/tools/js2c.py b/tools/js2c.py
index d40f28ce2bff2b7fc28ceeafc7772831746e7f89..4af54c3fa00602f9d0ce5cc4dca253d425048706 100755
index d93be2123e0f8c75dd6a0041ef164982db0860e4..4d9317527d46ac8c6d8066bfba707233053b8615 100755
--- a/tools/js2c.py
+++ b/tools/js2c.py
@@ -130,6 +130,14 @@ def NormalizeFileName(filename):
@@ -131,6 +131,14 @@ def NormalizeFileName(filename):
split = split[1:]
if len(split):
filename = '/'.join(split)

View File

@@ -35,10 +35,10 @@ index b45af42d12ff7df8a9e125e87f51af3456811c23..c84ff7feb07aebf656ada7e37d812d9d
async function* watch(filename, options = {}) {
const path = toNamespacedPath(getValidatedPath(filename));
diff --git a/src/node_native_module.cc b/src/node_native_module.cc
index f788732ae569d460a0e596397e589774ba4be4f1..186c24c0ba37781d8d9d0443d18b4f4bb0e02bef 100644
index 2642982330e8cff166d10682af3d847105dc5c2e..f5491b416203877b89db69bde44f4ff50901ed8b 100644
--- a/src/node_native_module.cc
+++ b/src/node_native_module.cc
@@ -19,6 +19,7 @@ NativeModuleLoader NativeModuleLoader::instance_;
@@ -20,6 +20,7 @@ NativeModuleLoader NativeModuleLoader::instance_;
NativeModuleLoader::NativeModuleLoader() : config_(GetConfig()) {
LoadJavaScriptSource();
@@ -59,11 +59,11 @@ index 3be3f2364dd252bcdd668c699a0e7ae1e754e873..b2af1bce312ffca44e7005e11f92327e
bool Exists(const char* id);
diff --git a/tools/js2c.py b/tools/js2c.py
index 4af54c3fa00602f9d0ce5cc4dca253d425048706..18f584473fb87f036ce2a67c5172cccaf0caaa5f 100755
index 4d9317527d46ac8c6d8066bfba707233053b8615..83225036208b68087a6066adf1d1948b84c5c234 100755
--- a/tools/js2c.py
+++ b/tools/js2c.py
@@ -38,6 +38,8 @@ import functools
import codecs
@@ -39,6 +39,8 @@ import codecs
import utils
def ReadFile(filename):
+ if filename.startswith("//v8"):
@@ -71,7 +71,7 @@ index 4af54c3fa00602f9d0ce5cc4dca253d425048706..18f584473fb87f036ce2a67c5172ccca
if is_verbose:
print(filename)
with codecs.open(filename, "r", "utf-8") as f:
@@ -56,13 +58,15 @@ namespace native_module {{
@@ -57,13 +59,15 @@ namespace native_module {{
{0}
@@ -89,7 +89,7 @@ index 4af54c3fa00602f9d0ce5cc4dca253d425048706..18f584473fb87f036ce2a67c5172ccca
}} // namespace native_module
@@ -112,8 +116,8 @@ def GetDefinition(var, source, step=30):
@@ -113,8 +117,8 @@ def GetDefinition(var, source, step=30):
return definition, len(code_points)
@@ -100,7 +100,7 @@ index 4af54c3fa00602f9d0ce5cc4dca253d425048706..18f584473fb87f036ce2a67c5172ccca
name = NormalizeFileName(filename)
slug = SLUGGER_RE.sub('_', name)
var = slug + '_raw'
@@ -123,7 +127,9 @@ def AddModule(filename, definitions, initializers):
@@ -124,7 +128,9 @@ def AddModule(filename, definitions, initializers):
initializers.append(initializer)
def NormalizeFileName(filename):
@@ -111,7 +111,7 @@ index 4af54c3fa00602f9d0ce5cc4dca253d425048706..18f584473fb87f036ce2a67c5172ccca
if split[0] == 'deps':
split = ['internal'] + split
else: # `lib/**/*.js` so drop the 'lib' part
@@ -141,23 +147,36 @@ def NormalizeFileName(filename):
@@ -142,23 +148,36 @@ def NormalizeFileName(filename):
return os.path.splitext(filename)[0]
@@ -157,23 +157,24 @@ index 4af54c3fa00602f9d0ce5cc4dca253d425048706..18f584473fb87f036ce2a67c5172ccca
write_if_chaged(out, target)
@@ -213,18 +232,21 @@ def main():
)
parser.add_argument('--target', help='output file')
@@ -218,6 +237,7 @@ def main():
default=None,
help='input file directory')
parser.add_argument('--verbose', action='store_true', help='output file')
+ parser.add_argument('--only-js', action='store_true', help='do not require or parse any config.gypi files')
parser.add_argument('sources', nargs='*', help='input files')
options = parser.parse_args()
global is_verbose
is_verbose = options.verbose
source_files = functools.reduce(SourceFileByExt, options.sources, {})
@@ -230,12 +250,15 @@ def main():
source_files = functools.reduce(SourceFileByExt, sources, {})
- # Should have exactly 3 types: `.js`, `.mjs` and `.gypi`
- assert len(source_files) == 3
- # Currently config.gypi is the only `.gypi` file allowed
- assert source_files['.gypi'] == ['config.gypi']
- source_files['config.gypi'] = source_files.pop('.gypi')[0]
- JS2C(source_files, options.target)
-
+ if options.only_js:
+ assert len(source_files) == 1
+ else:
@@ -184,5 +185,5 @@ index 4af54c3fa00602f9d0ce5cc4dca253d425048706..18f584473fb87f036ce2a67c5172ccca
+ source_files['config.gypi'] = source_files.pop('.gypi')[0]
+ JS2C(source_files, options.target, options.only_js)
if __name__ == "__main__":
main()

View File

@@ -8,10 +8,10 @@ they use themselves as the entry point. We should try to upstream some form
of this.
diff --git a/lib/internal/bootstrap/pre_execution.js b/lib/internal/bootstrap/pre_execution.js
index f7e9ffa74a4f19caa96680b3c955937f7ab31ea0..d1fb880f5f904909a1535f8253ab0b29203304bf 100644
index c90a19d5eed72a55cb9ee89dd2471a32a30c1377..68a52e1ce1f0a2bf4fc2b19ea735948cf6586e06 100644
--- a/lib/internal/bootstrap/pre_execution.js
+++ b/lib/internal/bootstrap/pre_execution.js
@@ -102,10 +102,12 @@ function patchProcessObject(expandArgv1) {
@@ -103,10 +103,12 @@ function patchProcessObject(expandArgv1) {
if (expandArgv1 && process.argv[1] &&
!StringPrototypeStartsWith(process.argv[1], '-')) {
// Expand process.argv[1] into a full path.

View File

@@ -7,7 +7,7 @@ This is used so that we can modify the flag at runtime where
config can only be set at compile time.
diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js
index 8b70f79d2b278f2f6b15abc2eba5045b1ca503b4..bfc6edfae4b4b4f8b7ee2a97209e1801d7c2d4c9 100644
index ef06d0563fa7452348754418867a56c9b8c6f4e1..a313402f93937cf2f1f93eb74422d9609e291d76 100644
--- a/lib/internal/bootstrap/node.js
+++ b/lib/internal/bootstrap/node.js
@@ -193,7 +193,7 @@ const {

View File

@@ -8,7 +8,7 @@ node modules will have different (wrong) ideas about how v8 structs are laid
out in memory on 64-bit machines, and will summarily fail to work.
diff --git a/common.gypi b/common.gypi
index 9481fdb6dd4628833e60ae7099f03eca41edd057..60789d5553352563eb41a341860df70175153e4c 100644
index 65729132b233dc5801f142f05a00253ac951e66a..e717a0b76513401daee6910502ea580485a20612 100644
--- a/common.gypi
+++ b/common.gypi
@@ -64,7 +64,7 @@

View File

@@ -24,7 +24,7 @@ Environment on the V8 context of blink, so no new V8 context is created.
As a result, a renderer process may have multiple Node Environments in it.
diff --git a/src/node.cc b/src/node.cc
index b60be116b6139bd4b7c10485bfdad2c1b905c995..c9d491f01651ef57fb793dda108469cb7ddccc5c 100644
index 3ee25ebbd67a01d607456e5158c98ca2fdea396b..6302bb925339d709a54151a8fc8b58f1a2253881 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -139,6 +139,8 @@ using v8::Undefined;

View File

@@ -6,10 +6,10 @@ Subject: feat: initialize asar support
This patch initializes asar support in Node.js.
diff --git a/lib/internal/bootstrap/pre_execution.js b/lib/internal/bootstrap/pre_execution.js
index 83ccfe90c110657f54e068d522c3a75c7f19c75a..f7e9ffa74a4f19caa96680b3c955937f7ab31ea0 100644
index 3b69844dc4ea0c4e17a74ea514c4f0dc390e3a61..c90a19d5eed72a55cb9ee89dd2471a32a30c1377 100644
--- a/lib/internal/bootstrap/pre_execution.js
+++ b/lib/internal/bootstrap/pre_execution.js
@@ -74,6 +74,7 @@ function prepareMainThreadExecution(expandArgv1 = false) {
@@ -75,6 +75,7 @@ function prepareMainThreadExecution(expandArgv1 = false) {
assert(!CJSLoader.hasLoadedAnyUserCJSModule);
loadPreloadModules();
initializeFrozenIntrinsics();
@@ -17,7 +17,7 @@ index 83ccfe90c110657f54e068d522c3a75c7f19c75a..f7e9ffa74a4f19caa96680b3c955937f
}
function patchProcessObject(expandArgv1) {
@@ -469,6 +470,10 @@ function loadPreloadModules() {
@@ -475,6 +476,10 @@ function loadPreloadModules() {
}
}

View File

@@ -9,10 +9,10 @@ errors. This is remedied by adding a small timeout to the test.
We'll either upstream this or figure out a better solution.
diff --git a/test/sequential/test-debugger-address.js b/test/sequential/test-debugger-address.js
index ff31747016c2d49ac87fa272eba3231e9d4fbae5..e4f7b13aad3c60100e56df00165d1af550f1a117 100644
--- a/test/sequential/test-debugger-address.js
+++ b/test/sequential/test-debugger-address.js
diff --git a/test/parallel/test-debugger-address.js b/test/parallel/test-debugger-address.js
index 95dd1c6e3f82835d5ccaf65544d654b71efaa392..ed8dccf91247068455dd593bb3e8c02bddc89ae5 100644
--- a/test/parallel/test-debugger-address.js
+++ b/test/parallel/test-debugger-address.js
@@ -59,6 +59,7 @@ function launchTarget(...args) {
cli = startCLI([`${host || '127.0.0.1'}:${port}`]);
return cli.waitForPrompt();
@@ -22,14 +22,14 @@ index ff31747016c2d49ac87fa272eba3231e9d4fbae5..e4f7b13aad3c60100e56df00165d1af5
.then(() => cli.waitFor(/break/))
.then(() => cli.waitForPrompt())
diff --git a/test/sequential/test-debugger-pid.js b/test/sequential/test-debugger-pid.js
index 97de9f40369d2d1df9674c6df5bbaf78022667c6..3d51a8963ba24e5e5f6a64cd792859535670dd9a 100644
index 402c1f86dd4ed99b413eca5fce8a2db47797b11a..74ef0a1618ccf1f6671bbe2a03548eee6cd0b88c 100644
--- a/test/sequential/test-debugger-pid.js
+++ b/test/sequential/test-debugger-pid.js
@@ -38,6 +38,7 @@ function launchTarget(...args) {
cli = startCLI(['-p', `${target.pid}`]);
return cli.waitForPrompt();
})
+ .then(() => new Promise(resolve => setTimeout(resolve, 1000)))
@@ -41,6 +41,7 @@ function launchTarget(...args) {
.then(() => cli.command('sb("alive.js", 3)'))
.then(() => cli.waitFor(/break/))
.then(() => cli.waitForPrompt())
+ .then(() => new Promise(resolve => setTimeout(resolve, 1000)))
.then(() => {
assert.match(
cli.output,

View File

@@ -7,7 +7,7 @@ common.gypi is a file that's included in the node header bundle, despite
the fact that we do not build node with gyp.
diff --git a/common.gypi b/common.gypi
index aa42c69f96391b72e5e3cbada27fd662cb0cc69d..9481fdb6dd4628833e60ae7099f03eca41edd057 100644
index 71862791dae3be5f05fbe00b91df6240473debb1..65729132b233dc5801f142f05a00253ac951e66a 100644
--- a/common.gypi
+++ b/common.gypi
@@ -81,6 +81,23 @@

View File

@@ -6,7 +6,7 @@ Subject: fix: add v8_enable_reverse_jsargs defines in common.gypi
This can be removed once node upgrades V8 and inevitably has to do this exact same thing. Also hi node people if you are looking at this.
diff --git a/common.gypi b/common.gypi
index 60789d5553352563eb41a341860df70175153e4c..9067a6a27606099ec5decbc4cd74283fced77711 100644
index e717a0b76513401daee6910502ea580485a20612..e7c50b5e46624b537de3ffed51fc21a15b666dc8 100644
--- a/common.gypi
+++ b/common.gypi
@@ -65,6 +65,7 @@

View File

@@ -51,10 +51,10 @@ index b3b1ea908253b9240cc37931f34b2a8c8c9fa3ab..dc37298aa0e13bb79030123f38070d02
return emit_filehandle_warning_;
}
diff --git a/src/env.h b/src/env.h
index 7b136f70fbad1e0a90406add90d5e538577e2a2b..eaf8a17c99aa6a4135c54616f68b15e0620e4378 100644
index e1b89261fcb1e94220424aae2273db9fba010331..45210f074a0ca4d57f9fdc5019e8e82540b28b72 100644
--- a/src/env.h
+++ b/src/env.h
@@ -1197,6 +1197,7 @@ class Environment : public MemoryRetainer {
@@ -1199,6 +1199,7 @@ class Environment : public MemoryRetainer {
inline bool owns_process_state() const;
inline bool owns_inspector() const;
inline bool tracks_unmanaged_fds() const;

View File

@@ -428,19 +428,6 @@ index cae9301517c37c7e90292d71fe5a6086cf55e0be..b9bc86e4d8b897cec583dea16f64f680
};
}
diff --git a/test/parallel/test-crypto-ecdh-convert-key.js b/test/parallel/test-crypto-ecdh-convert-key.js
index f4d5a651ed6b888d3527a462ab5fccee58ea48b6..c0046099df9ec0c7a33ed9baa2127da849871001 100644
--- a/test/parallel/test-crypto-ecdh-convert-key.js
+++ b/test/parallel/test-crypto-ecdh-convert-key.js
@@ -117,7 +117,7 @@ if (getCurves().includes('secp256k1')) {
// rather than Node's generic error message.
const badKey = 'f'.repeat(128);
assert.throws(
- () => ECDH.convertKey(badKey, 'secp256k1', 'hex', 'hex', 'compressed'),
+ () => ECDH.convertKey(badKey, 'secp521r1', 'hex', 'hex', 'compressed'),
/Failed to convert Buffer to EC_POINT/);
// Next statement should not throw an exception.
diff --git a/test/parallel/test-crypto-getcipherinfo.js b/test/parallel/test-crypto-getcipherinfo.js
index 98d2a52eceac4bc564fd2878f77b50c336a67a66..bcb2de6e354c26816000f2400d9c1d46de01888a 100644
--- a/test/parallel/test-crypto-getcipherinfo.js

View File

@@ -186,19 +186,6 @@ index 271db427fa8539feb30c1712574976fb1f623e91..b2b6af1f9e6db54bdff0be7a567255f4
if (EVP_PKEY_paramgen(param_ctx.get(), &raw_params) <= 0)
return EVPKeyCtxPointer();
diff --git a/src/crypto/crypto_ec.cc b/src/crypto/crypto_ec.cc
index ea4c70ad5d8c844860ba3480fc7ef4205f0a3cdc..cdf8dd47d6e2a5894066cec01fbe347af079ec22 100644
--- a/src/crypto/crypto_ec.cc
+++ b/src/crypto/crypto_ec.cc
@@ -314,7 +314,7 @@ void ECDH::SetPrivateKey(const FunctionCallbackInfo<Value>& args) {
return THROW_ERR_CRYPTO_OPERATION_FAILED(env,
"Failed to set generated public key");
- EC_KEY_copy(ecdh->key_.get(), new_key.get());
+ ecdh->key_.reset(EC_KEY_dup(new_key.get()));
ecdh->group_ = EC_KEY_get0_group(ecdh->key_.get());
}
diff --git a/src/crypto/crypto_hkdf.cc b/src/crypto/crypto_hkdf.cc
index 0aa96ada47abe4b66fb616c665101278bbe0afb6..1e9a4863c5faea5f6b275483ca16f3a6e8dac25b 100644
--- a/src/crypto/crypto_hkdf.cc
@@ -248,26 +235,10 @@ index 7b113a8dcb06b0b0e1329ce0daf7305598ea6545..b04e53a7f24885ffb6639430988d0ffb
const EC_KEY* ec_key = EVP_PKEY_get0_EC_KEY(pkey.get());
const EC_GROUP* ec_group = EC_KEY_get0_group(ec_key);
diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc
index 13c40dcb757661220288465c39101de0b4018e90..7d1d4400319292a8ddf3afe013b5678f84c25576 100644
index f18304cd655842e999a39659315c4eb3ce1c0c6e..1aed0e7e88460cea63950f71dac502829d662cff 100644
--- a/src/crypto/crypto_util.cc
+++ b/src/crypto/crypto_util.cc
@@ -139,7 +139,6 @@ void InitCryptoOnce() {
OPENSSL_init_ssl(0, settings);
OPENSSL_INIT_free(settings);
settings = nullptr;
-#endif
#ifndef _WIN32
if (per_process::cli_options->secure_heap != 0) {
@@ -160,6 +159,7 @@ void InitCryptoOnce() {
}
#endif
+#endif
// Turn off compression. Saves memory and protects against CRIME attacks.
// No-op with OPENSSL_NO_COMP builds of OpenSSL.
sk_SSL_COMP_zero(SSL_COMP_get_compression_methods());
@@ -490,24 +490,14 @@ Maybe<bool> Decorate(Environment* env, Local<Object> obj,
@@ -491,24 +491,14 @@ Maybe<bool> Decorate(Environment* env, Local<Object> obj,
V(BIO) \
V(PKCS7) \
V(X509V3) \
@@ -292,7 +263,7 @@ index 13c40dcb757661220288465c39101de0b4018e90..7d1d4400319292a8ddf3afe013b5678f
V(USER) \
#define V(name) case ERR_LIB_##name: lib = #name "_"; break;
@@ -667,7 +657,7 @@ void SecureBuffer(const FunctionCallbackInfo<Value>& args) {
@@ -668,7 +658,7 @@ void SecureBuffer(const FunctionCallbackInfo<Value>& args) {
CHECK(args[0]->IsUint32());
Environment* env = Environment::GetCurrent(args);
uint32_t len = args[0].As<Uint32>()->Value();
@@ -301,7 +272,7 @@ index 13c40dcb757661220288465c39101de0b4018e90..7d1d4400319292a8ddf3afe013b5678f
if (data == nullptr) {
// There's no memory available for the allocation.
// Return nothing.
@@ -679,7 +669,7 @@ void SecureBuffer(const FunctionCallbackInfo<Value>& args) {
@@ -680,7 +670,7 @@ void SecureBuffer(const FunctionCallbackInfo<Value>& args) {
data,
len,
[](void* data, size_t len, void* deleter_data) {
@@ -310,7 +281,7 @@ index 13c40dcb757661220288465c39101de0b4018e90..7d1d4400319292a8ddf3afe013b5678f
},
data);
Local<ArrayBuffer> buffer = ArrayBuffer::New(env->isolate(), store);
@@ -687,10 +677,12 @@ void SecureBuffer(const FunctionCallbackInfo<Value>& args) {
@@ -688,10 +678,12 @@ void SecureBuffer(const FunctionCallbackInfo<Value>& args) {
}
void SecureHeapUsed(const FunctionCallbackInfo<Value>& args) {
@@ -337,19 +308,6 @@ index ac95612a0b1a856d7fe07efde59786e811f1b98d..aa62753d7c929027f5265fa4330b0429
#include <openssl/rsa.h>
#include <openssl/dsa.h>
#include <openssl/ssl.h>
diff --git a/src/node.cc b/src/node.cc
index c9d491f01651ef57fb793dda108469cb7ddccc5c..6a55535b5c6ef72b1cdb366299840a2e78643911 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -1035,7 +1035,7 @@ InitializationResult InitializeOncePerProcess(
}
if (init_flags & kInitOpenSSL) {
-#if HAVE_OPENSSL
+#if HAVE_OPENSSL && !defined(OPENSSL_IS_BORINGSSL)
{
std::string extra_ca_certs;
if (credentials::SafeGetenv("NODE_EXTRA_CA_CERTS", &extra_ca_certs))
diff --git a/src/node_metadata.h b/src/node_metadata.h
index 4486d5af2c1622c7c8f44401dc3ebb986d8e3c2e..db1769f1b3f1617ed8dbbea57b5e324183b42be2 100644
--- a/src/node_metadata.h

View File

@@ -7,10 +7,10 @@ This broke the build at some point. Does it still? We should probably remove
this patch and find out!
diff --git a/src/node_internals.h b/src/node_internals.h
index 31076551e70c46da2c32cafd7ac08aee91366537..d57c51ebcc3c9dda1ef41b10ee49453839781deb 100644
index 8f7929994f3243fbd58b47374dfcadafb1feda8f..c333dc3464d2a23437fa22659d38dd17b6678112 100644
--- a/src/node_internals.h
+++ b/src/node_internals.h
@@ -391,10 +391,11 @@ class TraceEventScope {
@@ -386,10 +386,11 @@ class TraceEventScope {
TraceEventScope(const char* category,
const char* name,
void* id) : category_(category), name_(name), id_(id) {

View File

@@ -7,7 +7,7 @@ We use this to allow node's 'fs' module to read from ASAR files as if they were
a real filesystem.
diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js
index 863d4ef5608bcebc9b49c3988509be9cfb18b6cd..8b70f79d2b278f2f6b15abc2eba5045b1ca503b4 100644
index 58f7396990dddb7dd4cf3d23fcdcc1d48f52623e..ef06d0563fa7452348754418867a56c9b8c6f4e1 100644
--- a/lib/internal/bootstrap/node.js
+++ b/lib/internal/bootstrap/node.js
@@ -62,6 +62,10 @@ setupBuffer();

View File

@@ -9,10 +9,10 @@ necessary for native modules to load.
Also, some fixes relating to mksnapshot on ARM.
diff --git a/BUILD.gn b/BUILD.gn
index 31c77a650d0fdc2cb3b0cf23815623b0962c6f40..2025fee23f0a11eaa0573c19b762280f8dcbae6a 100644
index 6189f4e0105c381df05856ceedc6d036baf470a7..4d76cf090c3f3c9add0f1104833642963d4ddbc2 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -544,7 +544,7 @@ config("internal_config") {
@@ -545,7 +545,7 @@ config("internal_config") {
":cppgc_header_features",
]
@@ -21,7 +21,7 @@ index 31c77a650d0fdc2cb3b0cf23815623b0962c6f40..2025fee23f0a11eaa0573c19b762280f
defines += [ "BUILDING_V8_SHARED" ]
}
}
@@ -5286,7 +5286,7 @@ if (current_toolchain == v8_generator_toolchain) {
@@ -5292,7 +5292,7 @@ if (current_toolchain == v8_generator_toolchain) {
"src/interpreter/bytecodes.h",
]
@@ -30,7 +30,7 @@ index 31c77a650d0fdc2cb3b0cf23815623b0962c6f40..2025fee23f0a11eaa0573c19b762280f
deps = [
":v8_libbase",
@@ -5324,6 +5324,8 @@ if (current_toolchain == v8_snapshot_toolchain) {
@@ -5330,6 +5330,8 @@ if (current_toolchain == v8_snapshot_toolchain) {
configs = [ ":internal_config" ]

View File

@@ -6,7 +6,7 @@ Subject: dcheck.patch
https://github.com/auchenberg/volkswagen
diff --git a/src/api/api.cc b/src/api/api.cc
index 5880ca6e4806c8fefde88e94bea79314261a3fcb..f48c9fdfd8022eb32c73149945ab88822ef00f75 100644
index 944535a4748921bfbf9bdcb2e3cc2aa8048e5278..875d238c1da429cc4ba007c7e90a2d1e07196169 100644
--- a/src/api/api.cc
+++ b/src/api/api.cc
@@ -8788,7 +8788,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
@@ -19,10 +19,10 @@ index 5880ca6e4806c8fefde88e94bea79314261a3fcb..f48c9fdfd8022eb32c73149945ab8882
isolate->default_microtask_queue()->PerformCheckpoint(this);
}
diff --git a/src/heap/heap.cc b/src/heap/heap.cc
index 3252e14c78e4803e109960de36498066af9fe8ca..c0a5acd2c6c7dbfae08c6910ae6519e3c8afd326 100644
index 05dda00b56740b3ca0d5f5ced276cbbb6abe9f22..509e1f6a67f5b17df0e6e65e807c92a00abe00d5 100644
--- a/src/heap/heap.cc
+++ b/src/heap/heap.cc
@@ -5865,9 +5865,9 @@ void Heap::DeinitSharedSpaces() {
@@ -5874,9 +5874,9 @@ void Heap::DeinitSharedSpaces() {
void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback,
GCType gc_type, void* data) {
DCHECK_NOT_NULL(callback);

View File

@@ -12,10 +12,10 @@ This patch can be safely removed if, when it is removed, `node.lib` does not
contain any standard C++ library exports (e.g. `std::ostringstream`).
diff --git a/BUILD.gn b/BUILD.gn
index 5656954cb57f0e49d55bace7e9b2129398b22394..3a0f6a5f083a5691ad5e28cfa8e38748e133eeff 100644
index 321212be9127b1f892a30a51c6a0c3fe3d7ca394..ab5c79ec47ca24fb87fa76cb1c020a6177ce7dca 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -544,6 +544,10 @@ config("internal_config") {
@@ -545,6 +545,10 @@ config("internal_config") {
":cppgc_header_features",
]

View File

@@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch
Needed in order to target mksnapshot for mksnapshot zip.
diff --git a/BUILD.gn b/BUILD.gn
index 2025fee23f0a11eaa0573c19b762280f8dcbae6a..5656954cb57f0e49d55bace7e9b2129398b22394 100644
index 4d76cf090c3f3c9add0f1104833642963d4ddbc2..321212be9127b1f892a30a51c6a0c3fe3d7ca394 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -5298,7 +5298,6 @@ if (current_toolchain == v8_generator_toolchain) {
@@ -5304,7 +5304,6 @@ if (current_toolchain == v8_generator_toolchain) {
if (current_toolchain == v8_snapshot_toolchain) {
v8_executable("mksnapshot") {

View File

@@ -38,7 +38,7 @@ async function main () {
const cxxflags = [
'-std=c++14',
'-nostdinc++',
`-isystem"${path.resolve(BASE, 'buildtools', 'third_party', 'libc++')}"`,
'-D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS', // needed by next line
`-isystem"${path.resolve(BASE, 'buildtools', 'third_party', 'libc++', 'trunk', 'include')}"`,
`-isystem"${path.resolve(BASE, 'buildtools', 'third_party', 'libc++abi', 'trunk', 'include')}"`,
'-fPIC'

View File

@@ -15,6 +15,8 @@
"parallel/test-child-process-stdio-overlapped",
"parallel/test-cli-node-print-help",
"parallel/test-code-cache",
"parallel/test-cluster-bind-privileged-port",
"parallel/test-cluster-shared-handle-bind-privileged-port",
"parallel/test-crypto-aes-wrap",
"parallel/test-crypto-authenticated-stream",
"parallel/test-crypto-async-sign-verify",

View File

@@ -165,7 +165,7 @@ async function updateWinRC (components) {
// updates support.md file with new semver values (stable only)
async function updateSupported (version, filePath) {
const v = parseInt(version);
const newVersions = [`* ${v}.x.y`, `* ${v - 1}.x.y`, `* ${v - 2}.x.y`];
const newVersions = [`* ${v}.x.y`, `* ${v - 1}.x.y`, `* ${v - 2}.x.y`, `* ${v - 3}`];
const contents = await readFile(filePath, 'utf8');
const previousVersions = contents.split('\n').filter((elem) => {
return (/[^\n]*\.x\.y[^\n]*/).test(elem);

View File

@@ -13,7 +13,7 @@ const fail = '✗'.red;
const args = require('minimist')(process.argv, {
string: ['runners', 'target'],
boolean: ['buildNativeTests'],
boolean: ['buildNativeTests', 'runTestFilesSeperately'],
unknown: arg => unknownFlags.push(arg)
});
@@ -123,24 +123,55 @@ async function runElectronTests () {
}
}
async function runRemoteBasedElectronTests () {
async function runTestUsingElectron (specDir, testName) {
let exe = path.resolve(BASE, utils.getElectronExec());
const runnerArgs = ['electron/spec', ...unknownArgs.slice(2)];
const runnerArgs = [`electron/${specDir}`, ...unknownArgs.slice(2)];
if (process.platform === 'linux') {
runnerArgs.unshift(path.resolve(__dirname, 'dbus_mock.py'), exe);
exe = 'python3';
}
const { status } = childProcess.spawnSync(exe, runnerArgs, {
const { status, signal } = childProcess.spawnSync(exe, runnerArgs, {
cwd: path.resolve(__dirname, '../..'),
stdio: 'inherit'
});
if (status !== 0) {
const textStatus = process.platform === 'win32' ? `0x${status.toString(16)}` : status.toString();
console.log(`${fail} Electron tests failed with code ${textStatus}.`);
if (status) {
const textStatus = process.platform === 'win32' ? `0x${status.toString(16)}` : status.toString();
console.log(`${fail} Electron tests failed with code ${textStatus}.`);
} else {
console.log(`${fail} Electron tests failed with kill signal ${signal}.`);
}
process.exit(1);
}
console.log(`${pass} Electron remote process tests passed.`);
console.log(`${pass} Electron ${testName} process tests passed.`);
}
const specFilter = (file) => {
if (!/-spec\.[tj]s$/.test(file)) {
return false;
} else {
return true;
}
};
async function runTests (specDir, testName) {
if (args.runTestFilesSeperately) {
const getFiles = require('../spec/static/get-files');
const testFiles = await getFiles(path.resolve(__dirname, `../${specDir}`), { filter: specFilter });
const baseElectronDir = path.resolve(__dirname, '..');
unknownArgs.splice(unknownArgs.length, 0, '--files', '');
testFiles.sort().forEach(async (file) => {
unknownArgs.splice((unknownArgs.length - 1), 1, path.relative(baseElectronDir, file));
console.log(`Running tests for ${unknownArgs[unknownArgs.length - 1]}`);
await runTestUsingElectron(specDir, testName);
});
} else {
await runTestUsingElectron(specDir, testName);
}
}
async function runRemoteBasedElectronTests () {
await runTests('spec', 'remote');
}
async function runNativeElectronTests () {
@@ -195,27 +226,7 @@ async function runNativeElectronTests () {
}
async function runMainProcessElectronTests () {
let exe = path.resolve(BASE, utils.getElectronExec());
const runnerArgs = ['electron/spec-main', ...unknownArgs.slice(2)];
if (process.platform === 'linux') {
runnerArgs.unshift(path.resolve(__dirname, 'dbus_mock.py'), exe);
exe = 'python3';
}
const { status, signal } = childProcess.spawnSync(exe, runnerArgs, {
cwd: path.resolve(__dirname, '../..'),
stdio: 'inherit'
});
if (status !== 0) {
if (status) {
const textStatus = process.platform === 'win32' ? `0x${status.toString(16)}` : status.toString();
console.log(`${fail} Electron tests failed with code ${textStatus}.`);
} else {
console.log(`${fail} Electron tests failed with kill signal ${signal}.`);
}
process.exit(1);
}
console.log(`${pass} Electron main process tests passed.`);
await runTests('spec-main', 'main');
}
async function installSpecModules (dir) {

View File

@@ -123,7 +123,8 @@ bool ElectronPathProvider(int key, base::FilePath* result) {
case chrome::DIR_USER_DATA:
if (!base::PathService::Get(DIR_APP_DATA, &cur))
return false;
cur = cur.Append(base::FilePath::FromUTF8Unsafe(GetApplicationName()));
cur = cur.Append(base::FilePath::FromUTF8Unsafe(
GetPossiblyOverriddenApplicationName()));
create_dir = true;
break;
case DIR_CRASH_DUMPS:
@@ -153,7 +154,8 @@ bool ElectronPathProvider(int key, base::FilePath* result) {
#endif
if (!base::PathService::Get(parent_key, &cur))
return false;
cur = cur.Append(base::FilePath::FromUTF8Unsafe(GetApplicationName()));
cur = cur.Append(base::FilePath::FromUTF8Unsafe(
GetPossiblyOverriddenApplicationName()));
create_dir = true;
break;
}
@@ -178,7 +180,8 @@ bool ElectronPathProvider(int key, base::FilePath* result) {
return false;
cur = cur.Append(FILE_PATH_LITERAL("Library"));
cur = cur.Append(FILE_PATH_LITERAL("Logs"));
cur = cur.Append(base::FilePath::FromUTF8Unsafe(GetApplicationName()));
cur = cur.Append(base::FilePath::FromUTF8Unsafe(
GetPossiblyOverriddenApplicationName()));
#else
if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
return false;

View File

@@ -716,8 +716,9 @@ void App::OnDidFailToContinueUserActivity(const std::string& type,
void App::OnContinueUserActivity(bool* prevent_default,
const std::string& type,
const base::DictionaryValue& user_info) {
if (Emit("continue-activity", type, user_info)) {
const base::DictionaryValue& user_info,
const base::DictionaryValue& details) {
if (Emit("continue-activity", type, user_info, details)) {
*prevent_default = true;
}
}

View File

@@ -102,7 +102,8 @@ class App : public ElectronBrowserClient::Delegate,
const std::string& error) override;
void OnContinueUserActivity(bool* prevent_default,
const std::string& type,
const base::DictionaryValue& user_info) override;
const base::DictionaryValue& user_info,
const base::DictionaryValue& details) override;
void OnUserActivityWasContinued(
const std::string& type,
const base::DictionaryValue& user_info) override;

View File

@@ -91,6 +91,7 @@ void Initialize(v8::Local<v8::Object> exports,
gin_helper::Dictionary dict(isolate, exports);
dict.SetMethod("showMessageBoxSync", &ShowMessageBoxSync);
dict.SetMethod("showMessageBox", &ShowMessageBox);
dict.SetMethod("_closeMessageBox", &electron::CloseMessageBox);
dict.SetMethod("showErrorBox", &electron::ShowErrorBox);
dict.SetMethod("showOpenDialogSync", &ShowOpenDialogSync);
dict.SetMethod("showOpenDialog", &ShowOpenDialog);

View File

@@ -406,7 +406,7 @@ std::string SystemPreferences::GetSystemColor(gin_helper::ErrorThrower thrower,
return "";
}
return ToRGBHex(skia::NSSystemColorToSkColor(sysColor));
return ToRGBAHex(skia::NSSystemColorToSkColor(sysColor));
}
bool SystemPreferences::CanPromptTouchID() {

Some files were not shown because too many files have changed in this diff Show More