mirror of
https://github.com/electron/electron.git
synced 2026-02-19 03:14:51 -05:00
Compare commits
81 Commits
chore/buil
...
remove-Ada
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7fbadd9fe7 | ||
|
|
a5ec3f7476 | ||
|
|
be399f2fee | ||
|
|
b90de7d07e | ||
|
|
9460300506 | ||
|
|
3362db0655 | ||
|
|
2e2776611f | ||
|
|
1f4f1b4afc | ||
|
|
cb445b3bbd | ||
|
|
91626a8eac | ||
|
|
5390728cb7 | ||
|
|
074b9344b5 | ||
|
|
3faddd5ae2 | ||
|
|
7153008bfa | ||
|
|
f6b297a06a | ||
|
|
ede84fc327 | ||
|
|
2b07e6450c | ||
|
|
63114e2b8e | ||
|
|
df4564dc39 | ||
|
|
4f89c31956 | ||
|
|
25d77fd1ce | ||
|
|
d842d17ff3 | ||
|
|
ecd745305e | ||
|
|
2734088d20 | ||
|
|
4641bc9619 | ||
|
|
3f3c297c7a | ||
|
|
062d3a6168 | ||
|
|
f2240e07f0 | ||
|
|
0c103f390c | ||
|
|
27f6adf8df | ||
|
|
b03c71213e | ||
|
|
c2ab63f6d7 | ||
|
|
b92c68b053 | ||
|
|
450b2d0ba3 | ||
|
|
b40b4dc015 | ||
|
|
8fa7d324d1 | ||
|
|
7fa297a849 | ||
|
|
55505ba4df | ||
|
|
372cdb5dee | ||
|
|
973e5d0249 | ||
|
|
0171f648b1 | ||
|
|
74c4ae0b55 | ||
|
|
06a99d6770 | ||
|
|
1976e935e7 | ||
|
|
51dbe69e45 | ||
|
|
08318dc05d | ||
|
|
3e78bbde6a | ||
|
|
37f8db15e9 | ||
|
|
08b7a1f801 | ||
|
|
e9f279afd1 | ||
|
|
c7b0bdab7e | ||
|
|
686ae47696 | ||
|
|
dd03cceda0 | ||
|
|
d0e13cc262 | ||
|
|
858a93f886 | ||
|
|
e383eaa465 | ||
|
|
274b148554 | ||
|
|
7083419361 | ||
|
|
ac2c0c76fe | ||
|
|
3ad87787f8 | ||
|
|
ec8f7f185e | ||
|
|
f15fa56e38 | ||
|
|
297c4297b1 | ||
|
|
3a982ecad5 | ||
|
|
926a6ee8bd | ||
|
|
437542767a | ||
|
|
a29e1170b9 | ||
|
|
352a403efd | ||
|
|
e8117f8e40 | ||
|
|
32fea719b3 | ||
|
|
14df4aab83 | ||
|
|
24e46849c7 | ||
|
|
489d30edfb | ||
|
|
e748b521b2 | ||
|
|
51bffb533e | ||
|
|
62b5b5f99d | ||
|
|
a9b2ec514b | ||
|
|
3064b24c9d | ||
|
|
74d641c7b3 | ||
|
|
446d0769ed | ||
|
|
013133867b |
@@ -2,7 +2,7 @@ version: '3'
|
||||
|
||||
services:
|
||||
buildtools:
|
||||
image: ghcr.io/electron/devcontainer:9f11982e806f439d0a0a8ebbbf566cd5e0d9e952
|
||||
image: ghcr.io/electron/devcontainer:424eedbf277ad9749ffa9219068aa72ed4a5e373
|
||||
|
||||
volumes:
|
||||
- ..:/workspaces/gclient/src/electron:cached
|
||||
|
||||
8
.github/actions/checkout/action.yml
vendored
8
.github/actions/checkout/action.yml
vendored
@@ -179,3 +179,11 @@ runs:
|
||||
else
|
||||
echo "Cache key persisted in $final_cache_path"
|
||||
fi
|
||||
- name: Wait for active SSH sessions
|
||||
shell: bash
|
||||
if: always() && !cancelled()
|
||||
run: |
|
||||
while [ -f /var/.ssh-lock ]
|
||||
do
|
||||
sleep 60
|
||||
done
|
||||
|
||||
@@ -10,8 +10,10 @@ runs:
|
||||
git config --global core.filemode false
|
||||
git config --global core.autocrlf false
|
||||
git config --global branch.autosetuprebase always
|
||||
git config --global core.fscache true
|
||||
git config --global core.preloadindex true
|
||||
fi
|
||||
export BUILD_TOOLS_SHA=8246e57791b0af4ae5975eb96f09855f9269b1cd
|
||||
export BUILD_TOOLS_SHA=6e8526315ea3b4828882497e532b8340e64e053c
|
||||
npm i -g @electron/build-tools
|
||||
e auto-update disable
|
||||
e d auto-update disable
|
||||
|
||||
2
.github/workflows/archaeologist-dig.yml
vendored
2
.github/workflows/archaeologist-dig.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup Node.js/npm
|
||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
|
||||
with:
|
||||
node-version: 20.11.x
|
||||
- name: Setting Up Dig Site
|
||||
|
||||
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@@ -6,7 +6,7 @@ on:
|
||||
build-image-sha:
|
||||
type: string
|
||||
description: 'SHA for electron/build image'
|
||||
default: '9f11982e806f439d0a0a8ebbbf566cd5e0d9e952'
|
||||
default: '424eedbf277ad9749ffa9219068aa72ed4a5e373'
|
||||
required: true
|
||||
skip-macos:
|
||||
type: boolean
|
||||
@@ -64,7 +64,7 @@ jobs:
|
||||
id: set-output
|
||||
run: |
|
||||
if [ -z "${{ inputs.build-image-sha }}" ]; then
|
||||
echo "build-image-sha=9f11982e806f439d0a0a8ebbbf566cd5e0d9e952" >> "$GITHUB_OUTPUT"
|
||||
echo "build-image-sha=424eedbf277ad9749ffa9219068aa72ed4a5e373" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "build-image-sha=${{ inputs.build-image-sha }}" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
2
.github/workflows/linux-publish.yml
vendored
2
.github/workflows/linux-publish.yml
vendored
@@ -6,7 +6,7 @@ on:
|
||||
build-image-sha:
|
||||
type: string
|
||||
description: 'SHA for electron/build image'
|
||||
default: '9f11982e806f439d0a0a8ebbbf566cd5e0d9e952'
|
||||
default: '424eedbf277ad9749ffa9219068aa72ed4a5e373'
|
||||
upload-to-storage:
|
||||
description: 'Uploads to Azure storage'
|
||||
required: false
|
||||
|
||||
2
.github/workflows/macos-publish.yml
vendored
2
.github/workflows/macos-publish.yml
vendored
@@ -6,7 +6,7 @@ on:
|
||||
build-image-sha:
|
||||
type: string
|
||||
description: 'SHA for electron/build image'
|
||||
default: '9f11982e806f439d0a0a8ebbbf566cd5e0d9e952'
|
||||
default: '424eedbf277ad9749ffa9219068aa72ed4a5e373'
|
||||
required: true
|
||||
upload-to-storage:
|
||||
description: 'Uploads to Azure storage'
|
||||
|
||||
@@ -102,7 +102,7 @@ jobs:
|
||||
run: df -h
|
||||
- name: Setup Node.js/npm
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
|
||||
with:
|
||||
node-version: 20.11.x
|
||||
cache: yarn
|
||||
|
||||
@@ -79,7 +79,7 @@ jobs:
|
||||
cp "C:\Python311\python.exe" "C:\Python311\python3.exe"
|
||||
- name: Setup Node.js/npm
|
||||
if: ${{ inputs.target-platform == 'win' }}
|
||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
|
||||
with:
|
||||
node-version: 20.11.x
|
||||
- name: Add TCC permissions on macOS
|
||||
@@ -134,6 +134,8 @@ jobs:
|
||||
git config --global core.filemode false
|
||||
git config --global core.autocrlf false
|
||||
git config --global branch.autosetuprebase always
|
||||
git config --global core.fscache true
|
||||
git config --global core.preloadindex true
|
||||
git clone --filter=tree:0 https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
||||
# Ensure depot_tools does not update.
|
||||
test -d depot_tools && cd depot_tools
|
||||
@@ -147,12 +149,12 @@ jobs:
|
||||
echo "DISABLE_CRASH_REPORTER_TESTS=true" >> $GITHUB_ENV
|
||||
echo "IS_ASAN=true" >> $GITHUB_ENV
|
||||
- name: Download Generated Artifacts
|
||||
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: generated_artifacts_${{ env.ARTIFACT_KEY }}
|
||||
path: ./generated_artifacts_${{ matrix.build-type }}_${{ inputs.target-arch }}
|
||||
- name: Download Src Artifacts
|
||||
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: src_artifacts_${{ env.ARTIFACT_KEY }}
|
||||
path: ./src_artifacts_${{ matrix.build-type }}_${{ inputs.target-arch }}
|
||||
|
||||
@@ -61,12 +61,12 @@ jobs:
|
||||
- name: Install Dependencies
|
||||
uses: ./src/electron/.github/actions/install-dependencies
|
||||
- name: Download Generated Artifacts
|
||||
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: generated_artifacts_${{ env.BUILD_TYPE }}_${{ env.TARGET_ARCH }}
|
||||
path: ./generated_artifacts_${{ env.BUILD_TYPE }}_${{ env.TARGET_ARCH }}
|
||||
- name: Download Src Artifacts
|
||||
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: src_artifacts_linux_${{ env.TARGET_ARCH }}
|
||||
path: ./src_artifacts_linux_${{ env.TARGET_ARCH }}
|
||||
@@ -115,12 +115,12 @@ jobs:
|
||||
- name: Install Dependencies
|
||||
uses: ./src/electron/.github/actions/install-dependencies
|
||||
- name: Download Generated Artifacts
|
||||
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: generated_artifacts_${{ env.BUILD_TYPE }}_${{ env.TARGET_ARCH }}
|
||||
path: ./generated_artifacts_${{ env.BUILD_TYPE }}_${{ env.TARGET_ARCH }}
|
||||
- name: Download Src Artifacts
|
||||
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: src_artifacts_linux_${{ env.TARGET_ARCH }}
|
||||
path: ./src_artifacts_linux_${{ env.TARGET_ARCH }}
|
||||
|
||||
2
.github/workflows/windows-publish.yml
vendored
2
.github/workflows/windows-publish.yml
vendored
@@ -6,7 +6,7 @@ on:
|
||||
build-image-sha:
|
||||
type: string
|
||||
description: 'SHA for electron/build image'
|
||||
default: '9f11982e806f439d0a0a8ebbbf566cd5e0d9e952'
|
||||
default: '424eedbf277ad9749ffa9219068aa72ed4a5e373'
|
||||
required: true
|
||||
upload-to-storage:
|
||||
description: 'Uploads to Azure storage'
|
||||
|
||||
2
BUILD.gn
2
BUILD.gn
@@ -670,6 +670,8 @@ source_set("electron_lib") {
|
||||
sources += [
|
||||
"shell/browser/certificate_manager_model.cc",
|
||||
"shell/browser/certificate_manager_model.h",
|
||||
"shell/browser/linux/x11_util.cc",
|
||||
"shell/browser/linux/x11_util.h",
|
||||
"shell/browser/ui/gtk_util.cc",
|
||||
"shell/browser/ui/gtk_util.h",
|
||||
]
|
||||
|
||||
4
DEPS
4
DEPS
@@ -2,9 +2,9 @@ gclient_gn_args_from = 'src'
|
||||
|
||||
vars = {
|
||||
'chromium_version':
|
||||
'136.0.7095.0',
|
||||
'138.0.7160.0',
|
||||
'node_version':
|
||||
'v22.14.0',
|
||||
'v22.15.0',
|
||||
'nan_version':
|
||||
'e14bdcd1f72d62bca1d541b66da43130384ec213',
|
||||
'squirrel.mac_version':
|
||||
|
||||
@@ -2,7 +2,7 @@ is_electron_build = true
|
||||
root_extra_deps = [ "//electron" ]
|
||||
|
||||
# Registry of NMVs --> https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
|
||||
node_module_version = 135
|
||||
node_module_version = 136
|
||||
|
||||
v8_promise_internal_field_count = 1
|
||||
v8_embedder_string = "-electron.0"
|
||||
|
||||
@@ -85,6 +85,8 @@ static_library("chrome") {
|
||||
"//chrome/browser/process_singleton.h",
|
||||
"//chrome/browser/process_singleton_internal.cc",
|
||||
"//chrome/browser/process_singleton_internal.h",
|
||||
"//chrome/browser/serial/serial_blocklist.cc",
|
||||
"//chrome/browser/serial/serial_blocklist.h",
|
||||
"//chrome/browser/themes/browser_theme_pack.cc",
|
||||
"//chrome/browser/themes/browser_theme_pack.h",
|
||||
"//chrome/browser/themes/custom_theme_supplier.cc",
|
||||
@@ -144,6 +146,8 @@ static_library("chrome") {
|
||||
"//chrome/browser/ui/views/overlay/video_overlay_window_views.h",
|
||||
"//chrome/browser/ui/webui/accessibility/accessibility_ui.cc",
|
||||
"//chrome/browser/ui/webui/accessibility/accessibility_ui.h",
|
||||
"//chrome/browser/usb/usb_blocklist.cc",
|
||||
"//chrome/browser/usb/usb_blocklist.h",
|
||||
"//extensions/browser/app_window/size_constraints.cc",
|
||||
"//extensions/browser/app_window/size_constraints.h",
|
||||
"//ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.cc",
|
||||
|
||||
@@ -1490,7 +1490,7 @@ and internal requests made by the runtime (ex: geolocation queries).
|
||||
|
||||
This method can only be called after app is ready.
|
||||
|
||||
#### `app.resolveProxy(url)`
|
||||
### `app.resolveProxy(url)`
|
||||
|
||||
* `url` URL
|
||||
|
||||
|
||||
@@ -356,7 +356,7 @@ as `-webkit-app-region: drag` in a frameless window.
|
||||
|
||||
Calling `event.preventDefault()` will prevent the menu from being displayed.
|
||||
|
||||
To convert `point` to DIP, use [`screen.screenToDipPoint(point)`](./screen.md#screenscreentodippointpoint-windows).
|
||||
To convert `point` to DIP, use [`screen.screenToDipPoint(point)`](./screen.md#screenscreentodippointpoint-windows-linux).
|
||||
|
||||
### Static Methods
|
||||
|
||||
@@ -398,7 +398,7 @@ A `View` property for the content view of the window.
|
||||
|
||||
A `string` (optional) property that is equal to the `tabbingIdentifier` passed to the `BrowserWindow` constructor or `undefined` if none was set.
|
||||
|
||||
#### `win.autoHideMenuBar`
|
||||
#### `win.autoHideMenuBar` _Linux_ _Windows_
|
||||
|
||||
A `boolean` property that determines whether the window menu bar should hide itself automatically. Once set, the menu bar will only show when users press the single `Alt` key.
|
||||
|
||||
|
||||
@@ -435,7 +435,7 @@ as `-webkit-app-region: drag` in a frameless window.
|
||||
|
||||
Calling `event.preventDefault()` will prevent the menu from being displayed.
|
||||
|
||||
To convert `point` to DIP, use [`screen.screenToDipPoint(point)`](./screen.md#screenscreentodippointpoint-windows).
|
||||
To convert `point` to DIP, use [`screen.screenToDipPoint(point)`](./screen.md#screenscreentodippointpoint-windows-linux).
|
||||
|
||||
### Static Methods
|
||||
|
||||
@@ -499,7 +499,7 @@ A `Integer` property representing the unique ID of the window. Each ID is unique
|
||||
|
||||
A `string` (optional) property that is equal to the `tabbingIdentifier` passed to the `BrowserWindow` constructor or `undefined` if none was set.
|
||||
|
||||
#### `win.autoHideMenuBar`
|
||||
#### `win.autoHideMenuBar` _Linux_ _Windows_
|
||||
|
||||
A `boolean` property that determines whether the window menu bar should hide itself automatically. Once set, the menu bar will only show when users press the single `Alt` key.
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ The `menu` object has the following instance methods:
|
||||
* `options` Object (optional)
|
||||
* `window` [BaseWindow](base-window.md) (optional) - Default is the focused window.
|
||||
* `frame` [WebFrameMain](web-frame-main.md) (optional) - Provide the relevant frame
|
||||
if you want certain OS-level features such as Writing Tools on macOS to function correctly. Typically, this should be `params.frame` from the [`context-menu` event](web-contents.md#event-context-menu) on a WebContents.
|
||||
if you want certain OS-level features such as Writing Tools on macOS to function correctly. Typically, this should be `params.frame` from the [`context-menu` event](web-contents.md#event-context-menu) on a WebContents, or the [`focusedFrame` property](web-contents.md#contentsfocusedframe-readonly) of a WebContents.
|
||||
* `x` number (optional) - Default is the current mouse cursor position.
|
||||
Must be declared if `y` is declared.
|
||||
* `y` number (optional) - Default is the current mouse cursor position.
|
||||
|
||||
@@ -142,8 +142,8 @@ Note: The Windows implementation will ignore `size.height` and scale the height
|
||||
|
||||
Returns `NativeImage`
|
||||
|
||||
Creates a new `NativeImage` instance from a file located at `path`. This method
|
||||
returns an empty image if the `path` does not exist, cannot be read, or is not
|
||||
Creates a new `NativeImage` instance from an image file (e.g., PNG or JPEG) located at `path`.
|
||||
This method returns an empty image if the `path` does not exist, cannot be read, or is not
|
||||
a valid image.
|
||||
|
||||
```js
|
||||
@@ -271,16 +271,12 @@ changes:
|
||||
|
||||
Returns `string` - The [Data URL][data-url] of the image.
|
||||
|
||||
#### `image.getBitmap([options])`
|
||||
#### `image.getBitmap([options])` _Deprecated_
|
||||
|
||||
* `options` Object (optional)
|
||||
* `scaleFactor` Number (optional) - Defaults to 1.0.
|
||||
|
||||
Returns `Buffer` - A [Buffer][buffer] that contains the image's raw bitmap pixel data.
|
||||
|
||||
The difference between `getBitmap()` and `toBitmap()` is that `getBitmap()` does not
|
||||
copy the bitmap data, so you have to use the returned Buffer immediately in
|
||||
current event loop tick; otherwise the data might be changed or destroyed.
|
||||
Legacy alias for `image.toBitmap()`.
|
||||
|
||||
#### `image.getNativeHandle()` _macOS_
|
||||
|
||||
|
||||
@@ -63,6 +63,14 @@ Your application should then always use `shouldUseDarkColors` to determine what
|
||||
A `boolean` for if the OS / Chromium currently has high-contrast mode enabled
|
||||
or is being instructed to show a high-contrast UI.
|
||||
|
||||
### `nativeTheme.shouldUseDarkColorsForSystemIntegratedUI` _macOS_ _Windows_ _Readonly_
|
||||
|
||||
A `boolean` property indicating whether or not the system theme has been set to dark or light.
|
||||
|
||||
On Windows this property distinguishes between system and app light/dark theme, returning
|
||||
`true` if the system theme is set to dark theme and `false` otherwise. On macOS the return
|
||||
value will be the same as `nativeTheme.shouldUseDarkColors`.
|
||||
|
||||
### `nativeTheme.shouldUseInvertedColorScheme` _macOS_ _Windows_ _Readonly_
|
||||
|
||||
A `boolean` for if the OS / Chromium currently has an inverted color scheme
|
||||
|
||||
@@ -124,7 +124,7 @@ Returns [`Display`](structures/display.md) - The display nearest the specified p
|
||||
Returns [`Display`](structures/display.md) - The display that most closely
|
||||
intersects the provided bounds.
|
||||
|
||||
### `screen.screenToDipPoint(point)` _Windows_
|
||||
### `screen.screenToDipPoint(point)` _Windows_ _Linux_
|
||||
|
||||
* `point` [Point](structures/point.md)
|
||||
|
||||
@@ -133,7 +133,10 @@ Returns [`Point`](structures/point.md)
|
||||
Converts a screen physical point to a screen DIP point.
|
||||
The DPI scale is performed relative to the display containing the physical point.
|
||||
|
||||
### `screen.dipToScreenPoint(point)` _Windows_
|
||||
Not currently supported on Wayland - if used there it will return the point passed
|
||||
in with no changes.
|
||||
|
||||
### `screen.dipToScreenPoint(point)` _Windows_ _Linux_
|
||||
|
||||
* `point` [Point](structures/point.md)
|
||||
|
||||
@@ -142,6 +145,8 @@ Returns [`Point`](structures/point.md)
|
||||
Converts a screen DIP point to a screen physical point.
|
||||
The DPI scale is performed relative to the display containing the DIP point.
|
||||
|
||||
Not currently supported on Wayland.
|
||||
|
||||
### `screen.screenToDipRect(window, rect)` _Windows_
|
||||
|
||||
* `window` [BrowserWindow](browser-window.md) | null
|
||||
|
||||
@@ -58,8 +58,8 @@
|
||||
`false` on macOS. This option is not configurable on other platforms.
|
||||
* `disableAutoHideCursor` boolean (optional) - Whether to hide cursor when typing.
|
||||
Default is `false`.
|
||||
* `autoHideMenuBar` boolean (optional) - Auto hide the menu bar unless the `Alt`
|
||||
key is pressed. Default is `false`.
|
||||
* `autoHideMenuBar` boolean (optional) _Linux_ _Windows_ - Auto hide the menu bar
|
||||
unless the `Alt` key is pressed. Default is `false`.
|
||||
* `enableLargerThanScreen` boolean (optional) _macOS_ - Enable the window to
|
||||
be resized larger than screen. Only relevant for macOS, as other OSes
|
||||
allow larger-than-screen windows by default. Default is `false`.
|
||||
|
||||
@@ -887,7 +887,7 @@ const { BrowserWindow } = require('electron')
|
||||
|
||||
const win = new BrowserWindow({ webPreferences: { offscreen: true } })
|
||||
win.webContents.on('paint', (event, dirty, image) => {
|
||||
// updateBitmap(dirty, image.getBitmap())
|
||||
// updateBitmap(dirty, image.toBitmap())
|
||||
})
|
||||
win.loadURL('https://github.com')
|
||||
```
|
||||
|
||||
@@ -14,6 +14,25 @@ This document uses the following convention to categorize breaking changes:
|
||||
|
||||
## Planned Breaking API Changes (37.0)
|
||||
|
||||
### Utility Process unhandled rejection behavior change
|
||||
|
||||
Utility Processes will now warn with an error message when an unhandled
|
||||
rejection occurs instead of crashing the process.
|
||||
|
||||
To restore the previous behavior, you can use:
|
||||
|
||||
```js
|
||||
process.on('unhandledRejection', () => {
|
||||
process.exit(1)
|
||||
})
|
||||
```
|
||||
|
||||
### Behavior Changed: WebUSB and WebSerial Blocklist Support
|
||||
|
||||
[WebUSB](https://developer.mozilla.org/en-US/docs/Web/API/WebUSB_API) and [Web Serial](https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API) now support the [WebUSB Blocklist](https://wicg.github.io/webusb/#blocklist) and [Web Serial Blocklist](https://wicg.github.io/serial/#blocklist) used by Chromium and outlined in their respective specifications.
|
||||
|
||||
To disable these, users can pass `disable-usb-blocklist` and `disable-serial-blocklist` as command line flags.
|
||||
|
||||
### Removed: `null` value for `session` property in `ProtocolResponse`
|
||||
|
||||
This deprecated feature has been removed.
|
||||
@@ -31,6 +50,8 @@ and then using it in `ProtocolResponse.session`.
|
||||
`BrowserWindow.IsVisibleOnAllWorkspaces()` will now return false on Linux if the
|
||||
window is not currently visible.
|
||||
|
||||
## Planned Breaking API Changes (36.0)
|
||||
|
||||
### Behavior Changes: `app.commandLine`
|
||||
|
||||
`app.commandLine` will convert upper-cases switches and arguments to lowercase.
|
||||
@@ -39,19 +60,17 @@ window is not currently visible.
|
||||
|
||||
If you were using `app.commandLine` to control the behavior of the main process, you should do this via `process.argv`.
|
||||
|
||||
## Planned Breaking API Changes (36.0)
|
||||
### Deprecated: `NativeImage.getBitmap()`
|
||||
|
||||
### Utility Process unhandled rejection behavior change
|
||||
`NativeImage.toBitmap()` returns a newly-allocated copy of the bitmap. `NativeImage.getBitmap()` was originally an alternative function that returned the original instead of a copy. This changed when sandboxing was introduced, so both return a copy and are functionally equivalent.
|
||||
|
||||
Utility Processes will now warn with an error message when an unhandled
|
||||
rejection occurs instead of crashing the process.
|
||||
|
||||
To restore the previous behavior, you can use:
|
||||
Client code should call `NativeImage.toBitmap()` instead:
|
||||
|
||||
```js
|
||||
process.on('unhandledRejection', () => {
|
||||
process.exit(1)
|
||||
})
|
||||
// Deprecated
|
||||
bitmap = image.getBitmap()
|
||||
// Use this instead
|
||||
bitmap = image.toBitmap()
|
||||
```
|
||||
|
||||
### Removed: `isDefault` and `status` properties on `PrinterInfo`
|
||||
@@ -96,6 +115,24 @@ It has been always returning `true` since Electron 23, which only supports Windo
|
||||
|
||||
https://learn.microsoft.com/en-us/windows/win32/dwm/composition-ovw#disabling-dwm-composition-windows7-and-earlier
|
||||
|
||||
### Changed: GTK 4 is default when running GNOME
|
||||
|
||||
After an [upstream change](https://chromium-review.googlesource.com/c/chromium/src/+/6310469), GTK 4 is now the default when running GNOME.
|
||||
|
||||
In rare cases, this may cause some applications or configurations to [error](https://github.com/electron/electron/issues/46538) with the following message:
|
||||
|
||||
```stderr
|
||||
Gtk-ERROR **: 11:30:38.382: GTK 2/3 symbols detected. Using GTK 2/3 and GTK 4 in the same process is not supported
|
||||
```
|
||||
|
||||
Affected users can work around this by specifying the `gtk-version` command-line flag:
|
||||
|
||||
```shell
|
||||
$ electron --gtk-version=3 # or --gtk-version=2
|
||||
```
|
||||
|
||||
The same can be done with the [`app.commandLine.appendSwitch`](https://www.electronjs.org/docs/latest/api/command-line#commandlineappendswitchswitch-value) function.
|
||||
|
||||
## Planned Breaking API Changes (35.0)
|
||||
|
||||
### Behavior Changed: Dialog API's `defaultPath` option on Linux
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
const { app, BrowserWindow, ipcMain } = require('electron/main')
|
||||
const path = require('node:path')
|
||||
|
||||
function handleSetTitle (event, title) {
|
||||
const webContents = event.sender
|
||||
const win = BrowserWindow.fromWebContents(webContents)
|
||||
win.setTitle(title)
|
||||
}
|
||||
|
||||
function createWindow () {
|
||||
const mainWindow = new BrowserWindow({
|
||||
webPreferences: {
|
||||
@@ -8,16 +14,11 @@ function createWindow () {
|
||||
}
|
||||
})
|
||||
|
||||
ipcMain.on('set-title', (event, title) => {
|
||||
const webContents = event.sender
|
||||
const win = BrowserWindow.fromWebContents(webContents)
|
||||
win.setTitle(title)
|
||||
})
|
||||
|
||||
mainWindow.loadFile('index.html')
|
||||
}
|
||||
|
||||
app.whenReady().then(() => {
|
||||
ipcMain.on('set-title', handleSetTitle)
|
||||
createWindow()
|
||||
|
||||
app.on('activate', function () {
|
||||
|
||||
@@ -37,7 +37,6 @@ the illusion of a circular window.
|
||||
open on the user's system).
|
||||
* The window will not be transparent when DevTools is opened.
|
||||
* On _Windows_:
|
||||
* Transparent windows will not work when DWM is disabled.
|
||||
* Transparent windows can not be maximized using the Windows system menu or by double
|
||||
clicking the title bar. The reasoning behind this can be seen on
|
||||
PR [#28207](https://github.com/electron/electron/pull/28207).
|
||||
|
||||
@@ -57,7 +57,7 @@ the WebHID API:
|
||||
|
||||
### Blocklist
|
||||
|
||||
By default Electron employs the same [blocklist](https://github.com/WICG/webhid/blob/main/blocklist.txt)
|
||||
By default Electron employs the same [blocklist](https://wicg.github.io/webhid/#blocklist)
|
||||
used by Chromium. If you wish to override this behavior, you can do so by
|
||||
setting the `disable-hid-blocklist` flag:
|
||||
|
||||
@@ -104,6 +104,16 @@ There are several additional APIs for working with the Web Serial API:
|
||||
* [`ses.setPermissionCheckHandler(handler)`](../api/session.md#sessetpermissioncheckhandlerhandler)
|
||||
can be used to disable serial access for specific origins.
|
||||
|
||||
### Blocklist
|
||||
|
||||
By default Electron employs the same [blocklist](https://wicg.github.io/serial/#blocklist)
|
||||
used by Chromium. If you wish to override this behavior, you can do so by
|
||||
setting the `disable-serial-blocklist` flag:
|
||||
|
||||
```js
|
||||
app.commandLine.appendSwitch('disable-serial-blocklist')
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
This example demonstrates an Electron application that automatically selects
|
||||
@@ -145,6 +155,16 @@ Electron provides several APIs for working with the WebUSB API:
|
||||
* [`ses.setUSBProtectedClassesHandler](../api/session.md#sessetusbprotectedclasseshandlerhandler)
|
||||
can be used to allow usage of [protected USB classes](https://wicg.github.io/webusb/#usbinterface-interface) that are not available by default.
|
||||
|
||||
### Blocklist
|
||||
|
||||
By default Electron employs the same [blocklist](https://wicg.github.io/webusb/#blocklist)
|
||||
used by Chromium. If you wish to override this behavior, you can do so by
|
||||
setting the `disable-usb-blocklist` flag:
|
||||
|
||||
```js
|
||||
app.commandLine.appendSwitch('disable-usb-blocklist')
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
This example demonstrates an Electron application that automatically selects
|
||||
|
||||
@@ -9,10 +9,11 @@ check out our [Electron Versioning](./electron-versioning.md) doc.
|
||||
|
||||
| Electron | Alpha | Beta | Stable | EOL | Chrome | Node | Supported |
|
||||
| ------- | ----- | ------- | ------ | ------ | ---- | ---- | ---- |
|
||||
| 36.0.0 | 2025-Mar-06 | 2025-Apr-02 | 2025-Apr-29 | 2025-Oct-28 | M136 | TBD | ✅ |
|
||||
| 37.0.0 | 2025-May-01 | 2025-May-28 | 2025-Jun-24 | 2026-Jan-13 | M138 | TBD | ✅ |
|
||||
| 36.0.0 | 2025-Mar-06 | 2025-Apr-02 | 2025-Apr-29 | 2025-Oct-28 | M136 | v22.14 | ✅ |
|
||||
| 35.0.0 | 2025-Jan-16 | 2025-Feb-05 | 2025-Mar-04 | 2025-Sep-02 | M134 | v22.14 | ✅ |
|
||||
| 34.0.0 | 2024-Oct-17 | 2024-Nov-13 | 2025-Jan-14 | 2025-Jun-24 | M132 | v20.18 | ✅ |
|
||||
| 33.0.0 | 2024-Aug-22 | 2024-Sep-18 | 2024-Oct-15 | 2025-Apr-29 | M130 | v20.18 | ✅ |
|
||||
| 33.0.0 | 2024-Aug-22 | 2024-Sep-18 | 2024-Oct-15 | 2025-Apr-29 | M130 | v20.18 | 🚫 |
|
||||
| 32.0.0 | 2024-Jun-14 | 2024-Jul-24 | 2024-Aug-20 | 2025-Mar-04 | M128 | v20.16 | 🚫 |
|
||||
| 31.0.0 | 2024-Apr-18 | 2024-May-15 | 2024-Jun-11 | 2025-Jan-14 | M126 | v20.14 | 🚫 |
|
||||
| 30.0.0 | 2024-Feb-22 | 2024-Mar-20 | 2024-Apr-16 | 2024-Oct-15 | M124 | v20.11 | 🚫 |
|
||||
|
||||
1152
docs/tutorial/native-code-and-electron-objc-macos.md
Normal file
1152
docs/tutorial/native-code-and-electron-objc-macos.md
Normal file
File diff suppressed because it is too large
Load Diff
@@ -35,6 +35,7 @@ filenames = {
|
||||
"shell/browser/relauncher_linux.cc",
|
||||
"shell/browser/ui/electron_desktop_window_tree_host_linux.cc",
|
||||
"shell/browser/ui/file_dialog_linux.cc",
|
||||
"shell/browser/ui/file_dialog_linux_portal.cc",
|
||||
"shell/browser/ui/gtk/menu_gtk.cc",
|
||||
"shell/browser/ui/gtk/menu_gtk.h",
|
||||
"shell/browser/ui/gtk/menu_util.cc",
|
||||
@@ -125,6 +126,7 @@ filenames = {
|
||||
"shell/browser/animation_util.h",
|
||||
"shell/browser/animation_util_mac.mm",
|
||||
"shell/browser/api/electron_api_app_mac.mm",
|
||||
"shell/browser/api/electron_api_base_window_mac.mm",
|
||||
"shell/browser/api/electron_api_menu_mac.h",
|
||||
"shell/browser/api/electron_api_menu_mac.mm",
|
||||
"shell/browser/api/electron_api_native_theme_mac.mm",
|
||||
|
||||
@@ -65,6 +65,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__algorithm/next_permutation.h",
|
||||
"//third_party/libc++/src/include/__algorithm/none_of.h",
|
||||
"//third_party/libc++/src/include/__algorithm/nth_element.h",
|
||||
"//third_party/libc++/src/include/__algorithm/out_value_result.h",
|
||||
"//third_party/libc++/src/include/__algorithm/partial_sort.h",
|
||||
"//third_party/libc++/src/include/__algorithm/partial_sort_copy.h",
|
||||
"//third_party/libc++/src/include/__algorithm/partition.h",
|
||||
@@ -341,7 +342,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/all_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/any_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/binary_search.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/clamp.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/comp.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/comp_ref_type.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/copy.h",
|
||||
@@ -361,19 +361,11 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/find_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/find_if_not.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/find_segment_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/fold.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/for_each.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/for_each_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/for_each_segment.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/generate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/generate_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/half_positive.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_found_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_fun_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_in_out_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_in_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_out_out_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_out_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/includes.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/inplace_merge.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/is_heap.h",
|
||||
@@ -385,7 +377,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/iter_swap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/iterator_operations.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/lexicographical_compare.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/lexicographical_compare_three_way.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/lower_bound.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/make_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/make_projected.h",
|
||||
@@ -394,7 +385,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/merge.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/min.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/min_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/min_max_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/minmax.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/minmax_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/mismatch.h",
|
||||
@@ -410,99 +400,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/partition_point.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/pop_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/prev_permutation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/pstl.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/push_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_adjacent_find.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_all_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_any_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_binary_search.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_clamp.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_contains.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_contains_subrange.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_copy_backward.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_copy_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_copy_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_count.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_count_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_ends_with.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_equal.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_equal_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_fill.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_fill_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find_end.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find_first_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find_if_not.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find_last.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_for_each.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_for_each_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_generate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_generate_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_includes.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_inplace_merge.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_heap_until.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_partitioned.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_permutation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_sorted.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_sorted_until.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_iterator_concept.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_lexicographical_compare.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_lower_bound.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_make_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_max.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_max_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_merge.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_min.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_min_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_minmax.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_minmax_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_mismatch.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_move.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_move_backward.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_next_permutation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_none_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_nth_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_partial_sort.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_partial_sort_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_partition.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_partition_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_partition_point.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_pop_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_prev_permutation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_push_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_remove.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_remove_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_remove_copy_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_remove_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_replace.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_replace_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_replace_copy_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_replace_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_reverse.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_reverse_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_rotate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_rotate_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_sample.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_search.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_search_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_set_difference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_set_intersection.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_set_union.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_shuffle.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_sort.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_sort_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_stable_partition.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_stable_sort.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_starts_with.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_swap_ranges.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_transform.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_unique.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_unique_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_upper_bound.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/remove.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/remove_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/remove_copy_if.h",
|
||||
@@ -515,15 +413,12 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/reverse_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/rotate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/rotate_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/sample.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/search.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/search_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/set_difference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/set_intersection.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/set_symmetric_difference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/set_union.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/shift_left.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/shift_right.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/shuffle.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/sift_down.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/simd_utils.h",
|
||||
@@ -547,7 +442,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/atomic_flag.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/atomic_init.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/atomic_lock_free.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/atomic_ref.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/atomic_sync.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/check_memory_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/contention_t.h",
|
||||
@@ -557,100 +451,19 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/kill_dependency.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/memory_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/to_gcc_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/bit_cast.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/bit_ceil.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/bit_floor.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/bit_log2.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/bit_width.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/blsr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/byteswap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/countl.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/countr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/endian.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/has_single_bit.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/invert_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/popcount.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/rotate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit_reference",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/chars_format.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/from_chars_integral.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/from_chars_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/tables.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/to_chars.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/to_chars_base_10.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/to_chars_floating_point.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/to_chars_integral.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/to_chars_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/calendar.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/convert_to_timespec.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/convert_to_tm.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/day.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/duration.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/exception.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/file_clock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/formatter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/hh_mm_ss.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/high_resolution_clock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/leap_second.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/literals.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/local_info.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/month.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/month_weekday.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/monthday.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/ostream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/parser_std_format_spec.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/statically_widen.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/steady_clock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/sys_info.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/system_clock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/time_point.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/time_zone.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/time_zone_link.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/tzdb.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/tzdb_list.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/weekday.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/year.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/year_month.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/year_month_day.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/year_month_weekday.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/zoned_time.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/common_comparison_category.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/compare_partial_order_fallback.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/compare_strong_order_fallback.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/compare_three_way.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/compare_three_way_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/compare_weak_order_fallback.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/is_eq.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/ordering.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/partial_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/strong_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/synth_three_way.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/three_way_comparable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/weak_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/arithmetic.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/assignable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/boolean_testable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/class_or_enum.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/common_reference_with.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/common_with.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/constructible.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/convertible_to.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/copyable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/derived_from.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/destructible.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/different_from.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/equality_comparable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/invocable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/movable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/predicate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/regular.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/relation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/same_as.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/semiregular.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/swappable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/totally_ordered.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__condition_variable/condition_variable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__config",
|
||||
"//third_party/libc++/src/include/__cxx03/__config_site.in",
|
||||
@@ -660,10 +473,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__configuration/config_site_shim.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__configuration/language.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__configuration/platform.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__coroutine/coroutine_handle.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__coroutine/coroutine_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__coroutine/noop_coroutine_handle.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__coroutine/trivial_awaitables.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__debug_utils/randomize_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__debug_utils/sanitizers.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__debug_utils/strict_weak_ordering_check.h",
|
||||
@@ -672,81 +481,18 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__exception/nested_exception.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__exception/operations.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__exception/terminate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__expected/bad_expected_access.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__expected/expected.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__expected/unexpect.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__expected/unexpected.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/copy_options.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/directory_entry.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/directory_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/directory_options.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/file_status.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/file_time_type.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/file_type.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/filesystem_error.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/operations.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/path.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/path_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/perm_options.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/perms.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/recursive_directory_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/space_info.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/u8path.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/buffer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/container_adaptor.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/enable_insertable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/escaped_output_table.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/extended_grapheme_cluster_table.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_arg.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_arg_store.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_args.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_context.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_error.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_functions.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_parse_context.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_string.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_to_n_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_bool.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_char.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_floating_point.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_integer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_integral.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_output.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_pointer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_string.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_tuple.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/indic_conjunct_break_table.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/parser_std_format_spec.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/range_default_formatter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/range_formatter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/unicode.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/width_estimation_table.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/write_escaped.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/binary_function.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/binary_negate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/bind.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/bind_back.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/bind_front.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/binder1st.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/binder2nd.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/boyer_moore_searcher.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/compose.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/default_searcher.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/function.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/hash.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/identity.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/invoke.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/is_transparent.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/mem_fn.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/mem_fun_ref.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/not_fn.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/operations.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/perfect_forward.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/pointer_to_binary_function.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/pointer_to_unary_function.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/ranges_operations.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/reference_wrapper.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/unary_function.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/unary_negate.h",
|
||||
@@ -755,24 +501,19 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/bit_reference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/complex.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/deque.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/format.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/fstream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/functional.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/ios.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/istream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/mdspan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/memory.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/memory_resource.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/ostream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/pair.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/queue.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/span.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/sstream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/stack.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/streambuf.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/string.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/string_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/subrange.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/tuple.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/vector.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__hash_table",
|
||||
@@ -782,43 +523,22 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/aliasing_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/back_insert_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/bounded_iter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/common_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/counted_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/cpp17_iterator_concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/data.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/default_sentinel.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/distance.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/empty.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/erase_if_container.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/front_insert_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/incrementable_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/indirectly_comparable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/insert_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/istream_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/istreambuf_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/iter_move.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/iter_swap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/iterator_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/iterator_with_data.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/mergeable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/move_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/move_sentinel.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/next.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/ostream_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/ostreambuf_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/permutable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/prev.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/projected.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/ranges_iterator_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/readable_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/reverse_access.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/reverse_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/segmented_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/size.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/sortable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/unreachable_sentinel.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/wrap_iter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__locale",
|
||||
"//third_party/libc++/src/include/__cxx03/__locale_dir/locale_base_api/android.h",
|
||||
@@ -849,16 +569,9 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__math/remainder.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__math/roots.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__math/rounding_functions.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__math/special_functions.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__math/traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__math/trigonometric_functions.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mbstate_t.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/default_accessor.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/extents.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/layout_left.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/layout_right.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/layout_stride.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/mdspan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/addressof.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/align.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/aligned_alloc.h",
|
||||
@@ -872,14 +585,9 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/auto_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/builtin_new_allocator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/compressed_pair.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/construct_at.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/destruct_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/inout_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/out_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/pointer_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/ranges_construct_at.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/ranges_uninitialized_algorithms.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/raw_storage_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/shared_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/swap_allocator.h",
|
||||
@@ -888,54 +596,18 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/uninitialized_algorithms.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/unique_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/uses_allocator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/uses_allocator_construction.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/voidify.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/memory_resource.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/monotonic_buffer_resource.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/polymorphic_allocator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/pool_options.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/synchronized_pool_resource.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mutex/lock_guard.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mutex/mutex.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mutex/once_flag.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mutex/tag_types.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mutex/unique_lock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__node_handle",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/accumulate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/adjacent_difference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/exclusive_scan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/gcd_lcm.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/inclusive_scan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/inner_product.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/iota.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/midpoint.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/partial_sum.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/pstl.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/reduce.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/saturation_arithmetic.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/transform_exclusive_scan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/transform_inclusive_scan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/transform_reduce.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ostream/basic_ostream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ostream/print.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backend.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backend_fwd.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backends/default.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backends/libdispatch.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backends/serial.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backends/std_thread.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/any_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/cpu_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/fill.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/find_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/for_each.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/merge.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/stable_sort.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/transform.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/transform_reduce.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/dispatch.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/handle_exception.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/bernoulli_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/binomial_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/cauchy_distribution.h",
|
||||
@@ -970,62 +642,11 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__random/student_t_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/subtract_with_carry_engine.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/uniform_int_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/uniform_random_bit_generator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/uniform_real_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/weibull_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/access.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/all.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/as_rvalue_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/chunk_by_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/common_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/container_compatible_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/counted.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/dangling.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/data.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/drop_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/drop_while_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/elements_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/empty.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/empty_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/enable_borrowed_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/enable_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/filter_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/from_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/iota_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/istream_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/join_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/lazy_split_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/movable_box.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/non_propagating_cache.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/owning_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/range_adaptor.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/rbegin.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/ref_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/rend.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/repeat_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/reverse_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/single_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/size.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/split_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/subrange.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/take_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/take_while_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/to.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/transform_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/view_interface.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/views.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/zip_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__split_buffer",
|
||||
"//third_party/libc++/src/include/__cxx03/__std_clang_module",
|
||||
"//third_party/libc++/src/include/__cxx03/__std_mbstate_t.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/atomic_unique_lock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/intrusive_list_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/intrusive_shared_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/stop_callback.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/stop_source.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/stop_state.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/stop_token.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__string/char_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__string/constexpr_c_functions.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__string/extern_template_lists.h",
|
||||
@@ -1040,9 +661,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__system_error/error_code.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__system_error/error_condition.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__system_error/system_error.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/formatter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/id.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/jthread.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/poll_with_backoff.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/support/c11.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/support/external.h",
|
||||
@@ -1054,7 +673,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/timed_backoff_policy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__tree",
|
||||
"//third_party/libc++/src/include/__cxx03/__tuple/find_index.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__tuple/ignore.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__tuple/make_tuple_types.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__tuple/sfinae_helpers.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__tuple/tuple_element.h",
|
||||
@@ -1074,7 +692,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/aligned_union.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/alignment_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/can_extract_key.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/common_reference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/common_type.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/conditional.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/conjunction.h",
|
||||
@@ -1087,12 +704,10 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/disjunction.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/enable_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/extent.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/has_unique_object_representation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/has_virtual_destructor.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/integral_constant.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/invoke.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_abstract.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_aggregate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_allocator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_always_bitcastable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_arithmetic.h",
|
||||
@@ -1124,7 +739,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_member_pointer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_nothrow_assignable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_nothrow_constructible.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_nothrow_convertible.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_nothrow_destructible.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_null_pointer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_object.h",
|
||||
@@ -1184,18 +798,13 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/unwrap_ref.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/void_t.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__undef_macros",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/as_const.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/as_lvalue.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/auto_cast.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/cmp.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/convert_to_integral.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/declval.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/empty.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/exception_guard.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/exchange.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/forward.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/forward_like.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/in_place.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/integer_sequence.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/is_pointer_in_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/is_valid_range.h",
|
||||
@@ -1208,16 +817,12 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/rel_ops.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/small_buffer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/swap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/to_underlying.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/unreachable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__variant/monostate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__verbose_abort",
|
||||
"//third_party/libc++/src/include/__cxx03/algorithm",
|
||||
"//third_party/libc++/src/include/__cxx03/any",
|
||||
"//third_party/libc++/src/include/__cxx03/array",
|
||||
"//third_party/libc++/src/include/__cxx03/atomic",
|
||||
"//third_party/libc++/src/include/__cxx03/barrier",
|
||||
"//third_party/libc++/src/include/__cxx03/bit",
|
||||
"//third_party/libc++/src/include/__cxx03/bitset",
|
||||
"//third_party/libc++/src/include/__cxx03/cassert",
|
||||
"//third_party/libc++/src/include/__cxx03/ccomplex",
|
||||
@@ -1225,7 +830,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/cerrno",
|
||||
"//third_party/libc++/src/include/__cxx03/cfenv",
|
||||
"//third_party/libc++/src/include/__cxx03/cfloat",
|
||||
"//third_party/libc++/src/include/__cxx03/charconv",
|
||||
"//third_party/libc++/src/include/__cxx03/chrono",
|
||||
"//third_party/libc++/src/include/__cxx03/cinttypes",
|
||||
"//third_party/libc++/src/include/__cxx03/ciso646",
|
||||
@@ -1233,12 +837,9 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/clocale",
|
||||
"//third_party/libc++/src/include/__cxx03/cmath",
|
||||
"//third_party/libc++/src/include/__cxx03/codecvt",
|
||||
"//third_party/libc++/src/include/__cxx03/compare",
|
||||
"//third_party/libc++/src/include/__cxx03/complex",
|
||||
"//third_party/libc++/src/include/__cxx03/complex.h",
|
||||
"//third_party/libc++/src/include/__cxx03/concepts",
|
||||
"//third_party/libc++/src/include/__cxx03/condition_variable",
|
||||
"//third_party/libc++/src/include/__cxx03/coroutine",
|
||||
"//third_party/libc++/src/include/__cxx03/csetjmp",
|
||||
"//third_party/libc++/src/include/__cxx03/csignal",
|
||||
"//third_party/libc++/src/include/__cxx03/cstdarg",
|
||||
@@ -1257,36 +858,17 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/deque",
|
||||
"//third_party/libc++/src/include/__cxx03/errno.h",
|
||||
"//third_party/libc++/src/include/__cxx03/exception",
|
||||
"//third_party/libc++/src/include/__cxx03/execution",
|
||||
"//third_party/libc++/src/include/__cxx03/expected",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__config",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/aligned_tag.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/declaration.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/reference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/scalar.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/simd.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/simd_mask.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/utility.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/vec_ext.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/iterator",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/memory",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/propagate_const",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/simd",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/type_traits",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/utility",
|
||||
"//third_party/libc++/src/include/__cxx03/ext/__hash",
|
||||
"//third_party/libc++/src/include/__cxx03/ext/hash_map",
|
||||
"//third_party/libc++/src/include/__cxx03/ext/hash_set",
|
||||
"//third_party/libc++/src/include/__cxx03/fenv.h",
|
||||
"//third_party/libc++/src/include/__cxx03/filesystem",
|
||||
"//third_party/libc++/src/include/__cxx03/float.h",
|
||||
"//third_party/libc++/src/include/__cxx03/format",
|
||||
"//third_party/libc++/src/include/__cxx03/forward_list",
|
||||
"//third_party/libc++/src/include/__cxx03/fstream",
|
||||
"//third_party/libc++/src/include/__cxx03/functional",
|
||||
"//third_party/libc++/src/include/__cxx03/future",
|
||||
"//third_party/libc++/src/include/__cxx03/initializer_list",
|
||||
"//third_party/libc++/src/include/__cxx03/inttypes.h",
|
||||
"//third_party/libc++/src/include/__cxx03/iomanip",
|
||||
"//third_party/libc++/src/include/__cxx03/ios",
|
||||
@@ -1294,35 +876,23 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/iostream",
|
||||
"//third_party/libc++/src/include/__cxx03/istream",
|
||||
"//third_party/libc++/src/include/__cxx03/iterator",
|
||||
"//third_party/libc++/src/include/__cxx03/latch",
|
||||
"//third_party/libc++/src/include/__cxx03/limits",
|
||||
"//third_party/libc++/src/include/__cxx03/list",
|
||||
"//third_party/libc++/src/include/__cxx03/locale",
|
||||
"//third_party/libc++/src/include/__cxx03/locale.h",
|
||||
"//third_party/libc++/src/include/__cxx03/map",
|
||||
"//third_party/libc++/src/include/__cxx03/math.h",
|
||||
"//third_party/libc++/src/include/__cxx03/mdspan",
|
||||
"//third_party/libc++/src/include/__cxx03/memory",
|
||||
"//third_party/libc++/src/include/__cxx03/memory_resource",
|
||||
"//third_party/libc++/src/include/__cxx03/module.modulemap",
|
||||
"//third_party/libc++/src/include/__cxx03/mutex",
|
||||
"//third_party/libc++/src/include/__cxx03/new",
|
||||
"//third_party/libc++/src/include/__cxx03/numbers",
|
||||
"//third_party/libc++/src/include/__cxx03/numeric",
|
||||
"//third_party/libc++/src/include/__cxx03/optional",
|
||||
"//third_party/libc++/src/include/__cxx03/ostream",
|
||||
"//third_party/libc++/src/include/__cxx03/print",
|
||||
"//third_party/libc++/src/include/__cxx03/queue",
|
||||
"//third_party/libc++/src/include/__cxx03/random",
|
||||
"//third_party/libc++/src/include/__cxx03/ranges",
|
||||
"//third_party/libc++/src/include/__cxx03/ratio",
|
||||
"//third_party/libc++/src/include/__cxx03/regex",
|
||||
"//third_party/libc++/src/include/__cxx03/scoped_allocator",
|
||||
"//third_party/libc++/src/include/__cxx03/semaphore",
|
||||
"//third_party/libc++/src/include/__cxx03/set",
|
||||
"//third_party/libc++/src/include/__cxx03/shared_mutex",
|
||||
"//third_party/libc++/src/include/__cxx03/source_location",
|
||||
"//third_party/libc++/src/include/__cxx03/span",
|
||||
"//third_party/libc++/src/include/__cxx03/sstream",
|
||||
"//third_party/libc++/src/include/__cxx03/stack",
|
||||
"//third_party/libc++/src/include/__cxx03/stdatomic.h",
|
||||
@@ -1332,17 +902,14 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/stdint.h",
|
||||
"//third_party/libc++/src/include/__cxx03/stdio.h",
|
||||
"//third_party/libc++/src/include/__cxx03/stdlib.h",
|
||||
"//third_party/libc++/src/include/__cxx03/stop_token",
|
||||
"//third_party/libc++/src/include/__cxx03/streambuf",
|
||||
"//third_party/libc++/src/include/__cxx03/string",
|
||||
"//third_party/libc++/src/include/__cxx03/string.h",
|
||||
"//third_party/libc++/src/include/__cxx03/string_view",
|
||||
"//third_party/libc++/src/include/__cxx03/strstream",
|
||||
"//third_party/libc++/src/include/__cxx03/syncstream",
|
||||
"//third_party/libc++/src/include/__cxx03/system_error",
|
||||
"//third_party/libc++/src/include/__cxx03/tgmath.h",
|
||||
"//third_party/libc++/src/include/__cxx03/thread",
|
||||
"//third_party/libc++/src/include/__cxx03/tuple",
|
||||
"//third_party/libc++/src/include/__cxx03/type_traits",
|
||||
"//third_party/libc++/src/include/__cxx03/typeindex",
|
||||
"//third_party/libc++/src/include/__cxx03/typeinfo",
|
||||
@@ -1351,7 +918,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/unordered_set",
|
||||
"//third_party/libc++/src/include/__cxx03/utility",
|
||||
"//third_party/libc++/src/include/__cxx03/valarray",
|
||||
"//third_party/libc++/src/include/__cxx03/variant",
|
||||
"//third_party/libc++/src/include/__cxx03/vector",
|
||||
"//third_party/libc++/src/include/__cxx03/version",
|
||||
"//third_party/libc++/src/include/__cxx03/wchar.h",
|
||||
@@ -1390,6 +956,10 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__flat_map/sorted_equivalent.h",
|
||||
"//third_party/libc++/src/include/__flat_map/sorted_unique.h",
|
||||
"//third_party/libc++/src/include/__flat_map/utils.h",
|
||||
"//third_party/libc++/src/include/__flat_set/flat_multiset.h",
|
||||
"//third_party/libc++/src/include/__flat_set/flat_set.h",
|
||||
"//third_party/libc++/src/include/__flat_set/ra_iterator.h",
|
||||
"//third_party/libc++/src/include/__flat_set/utils.h",
|
||||
"//third_party/libc++/src/include/__format/buffer.h",
|
||||
"//third_party/libc++/src/include/__format/concepts.h",
|
||||
"//third_party/libc++/src/include/__format/container_adaptor.h",
|
||||
@@ -1460,12 +1030,14 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__fwd/get.h",
|
||||
"//third_party/libc++/src/include/__fwd/ios.h",
|
||||
"//third_party/libc++/src/include/__fwd/istream.h",
|
||||
"//third_party/libc++/src/include/__fwd/map.h",
|
||||
"//third_party/libc++/src/include/__fwd/mdspan.h",
|
||||
"//third_party/libc++/src/include/__fwd/memory.h",
|
||||
"//third_party/libc++/src/include/__fwd/memory_resource.h",
|
||||
"//third_party/libc++/src/include/__fwd/ostream.h",
|
||||
"//third_party/libc++/src/include/__fwd/pair.h",
|
||||
"//third_party/libc++/src/include/__fwd/queue.h",
|
||||
"//third_party/libc++/src/include/__fwd/set.h",
|
||||
"//third_party/libc++/src/include/__fwd/span.h",
|
||||
"//third_party/libc++/src/include/__fwd/sstream.h",
|
||||
"//third_party/libc++/src/include/__fwd/stack.h",
|
||||
@@ -1559,6 +1131,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__math/traits.h",
|
||||
"//third_party/libc++/src/include/__math/trigonometric_functions.h",
|
||||
"//third_party/libc++/src/include/__mbstate_t.h",
|
||||
"//third_party/libc++/src/include/__mdspan/aligned_accessor.h",
|
||||
"//third_party/libc++/src/include/__mdspan/default_accessor.h",
|
||||
"//third_party/libc++/src/include/__mdspan/extents.h",
|
||||
"//third_party/libc++/src/include/__mdspan/layout_left.h",
|
||||
@@ -1583,6 +1156,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__memory/destroy.h",
|
||||
"//third_party/libc++/src/include/__memory/destruct_n.h",
|
||||
"//third_party/libc++/src/include/__memory/inout_ptr.h",
|
||||
"//third_party/libc++/src/include/__memory/is_sufficiently_aligned.h",
|
||||
"//third_party/libc++/src/include/__memory/noexcept_move_assign_container.h",
|
||||
"//third_party/libc++/src/include/__memory/out_ptr.h",
|
||||
"//third_party/libc++/src/include/__memory/pointer_traits.h",
|
||||
@@ -1632,6 +1206,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__numeric/midpoint.h",
|
||||
"//third_party/libc++/src/include/__numeric/partial_sum.h",
|
||||
"//third_party/libc++/src/include/__numeric/pstl.h",
|
||||
"//third_party/libc++/src/include/__numeric/ranges_iota.h",
|
||||
"//third_party/libc++/src/include/__numeric/reduce.h",
|
||||
"//third_party/libc++/src/include/__numeric/saturation_arithmetic.h",
|
||||
"//third_party/libc++/src/include/__numeric/transform_exclusive_scan.h",
|
||||
@@ -1846,7 +1421,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__type_traits/is_member_pointer.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_nothrow_assignable.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_nothrow_constructible.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_nothrow_convertible.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_nothrow_destructible.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_null_pointer.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_object.h",
|
||||
@@ -1888,6 +1462,8 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__type_traits/negation.h",
|
||||
"//third_party/libc++/src/include/__type_traits/promote.h",
|
||||
"//third_party/libc++/src/include/__type_traits/rank.h",
|
||||
"//third_party/libc++/src/include/__type_traits/reference_constructs_from_temporary.h",
|
||||
"//third_party/libc++/src/include/__type_traits/reference_converts_from_temporary.h",
|
||||
"//third_party/libc++/src/include/__type_traits/remove_all_extents.h",
|
||||
"//third_party/libc++/src/include/__type_traits/remove_const.h",
|
||||
"//third_party/libc++/src/include/__type_traits/remove_const_ref.h",
|
||||
@@ -2012,6 +1588,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/fenv.h",
|
||||
"//third_party/libc++/src/include/filesystem",
|
||||
"//third_party/libc++/src/include/flat_map",
|
||||
"//third_party/libc++/src/include/flat_set",
|
||||
"//third_party/libc++/src/include/float.h",
|
||||
"//third_party/libc++/src/include/format",
|
||||
"//third_party/libc++/src/include/forward_list",
|
||||
@@ -2035,7 +1612,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/mdspan",
|
||||
"//third_party/libc++/src/include/memory",
|
||||
"//third_party/libc++/src/include/memory_resource",
|
||||
"//third_party/libc++/src/include/module.modulemap",
|
||||
"//third_party/libc++/src/include/module.modulemap.in",
|
||||
"//third_party/libc++/src/include/mutex",
|
||||
"//third_party/libc++/src/include/new",
|
||||
"//third_party/libc++/src/include/numbers",
|
||||
|
||||
@@ -54,7 +54,7 @@ BrowserWindow.prototype._init = function (this: BWT) {
|
||||
});
|
||||
this.on('close', (event) => {
|
||||
queueMicrotask(() => {
|
||||
if (!unresponsiveEvent && !event.defaultPrevented) {
|
||||
if (!unresponsiveEvent && !event?.defaultPrevented) {
|
||||
unresponsiveEvent = setTimeout(emitUnresponsiveEvent, 5000);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -78,7 +78,9 @@ export const roleList: Record<RoleId, Role> = {
|
||||
minimize: {
|
||||
label: 'Minimize',
|
||||
accelerator: 'CommandOrControl+M',
|
||||
windowMethod: w => w.minimize()
|
||||
windowMethod: w => {
|
||||
if (w.minimizable) w.minimize();
|
||||
}
|
||||
},
|
||||
paste: {
|
||||
label: 'Paste',
|
||||
|
||||
@@ -263,8 +263,17 @@ WebContents.prototype.print = function (options: ElectronInternal.WebContentsPri
|
||||
throw new TypeError('webContents.print(): Invalid print settings specified.');
|
||||
}
|
||||
|
||||
const pageSize = options.pageSize ?? 'A4';
|
||||
if (typeof pageSize === 'object') {
|
||||
const { pageSize } = options;
|
||||
if (typeof pageSize === 'string' && PDFPageSizes[pageSize]) {
|
||||
const mediaSize = PDFPageSizes[pageSize];
|
||||
options.mediaSize = {
|
||||
...mediaSize,
|
||||
imageable_area_left_microns: 0,
|
||||
imageable_area_bottom_microns: 0,
|
||||
imageable_area_right_microns: mediaSize.width_microns,
|
||||
imageable_area_top_microns: mediaSize.height_microns
|
||||
};
|
||||
} else if (typeof pageSize === 'object') {
|
||||
if (!pageSize.height || !pageSize.width) {
|
||||
throw new Error('height and width properties are required for pageSize');
|
||||
}
|
||||
@@ -286,16 +295,7 @@ WebContents.prototype.print = function (options: ElectronInternal.WebContentsPri
|
||||
imageable_area_right_microns: width,
|
||||
imageable_area_top_microns: height
|
||||
};
|
||||
} else if (typeof pageSize === 'string' && PDFPageSizes[pageSize]) {
|
||||
const mediaSize = PDFPageSizes[pageSize];
|
||||
options.mediaSize = {
|
||||
...mediaSize,
|
||||
imageable_area_left_microns: 0,
|
||||
imageable_area_bottom_microns: 0,
|
||||
imageable_area_right_microns: mediaSize.width_microns,
|
||||
imageable_area_top_microns: mediaSize.height_microns
|
||||
};
|
||||
} else {
|
||||
} else if (pageSize !== undefined) {
|
||||
throw new Error(`Unsupported pageSize: ${pageSize}`);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ this patch is required to provide ripemd160 support in the nodejs crypto
|
||||
module.
|
||||
|
||||
diff --git a/crypto/digest/digest_extra.cc b/crypto/digest/digest_extra.cc
|
||||
index f68ede9156ee57526f4578953c350798a1299f00..1de18075e1cfa7f9660fa3b065cd20bafcbe7ee8 100644
|
||||
index 4cbfa1f53bb669c24c7f055f4fee7f144f72115a..120cb84e07e0539c038bca059b794d8f9f932a51 100644
|
||||
--- a/crypto/digest/digest_extra.cc
|
||||
+++ b/crypto/digest/digest_extra.cc
|
||||
@@ -45,6 +45,7 @@ static const struct nid_to_digest nid_to_digest_mapping[] = {
|
||||
@@ -82,7 +82,7 @@ index e04b80cd6a1a215fc87f8fd8d750c3d258c3974f..8fdf1c624794f568bfc77b7b6b0c510b
|
||||
|
||||
void EVP_MD_do_all(void (*callback)(const EVP_MD *cipher, const char *name,
|
||||
diff --git a/include/openssl/digest.h b/include/openssl/digest.h
|
||||
index b36c5885a31ff3242ac3104e6d875a008c7c39e4..8fe32508a00263295313e77992e2c208459ca42c 100644
|
||||
index 6abab7693ef2cf418e64d4bf5d53e7e0821cb731..ecbf81be6888cf2e95008da054cf4d3d7df6ad49 100644
|
||||
--- a/include/openssl/digest.h
|
||||
+++ b/include/openssl/digest.h
|
||||
@@ -48,6 +48,9 @@ OPENSSL_EXPORT const EVP_MD *EVP_blake2b256(void);
|
||||
|
||||
@@ -20,10 +20,10 @@ index 2cdcbc346175eeee69402ecee7f169e61c655199..f7226fe711e4214b216ea2c5173a0212
|
||||
|
||||
case ssl_open_record_error:
|
||||
diff --git a/ssl/ssl_lib.cc b/ssl/ssl_lib.cc
|
||||
index d228b1c3b517e21fb8022c1927b0bc522f46bf78..4a94410d0ea4daabde1397c78c5e5de113398ddf 100644
|
||||
index 69f3fe2f5c193a30dd90368048804109db563da3..52393736adee2d50de218ac86c9e7cbcd9d6bf6d 100644
|
||||
--- a/ssl/ssl_lib.cc
|
||||
+++ b/ssl/ssl_lib.cc
|
||||
@@ -1205,7 +1205,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) {
|
||||
@@ -1204,7 +1204,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) {
|
||||
}
|
||||
|
||||
if (ret_code == 0) {
|
||||
@@ -32,7 +32,7 @@ index d228b1c3b517e21fb8022c1927b0bc522f46bf78..4a94410d0ea4daabde1397c78c5e5de1
|
||||
return SSL_ERROR_ZERO_RETURN;
|
||||
}
|
||||
// An EOF was observed which violates the protocol, and the underlying
|
||||
@@ -2572,13 +2572,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) {
|
||||
@@ -2571,13 +2571,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) {
|
||||
return CRYPTO_get_ex_data(&ctx->ex_data, idx);
|
||||
}
|
||||
|
||||
|
||||
@@ -62,7 +62,6 @@ disable_unload_metrics.patch
|
||||
extend_apply_webpreferences.patch
|
||||
build_libc_as_static_library.patch
|
||||
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
|
||||
logging_win32_only_create_a_console_if_logging_to_stderr.patch
|
||||
fix_media_key_usage_with_globalshortcuts.patch
|
||||
@@ -131,7 +130,7 @@ osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch
|
||||
feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch
|
||||
chore_partial_revert_of.patch
|
||||
fix_software_compositing_infinite_loop.patch
|
||||
fix_add_method_which_disables_headless_mode_on_native_widget.patch
|
||||
fix_adjust_headless_mode_handling_in_native_widget.patch
|
||||
refactor_unfilter_unresponsive_events.patch
|
||||
build_disable_thin_lto_mac.patch
|
||||
feat_corner_smoothing_css_rule_and_blink_painting.patch
|
||||
@@ -144,4 +143,5 @@ feat_separate_content_settings_callback_for_sync_and_async_clipboard.patch
|
||||
fix_win32_synchronous_spellcheck.patch
|
||||
fix_enable_wrap_iter_in_string_view_and_array.patch
|
||||
fix_linter_error.patch
|
||||
revert_enable_crel_for_arm32_targets.patch
|
||||
chore_grandfather_in_electron_views_and_delegates.patch
|
||||
refactor_patch_electron_permissiontypes_into_blink.patch
|
||||
|
||||
@@ -5,12 +5,11 @@ Subject: fix: improve shortcut text of Accelerator
|
||||
|
||||
This patch makes three changes to Accelerator::GetShortcutText to improve shortcut display text in menus:
|
||||
|
||||
1. Ctrl-Alt-<Key> accelerators show as Ctrl-Alt-<Key> instead of as Ctrl-<Key>
|
||||
2. F2-F24 accelerators show up as such
|
||||
3. Ctrl-Shift-= and Ctrl-Plus show up as such
|
||||
1. F2-F24 accelerators show up as such
|
||||
2. Ctrl-Shift-= and Ctrl-Plus show up as such
|
||||
|
||||
diff --git a/ui/base/accelerators/accelerator.cc b/ui/base/accelerators/accelerator.cc
|
||||
index 5590f9d425229d87373c5b53651d2e2d17b779e4..407cbd7e7811e3053e35e26f24e3c049cdd59a46 100644
|
||||
index 5ad9332dd27ceda7d67cd3f571b12218a4415a40..ffe083836c39fb60b4bff1f9fbdd6cebb7fa9d1d 100644
|
||||
--- a/ui/base/accelerators/accelerator.cc
|
||||
+++ b/ui/base/accelerators/accelerator.cc
|
||||
@@ -12,6 +12,7 @@
|
||||
@@ -21,51 +20,51 @@ index 5590f9d425229d87373c5b53651d2e2d17b779e4..407cbd7e7811e3053e35e26f24e3c049
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "base/types/cxx23_to_underlying.h"
|
||||
#include "build/build_config.h"
|
||||
@@ -109,6 +110,11 @@ std::u16string Accelerator::GetShortcutText() const {
|
||||
@@ -164,6 +165,11 @@ std::u16string Accelerator::GetKeyCodeStringForShortcut() const {
|
||||
#endif
|
||||
|
||||
if (shortcut.empty()) {
|
||||
if (key_string.empty()) {
|
||||
+ // When a shifted char is explicitly specified, for example Ctrl+Plus,
|
||||
+ // use the shifted char directly.
|
||||
+ if (shifted_char) {
|
||||
+ shortcut += *shifted_char;
|
||||
+ key_string += *shifted_char;
|
||||
+ } else {
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Our fallback is to try translate the key code to a regular character
|
||||
// unless it is one of digits (VK_0 to VK_9). Some keyboard
|
||||
@@ -133,6 +139,10 @@ std::u16string Accelerator::GetShortcutText() const {
|
||||
shortcut +=
|
||||
@@ -190,6 +196,10 @@ std::u16string Accelerator::GetKeyCodeStringForShortcut() const {
|
||||
static_cast<std::u16string::value_type>(base::ToUpperASCII(c));
|
||||
}
|
||||
#endif
|
||||
+ }
|
||||
+ if (key_code_ > VKEY_F1 && key_code_ <= VKEY_F24)
|
||||
+ shortcut = base::UTF8ToUTF16(
|
||||
+ key_string = base::UTF8ToUTF16(
|
||||
+ base::StringPrintf("F%d", key_code_ - VKEY_F1 + 1));
|
||||
}
|
||||
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
@@ -317,7 +327,7 @@ std::u16string Accelerator::ApplyLongFormModifiers(
|
||||
const std::u16string& shortcut) const {
|
||||
std::u16string result = shortcut;
|
||||
return key_string;
|
||||
@@ -350,7 +360,7 @@ std::vector<std::u16string> Accelerator::GetLongFormModifiers() const {
|
||||
modifiers.push_back(l10n_util::GetStringUTF16(IDS_APP_CTRL_KEY));
|
||||
}
|
||||
|
||||
- if (IsShiftDown()) {
|
||||
+ if (!shifted_char && IsShiftDown()) {
|
||||
result = ApplyModifierToAcceleratorString(result, IDS_APP_SHIFT_KEY);
|
||||
modifiers.push_back(l10n_util::GetStringUTF16(IDS_APP_SHIFT_KEY));
|
||||
}
|
||||
|
||||
diff --git a/ui/base/accelerators/accelerator.h b/ui/base/accelerators/accelerator.h
|
||||
index 198c7469f410d3516b8a18493c5e4588d02487c2..e4995824ae2f3bb8045a3841a6213a4b315845a8 100644
|
||||
index e7d5adfac920c97df8bab9bf4ed69a835ee314a9..9aeea7cb4c48d1ccc27304fa99238151b2811c87 100644
|
||||
--- a/ui/base/accelerators/accelerator.h
|
||||
+++ b/ui/base/accelerators/accelerator.h
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "base/component_export.h"
|
||||
+#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
#include "base/time/time.h"
|
||||
#include "build/blink_buildflags.h"
|
||||
#include "build/build_config.h"
|
||||
@@ -185,6 +186,8 @@ class COMPONENT_EXPORT(UI_BASE) Accelerator {
|
||||
@@ -189,6 +190,8 @@ class COMPONENT_EXPORT(UI_BASE) Accelerator {
|
||||
return interrupted_by_mouse_event_;
|
||||
}
|
||||
|
||||
@@ -73,4 +72,4 @@ index 198c7469f410d3516b8a18493c5e4588d02487c2..e4995824ae2f3bb8045a3841a6213a4b
|
||||
+
|
||||
private:
|
||||
friend class AcceleratorTestMac;
|
||||
std::u16string ApplyLongFormModifiers(const std::u16string& shortcut) const;
|
||||
std::vector<std::u16string> GetLongFormModifiers() const;
|
||||
|
||||
@@ -10,10 +10,10 @@ Allows Electron to restore WER when ELECTRON_DEFAULT_ERROR_MODE is set.
|
||||
This should be upstreamed.
|
||||
|
||||
diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
|
||||
index 0d8bb93bf146c3058a30693673f0c23fdea90ae8..55f76337a445345c06531ce05e603db30daf759f 100644
|
||||
index cadb96febde3fb3fe90929873b1db452a6d8fb8f..09f5504127b5a5ec3d0d69d9eb6d0cd93e0e75cd 100644
|
||||
--- a/content/gpu/gpu_main.cc
|
||||
+++ b/content/gpu/gpu_main.cc
|
||||
@@ -268,6 +268,10 @@ int GpuMain(MainFunctionParams parameters) {
|
||||
@@ -254,6 +254,10 @@ int GpuMain(MainFunctionParams parameters) {
|
||||
// to the GpuProcessHost once the GpuServiceImpl has started.
|
||||
viz::GpuServiceImpl::InstallPreInitializeLogHandler();
|
||||
|
||||
@@ -24,7 +24,7 @@ index 0d8bb93bf146c3058a30693673f0c23fdea90ae8..55f76337a445345c06531ce05e603db3
|
||||
// We are experiencing what appear to be memory-stomp issues in the GPU
|
||||
// process. These issues seem to be impacting the task executor and listeners
|
||||
// registered to it. Create the task executor on the heap to guard against
|
||||
@@ -378,7 +382,6 @@ int GpuMain(MainFunctionParams parameters) {
|
||||
@@ -363,7 +367,6 @@ int GpuMain(MainFunctionParams parameters) {
|
||||
#endif
|
||||
const bool dead_on_arrival = !init_success;
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ DidCreateScriptContext is called, not all JS APIs are available in the
|
||||
context, which can cause some preload scripts to trip.
|
||||
|
||||
diff --git a/content/public/renderer/render_frame_observer.h b/content/public/renderer/render_frame_observer.h
|
||||
index 44da0544b778d6ff4c14b6f4e8463cb8260d2f0d..8ae8939af4141a684b7a6d50a43e1abb354ea028 100644
|
||||
index db655a7b52eacb74f2a8637db36abd87f6b86792..8014cb08e2090a12ea8b9e92cb8f93c96921d400 100644
|
||||
--- a/content/public/renderer/render_frame_observer.h
|
||||
+++ b/content/public/renderer/render_frame_observer.h
|
||||
@@ -149,6 +149,8 @@ class CONTENT_EXPORT RenderFrameObserver
|
||||
@@ -23,10 +23,10 @@ index 44da0544b778d6ff4c14b6f4e8463cb8260d2f0d..8ae8939af4141a684b7a6d50a43e1abb
|
||||
int32_t world_id) {}
|
||||
virtual void DidClearWindowObject() {}
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
index 4185aa3e07df8f2a3061d18e87f39cd5d79baead..81261373a194210d97c723ed525cb75a2bbeafad 100644
|
||||
index b0aa018f2f4e6865915516ab6b65fac20d9e6f20..c04a544eb8991bfa718322e6e3a090ef4733a50b 100644
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -4802,6 +4802,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
@@ -4807,6 +4807,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
observer.DidCreateScriptContext(context, world_id);
|
||||
}
|
||||
|
||||
@@ -40,10 +40,10 @@ index 4185aa3e07df8f2a3061d18e87f39cd5d79baead..81261373a194210d97c723ed525cb75a
|
||||
int world_id) {
|
||||
for (auto& observer : observers_)
|
||||
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
|
||||
index a072319de5d16d8004cb33792b2275320627fe6a..f52aa0470ca53c9997961c398d2c79d25967562e 100644
|
||||
index a7383e4a5ccb8ca1de10bc3efb3043f1dbbf2f6f..41075015aa2dd347c9847072dd76f9cea9ad2d94 100644
|
||||
--- a/content/renderer/render_frame_impl.h
|
||||
+++ b/content/renderer/render_frame_impl.h
|
||||
@@ -653,6 +653,8 @@ class CONTENT_EXPORT RenderFrameImpl
|
||||
@@ -652,6 +652,8 @@ class CONTENT_EXPORT RenderFrameImpl
|
||||
void DidObserveLayoutShift(double score, bool after_input_or_scroll) override;
|
||||
void DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
int world_id) override;
|
||||
@@ -53,10 +53,10 @@ index a072319de5d16d8004cb33792b2275320627fe6a..f52aa0470ca53c9997961c398d2c79d2
|
||||
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 fade7618e12889da5a1c3cbe465dec0869634407..53aaf91fe5e68465c9ec8b181e33b5ee95a5a5aa 100644
|
||||
index f59582f677806c07381bc608f9cca84a7af51a2b..174113297c8e5a5928c1d9166c417cb6328cfc82 100644
|
||||
--- a/third_party/blink/public/web/web_local_frame_client.h
|
||||
+++ b/third_party/blink/public/web/web_local_frame_client.h
|
||||
@@ -664,6 +664,9 @@ class BLINK_EXPORT WebLocalFrameClient {
|
||||
@@ -661,6 +661,9 @@ class BLINK_EXPORT WebLocalFrameClient {
|
||||
virtual void DidCreateScriptContext(v8::Local<v8::Context>,
|
||||
int32_t world_id) {}
|
||||
|
||||
@@ -79,10 +79,10 @@ index f7e0144c74f879e9b29871d7c372b99e127966bb..c3cd7b77ed282f212a56d151dc3fbec3
|
||||
if (World().IsMainWorld()) {
|
||||
probe::DidCreateMainWorldContext(GetFrame());
|
||||
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 8bb6b0465069529f79aaec21792e8b159535b3e9..f9782531c639d07002dda07732750a0007109468 100644
|
||||
index e52a535450964b0938b66f7506225fda0cde04a2..841e9b36df4c32040d2b3c71514266fc330c99c7 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame_client.h
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame_client.h
|
||||
@@ -299,6 +299,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
|
||||
@@ -300,6 +300,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
|
||||
|
||||
virtual void DidCreateScriptContext(v8::Local<v8::Context>,
|
||||
int32_t world_id) = 0;
|
||||
@@ -92,7 +92,7 @@ index 8bb6b0465069529f79aaec21792e8b159535b3e9..f9782531c639d07002dda07732750a00
|
||||
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 66cc44003157657c68e90d295f877789395eca8d..19cd8460711d5d5b1b76c9e4cb82ed7fc71b410c 100644
|
||||
index 479dd8a7294ca6f0abb72350cc1a6c61e09c7c27..45226050aea1036f2c3a2fc15cabee893d12b1a7 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
|
||||
@@ -295,6 +295,13 @@ void LocalFrameClientImpl::DidCreateScriptContext(
|
||||
@@ -110,7 +110,7 @@ index 66cc44003157657c68e90d295f877789395eca8d..19cd8460711d5d5b1b76c9e4cb82ed7f
|
||||
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 4c7375a27a22f04694e14fecc17d633734d4cccc..ea2a32b151aaf07b5704e463d01714eb41680afb 100644
|
||||
index 5dbc9c1f5f45c8753dd5510ffad2c5d4c20c814b..4223ba0db6c267a4574ab4a76c5a6f365223416c 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
|
||||
@@ -82,6 +82,8 @@ class CORE_EXPORT LocalFrameClientImpl final : public LocalFrameClient {
|
||||
@@ -123,10 +123,10 @@ index 4c7375a27a22f04694e14fecc17d633734d4cccc..ea2a32b151aaf07b5704e463d01714eb
|
||||
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 286d95397da7b90ba28b4c4faaae26d6ab71a496..23fd67571152897b3bc93fde8e98e1d554cce275 100644
|
||||
index 069ccf925bc0c6f1a5b707670cc3c931dd2a25a9..49ccc167276ed544c800483c4a8655b254304ee8 100644
|
||||
--- a/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
+++ b/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
@@ -417,6 +417,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
|
||||
@@ -418,6 +418,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
|
||||
|
||||
void DidCreateScriptContext(v8::Local<v8::Context>,
|
||||
int32_t world_id) override {}
|
||||
|
||||
@@ -7,7 +7,7 @@ Ensure that licenses for the dependencies introduced by Electron
|
||||
are included in `LICENSES.chromium.html`
|
||||
|
||||
diff --git a/tools/licenses/licenses.py b/tools/licenses/licenses.py
|
||||
index 7b948007755d306babea73498c17031c437ae6dc..adcfad8931c314f86d26347ccda438af452b8167 100755
|
||||
index b0807ee3d8ebcf34f0d740362aa46c8631562d38..118d200b74953c0068ad59300ccc0e3041d77a10 100755
|
||||
--- a/tools/licenses/licenses.py
|
||||
+++ b/tools/licenses/licenses.py
|
||||
@@ -337,6 +337,31 @@ SPECIAL_CASES = {
|
||||
|
||||
@@ -10,7 +10,7 @@ usage of BrowserList and Browser as we subclass related methods and use our
|
||||
WindowList.
|
||||
|
||||
diff --git a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||
index 628fe5557f963c52cbe0c5b24c6e06aaa81f9677..868f5eb60c35dfaa0a4e33e7f175743848e0cc2e 100644
|
||||
index ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793477c6d19 100644
|
||||
--- a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||
+++ b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||
@@ -48,6 +48,7 @@
|
||||
@@ -21,7 +21,7 @@ index 628fe5557f963c52cbe0c5b24c6e06aaa81f9677..868f5eb60c35dfaa0a4e33e7f1757438
|
||||
#include "ui/accessibility/accessibility_features.h"
|
||||
#include "ui/accessibility/ax_updates_and_events.h"
|
||||
#include "ui/accessibility/platform/ax_platform_node.h"
|
||||
@@ -171,7 +172,7 @@ base::Value::Dict BuildTargetDescriptor(content::RenderViewHost* rvh) {
|
||||
@@ -169,7 +170,7 @@ base::Value::Dict BuildTargetDescriptor(content::RenderViewHost* rvh) {
|
||||
rvh->GetRoutingID(), accessibility_mode);
|
||||
}
|
||||
|
||||
@@ -30,17 +30,17 @@ index 628fe5557f963c52cbe0c5b24c6e06aaa81f9677..868f5eb60c35dfaa0a4e33e7f1757438
|
||||
base::Value::Dict BuildTargetDescriptor(Browser* browser) {
|
||||
base::Value::Dict target_data;
|
||||
target_data.Set(kSessionIdField, browser->session_id().id());
|
||||
@@ -192,7 +193,7 @@ void HandleAccessibilityRequestCallback(
|
||||
DCHECK(ShouldHandleAccessibilityRequestCallback(path));
|
||||
|
||||
@@ -193,7 +194,7 @@ void HandleAccessibilityRequestCallback(
|
||||
auto& browser_accessibility_state =
|
||||
*content::BrowserAccessibilityState::GetInstance();
|
||||
base::Value::Dict data;
|
||||
- PrefService* pref = Profile::FromBrowserContext(current_context)->GetPrefs();
|
||||
+ PrefService* pref = static_cast<electron::ElectronBrowserContext*>(current_context)->prefs();
|
||||
ui::AXMode mode =
|
||||
content::BrowserAccessibilityState::GetInstance()->GetAccessibilityMode();
|
||||
bool is_a11y_allowed = content::BrowserAccessibilityState::GetInstance()
|
||||
@@ -221,7 +222,7 @@ void HandleAccessibilityRequestCallback(
|
||||
data.Set(kPDFPrinting, pdf_printing ? kOn : kOff);
|
||||
ui::AXMode mode = browser_accessibility_state.GetAccessibilityMode();
|
||||
bool native = mode.has_mode(ui::AXMode::kNativeAPIs);
|
||||
bool web = mode.has_mode(ui::AXMode::kWebContents);
|
||||
@@ -246,7 +247,7 @@ void HandleAccessibilityRequestCallback(
|
||||
initial_process_mode.has_mode(ui::AXMode::kHTML)));
|
||||
|
||||
std::string pref_api_type =
|
||||
- pref->GetString(prefs::kShownAccessibilityApiType);
|
||||
@@ -48,7 +48,7 @@ index 628fe5557f963c52cbe0c5b24c6e06aaa81f9677..868f5eb60c35dfaa0a4e33e7f1757438
|
||||
bool pref_api_type_supported = false;
|
||||
|
||||
std::vector<ui::AXApiType::Type> supported_api_types =
|
||||
@@ -288,11 +289,11 @@ void HandleAccessibilityRequestCallback(
|
||||
@@ -314,11 +315,11 @@ void HandleAccessibilityRequestCallback(
|
||||
data.Set(kPagesField, std::move(page_list));
|
||||
|
||||
base::Value::List browser_list;
|
||||
@@ -62,7 +62,7 @@ index 628fe5557f963c52cbe0c5b24c6e06aaa81f9677..868f5eb60c35dfaa0a4e33e7f1757438
|
||||
data.Set(kBrowsersField, std::move(browser_list));
|
||||
|
||||
std::string json_string;
|
||||
@@ -762,7 +763,8 @@ void AccessibilityUIMessageHandler::SetGlobalString(
|
||||
@@ -792,7 +793,8 @@ void AccessibilityUIMessageHandler::SetGlobalString(
|
||||
const std::string value = CheckJSValue(data.FindString(kValueField));
|
||||
|
||||
if (string_name == kApiTypeField) {
|
||||
@@ -72,7 +72,7 @@ index 628fe5557f963c52cbe0c5b24c6e06aaa81f9677..868f5eb60c35dfaa0a4e33e7f1757438
|
||||
pref->SetString(prefs::kShownAccessibilityApiType, value);
|
||||
}
|
||||
}
|
||||
@@ -816,7 +818,8 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree(
|
||||
@@ -846,7 +848,8 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree(
|
||||
AXPropertyFilter::ALLOW_EMPTY);
|
||||
AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY);
|
||||
|
||||
@@ -82,7 +82,7 @@ index 628fe5557f963c52cbe0c5b24c6e06aaa81f9677..868f5eb60c35dfaa0a4e33e7f1757438
|
||||
ui::AXApiType::Type api_type =
|
||||
ui::AXApiType::From(pref->GetString(prefs::kShownAccessibilityApiType));
|
||||
std::string accessibility_contents =
|
||||
@@ -843,6 +846,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree(
|
||||
@@ -873,6 +876,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree(
|
||||
AXPropertyFilter::ALLOW_EMPTY);
|
||||
AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY);
|
||||
|
||||
@@ -90,7 +90,7 @@ index 628fe5557f963c52cbe0c5b24c6e06aaa81f9677..868f5eb60c35dfaa0a4e33e7f1757438
|
||||
for (Browser* browser : *BrowserList::GetInstance()) {
|
||||
if (browser->session_id().id() == session_id) {
|
||||
base::Value::Dict result = BuildTargetDescriptor(browser);
|
||||
@@ -855,6 +859,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree(
|
||||
@@ -885,6 +889,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree(
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -98,7 +98,7 @@ index 628fe5557f963c52cbe0c5b24c6e06aaa81f9677..868f5eb60c35dfaa0a4e33e7f1757438
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
// No browser with the specified |session_id| was found.
|
||||
base::Value::Dict result;
|
||||
@@ -898,11 +903,13 @@ void AccessibilityUIMessageHandler::StopRecording(
|
||||
@@ -928,11 +933,13 @@ void AccessibilityUIMessageHandler::StopRecording(
|
||||
}
|
||||
|
||||
ui::AXApiType::Type AccessibilityUIMessageHandler::GetRecordingApiType() {
|
||||
@@ -115,7 +115,7 @@ index 628fe5557f963c52cbe0c5b24c6e06aaa81f9677..868f5eb60c35dfaa0a4e33e7f1757438
|
||||
// Check to see if it is in the supported types list.
|
||||
if (std::find(supported_types.begin(), supported_types.end(), api_type) ==
|
||||
supported_types.end()) {
|
||||
@@ -972,8 +979,11 @@ void AccessibilityUIMessageHandler::RequestAccessibilityEvents(
|
||||
@@ -1002,8 +1009,11 @@ void AccessibilityUIMessageHandler::RequestAccessibilityEvents(
|
||||
// static
|
||||
void AccessibilityUIMessageHandler::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: allow disabling blink scheduler throttling per RenderView
|
||||
This allows us to disable throttling for hidden windows.
|
||||
|
||||
diff --git a/content/browser/renderer_host/navigation_controller_impl_unittest.cc b/content/browser/renderer_host/navigation_controller_impl_unittest.cc
|
||||
index 6c679ef877067297ec3bf1a23af6c03a2af8dcf5..1ac93433189580c13b69cd52ce62681a8620da3d 100644
|
||||
index f9b27264f7e3e1f8de6f088ccb78e4a4693c5e93..85aebec5028fd6b324a1f1d9416fbf99c150e09a 100644
|
||||
--- a/content/browser/renderer_host/navigation_controller_impl_unittest.cc
|
||||
+++ b/content/browser/renderer_host/navigation_controller_impl_unittest.cc
|
||||
@@ -168,6 +168,12 @@ class MockPageBroadcast : public blink::mojom::PageBroadcast {
|
||||
@@ -23,10 +23,10 @@ index 6c679ef877067297ec3bf1a23af6c03a2af8dcf5..1ac93433189580c13b69cd52ce62681a
|
||||
return receiver_.BindNewEndpointAndPassDedicatedRemote();
|
||||
}
|
||||
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
|
||||
index 6c1e46e58d975137eee6c0fd7b01d2ae970a2e10..5ca29616369e76e298eb03188e18ca545c76a162 100644
|
||||
index 9d430ebff1067323f229c3b81b18300e8cb7e8a9..090125bc5a4c485c83d9eaa6b82ed5cf3402cbbd 100644
|
||||
--- a/content/browser/renderer_host/render_view_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_view_host_impl.cc
|
||||
@@ -765,6 +765,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
|
||||
@@ -768,6 +768,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
|
||||
GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque);
|
||||
}
|
||||
|
||||
@@ -116,10 +116,10 @@ index b1689844282d6917b9750fbc6a875848ddf84b70..f1cc159b7c3448a33a6d9e213f8fbd3b
|
||||
// Visibility -----------------------------------------------------------
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
index c1af09d0a80ffba9b1265e59cf3d066ad2a5bfa0..fbfc0af8a6f29da9ee2d5fd6ae5a02958a7e3a81 100644
|
||||
index 1af1fa035b3da8967526d704e362ddbc5c3194ac..f470ada1bf84938427fb89f4508e5f56aaeebc1f 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -2465,6 +2465,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
|
||||
@@ -2466,6 +2466,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
|
||||
TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal",
|
||||
"old_state", old_state, "new_state", new_state);
|
||||
|
||||
@@ -130,7 +130,7 @@ index c1af09d0a80ffba9b1265e59cf3d066ad2a5bfa0..fbfc0af8a6f29da9ee2d5fd6ae5a0295
|
||||
bool storing_in_bfcache = new_state->is_in_back_forward_cache &&
|
||||
!old_state->is_in_back_forward_cache;
|
||||
bool restoring_from_bfcache = !new_state->is_in_back_forward_cache &&
|
||||
@@ -3988,10 +3992,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
@@ -3989,10 +3993,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
return GetPage()->GetPageScheduler();
|
||||
}
|
||||
|
||||
|
||||
@@ -8,10 +8,10 @@ WebPreferences of in-process child windows, rather than relying on
|
||||
process-level command line switches, as before.
|
||||
|
||||
diff --git a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
||||
index 2612e54a2b0d3c71bd8efe9340bc58c795500140..e590387effc958ba7215e75ea1e2a8173f624d02 100644
|
||||
index 009f3563df63bc2ba2eadeecaea4f328d6a409ec..769ff8faaddf543fba1a41aff939f23741127247 100644
|
||||
--- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
||||
+++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
||||
@@ -148,6 +148,19 @@ bool StructTraits<blink::mojom::WebPreferencesDataView,
|
||||
@@ -150,6 +150,19 @@ bool StructTraits<blink::mojom::WebPreferencesDataView,
|
||||
out->v8_cache_options = data.v8_cache_options();
|
||||
out->record_whole_document = data.record_whole_document();
|
||||
out->stylus_handwriting_enabled = data.stylus_handwriting_enabled();
|
||||
@@ -65,7 +65,7 @@ index 85f312a9ea1eca0ff7ba4c679fabb3156aabbc0b..a9dc007a93003610d68e3118b4a47a86
|
||||
// chrome, except for the cases where it would require lots of extra work for
|
||||
// the embedder to use the same default value.
|
||||
diff --git a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
||||
index 9b7bc55a0e61de85688b2370012e14f8b47c43ab..63b035046ac3d565e5ee1f3a3c559da88d81f059 100644
|
||||
index 1173ace39b6256edc188a4c6649e7cd4c4484899..c1d53122af52f7785a016f6fc62d9aa684a4be8c 100644
|
||||
--- a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
||||
+++ b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
||||
@@ -8,6 +8,7 @@
|
||||
@@ -76,7 +76,7 @@ index 9b7bc55a0e61de85688b2370012e14f8b47c43ab..63b035046ac3d565e5ee1f3a3c559da8
|
||||
#include "mojo/public/cpp/bindings/struct_traits.h"
|
||||
#include "net/nqe/effective_connection_type.h"
|
||||
#include "third_party/blink/public/common/common_export.h"
|
||||
@@ -437,6 +438,52 @@ struct BLINK_COMMON_EXPORT StructTraits<blink::mojom::WebPreferencesDataView,
|
||||
@@ -442,6 +443,52 @@ struct BLINK_COMMON_EXPORT StructTraits<blink::mojom::WebPreferencesDataView,
|
||||
return r.stylus_handwriting_enabled;
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ index 9b7bc55a0e61de85688b2370012e14f8b47c43ab..63b035046ac3d565e5ee1f3a3c559da8
|
||||
return r.cookie_enabled;
|
||||
}
|
||||
diff --git a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
||||
index e7c3bc263844c0ddeb9011440e2c0fd8f848ca27..142dae3834fe96f120727ef9ffe1250607bcadec 100644
|
||||
index ffd46eb579c7c6bf9263b02e9bbe0dee013ac76d..be40f76fae9653e8d3fdcfa74979089d3d317533 100644
|
||||
--- a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
||||
+++ b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
||||
@@ -8,9 +8,11 @@ import "third_party/blink/public/mojom/css/preferred_color_scheme.mojom";
|
||||
@@ -145,7 +145,7 @@ index e7c3bc263844c0ddeb9011440e2c0fd8f848ca27..142dae3834fe96f120727ef9ffe12506
|
||||
enum PointerType {
|
||||
kPointerNone = 1, // 1 << 0
|
||||
kPointerFirstType = kPointerNone,
|
||||
@@ -218,6 +220,19 @@ struct WebPreferences {
|
||||
@@ -219,6 +221,19 @@ struct WebPreferences {
|
||||
// If true, stylus handwriting recognition to text input will be available in
|
||||
// editable input fields which are non-password type.
|
||||
bool stylus_handwriting_enabled;
|
||||
|
||||
@@ -15,7 +15,7 @@ Refs changes in:
|
||||
This patch reverts the changes to fix associated crashes in Electron.
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/frame/frame.cc b/third_party/blink/renderer/core/frame/frame.cc
|
||||
index 9dc450bc20744463c8898bc822a558be38486493..576421cb9600625ad8b9eda25cb99954092a7a37 100644
|
||||
index 2072f6b14289b1f3a76dbccc98f29aa178c1c35c..d7017437a7e7e6ac130677e52731d0482bf20664 100644
|
||||
--- a/third_party/blink/renderer/core/frame/frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/frame.cc
|
||||
@@ -134,14 +134,6 @@ bool Frame::Detach(FrameDetachType type) {
|
||||
@@ -49,10 +49,10 @@ index 9dc450bc20744463c8898bc822a558be38486493..576421cb9600625ad8b9eda25cb99954
|
||||
// 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 1a032c3a8eec55e98da745e7f82b311b1e0bd8ba..19efdf1f30eb5409f9d8a64f008891a2f4bda47c 100644
|
||||
index a309befcbcb1e7fe667bc1d794141fb90fea1035..dd148eb3cce762d20e9117b4f8030c881057b8bb 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -748,10 +748,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
@@ -753,10 +753,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
}
|
||||
DCHECK(!view_ || !view_->IsAttached());
|
||||
|
||||
@@ -63,7 +63,7 @@ index 1a032c3a8eec55e98da745e7f82b311b1e0bd8ba..19efdf1f30eb5409f9d8a64f008891a2
|
||||
if (!Client())
|
||||
return false;
|
||||
|
||||
@@ -805,6 +801,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
@@ -810,6 +806,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
DCHECK(!view_->IsAttached());
|
||||
Client()->WillBeDetached();
|
||||
|
||||
|
||||
@@ -8,10 +8,10 @@ categories in use are known / declared. This patch is required for us
|
||||
to introduce a new Electron category for Electron-specific tracing.
|
||||
|
||||
diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
|
||||
index 45c518185da68419e0f482acba359f02c2152f88..a0e35f118f0b1f767b41676d651a575e8b5fddb4 100644
|
||||
index e9f891a025771899ffc888ea0095200342e48558..39d6f580c0cb5a0de41f32e9d7e103e05cefd0f0 100644
|
||||
--- a/base/trace_event/builtin_categories.h
|
||||
+++ b/base/trace_event/builtin_categories.h
|
||||
@@ -91,6 +91,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
|
||||
@@ -102,6 +102,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
|
||||
perfetto::Category("drm"),
|
||||
perfetto::Category("drmcursor"),
|
||||
perfetto::Category("dwrite"),
|
||||
|
||||
@@ -11,7 +11,7 @@ To accomplish this, we need to make simdutf's config public here
|
||||
for use by third_party/electron_node.
|
||||
|
||||
diff --git a/third_party/simdutf/BUILD.gn b/third_party/simdutf/BUILD.gn
|
||||
index d88fe7e43ac2a8129702e58bd2cd2aea094452e3..3cbeb89587f37b0ebc3622258fea0161ebf1d7b2 100644
|
||||
index 5fbce38841f04dad38f202f529ae84c609c6a8de..9f5ef9bceade8e30bbd2be616b9143e9708fefd8 100644
|
||||
--- a/third_party/simdutf/BUILD.gn
|
||||
+++ b/third_party/simdutf/BUILD.gn
|
||||
@@ -6,9 +6,14 @@ source_set("header") {
|
||||
|
||||
@@ -10,10 +10,10 @@ Needed for:
|
||||
2) //electron/shell/common:web_contents_utility
|
||||
|
||||
diff --git a/content/public/common/BUILD.gn b/content/public/common/BUILD.gn
|
||||
index 55921115094f7437ce10db1cac1debe9adc10ea9..7040d83af340f052f5cab4437433e3dd0a688390 100644
|
||||
index 35fc76646e912075c744b48b5ddec73f885ea5e8..6ce2825bf558d5f50b9df45227284103375aa2e4 100644
|
||||
--- a/content/public/common/BUILD.gn
|
||||
+++ b/content/public/common/BUILD.gn
|
||||
@@ -379,6 +379,8 @@ mojom("interfaces") {
|
||||
@@ -381,6 +381,8 @@ mojom("interfaces") {
|
||||
"//content/common/*",
|
||||
"//extensions/common:mojom",
|
||||
"//extensions/common:mojom_blink",
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: build: allow electron to use exec_script
|
||||
This is similar to the //build usecase so we're OK adding ourselves here
|
||||
|
||||
diff --git a/.gn b/.gn
|
||||
index 54d2631ec203207f44038a36439613709fec1669..c8b8f604f9e9d960e8144a93d958ab125aae96c5 100644
|
||||
index ae58a0b0a64ae1fdb3f9cd8587041d71a121c6b9..0ed56526002b12deb6d29f3dd23a0d74d8e7473c 100644
|
||||
--- a/.gn
|
||||
+++ b/.gn
|
||||
@@ -173,4 +173,26 @@ exec_script_allowlist =
|
||||
@@ -167,4 +167,27 @@ exec_script_allowlist =
|
||||
|
||||
"//tools/grit/grit_rule.gni",
|
||||
"//tools/gritsettings/BUILD.gn",
|
||||
@@ -34,5 +34,6 @@ index 54d2631ec203207f44038a36439613709fec1669..c8b8f604f9e9d960e8144a93d958ab12
|
||||
+ "//third_party/electron_node/deps/sqlite/unofficial.gni",
|
||||
+ "//third_party/electron_node/deps/uv/unofficial.gni",
|
||||
+ "//third_party/electron_node/deps/uvwasi/unofficial.gni",
|
||||
+ "//third_party/electron_node/deps/zstd/unofficial.gni",
|
||||
+ "//third_party/electron_node/src/inspector/unofficial.gni",
|
||||
]
|
||||
|
||||
@@ -11,7 +11,7 @@ This patch can (and should) be removed when we can prevent those symbols
|
||||
from being stripped in the release build.
|
||||
|
||||
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
|
||||
index 5b98b4aedab5b700d21d6a8eac11c81cc13f6b39..8ee6f54f67c300a52074f33f9d6fe08a68e3be4b 100644
|
||||
index a47aa1cf4fb55c91908e15f1c406d79a48697cf8..a05a20229749e032e6d26d87177aebc4955ce081 100644
|
||||
--- a/build/config/compiler/compiler.gni
|
||||
+++ b/build/config/compiler/compiler.gni
|
||||
@@ -79,7 +79,7 @@ declare_args() {
|
||||
|
||||
@@ -11,7 +11,7 @@ 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 95c73dcb082999d0a85d82f1fe330d27c88055ca..64cd976eba849435779b280b2941f9150b5d1d36 100644
|
||||
index 4b3f01018a9dea91b46b5917e099f272582991b2..8250f2e447ff19829cfae3f00b3df70b47749874 100644
|
||||
--- a/chrome/BUILD.gn
|
||||
+++ b/chrome/BUILD.gn
|
||||
@@ -200,11 +200,16 @@ if (!is_android && !is_mac) {
|
||||
@@ -33,10 +33,10 @@ index 95c73dcb082999d0a85d82f1fe330d27c88055ca..64cd976eba849435779b280b2941f915
|
||||
"//base",
|
||||
"//build:branding_buildflags",
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
index fd02559a88b339ebd70e08d11d294975f1ef3148..c304e3d04364b071465a513a7953b3d1f0d3a38e 100644
|
||||
index ae32014a8a25f3b1de7f6087551a87400e1463b5..be77c4e02cc495194ed6b248e56bcb75abe4efce 100644
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -4591,7 +4591,7 @@ static_library("browser") {
|
||||
@@ -4627,7 +4627,7 @@ static_library("browser") {
|
||||
[ "//chrome/browser/ui/webui/signin:profile_impl" ]
|
||||
}
|
||||
|
||||
@@ -46,10 +46,10 @@ index fd02559a88b339ebd70e08d11d294975f1ef3148..c304e3d04364b071465a513a7953b3d1
|
||||
# than here in :chrome_dll.
|
||||
deps += [ "//chrome:packed_resources_integrity_header" ]
|
||||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
index 48488b2b31ff39e3fe822aa388e1c89578eb2575..9ba26245243d37683f3161c89411cacdcfaeceb7 100644
|
||||
index e08035df314884fab39562cd9ee4960ec5af3cb5..28f0f4d671e16ffff770b43fa5a2e366491d4b30 100644
|
||||
--- a/chrome/test/BUILD.gn
|
||||
+++ b/chrome/test/BUILD.gn
|
||||
@@ -7086,9 +7086,12 @@ test("unit_tests") {
|
||||
@@ -7185,9 +7185,12 @@ test("unit_tests") {
|
||||
"//chrome/notification_helper",
|
||||
]
|
||||
|
||||
@@ -63,7 +63,7 @@ index 48488b2b31ff39e3fe822aa388e1c89578eb2575..9ba26245243d37683f3161c89411cacd
|
||||
"//chrome//services/util_win:unit_tests",
|
||||
"//chrome/app:chrome_dll_resources",
|
||||
"//chrome/app:win_unit_tests",
|
||||
@@ -8054,6 +8057,10 @@ test("unit_tests") {
|
||||
@@ -8153,6 +8156,10 @@ test("unit_tests") {
|
||||
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
|
||||
]
|
||||
|
||||
@@ -74,7 +74,7 @@ index 48488b2b31ff39e3fe822aa388e1c89578eb2575..9ba26245243d37683f3161c89411cacd
|
||||
sources += [
|
||||
# The importer code is not used on Android.
|
||||
"../common/importer/firefox_importer_utils_unittest.cc",
|
||||
@@ -8109,7 +8116,6 @@ test("unit_tests") {
|
||||
@@ -8208,7 +8215,6 @@ test("unit_tests") {
|
||||
# Non-android deps for "unit_tests" target.
|
||||
deps += [
|
||||
"../browser/screen_ai:screen_ai_install_state",
|
||||
|
||||
@@ -7,7 +7,7 @@ These are variables we add to the root BUILDCONFIG so that they're available
|
||||
everywhere, without having to import("//electron/.../flags.gni").
|
||||
|
||||
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
|
||||
index a9d2caeb1c92e102daa9a8bd5bdc5a55af418cf4..efb5bf91722d4b18ae704ebf7355a13f253bef20 100644
|
||||
index c3a3bf4970783804bc76ee4e71bb8233b5f215a8..78c72710b411e05ca0b6f01811076599fa66fc15 100644
|
||||
--- a/build/config/BUILDCONFIG.gn
|
||||
+++ b/build/config/BUILDCONFIG.gn
|
||||
@@ -123,6 +123,9 @@ if (current_os == "") {
|
||||
|
||||
@@ -7,10 +7,10 @@ Build libc++ as static library to compile and pass
|
||||
nan tests
|
||||
|
||||
diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
|
||||
index fd41146966f8cd559e99eb58c0831acdce9fbc6a..acc60f67732179ac6ed7161478686b6e3778731c 100644
|
||||
index f411f2d51a397db52ba28eb7ed430f6f16c5396d..219e99e56cbf35aac8e18cff96601143f9f44ebf 100644
|
||||
--- a/buildtools/third_party/libc++/BUILD.gn
|
||||
+++ b/buildtools/third_party/libc++/BUILD.gn
|
||||
@@ -265,7 +265,11 @@ libcxx_modules("std_wctype_h") {
|
||||
@@ -295,7 +295,11 @@ libcxx_modules("std_wctype_h") {
|
||||
if (libcxx_is_shared) {
|
||||
_libcxx_target_type = "shared_library"
|
||||
} else {
|
||||
@@ -23,7 +23,7 @@ index fd41146966f8cd559e99eb58c0831acdce9fbc6a..acc60f67732179ac6ed7161478686b6e
|
||||
}
|
||||
|
||||
target(_libcxx_target_type, "libc++") {
|
||||
@@ -274,6 +278,7 @@ target(_libcxx_target_type, "libc++") {
|
||||
@@ -304,6 +308,7 @@ target(_libcxx_target_type, "libc++") {
|
||||
# need to explicitly depend on libc++.
|
||||
visibility = [
|
||||
"//build/config:common_deps",
|
||||
|
||||
@@ -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 9e95917b0808ddcb6e0b1359fb5a86a516e4a071..ea6ba910234659d1213b1f3f624da0f49b851725 100644
|
||||
index 9d5452597f64906ac1d3223ca5290776df8809c5..46ddad111b2feb5cc1064a1eeb424800d2cba6c1 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -9638,6 +9638,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
@@ -9777,6 +9777,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 9e95917b0808ddcb6e0b1359fb5a86a516e4a071..ea6ba910234659d1213b1f3f624da0f4
|
||||
&no_javascript_access);
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 9c0ef713978f40d8ddda6772004fc81f37eafb6f..d7bf74c206cedc628d0b92fff25c29393f6c9d95 100644
|
||||
index 77954ceccdfb1e94598d5d7ad747721ab84aa1d7..aec96f969800e2a4d09e644df770d367e48b1b63 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5087,6 +5087,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5132,6 +5132,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params,
|
||||
opener);
|
||||
|
||||
@@ -37,7 +37,7 @@ index 9c0ef713978f40d8ddda6772004fc81f37eafb6f..d7bf74c206cedc628d0b92fff25c2939
|
||||
// If the new frame has a name, make sure any SiteInstances that can find
|
||||
// this named frame have proxies for it. Must be called after
|
||||
// SetSessionStorageNamespace, since this calls CreateRenderView, which uses
|
||||
@@ -5128,12 +5134,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5173,12 +5179,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
AddWebContentsDestructionObserver(new_contents_impl);
|
||||
}
|
||||
|
||||
@@ -66,10 +66,10 @@ index 55bb4ae3bab4cdf20b3e1dde9450a5c0e4e62b37..fe444c7fa140166a1b65c7a8a2676e2d
|
||||
|
||||
// Operation result when the renderer asks the browser to create a new window.
|
||||
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
||||
index c5b548159e64ef3b8d27e1d7e8147289064f6e8a..1c4dd9d0c16751f34d59088e68e23317b8d25437 100644
|
||||
index 210e5ffc0da31cc0d214e8a3e65f7d8b045fd33e..237b279eeefe5b18402a7dea8d1c00072655ed22 100644
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -820,6 +820,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
@@ -823,6 +823,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
@@ -79,10 +79,10 @@ index c5b548159e64ef3b8d27e1d7e8147289064f6e8a..1c4dd9d0c16751f34d59088e68e23317
|
||||
bool opener_suppressed,
|
||||
bool* no_javascript_access) {
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index 921a6a8f7ecbdd2e3fa8a9888e4a34f1b0cf7e09..7cfc3331a004fd52d9863a097271f4d892480933 100644
|
||||
index be551d7a09330edf4a204b181acb382c2c3d13f4..5ed4df05dd22cbf901ecbbcc9d892de806c93890 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -198,6 +198,7 @@ class NetworkService;
|
||||
@@ -199,6 +199,7 @@ class NetworkService;
|
||||
class TrustedURLLoaderHeaderClient;
|
||||
} // namespace mojom
|
||||
struct ResourceRequest;
|
||||
@@ -90,7 +90,7 @@ index 921a6a8f7ecbdd2e3fa8a9888e4a34f1b0cf7e09..7cfc3331a004fd52d9863a097271f4d8
|
||||
} // namespace network
|
||||
|
||||
namespace sandbox {
|
||||
@@ -1372,6 +1373,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1379,6 +1380,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
@@ -148,10 +148,10 @@ index da319cb20733150366d85bee95609f0f2d9def7f..8a18958035cc1dd26be558349f64f772
|
||||
// typically happens when popups are created.
|
||||
virtual void WebContentsCreated(WebContents* source_contents,
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
index 0755a49ee7558ee0c5e76f602c514bb8a7c3a019..4185aa3e07df8f2a3061d18e87f39cd5d79baead 100644
|
||||
index 7f33a5452de32f5f4f8a43d0314917f24308d77c..b0aa018f2f4e6865915516ab6b65fac20d9e6f20 100644
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -6927,6 +6927,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
||||
@@ -6938,6 +6938,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
||||
request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
|
||||
GetWebFrame()->IsAdScriptInStack());
|
||||
|
||||
@@ -163,10 +163,10 @@ index 0755a49ee7558ee0c5e76f602c514bb8a7c3a019..4185aa3e07df8f2a3061d18e87f39cd5
|
||||
// moved on send.
|
||||
bool is_background_tab =
|
||||
diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc
|
||||
index fa36b9907988ab971c94eae317e6e1dc4d170762..a2cafef6cae2fd78580fdf90dae17ac6586a7312 100644
|
||||
index e5f7596c1b3e525e1d64efbd6b7e0703b980dac9..0b4523200651c1edfd7678b177a24b7e64de6ddf 100644
|
||||
--- a/content/web_test/browser/web_test_content_browser_client.cc
|
||||
+++ b/content/web_test/browser/web_test_content_browser_client.cc
|
||||
@@ -534,6 +534,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
|
||||
@@ -538,6 +538,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
@@ -176,10 +176,10 @@ index fa36b9907988ab971c94eae317e6e1dc4d170762..a2cafef6cae2fd78580fdf90dae17ac6
|
||||
bool opener_suppressed,
|
||||
bool* no_javascript_access) {
|
||||
diff --git a/content/web_test/browser/web_test_content_browser_client.h b/content/web_test/browser/web_test_content_browser_client.h
|
||||
index 9c6bbdc4f8e4f78fd745ac4e71510d9534925a78..f4a68476f71e8283bb3da3642758416efb98c168 100644
|
||||
index e4eaba65b25262ce5ed27d78da13a260ec57f6db..ddd3be9aa7aac43140a1e664eefce7ac195ba119 100644
|
||||
--- a/content/web_test/browser/web_test_content_browser_client.h
|
||||
+++ b/content/web_test/browser/web_test_content_browser_client.h
|
||||
@@ -93,6 +93,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {
|
||||
@@ -95,6 +95,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
@@ -210,10 +210,10 @@ index 82e9d3dfb5f7da76d89fe15ae61d379fa46e177d..fd035512099a54dff6cc951a2226c23a
|
||||
|
||||
} // 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 f4a1ed78679c5efaea6494a4aa8b22fff31cba1b..afa637807b0a5bdef126031f219115ecee8d478d 100644
|
||||
index de39a688207f81143c59ad54385642389b0fcc4e..93c5b79727674ff1c5344d39fd7bcd07c3101424 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
@@ -2272,6 +2272,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
@@ -2280,6 +2280,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
WebWindowFeatures window_features =
|
||||
GetWindowFeaturesFromString(features, entered_window);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: chore: add electron deps to gitignores
|
||||
Makes things like "git status" quicker when developing electron locally
|
||||
|
||||
diff --git a/.gitignore b/.gitignore
|
||||
index 375db3d02ce2837ba69e3e93c38cde7153ba079f..fc3f4f71c43facf695d326f0bc64e0ad920aa9ac 100644
|
||||
index 0a0f0118d5c1a5a2f3ad28b068bebb849eba7246..5ca6d03b709ef119ccd6482b2f305f8a3aeb7438 100644
|
||||
--- a/.gitignore
|
||||
+++ b/.gitignore
|
||||
@@ -217,6 +217,7 @@ vs-chromium-project.txt
|
||||
@@ -18,12 +18,12 @@ index 375db3d02ce2837ba69e3e93c38cde7153ba079f..fc3f4f71c43facf695d326f0bc64e0ad
|
||||
/googleurl
|
||||
/gpu/gles2_conform_test
|
||||
diff --git a/third_party/.gitignore b/third_party/.gitignore
|
||||
index 3e117f79191d5cea0fb4f1c6b0e95513562d7691..f197d17a55a802b01aaba602eff7c83f2a55c7b5 100644
|
||||
index ad591b3a0f2afe24d53dac76655f81790c1baa50..080d19d34659290e70f599e3d91da286013be76f 100644
|
||||
--- a/third_party/.gitignore
|
||||
+++ b/third_party/.gitignore
|
||||
@@ -45,7 +45,9 @@
|
||||
/devserver
|
||||
@@ -46,7 +46,9 @@
|
||||
/directxsdk
|
||||
/dragonbox/src
|
||||
/edk2
|
||||
+/electron_node
|
||||
/elfutils/src
|
||||
@@ -31,7 +31,7 @@ index 3e117f79191d5cea0fb4f1c6b0e95513562d7691..f197d17a55a802b01aaba602eff7c83f
|
||||
/espresso/lib/
|
||||
/eyesfree/src
|
||||
/fast_float/src
|
||||
@@ -93,6 +95,7 @@
|
||||
@@ -94,6 +96,7 @@
|
||||
/mocha
|
||||
/mockito/src
|
||||
/nacl_sdk_binaries/
|
||||
@@ -39,7 +39,7 @@ index 3e117f79191d5cea0fb4f1c6b0e95513562d7691..f197d17a55a802b01aaba602eff7c83f
|
||||
/ninja
|
||||
/node/*.tar.gz
|
||||
/node/linux/
|
||||
@@ -137,7 +140,7 @@
|
||||
@@ -138,7 +141,7 @@
|
||||
/spirv-cross/src
|
||||
/spirv-headers/src
|
||||
/spirv-tools/src
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Charles Kerr <charles@charleskerr.com>
|
||||
Date: Mon, 14 Apr 2025 11:34:25 -0500
|
||||
Subject: chore: "grandfather in" Electron Views and Delegates
|
||||
|
||||
6441736: Block further usage of WidgetDelegateView. | https://chromium-review.googlesource.com/c/chromium/src/+/6441736
|
||||
|
||||
6442265: Add a PassKey for std::make_unique<WidgetDelegateView>(). | https://chromium-review.googlesource.com/c/chromium/src/+/6442265
|
||||
|
||||
6448510: Lock further access to View::set_owned_by_client(). | https://chromium-review.googlesource.com/c/chromium/src/+/6448510
|
||||
|
||||
diff --git a/ui/views/view.h b/ui/views/view.h
|
||||
index ae7eab37f12ba80ec423d229cf048021e9ba6765..507a75dc7947295db221b01356fa57baf3cf03e4 100644
|
||||
--- a/ui/views/view.h
|
||||
+++ b/ui/views/view.h
|
||||
@@ -82,6 +82,19 @@ class ArcNotificationContentView;
|
||||
class WideFrameView;
|
||||
} // namespace ash
|
||||
|
||||
+namespace electron {
|
||||
+class DevToolsWindowDelegate;
|
||||
+class InspectableWebContentsView;
|
||||
+class MenuBar;
|
||||
+class RootView;
|
||||
+class RootViewMac;
|
||||
+}
|
||||
+
|
||||
+namespace electron::api {
|
||||
+class ImageView;
|
||||
+class View;
|
||||
+}
|
||||
+
|
||||
namespace exo {
|
||||
class ShellSurfaceBase;
|
||||
}
|
||||
@@ -324,6 +337,14 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
||||
public:
|
||||
class OwnedByClientPassKey {
|
||||
private:
|
||||
+ // TODO(ckerr) can this list be shortened?
|
||||
+ friend class electron::DevToolsWindowDelegate;
|
||||
+ friend class electron::InspectableWebContentsView;
|
||||
+ friend class electron::MenuBar;
|
||||
+ friend class electron::RootView;
|
||||
+ friend class electron::RootViewMac;
|
||||
+ friend class electron::api::ImageView;
|
||||
+ friend class electron::api::View;
|
||||
// DO NOT ADD TO THIS LIST!
|
||||
// These existing cases are "grandfathered in", but there shouldn't be more.
|
||||
// See comments atop class.
|
||||
diff --git a/ui/views/widget/widget_delegate.h b/ui/views/widget/widget_delegate.h
|
||||
index 89de188e6a0139a236a824b189f1048613d6f457..c438376c34cac4ec7ac7a03d852685c18b10068e 100644
|
||||
--- a/ui/views/widget/widget_delegate.h
|
||||
+++ b/ui/views/widget/widget_delegate.h
|
||||
@@ -165,6 +165,12 @@ namespace crostini {
|
||||
class AppRestartDialog;
|
||||
}
|
||||
|
||||
+namespace electron {
|
||||
+class AutofillPopupView;
|
||||
+class DevToolsWindowDelegate;
|
||||
+class NativeWindowMac;
|
||||
+}
|
||||
+
|
||||
namespace enterprise_connectors {
|
||||
class ContentAnalysisDialog;
|
||||
class ContentAnalysisDialogBehaviorBrowserTest;
|
||||
@@ -367,6 +373,7 @@ class VIEWS_EXPORT WidgetDelegate {
|
||||
|
||||
class OwnedByWidgetPassKey {
|
||||
private:
|
||||
+ friend class electron::DevToolsWindowDelegate;
|
||||
// DO NOT ADD TO THIS LIST!
|
||||
// These existing cases are "grandfathered in", but there shouldn't be more.
|
||||
// See comments atop `SetOwnedByWidget()`.
|
||||
@@ -463,6 +470,7 @@ class VIEWS_EXPORT WidgetDelegate {
|
||||
};
|
||||
class RegisterDeleteCallbackPassKey {
|
||||
private:
|
||||
+ friend class electron::NativeWindowMac;
|
||||
// DO NOT ADD TO THIS LIST!
|
||||
// These existing cases are "grandfathered in", but there shouldn't be more.
|
||||
// See comments atop `RegisterDeleteDelegateCallback()`.
|
||||
@@ -913,6 +921,7 @@ class VIEWS_EXPORT WidgetDelegateView : public WidgetDelegate, public View {
|
||||
View* GetContentsView() override;
|
||||
|
||||
private:
|
||||
+ friend class electron::AutofillPopupView;
|
||||
// DO NOT ADD TO THIS LIST!
|
||||
// These existing cases are "grandfathered in", but there shouldn't be more.
|
||||
// See comments atop class.
|
||||
@@ -7,7 +7,7 @@ This patch comes after Chromium removed the ScopedAllowIO API in favor
|
||||
of explicitly adding ScopedAllowBlocking calls as friends.
|
||||
|
||||
diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h
|
||||
index d97240a7b0dcf63737808850b6ef83852155b794..4a58b1f3e8c2bee32084be82977239e911598077 100644
|
||||
index 59d6e6e4d899f10d1adeb4f23c32f0dd565cf963..674954816b6c241c1923668f8da7ad5c79a04256 100644
|
||||
--- a/base/threading/thread_restrictions.h
|
||||
+++ b/base/threading/thread_restrictions.h
|
||||
@@ -132,6 +132,7 @@ class KeyStorageLinux;
|
||||
@@ -28,7 +28,7 @@ index d97240a7b0dcf63737808850b6ef83852155b794..4a58b1f3e8c2bee32084be82977239e9
|
||||
namespace enterprise_connectors {
|
||||
class LinuxKeyRotationCommand;
|
||||
} // namespace enterprise_connectors
|
||||
@@ -575,6 +579,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
@@ -572,6 +576,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
friend class ::DesktopNotificationBalloon;
|
||||
friend class ::FirefoxProfileLock;
|
||||
friend class ::GaiaConfig;
|
||||
@@ -36,10 +36,10 @@ index d97240a7b0dcf63737808850b6ef83852155b794..4a58b1f3e8c2bee32084be82977239e9
|
||||
friend class ::ProfileImpl;
|
||||
friend class ::ScopedAllowBlockingForProfile;
|
||||
friend class ::StartupTabProviderImpl;
|
||||
@@ -614,6 +619,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
@@ -610,6 +615,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
friend class cronet::CronetPrefsManager;
|
||||
friend class crypto::ScopedAllowBlockingForNSS; // http://crbug.com/59847
|
||||
friend class drive::FakeDriveService;
|
||||
friend class extensions::DesktopAndroidExtensionSystem;
|
||||
+ friend class electron::ScopedAllowBlockingForElectron;
|
||||
friend class extensions::InstalledLoader;
|
||||
friend class extensions::UnpackedInstaller;
|
||||
|
||||
@@ -34,10 +34,10 @@ index 39b5a8fdd165efd74b00256552b51b5413107958..bfc4ef4f50efff4a77f2aef64335bb7e
|
||||
|
||||
class ScrollEvent;
|
||||
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
index 19826b92b39c812a3170bfa470a08192b2a712bc..d97262cc28622de335bfe5a82c26779e9dccd586 100644
|
||||
index 61509e2eb982797845098abf5f36e031be63686b..24283be8d1660acce0a5ae89386b8eef9989fc12 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
|
||||
@@ -1387,6 +1387,10 @@ void DesktopWindowTreeHostWin::HandleHeadlessWindowBoundsChanged(
|
||||
@@ -1415,6 +1415,10 @@ void DesktopWindowTreeHostWin::HandleHeadlessWindowBoundsChanged(
|
||||
window()->SetProperty(aura::client::kHeadlessBoundsKey, bounds);
|
||||
}
|
||||
|
||||
@@ -49,22 +49,22 @@ index 19826b92b39c812a3170bfa470a08192b2a712bc..d97262cc28622de335bfe5a82c26779e
|
||||
DesktopWindowTreeHostWin::GetSingletonDesktopNativeCursorManager() {
|
||||
return new DesktopNativeCursorManagerWin();
|
||||
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
index 2ee5e4b4673f4f18880dddecc48118c89823fd3f..37109b8d3d439073b5c9e2ea3597c36f32de5704 100644
|
||||
index dab595aacaeca4f6f735fd04004c27a4949278d2..177134d439866db9dbbde657ff358a761ad7f39d 100644
|
||||
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
@@ -268,6 +268,7 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin : public DesktopWindowTreeHost,
|
||||
@@ -272,6 +272,7 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
|
||||
void HandleWindowSizeUnchanged() override;
|
||||
void HandleWindowScaleFactorChanged(float window_scale_factor) override;
|
||||
void HandleHeadlessWindowBoundsChanged(const gfx::Rect& bounds) override;
|
||||
+ bool HandleMouseEventForCaption(UINT message) const override;
|
||||
|
||||
// Overridden from WidgetObserver.
|
||||
void OnWidgetThemeChanged(Widget* widget) override;
|
||||
Widget* GetWidget();
|
||||
const Widget* GetWidget() const;
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index 1cf98eadc8cbc1ada481c709a873dc1dd443de66..cec234006cbcacff953ce9ff4175006b057aa341 100644
|
||||
index 5919efa661c3b1ed210f7a67f85fdd3882011bae..5b17d5bf0b32405ae9515b941a17b68a04a3b317 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -3177,15 +3177,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -3178,15 +3178,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
}
|
||||
// We must let Windows handle the caption buttons if it's drawing them, or
|
||||
// they won't work.
|
||||
@@ -86,7 +86,7 @@ index 1cf98eadc8cbc1ada481c709a873dc1dd443de66..cec234006cbcacff953ce9ff4175006b
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -3208,6 +3212,7 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -3209,6 +3213,7 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
// handle alt-space, or in the frame itself.
|
||||
is_right_mouse_pressed_on_caption_ = false;
|
||||
ReleaseCapture();
|
||||
@@ -94,7 +94,7 @@ index 1cf98eadc8cbc1ada481c709a873dc1dd443de66..cec234006cbcacff953ce9ff4175006b
|
||||
// |point| is in window coordinates, but WM_NCHITTEST and TrackPopupMenu()
|
||||
// expect screen coordinates.
|
||||
POINT screen_point = CR_POINT_INITIALIZER_FROM_LPARAM(l_param);
|
||||
@@ -3215,7 +3220,17 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -3216,7 +3221,17 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
w_param = static_cast<WPARAM>(SendMessage(
|
||||
hwnd(), WM_NCHITTEST, 0, MAKELPARAM(screen_point.x, screen_point.y)));
|
||||
if (w_param == HTCAPTION || w_param == HTSYSMENU) {
|
||||
@@ -114,7 +114,7 @@ index 1cf98eadc8cbc1ada481c709a873dc1dd443de66..cec234006cbcacff953ce9ff4175006b
|
||||
}
|
||||
} else if (message == WM_NCLBUTTONDOWN &&
|
||||
diff --git a/ui/views/win/hwnd_message_handler_delegate.h b/ui/views/win/hwnd_message_handler_delegate.h
|
||||
index 83c26bf2b4bc11c0e3d839093eea56eed1bf581b..075e456e851bbde2b0174ca0cc34428cc32b6966 100644
|
||||
index 252d7ce78ad49596fb030160cb69d9bf3dc0951f..5e7975cf5cb3435b844fda58d7582d54cb583a72 100644
|
||||
--- a/ui/views/win/hwnd_message_handler_delegate.h
|
||||
+++ b/ui/views/win/hwnd_message_handler_delegate.h
|
||||
@@ -255,6 +255,10 @@ class VIEWS_EXPORT HWNDMessageHandlerDelegate {
|
||||
|
||||
@@ -14,10 +14,10 @@ track down the source of this problem & figure out if we can fix it
|
||||
by changing something in Electron.
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 51355738262d80afaf1f319b5d90c8a74d435ffd..2a17aa6a3f687d60a7ca0e839e59f637819a9376 100644
|
||||
index 459fc0eff0bfe2ec005d6f34cf7e91c2d601fd06..35de681eac3f65ce3e0435bd984159154ece2b7f 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5006,7 +5006,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5051,7 +5051,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
: IsGuest();
|
||||
// While some guest types do not have a guest SiteInstance, the ones that
|
||||
// don't all override WebContents creation above.
|
||||
|
||||
@@ -14,10 +14,10 @@ This change patches it out to prevent the DCHECK.
|
||||
It can be removed once/if we see a better solution to the problem.
|
||||
|
||||
diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc
|
||||
index adaa1cd426c138972b088d0d0093b0e1653af231..be4684c94ba2214255c5dbe9cdcf1ea316c60c06 100644
|
||||
index 4007e92316a6ac59145fa9bc021904fd1b3b0136..afedeaea7fd419f3374ffeebb7ee931219a90f93 100644
|
||||
--- a/content/browser/site_instance_impl.cc
|
||||
+++ b/content/browser/site_instance_impl.cc
|
||||
@@ -229,7 +229,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(
|
||||
@@ -226,7 +226,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(
|
||||
BrowserContext* browser_context,
|
||||
const StoragePartitionConfig& partition_config) {
|
||||
DCHECK(browser_context);
|
||||
|
||||
@@ -80,10 +80,10 @@ index 4fd8dff1089cd6afa6a66dc185734d7671657281..0a1f4268ea771a3d5d4a2668928c6e5d
|
||||
content::WebContents* source,
|
||||
const content::OpenURLParams& params,
|
||||
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
|
||||
index 9ccf763fcbc717480c4dfce735f273dfdbf5cd4a..381cda59465f34a46f55d03ef6ccd53fadec6e6e 100644
|
||||
index de3f9f56b47628e1104b5f64b3c17cc35e10bfc7..3a19c28386fd3a0b8755a06510895c685f2c0cdb 100644
|
||||
--- a/chrome/browser/ui/browser.cc
|
||||
+++ b/chrome/browser/ui/browser.cc
|
||||
@@ -2267,12 +2267,11 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
@@ -2327,12 +2327,11 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
@@ -99,10 +99,10 @@ index 9ccf763fcbc717480c4dfce735f273dfdbf5cd4a..381cda59465f34a46f55d03ef6ccd53f
|
||||
|
||||
WebContents* Browser::CreateCustomWebContents(
|
||||
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
|
||||
index 288d4f6d7dfdcf7e518f78990f061f4215f1b975..3d8899e313906a0d3a273d43cab872243fa6faea 100644
|
||||
index 0bcb2fc072e47c2c259b724209b4814486329fe1..db674988cf87f198ed1af7e0f4def24776fbaa89 100644
|
||||
--- a/chrome/browser/ui/browser.h
|
||||
+++ b/chrome/browser/ui/browser.h
|
||||
@@ -983,8 +983,7 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -1027,8 +1027,7 @@ class Browser : public TabStripModelObserver,
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
@@ -218,10 +218,10 @@ index c6838c83ef971b88769b1f3fba8095025ae25464..2da6a4e08340e72ba7de5d03444c2f17
|
||||
content::WebContents* AddNewContents(
|
||||
content::WebContents* source,
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 30593ec9ecd2b135a6054ed50e95c849c09b47bd..b6870d74a761a847e9952d409b37ddb778790b08 100644
|
||||
index c1c3db2992038cad0c01ce65c57676f8fe281830..2ad1479de622d956c701d8dc4adb75d0114f65b1 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4969,8 +4969,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5014,8 +5014,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
// TODO(crbug.com/40202416): Support a way for MPArch guests to support this.
|
||||
if (delegate_ && delegate_->IsWebContentsCreationOverridden(
|
||||
source_site_instance, params.window_container_type,
|
||||
@@ -260,7 +260,7 @@ index 8a18958035cc1dd26be558349f64f7727570c4ba..7d9c9b06bcc57ef5eb0a2ca74ee20632
|
||||
// Allow delegate to creates a custom WebContents when
|
||||
// WebContents::CreateNewWindow() is called. This function is only called
|
||||
diff --git a/extensions/browser/guest_view/app_view/app_view_guest.cc b/extensions/browser/guest_view/app_view/app_view_guest.cc
|
||||
index f8b00fec3f2786822b22c052051c524f766c059d..85a535d0b1e49619fec8c9f5c67896204c9fb164 100644
|
||||
index 8d6fc67cb9b1d653bce64d1ba22aa7ec2d79257c..d5ce746373a1a4310e1eb530aee011a785e1d68c 100644
|
||||
--- a/extensions/browser/guest_view/app_view/app_view_guest.cc
|
||||
+++ b/extensions/browser/guest_view/app_view/app_view_guest.cc
|
||||
@@ -153,8 +153,7 @@ bool AppViewGuest::IsWebContentsCreationOverridden(
|
||||
@@ -274,7 +274,7 @@ index f8b00fec3f2786822b22c052051c524f766c059d..85a535d0b1e49619fec8c9f5c6789620
|
||||
|
||||
return true;
|
||||
diff --git a/extensions/browser/guest_view/app_view/app_view_guest.h b/extensions/browser/guest_view/app_view/app_view_guest.h
|
||||
index 136448c9df06b9704e95d2797a60907d7ec5170a..21cc7b08dd8f9e4a32d29dd35c42ec2ce9f6cd53 100644
|
||||
index 775cfbf5adac0017f343bc091daee1b8883c75bb..dc97e5d60d3663ef7f7c78c28603f9e1c5aea4ff 100644
|
||||
--- a/extensions/browser/guest_view/app_view/app_view_guest.h
|
||||
+++ b/extensions/browser/guest_view/app_view/app_view_guest.h
|
||||
@@ -10,6 +10,7 @@
|
||||
@@ -352,10 +352,10 @@ index 2dcf51f335f5dac39f431c3e0f56f8789f33d40b..2b433624d0604e0b9da5117b9e83cc15
|
||||
content::RenderFrameHost* opener,
|
||||
content::SiteInstance* source_site_instance,
|
||||
diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
|
||||
index 635050eedc20fb89608677bcebeb5f8187bd4b59..1220f377169f8209db39654b7ddbf1da52c017b7 100644
|
||||
index c10903a8e7e5fb66a1b038eab9015658a93672df..5a3afdb8ababf6e465c6166ca6229af7b4d6941d 100644
|
||||
--- a/fuchsia_web/webengine/browser/frame_impl.cc
|
||||
+++ b/fuchsia_web/webengine/browser/frame_impl.cc
|
||||
@@ -575,8 +575,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
|
||||
@@ -576,8 +576,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
@@ -394,10 +394,10 @@ index 7ca1e83ba1fd2dc5ea7c7ce644c3b7c54b9999f9..c1639653714d6973bcb5a0b37cb7028d
|
||||
->options()
|
||||
->block_new_web_contents();
|
||||
diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
|
||||
index bf432db4ca8463f2451dc09d5ca484da1235634f..e144be74ce2d34f50d26d08d5bf206f7aa64c5d3 100644
|
||||
index 250e7f524a9ab1cc6fda2bfefb3c78a8e971b625..55a0db02885a85e538d267402cfd0ac8ce52b921 100644
|
||||
--- a/ui/views/controls/webview/web_dialog_view.cc
|
||||
+++ b/ui/views/controls/webview/web_dialog_view.cc
|
||||
@@ -487,8 +487,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
|
||||
@@ -489,8 +489,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
|
||||
@@ -9,14 +9,15 @@ Electron when a session is non persistent we do not initialize the
|
||||
ExtensionSystem, so this check is not relevant for Electron.
|
||||
|
||||
diff --git a/extensions/browser/script_injection_tracker.cc b/extensions/browser/script_injection_tracker.cc
|
||||
index 8f590b9ebd02969f0c5d9f617852954a69f51afd..91c4a61525173d2cd95a8c2c626c1be5a84b003f 100644
|
||||
index 172f02dbe9bb22425f8d45119b6d8466c949ba36..063015e14053f75544e6700c9251d6ecae95389c 100644
|
||||
--- a/extensions/browser/script_injection_tracker.cc
|
||||
+++ b/extensions/browser/script_injection_tracker.cc
|
||||
@@ -176,7 +176,6 @@ std::vector<const UserScript*> GetLoadedDynamicScripts(
|
||||
UserScriptManager* manager =
|
||||
ExtensionSystem::Get(process.GetBrowserContext())->user_script_manager();
|
||||
@@ -178,7 +178,7 @@ std::vector<const UserScript*> GetLoadedDynamicScripts(
|
||||
if (!manager) {
|
||||
- CHECK_IS_TEST();
|
||||
// TODO(crbug.com/412829476): Remove this guard once we enable
|
||||
// UserScriptManager on desktop Android.
|
||||
-#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
+#if 0
|
||||
CHECK_IS_TEST();
|
||||
#endif
|
||||
return std::vector<const UserScript*>();
|
||||
}
|
||||
|
||||
|
||||
@@ -39,10 +39,10 @@ index e87c180342b967756efeb701c73207fcee8754f1..42e37564e585987d367921568f0f1d2b
|
||||
NOTREACHED();
|
||||
}
|
||||
diff --git a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_ozone.cc b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_ozone.cc
|
||||
index c98ecc36007185052481b6479b2ba4608e326021..dd0e4553b78997beea0f11242eeb9f759359066f 100644
|
||||
index b6985bd63a34c55154fcfae601add6ce6c451704..fb44cc65b1a15c8b69410a2a2cb925a0326bb438 100644
|
||||
--- a/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_ozone.cc
|
||||
+++ b/ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_ozone.cc
|
||||
@@ -111,7 +111,8 @@ bool GlobalAcceleratorListenerOzone::StartListeningForAccelerator(
|
||||
@@ -147,7 +147,8 @@ bool GlobalAcceleratorListenerOzone::StartListeningForAccelerator(
|
||||
const bool registered =
|
||||
platform_global_shortcut_listener_->RegisterAccelerator(
|
||||
accelerator.key_code(), accelerator.IsAltDown(),
|
||||
@@ -52,7 +52,7 @@ index c98ecc36007185052481b6479b2ba4608e326021..dd0e4553b78997beea0f11242eeb9f75
|
||||
if (registered) {
|
||||
registered_hot_keys_.insert(accelerator);
|
||||
}
|
||||
@@ -126,14 +127,15 @@ void GlobalAcceleratorListenerOzone::StopListeningForAccelerator(
|
||||
@@ -162,14 +163,15 @@ void GlobalAcceleratorListenerOzone::StopListeningForAccelerator(
|
||||
|
||||
platform_global_shortcut_listener_->UnregisterAccelerator(
|
||||
accelerator.key_code(), accelerator.IsAltDown(), accelerator.IsCtrlDown(),
|
||||
@@ -70,7 +70,7 @@ index c98ecc36007185052481b6479b2ba4608e326021..dd0e4553b78997beea0f11242eeb9f75
|
||||
int modifiers = 0;
|
||||
if (is_alt_down) {
|
||||
modifiers |= ui::EF_ALT_DOWN;
|
||||
@@ -144,6 +146,9 @@ void GlobalAcceleratorListenerOzone::OnKeyPressed(ui::KeyboardCode key_code,
|
||||
@@ -180,6 +182,9 @@ void GlobalAcceleratorListenerOzone::OnKeyPressed(ui::KeyboardCode key_code,
|
||||
if (is_shift_down) {
|
||||
modifiers |= ui::EF_SHIFT_DOWN;
|
||||
}
|
||||
|
||||
@@ -116,10 +116,10 @@ index 42fe73aefe44f218d6a5e8cb1550ff48859c4b70..a1235f0c7ad44ae9c9fdc805af5b9dc5
|
||||
arguments.push_back("--monitor-self");
|
||||
}
|
||||
diff --git a/components/crash/core/app/crashpad_win.cc b/components/crash/core/app/crashpad_win.cc
|
||||
index 0e00d26f79231a01e88981b30ff950e427cd31f4..70f014c75031f9529501e102f97e0e1adadb8ffb 100644
|
||||
index 5b811cbbc51544cbff7c2e99c3a7ced824990002..f2376d74fbd2c8196184035fc0fb24a0a8ebfe0e 100644
|
||||
--- a/components/crash/core/app/crashpad_win.cc
|
||||
+++ b/components/crash/core/app/crashpad_win.cc
|
||||
@@ -92,6 +92,7 @@ bool PlatformCrashpadInitialization(
|
||||
@@ -93,6 +93,7 @@ bool PlatformCrashpadInitialization(
|
||||
|
||||
std::map<std::string, std::string> process_annotations;
|
||||
GetPlatformCrashpadAnnotations(&process_annotations);
|
||||
@@ -127,7 +127,7 @@ index 0e00d26f79231a01e88981b30ff950e427cd31f4..70f014c75031f9529501e102f97e0e1a
|
||||
|
||||
std::string url = crash_reporter_client->GetUploadUrl();
|
||||
|
||||
@@ -129,6 +130,13 @@ bool PlatformCrashpadInitialization(
|
||||
@@ -133,6 +134,13 @@ bool PlatformCrashpadInitialization(
|
||||
|
||||
std::vector<std::string> arguments(start_arguments);
|
||||
|
||||
|
||||
@@ -7,10 +7,10 @@ By default, chromium sets up one v8 snapshot to be used in all v8 contexts. This
|
||||
to have a dedicated browser process v8 snapshot defined by the file `browser_v8_context_snapshot.bin`.
|
||||
|
||||
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
|
||||
index 2474e8c608956bcf50e0c7204d728854fe498d31..32f3a69ea003d7c6a1f6a15622ff2acb9b5a063b 100644
|
||||
index d55c408557e15650897c9ed6d5b6bd83178a551f..f1c54919990af204004380b0d84ee750de5e3c35 100644
|
||||
--- a/content/app/content_main_runner_impl.cc
|
||||
+++ b/content/app/content_main_runner_impl.cc
|
||||
@@ -272,8 +272,13 @@ void AsanProcessInfoCB(const char*, bool*) {
|
||||
@@ -275,8 +275,13 @@ void AsanProcessInfoCB(const char*, bool*) {
|
||||
}
|
||||
#endif // defined(ADDRESS_SANITIZER)
|
||||
|
||||
@@ -25,7 +25,7 @@ index 2474e8c608956bcf50e0c7204d728854fe498d31..32f3a69ea003d7c6a1f6a15622ff2acb
|
||||
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||
base::FileDescriptorStore& file_descriptor_store =
|
||||
base::FileDescriptorStore::GetInstance();
|
||||
@@ -302,11 +307,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line,
|
||||
@@ -305,11 +310,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line,
|
||||
|
||||
#endif // V8_USE_EXTERNAL_STARTUP_DATA
|
||||
|
||||
@@ -40,7 +40,7 @@ index 2474e8c608956bcf50e0c7204d728854fe498d31..32f3a69ea003d7c6a1f6a15622ff2acb
|
||||
#endif // V8_USE_EXTERNAL_STARTUP_DATA
|
||||
}
|
||||
|
||||
@@ -979,7 +985,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) {
|
||||
@@ -1005,7 +1011,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) {
|
||||
return TerminateForFatalInitializationError();
|
||||
#endif // BUILDFLAG(IS_ANDROID) && (ICU_UTIL_DATA_IMPL == ICU_UTIL_DATA_FILE)
|
||||
|
||||
|
||||
@@ -8,10 +8,10 @@ Allow registering custom protocols to handle service worker main script fetching
|
||||
Refs https://bugs.chromium.org/p/chromium/issues/detail?id=996511
|
||||
|
||||
diff --git a/content/browser/service_worker/service_worker_context_wrapper.cc b/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
index ff25eb3670d2391c6fb41b7c612c30ee8798983f..116763b520713a5c61462b2e048a7358486831a2 100644
|
||||
index b4c984e0dd22f148a426ce0ea04988798ed95aaa..5fd099b6396fc51d29fce2843531d5fc89642d35 100644
|
||||
--- a/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
+++ b/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
@@ -1969,6 +1969,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1961,6 +1961,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
loader_factory_bundle_info =
|
||||
context()->loader_factory_bundle_for_update_check()->Clone();
|
||||
|
||||
@@ -38,7 +38,7 @@ index ff25eb3670d2391c6fb41b7c612c30ee8798983f..116763b520713a5c61462b2e048a7358
|
||||
if (auto* config = content::WebUIConfigMap::GetInstance().GetConfig(
|
||||
browser_context(), scope)) {
|
||||
// If this is a Service Worker for a WebUI, the WebUI's URLDataSource
|
||||
@@ -1988,9 +2008,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1980,9 +2000,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
features::kEnableServiceWorkersForChromeScheme) &&
|
||||
scope.scheme_piece() == kChromeUIScheme) {
|
||||
config->RegisterURLDataSource(browser_context());
|
||||
@@ -49,7 +49,7 @@ index ff25eb3670d2391c6fb41b7c612c30ee8798983f..116763b520713a5c61462b2e048a7358
|
||||
.emplace(kChromeUIScheme, CreateWebUIServiceWorkerLoaderFactory(
|
||||
browser_context(), kChromeUIScheme,
|
||||
base::flat_set<std::string>()));
|
||||
@@ -1998,9 +2016,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1990,9 +2008,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
features::kEnableServiceWorkersForChromeUntrusted) &&
|
||||
scope.scheme_piece() == kChromeUIUntrustedScheme) {
|
||||
config->RegisterURLDataSource(browser_context());
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: fix: disabling compositor recycling
|
||||
Compositor recycling is useful for Chrome because there can be many tabs and spinning up a compositor for each one would be costly. In practice, Chrome uses the parent compositor code path of browser_compositor_view_mac.mm; the NSView of each tab is detached when it's hidden and attached when it's shown. For Electron, there is no parent compositor, so we're forced into the "own compositor" code path, which seems to be non-optimal and pretty ruthless in terms of the release of resources. Electron has no real concept of multiple tabs per window, so it should be okay to disable this ruthless recycling altogether in Electron.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
index 1a726fb4a9e8173dc7da6901eb1632c7f326358e..ae8a4117db2f6bac1d62981e7c0e35cf1eee68da 100644
|
||||
index 88a6090a49da6071fded348a901c7c62b647b503..cf6f80bd3c9af0be5065e75e09a1b4150aeab0c8 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
@@ -561,7 +561,11 @@
|
||||
@@ -560,7 +560,11 @@
|
||||
return;
|
||||
|
||||
host()->WasHidden();
|
||||
|
||||
@@ -15,10 +15,10 @@ at some point be an API to "unfreeze" the flags, or we may be able to refactor
|
||||
node initialization to not update flags after V8 initialization.
|
||||
|
||||
diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc
|
||||
index eb11068e932b7b94cbf215d6f84ae427ce77fcd5..9744e45974af215bfbe9e5feb2db7274f8efebf0 100644
|
||||
index 7a20f5199bd6cb5d13f31ec5db3e3cc03821bc3a..22167f808cb7b27d5b2a8e517cdeee63205ab9ad 100644
|
||||
--- a/content/renderer/render_process_impl.cc
|
||||
+++ b/content/renderer/render_process_impl.cc
|
||||
@@ -208,6 +208,9 @@ RenderProcessImpl::RenderProcessImpl()
|
||||
@@ -212,6 +212,9 @@ RenderProcessImpl::RenderProcessImpl()
|
||||
v8::V8::SetFlagsFromString(kSABPerContextFlag, sizeof(kSABPerContextFlag));
|
||||
}
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: disable_hidden.patch
|
||||
Electron uses this to disable background throttling for hidden windows.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index 573269ba54150d5350e5c3589217c5e7f41d560d..20fcda4eb20459b69247003c51c2a3ed37c7b1e8 100644
|
||||
index b722e19e8c660d13750ea7bf505e28a9c1d9d59f..bac913e30ce140d9b370186781cccf5817885076 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -832,6 +832,10 @@ void RenderWidgetHostImpl::WasHidden() {
|
||||
@@ -831,6 +831,10 @@ void RenderWidgetHostImpl::WasHidden() {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -21,10 +21,10 @@ index 573269ba54150d5350e5c3589217c5e7f41d560d..20fcda4eb20459b69247003c51c2a3ed
|
||||
// Prompts should remain open and functional across tab switches.
|
||||
if (!delegate_ || !delegate_->IsWaitingForPointerLockPrompt(this)) {
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
|
||||
index c201cff9e5c3b286389a5eb74e1a9ebd86edfef9..949f6a7867758e35c24897add9a4d47a641357b2 100644
|
||||
index c11b7183397d28c6db61969390d1d078261e4c47..5d92247f088942250fbb6bd1ff83ab1c2c7140f7 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.h
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.h
|
||||
@@ -1012,6 +1012,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
@@ -1013,6 +1013,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
// Requests a commit and forced redraw in the renderer compositor.
|
||||
void ForceRedrawForTesting();
|
||||
|
||||
|
||||
@@ -24,10 +24,10 @@ 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 d05708d42a0dc1aea4faad3be19f558c93e93265..13dda0bf6560ca03c4c88e787cc4165dfe745b26 100644
|
||||
index 54ce1ea5ac11c9831a9553fbb5c5584c05440071..be95785fa144a4f11a3c97fea562dd4635ffe7b0 100644
|
||||
--- a/content/browser/renderer_host/navigator.cc
|
||||
+++ b/content/browser/renderer_host/navigator.cc
|
||||
@@ -1464,6 +1464,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
@@ -1476,6 +1476,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
.InMilliseconds());
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ index d05708d42a0dc1aea4faad3be19f558c93e93265..13dda0bf6560ca03c4c88e787cc4165d
|
||||
// If this is a same-process navigation and we have timestamps for unload
|
||||
// durations, fill those metrics out as well.
|
||||
if (params.unload_start && params.unload_end &&
|
||||
@@ -1513,6 +1514,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
@@ -1525,6 +1526,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
first_before_unload_start_time)
|
||||
.InMilliseconds());
|
||||
}
|
||||
|
||||
@@ -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 65e4957aa08923200923f91cadcf47eb403bb8a8..19826b92b39c812a3170bfa470a08192b2a712bc 100644
|
||||
index 6ad16425f2fb3438be178cb06a85ef72f8d09e22..61509e2eb982797845098abf5f36e031be63686b 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
|
||||
@@ -637,7 +637,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
|
||||
@@ -664,7 +664,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
|
||||
void DesktopWindowTreeHostWin::SetAspectRatio(
|
||||
const gfx::SizeF& aspect_ratio,
|
||||
const gfx::Size& excluded_margin) {
|
||||
@@ -19,10 +19,10 @@ index 65e4957aa08923200923f91cadcf47eb403bb8a8..19826b92b39c812a3170bfa470a08192
|
||||
excluded_margin);
|
||||
}
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index a0e6a63f7b2da396ba5d300a9eb6ab94825f677a..539f5920661010139dc69afb3ff7dd4c9bae762a 100644
|
||||
index ac502dee8a21725db9de2e232cb5092a0670f1d9..db2b841e973f05049f712c732ae8d4815a8aff7a 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -1008,8 +1008,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen,
|
||||
@@ -992,8 +992,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen,
|
||||
|
||||
void HWNDMessageHandler::SetAspectRatio(float aspect_ratio,
|
||||
const gfx::Size& excluded_margin) {
|
||||
|
||||
@@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
|
||||
|
||||
} // namespace net
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
index ee56aab6831be256390b88e65a2a949c591bbd31..60c6977d2ffd0da0286e25e5645c11c19d6ab376 100644
|
||||
index 06fcdf2daf2ae50b8eb1a9b73b34b64926a3106e..029c8fd0102c0a4418151e0ccda7ef25be12cbd4 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -1814,6 +1814,13 @@ void NetworkContext::SetNetworkConditions(
|
||||
@@ -1830,6 +1830,13 @@ void NetworkContext::SetNetworkConditions(
|
||||
std::move(network_conditions));
|
||||
}
|
||||
|
||||
@@ -51,10 +51,10 @@ index ee56aab6831be256390b88e65a2a949c591bbd31..60c6977d2ffd0da0286e25e5645c11c1
|
||||
// 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 930e0bd987c48d111b2c8d71147c09e4418bda6c..9373a53c5cac879c689fcea77f1dbbb32cf35b9e 100644
|
||||
index ca064589d9f2f6e00697f3b896ad522a5cf9bb6c..7ebbef514a99497fcb024a4a57adca6facf039fe 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -323,6 +323,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -325,6 +325,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
void CloseIdleConnections(CloseIdleConnectionsCallback callback) override;
|
||||
void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id,
|
||||
mojom::NetworkConditionsPtr conditions) override;
|
||||
@@ -63,10 +63,10 @@ index 930e0bd987c48d111b2c8d71147c09e4418bda6c..9373a53c5cac879c689fcea77f1dbbb3
|
||||
void SetEnableReferrers(bool enable_referrers) override;
|
||||
#if BUILDFLAG(IS_CT_SUPPORTED)
|
||||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||
index 6d79f4a4cb1a40be907ef52e35f0e5a0acab31fb..95ff46a7ca2654166d18027b986f6ec6c2a3d361 100644
|
||||
index f510b5c5c79161f32a08219aa7f6cd7a722eed85..6bc2f6221fe61e861ece518381c697e4cf4727a1 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -1275,6 +1275,9 @@ interface NetworkContext {
|
||||
@@ -1278,6 +1278,9 @@ interface NetworkContext {
|
||||
SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id,
|
||||
NetworkConditions? conditions);
|
||||
|
||||
@@ -77,10 +77,10 @@ index 6d79f4a4cb1a40be907ef52e35f0e5a0acab31fb..95ff46a7ca2654166d18027b986f6ec6
|
||||
SetAcceptLanguage(string new_accept_language);
|
||||
|
||||
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
|
||||
index da8551db16849cf82a6e3a7eaeb451cae0707f2d..6e20b8dd4f134ea7a8808223cd59064d89f5ce09 100644
|
||||
index 81930f3b5ca760d4db9c65aeb36162ddea68a872..5d67e45515480b769ed6555f6e0c18f25fde1e6c 100644
|
||||
--- a/services/network/test/test_network_context.h
|
||||
+++ b/services/network/test/test_network_context.h
|
||||
@@ -158,6 +158,7 @@ class TestNetworkContext : public mojom::NetworkContext {
|
||||
@@ -159,6 +159,7 @@ class TestNetworkContext : public mojom::NetworkContext {
|
||||
void CloseIdleConnections(CloseIdleConnectionsCallback callback) override {}
|
||||
void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id,
|
||||
mojom::NetworkConditionsPtr conditions) override {}
|
||||
|
||||
@@ -12,10 +12,10 @@ Ideally we could add an embedder observer pattern here but that can be
|
||||
done in future work.
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
index fbfc0af8a6f29da9ee2d5fd6ae5a02958a7e3a81..cf80d64963a2a25afbaa6060b4dfda425638858b 100644
|
||||
index f470ada1bf84938427fb89f4508e5f56aaeebc1f..524928729e34cc6b2ae427181e2ac4f8c1128688 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -170,6 +170,7 @@
|
||||
@@ -171,6 +171,7 @@
|
||||
#include "third_party/blink/renderer/core/view_transition/view_transition_supplement.h"
|
||||
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
|
||||
#include "third_party/blink/renderer/platform/fonts/generic_font_family_settings.h"
|
||||
@@ -23,7 +23,7 @@ index fbfc0af8a6f29da9ee2d5fd6ae5a02958a7e3a81..cf80d64963a2a25afbaa6060b4dfda42
|
||||
#include "third_party/blink/renderer/platform/graphics/image.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
|
||||
#include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h"
|
||||
@@ -1860,6 +1861,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
||||
@@ -1861,6 +1862,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
web_view_impl->SetMaximumLegibleScale(
|
||||
prefs.default_maximum_page_scale_factor);
|
||||
|
||||
@@ -13,12 +13,12 @@ app.requestSingleInstanceLock API so that users can pass in a JSON
|
||||
object for the second instance to send to the first instance.
|
||||
|
||||
diff --git a/chrome/browser/process_singleton.h b/chrome/browser/process_singleton.h
|
||||
index 31f5b160e4cd755cfb56a62b04261ee1bee80277..4305ba61d2489c5817785077d1ace8767b41bdde 100644
|
||||
index 085b00fbb3ff95cdcde2a46760ab449808b4c1a9..22d5c994a6944ce7ea725ee045d9801126c32dd4 100644
|
||||
--- a/chrome/browser/process_singleton.h
|
||||
+++ b/chrome/browser/process_singleton.h
|
||||
@@ -18,6 +18,8 @@
|
||||
#include "base/functional/callback.h"
|
||||
#include "base/memory/ref_counted.h"
|
||||
#include "base/memory/scoped_refptr.h"
|
||||
#include "base/process/process.h"
|
||||
+#include "base/containers/span.h"
|
||||
+#include "base/memory/raw_span.h"
|
||||
|
||||
@@ -62,10 +62,10 @@ index 97cceb20da0fccf0603cf2d4b1c8985314b1e850..0632d7fdc975dfdc3cc24bd8e641a268
|
||||
SEQUENCE_CHECKER(sequence_checker_);
|
||||
};
|
||||
diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc
|
||||
index dcf2d14d92f8b5a5dd7bf22f8ce00f030824c989..04d0f5d9416eaba569f49a25e7e8c1a89e50ecfe 100644
|
||||
index 0c6d689295a03fc088b57487037d85f4d634a5f4..8e3bab233e8611c68e79d53f125560f4fb086a1e 100644
|
||||
--- a/ui/native_theme/native_theme_win.cc
|
||||
+++ b/ui/native_theme/native_theme_win.cc
|
||||
@@ -696,6 +696,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
|
||||
@@ -697,6 +697,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
|
||||
if (InForcedColorsMode() && !IsForcedDarkMode()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ index 402355cb836cea14e9ee725a142a4bad44fd5bed..7e7f028dcfb87c7b80adebabac19ced8
|
||||
|
||||
void* FromV8Impl(v8::Isolate* isolate, v8::Local<v8::Value> val,
|
||||
diff --git a/gin/wrappable.h b/gin/wrappable.h
|
||||
index 4e7115685a5bf6997e78edcc1851e28bd00b1aa2..ca51fe33605e855438e88969e3d3cc734ef4523e 100644
|
||||
index 2ae2cf67157ce8b161ae917291a913d237b7d535..c8c8cbe84e946cebde97a71b42815c62ccaf7b96 100644
|
||||
--- a/gin/wrappable.h
|
||||
+++ b/gin/wrappable.h
|
||||
@@ -80,6 +80,13 @@ class GIN_EXPORT WrappableBase {
|
||||
|
||||
@@ -13,7 +13,7 @@ other protocols to register their streaming behavior. MultibufferDataSource::Ass
|
||||
then refers to the list so that it can correctly determine the data source's settings.
|
||||
|
||||
diff --git a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc
|
||||
index c19436994faa21246c8c2e53e96c7ce3fffede4f..31c2efe2acd8c11bb5a861fa42841fe0e76c1141 100644
|
||||
index 3e010fbec46d799839a2c50ed14c1d5744e99a30..ed98c853ba013acb8908a1651742d510bc8e4475 100644
|
||||
--- a/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc
|
||||
+++ b/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc
|
||||
@@ -11,8 +11,10 @@
|
||||
@@ -48,7 +48,7 @@ index c19436994faa21246c8c2e53e96c7ce3fffede4f..31c2efe2acd8c11bb5a861fa42841fe0
|
||||
class MultiBufferDataSource::ReadOperation {
|
||||
public:
|
||||
ReadOperation() = delete;
|
||||
@@ -160,7 +174,14 @@ bool MultiBufferDataSource::media_has_played() const {
|
||||
@@ -149,7 +163,14 @@ bool MultiBufferDataSource::media_has_played() const {
|
||||
|
||||
bool MultiBufferDataSource::AssumeFullyBuffered() const {
|
||||
DCHECK(url_data_);
|
||||
@@ -65,7 +65,7 @@ index c19436994faa21246c8c2e53e96c7ce3fffede4f..31c2efe2acd8c11bb5a861fa42841fe0
|
||||
|
||||
void MultiBufferDataSource::SetReader(
|
||||
diff --git a/third_party/blink/renderer/platform/media/multi_buffer_data_source.h b/third_party/blink/renderer/platform/media/multi_buffer_data_source.h
|
||||
index 5277d480ce3ac065501a986b323e8f3a983acd75..6666dd87cd8971c7ed05a4bc141e19b9be549e54 100644
|
||||
index e886847425b1ea0b620a60e7b477249efac3c689..92dea7a9f491bb548f68d918ebde60cbf2a7d67f 100644
|
||||
--- a/third_party/blink/renderer/platform/media/multi_buffer_data_source.h
|
||||
+++ b/third_party/blink/renderer/platform/media/multi_buffer_data_source.h
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
@@ -10,6 +10,8 @@ This CL adds support for the following features to //shell_dialogs:
|
||||
|
||||
It also:
|
||||
* Changes XDG Portal implementation behavior to set default path regardless of dialog type.
|
||||
* XDG Portal implementation calls into //electron to perform version checks on the dbus thread
|
||||
Refs https://github.com/electron/electron/issues/46652.
|
||||
|
||||
This may be partially upstreamed to Chromium in the future.
|
||||
|
||||
@@ -345,83 +347,52 @@ index 9d45ec49a4fb5e12407b65b83c1ba0c13cd0dfd8..400cce91b020ecd5e48566f125515d2c
|
||||
+
|
||||
} // namespace ui
|
||||
diff --git a/ui/shell_dialogs/select_file_dialog_linux_portal.cc b/ui/shell_dialogs/select_file_dialog_linux_portal.cc
|
||||
index b23d357d4e21f10be82f0ea37b1ec3e959fc2c0b..d29de35ac813cc68b1faa11e803ace9a78df74ba 100644
|
||||
index b23d357d4e21f10be82f0ea37b1ec3e959fc2c0b..e768afc05b42d4d026c88f1516d4e9db84e8dff6 100644
|
||||
--- a/ui/shell_dialogs/select_file_dialog_linux_portal.cc
|
||||
+++ b/ui/shell_dialogs/select_file_dialog_linux_portal.cc
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <string_view>
|
||||
|
||||
#include "base/check.h"
|
||||
+#include "base/command_line.h"
|
||||
#include "base/files/file_util.h"
|
||||
#include "base/functional/bind.h"
|
||||
#include "base/logging.h"
|
||||
@@ -45,6 +46,8 @@ namespace {
|
||||
constexpr char kXdgPortalService[] = "org.freedesktop.portal.Desktop";
|
||||
constexpr char kXdgPortalObject[] = "/org/freedesktop/portal/desktop";
|
||||
|
||||
+// Version 4 includes support for current_folder option to the OpenFile method via
|
||||
+// https://github.com/flatpak/xdg-desktop-portal/commit/71165a5.
|
||||
constexpr int kXdgPortalRequiredVersion = 3;
|
||||
|
||||
constexpr char kFileChooserInterfaceName[] =
|
||||
@@ -66,6 +69,8 @@ constexpr uint32_t kFileChooserFilterKindGlob = 0;
|
||||
|
||||
constexpr char kFileUriPrefix[] = "file://";
|
||||
|
||||
+const char kXdgPortalRequiredVersionFlag[] = "xdg-portal-required-version";
|
||||
+
|
||||
enum class ServiceAvailability {
|
||||
kNotStarted,
|
||||
kInProgress,
|
||||
@@ -75,6 +80,9 @@ enum class ServiceAvailability {
|
||||
|
||||
ServiceAvailability g_service_availability = ServiceAvailability::kNotStarted;
|
||||
|
||||
+uint32_t g_available_portal_version = 0;
|
||||
+uint32_t g_required_portal_version = kXdgPortalRequiredVersion;
|
||||
+
|
||||
scoped_refptr<base::SequencedTaskRunner>& GetMainTaskRunner() {
|
||||
static base::NoDestructor<scoped_refptr<base::SequencedTaskRunner>>
|
||||
main_task_runner;
|
||||
@@ -94,9 +102,10 @@ void OnGetPropertyReply(dbus::Response* response) {
|
||||
return;
|
||||
}
|
||||
|
||||
- g_service_availability = version >= kXdgPortalRequiredVersion
|
||||
+ g_service_availability = version >= g_required_portal_version
|
||||
? ServiceAvailability::kAvailable
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "dbus/message.h"
|
||||
#include "dbus/object_path.h"
|
||||
#include "dbus/object_proxy.h"
|
||||
+#include "electron/shell/browser/ui/file_dialog.h"
|
||||
#include "ui/aura/window_tree_host.h"
|
||||
#include "ui/base/l10n/l10n_util.h"
|
||||
#include "ui/gfx/native_widget_types.h"
|
||||
@@ -99,7 +100,7 @@ void OnGetPropertyReply(dbus::Response* response) {
|
||||
: ServiceAvailability::kNotAvailable;
|
||||
+ g_available_portal_version = version;
|
||||
}
|
||||
|
||||
void OnServiceStarted(std::optional<bool> service_started) {
|
||||
@@ -164,6 +173,12 @@ void SelectFileDialogLinuxPortal::StartAvailabilityTestInBackground() {
|
||||
}
|
||||
g_service_availability = ServiceAvailability::kInProgress;
|
||||
-void OnServiceStarted(std::optional<bool> service_started) {
|
||||
+[[maybe_unused]] void OnServiceStarted(std::optional<bool> service_started) {
|
||||
if (!service_started.value_or(false)) {
|
||||
g_service_availability = ServiceAvailability::kNotAvailable;
|
||||
return;
|
||||
@@ -166,18 +167,24 @@ void SelectFileDialogLinuxPortal::StartAvailabilityTestInBackground() {
|
||||
|
||||
+ auto* cmd = base::CommandLine::ForCurrentProcess();
|
||||
+ if (!base::StringToUint(cmd->GetSwitchValueASCII(kXdgPortalRequiredVersionFlag),
|
||||
+ &g_required_portal_version)) {
|
||||
+ g_required_portal_version = kXdgPortalRequiredVersion;
|
||||
+ }
|
||||
+
|
||||
GetMainTaskRunner() = base::SequencedTaskRunner::GetCurrentDefault();
|
||||
|
||||
+#if 0
|
||||
dbus_utils::CheckForServiceAndStart(dbus_thread_linux::GetSharedSessionBus(),
|
||||
@@ -180,6 +195,11 @@ bool SelectFileDialogLinuxPortal::IsPortalAvailable() {
|
||||
return g_service_availability == ServiceAvailability::kAvailable;
|
||||
kXdgPortalService,
|
||||
base::BindOnce(&OnServiceStarted));
|
||||
+#endif
|
||||
+ file_dialog::StartPortalAvailabilityTestInBackground();
|
||||
}
|
||||
|
||||
// static
|
||||
bool SelectFileDialogLinuxPortal::IsPortalAvailable() {
|
||||
+#if 0
|
||||
if (g_service_availability == ServiceAvailability::kInProgress) {
|
||||
LOG(WARNING) << "Portal availability checked before test was complete";
|
||||
}
|
||||
|
||||
return g_service_availability == ServiceAvailability::kAvailable;
|
||||
+#endif
|
||||
+ return file_dialog::IsPortalAvailable();
|
||||
}
|
||||
|
||||
+// static
|
||||
+uint32_t SelectFileDialogLinuxPortal::GetPortalVersion() {
|
||||
+ return g_available_portal_version;
|
||||
+}
|
||||
+
|
||||
bool SelectFileDialogLinuxPortal::IsRunning(
|
||||
gfx::NativeWindow parent_window) const {
|
||||
return parent_window && host_ && host_.get() == parent_window->GetHost();
|
||||
@@ -382,11 +402,14 @@ DbusDictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary(
|
||||
@@ -382,11 +389,14 @@ DbusDictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary(
|
||||
const PortalFilterSet& filter_set) {
|
||||
DbusDictionary dict;
|
||||
|
||||
@@ -439,7 +410,7 @@ index b23d357d4e21f10be82f0ea37b1ec3e959fc2c0b..d29de35ac813cc68b1faa11e803ace9a
|
||||
[[fallthrough]];
|
||||
case SelectFileDialog::SELECT_FOLDER:
|
||||
case SelectFileDialog::Type::SELECT_EXISTING_FOLDER:
|
||||
@@ -399,6 +422,10 @@ DbusDictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary(
|
||||
@@ -399,6 +409,10 @@ DbusDictionary SelectFileDialogLinuxPortal::BuildOptionsDictionary(
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -450,17 +421,3 @@ index b23d357d4e21f10be82f0ea37b1ec3e959fc2c0b..d29de35ac813cc68b1faa11e803ace9a
|
||||
if (!default_path.empty()) {
|
||||
if (default_path_exists) {
|
||||
// If this is an existing directory, navigate to that directory, with no
|
||||
diff --git a/ui/shell_dialogs/select_file_dialog_linux_portal.h b/ui/shell_dialogs/select_file_dialog_linux_portal.h
|
||||
index 651684b1840eaff664f3d73d99bbea40e097c866..9a9d541f1e9586d9d545f8547d3f09ff33dce48d 100644
|
||||
--- a/ui/shell_dialogs/select_file_dialog_linux_portal.h
|
||||
+++ b/ui/shell_dialogs/select_file_dialog_linux_portal.h
|
||||
@@ -45,6 +45,9 @@ class SelectFileDialogLinuxPortal : public SelectFileDialogLinux {
|
||||
// availability test has not yet completed.
|
||||
static bool IsPortalAvailable();
|
||||
|
||||
+ // Get version of portal if available.
|
||||
+ static uint32_t GetPortalVersion();
|
||||
+
|
||||
protected:
|
||||
~SelectFileDialogLinuxPortal() override;
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ index 04ca1efa6037e6b20294d9b9b9c794356f0e2439..a484a8fb9c32a1ffe20c78afad1f7cf5
|
||||
"https://redirector.gvt1.com/edgedl/chrome/dict/";
|
||||
|
||||
diff --git a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h
|
||||
index def025dbffec3f44074604fcfb441b769886c3ab..459e8be9dcbf6d3ede156b57abcf9c9ede5587c7 100644
|
||||
index caeaf418c3fcac7dba27110848205db851328881..52b54d5e88d3b73ca0b44113e2151896cf16e5e7 100644
|
||||
--- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h
|
||||
+++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h
|
||||
@@ -96,6 +96,8 @@ class SpellcheckHunspellDictionary : public SpellcheckDictionary {
|
||||
|
||||
@@ -9,7 +9,7 @@ embedders to make custom schemes allow V8 code cache.
|
||||
Chromium CL: https://chromium-review.googlesource.com/c/chromium/src/+/5019665
|
||||
|
||||
diff --git a/content/browser/code_cache/generated_code_cache.cc b/content/browser/code_cache/generated_code_cache.cc
|
||||
index cad3cf44df0c65067d18490ee7694fd0f82153af..0f9b64a81e0c4114bd885b24ff65c458810ceb99 100644
|
||||
index d6ddb79521290790aeb8fbd997117cf3c6157c75..52a9536f4187418327f980fd3dd68211d8103374 100644
|
||||
--- a/content/browser/code_cache/generated_code_cache.cc
|
||||
+++ b/content/browser/code_cache/generated_code_cache.cc
|
||||
@@ -8,6 +8,7 @@
|
||||
@@ -140,7 +140,7 @@ index c5fb0546fb8724a6ba34b55d8d52b2f70ad5bc0c..883c4022aa58e5eb5345ec4e8815a137
|
||||
|
||||
// JavaScript from chrome and chrome-untrusted pages. The resource URLs are
|
||||
diff --git a/content/browser/code_cache/generated_code_cache_browsertest.cc b/content/browser/code_cache/generated_code_cache_browsertest.cc
|
||||
index be7a332d8c071f09a2a09c382e7c6c906008c9ec..8227df3c7faa07552c7ce5cc88941285dfa9ca9c 100644
|
||||
index c810c580efea05ba9b3b41a90b289224220bb203..55864eed550b09ba41732c706a81a122594949d6 100644
|
||||
--- a/content/browser/code_cache/generated_code_cache_browsertest.cc
|
||||
+++ b/content/browser/code_cache/generated_code_cache_browsertest.cc
|
||||
@@ -11,17 +11,22 @@
|
||||
@@ -163,10 +163,10 @@ index be7a332d8c071f09a2a09c382e7c6c906008c9ec..8227df3c7faa07552c7ce5cc88941285
|
||||
#include "content/shell/browser/shell.h"
|
||||
#include "content/test/content_browser_test_utils_internal.h"
|
||||
+#include "content/test/test_content_client.h"
|
||||
#include "net/base/features.h"
|
||||
#include "net/dns/mock_host_resolver.h"
|
||||
#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/public/common/page/v8_compile_hints_histograms.h"
|
||||
@@ -30,6 +35,8 @@ namespace content {
|
||||
@@ -31,6 +36,8 @@ namespace content {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -175,7 +175,7 @@ index be7a332d8c071f09a2a09c382e7c6c906008c9ec..8227df3c7faa07552c7ce5cc88941285
|
||||
bool SupportsSharedWorker() {
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// SharedWorkers are not enabled on Android. https://crbug.com/154571
|
||||
@@ -874,4 +881,82 @@ IN_PROC_BROWSER_TEST_F(LocalCompileHintsBrowserTest, LocalCompileHints) {
|
||||
@@ -875,4 +882,82 @@ IN_PROC_BROWSER_TEST_F(LocalCompileHintsBrowserTest, LocalCompileHints) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ to STDOUT_FILENO/STD_OUTPUT_HANDLE and STDERR_FILENO/STD_ERROR_HANDLE allowing t
|
||||
parent process to read from the pipe.
|
||||
|
||||
diff --git a/content/browser/child_process_launcher.h b/content/browser/child_process_launcher.h
|
||||
index 32b0b480d2195e5b166a473c2b58c960a0b5d052..cbf593e5405b384dbbdf763ebc4319cf25fc5c4a 100644
|
||||
index ac6f72c99800d5437ddc4aa203870242fb9220b9..93055bda5478f4b7b401ae06dcddce36a26f5ad7 100644
|
||||
--- a/content/browser/child_process_launcher.h
|
||||
+++ b/content/browser/child_process_launcher.h
|
||||
@@ -33,6 +33,7 @@
|
||||
@@ -30,7 +30,7 @@ index 32b0b480d2195e5b166a473c2b58c960a0b5d052..cbf593e5405b384dbbdf763ebc4319cf
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_POSIX)
|
||||
@@ -196,7 +197,10 @@ struct ChildProcessLauncherFileData {
|
||||
@@ -188,7 +189,10 @@ struct ChildProcessLauncherFileData {
|
||||
delete;
|
||||
~ChildProcessLauncherFileData();
|
||||
|
||||
@@ -42,7 +42,7 @@ index 32b0b480d2195e5b166a473c2b58c960a0b5d052..cbf593e5405b384dbbdf763ebc4319cf
|
||||
// Files opened by the browser and passed as corresponding file descriptors
|
||||
// in the child process. If a FilePath is provided, the file will be opened
|
||||
// and the descriptor cached for future process launches. If a ScopedFD is
|
||||
@@ -211,6 +215,15 @@ struct ChildProcessLauncherFileData {
|
||||
@@ -203,6 +207,15 @@ struct ChildProcessLauncherFileData {
|
||||
std::map<std::string, std::variant<base::FilePath, base::ScopedFD>>
|
||||
files_to_preload;
|
||||
#endif
|
||||
@@ -187,7 +187,7 @@ index 96c9563aac5847e742de5d9c9236f78bcb6cfd9c..73c9d585579ad5bdc407687b8becd0b7
|
||||
host->GetChildProcess()->BindServiceInterface(std::move(receiver));
|
||||
}
|
||||
diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc
|
||||
index 8bb497717298886bc6db04ebcba9be1f3b29ab73..60c4a301c32a46cdc332cccd1cd4ae78802ee8b9 100644
|
||||
index e2c72b43f75b57ef1f49b82d3ecdfb425f8596de..51f8ff9b8424d098979a24c2e8628cdf7c4b758d 100644
|
||||
--- a/content/browser/service_host/utility_process_host.cc
|
||||
+++ b/content/browser/service_host/utility_process_host.cc
|
||||
@@ -190,11 +190,13 @@ const ChildProcessData& UtilityProcessHost::GetData() {
|
||||
@@ -237,7 +237,7 @@ index 8bb497717298886bc6db04ebcba9be1f3b29ab73..60c4a301c32a46cdc332cccd1cd4ae78
|
||||
mojom::ChildProcess* UtilityProcessHost::GetChildProcess() {
|
||||
return static_cast<ChildProcessHostImpl*>(process_->GetHost())
|
||||
->child_process();
|
||||
@@ -455,9 +481,26 @@ bool UtilityProcessHost::StartProcess() {
|
||||
@@ -456,9 +482,26 @@ bool UtilityProcessHost::StartProcess() {
|
||||
}
|
||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN)
|
||||
|
||||
@@ -347,10 +347,10 @@ index d13e6db4857242480591bff040709532d16f513d..1164da12ee71a8575c17bf1b84a505e8
|
||||
// launch failed.
|
||||
enum class LaunchState {
|
||||
diff --git a/content/browser/service_host/utility_sandbox_delegate.cc b/content/browser/service_host/utility_sandbox_delegate.cc
|
||||
index 824afc2cfd01a0321d1b01cd370243dafefa1d24..ab77c85595dd5bde9eb9fd21f4914e1f9dfd4433 100644
|
||||
index 5ff3c5dcb972eb635107557ea7c26eb1f3331d22..5b1939226dcb84a61b09eefe69ab24a5ad595e1b 100644
|
||||
--- a/content/browser/service_host/utility_sandbox_delegate.cc
|
||||
+++ b/content/browser/service_host/utility_sandbox_delegate.cc
|
||||
@@ -38,17 +38,19 @@ UtilitySandboxedProcessLauncherDelegate::
|
||||
@@ -39,17 +39,19 @@ UtilitySandboxedProcessLauncherDelegate::
|
||||
UtilitySandboxedProcessLauncherDelegate(
|
||||
sandbox::mojom::Sandbox sandbox_type,
|
||||
const base::EnvironmentMap& env,
|
||||
@@ -374,7 +374,7 @@ index 824afc2cfd01a0321d1b01cd370243dafefa1d24..ab77c85595dd5bde9eb9fd21f4914e1f
|
||||
#if DCHECK_IS_ON()
|
||||
bool supported_sandbox_type =
|
||||
sandbox_type_ == sandbox::mojom::Sandbox::kNoSandbox ||
|
||||
@@ -114,11 +116,28 @@ UtilitySandboxedProcessLauncherDelegate::GetSandboxType() {
|
||||
@@ -115,11 +117,28 @@ UtilitySandboxedProcessLauncherDelegate::GetSandboxType() {
|
||||
return sandbox_type_;
|
||||
}
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ index 65766b955e81bfc332bc2c4e0b9da48389c1bd68..a475e1bfee46f0a77d1cfbdea47e9de6
|
||||
// used for canvas noising.
|
||||
uint64 canvas_noise_token = 0;
|
||||
diff --git a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
|
||||
index a4c78d85e525224823ce4b2434519cc0a39922ef..8071b283b48ab89226313bb199c0cece67ca5039 100644
|
||||
index 32e70a4fa70ac2fc41d95813590fe9a7120eecde..54d292d737748302fa0369b73d876d84f1fec1d4 100644
|
||||
--- a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
|
||||
+++ b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom
|
||||
@@ -48,6 +48,7 @@ enum CSSSampleId {
|
||||
@@ -99,23 +99,23 @@ index a53b4901dde0dc83dce6c9b56616eef0d02d94a5..b419672af985f673f375fbb63b4d2b2c
|
||||
protected:
|
||||
~WebSettings() = default;
|
||||
diff --git a/third_party/blink/renderer/build/scripts/core/css/css_properties.py b/third_party/blink/renderer/build/scripts/core/css/css_properties.py
|
||||
index aa3a6b93cceae8c8bfbefdd7a043ae576f921979..17544d7ed4757fb51e2f82fd1b90638131ba05cc 100755
|
||||
index 6e991652d242795e292cea4c94cff59aaea078fa..b6834c78575520bb6e584dd2ce3333ac17299fef 100755
|
||||
--- a/third_party/blink/renderer/build/scripts/core/css/css_properties.py
|
||||
+++ b/third_party/blink/renderer/build/scripts/core/css/css_properties.py
|
||||
@@ -313,7 +313,7 @@ class CSSProperties(object):
|
||||
if name_without_leading_dash.startswith('-'):
|
||||
@@ -314,7 +314,7 @@ class CSSProperties(object):
|
||||
name_without_leading_dash = name_without_leading_dash[1:]
|
||||
internal_visited_order = 1
|
||||
- if name_without_leading_dash.startswith('internal-visited-'):
|
||||
+ if name_without_leading_dash.startswith('internal-'):
|
||||
if name_without_leading_dash.startswith(
|
||||
- 'internal-visited-'
|
||||
+ 'internal-'
|
||||
) or name_without_leading_dash.startswith(
|
||||
'internal-forced-visited-'):
|
||||
internal_visited_order = 0
|
||||
property_.sorting_key = (-property_.priority,
|
||||
internal_visited_order,
|
||||
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
|
||||
index b44da8add10fdeadd24653441115df035a93dd50..ce7c7bd32f3a8ea262f01c408474ff4ffe7fe0aa 100644
|
||||
index c3dfa4c1f53a6ebba5735214037e0d1c6a88961d..17a08450227844dceccbaab7ff9de60d6e058b1f 100644
|
||||
--- a/third_party/blink/renderer/core/css/css_properties.json5
|
||||
+++ b/third_party/blink/renderer/core/css/css_properties.json5
|
||||
@@ -8795,6 +8795,24 @@
|
||||
@@ -8822,6 +8822,24 @@
|
||||
property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"],
|
||||
},
|
||||
|
||||
@@ -141,7 +141,7 @@ index b44da8add10fdeadd24653441115df035a93dd50..ce7c7bd32f3a8ea262f01c408474ff4f
|
||||
{
|
||||
name: "-internal-visited-color",
|
||||
diff --git a/third_party/blink/renderer/core/css/css_property_equality.cc b/third_party/blink/renderer/core/css/css_property_equality.cc
|
||||
index 10ab8a458fb3348476a6e904f684af77c55b103a..37339df2a5601b59abc50fe75fb844e1b7bb5368 100644
|
||||
index ff1cc33c1787df522300a220000ad3d3123cd7bd..6b9e72f60db9af5ceeac7cc663ac666b0eeb7b09 100644
|
||||
--- a/third_party/blink/renderer/core/css/css_property_equality.cc
|
||||
+++ b/third_party/blink/renderer/core/css/css_property_equality.cc
|
||||
@@ -346,6 +346,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property,
|
||||
@@ -154,10 +154,10 @@ index 10ab8a458fb3348476a6e904f684af77c55b103a..37339df2a5601b59abc50fe75fb844e1
|
||||
return a.EmptyCells() == b.EmptyCells();
|
||||
case CSSPropertyID::kFill:
|
||||
diff --git a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||
index 663ce4469a595e2c5a7b8ed992bdc0e22ab101a9..acdbd7ab75b12630356777a475be794091be25ad 100644
|
||||
index 206a0158a688ce807d656872179f4e50a7a1a237..967f547e9e3907f58a8f082311aba86f415f291d 100644
|
||||
--- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||
+++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||
@@ -12035,5 +12035,25 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
||||
@@ -12048,5 +12048,25 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
||||
CSSValueID::kNone>(stream);
|
||||
}
|
||||
|
||||
@@ -184,10 +184,10 @@ index 663ce4469a595e2c5a7b8ed992bdc0e22ab101a9..acdbd7ab75b12630356777a475be7940
|
||||
} // namespace css_longhand
|
||||
} // namespace blink
|
||||
diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
|
||||
index f7f49ef23b77c7a3f27ae8ba129e5eea1617d545..0ddf6f59c45d2f6212317dc18f3c5a80eeda5395 100644
|
||||
index 5d803e8baebc35075d7475e091f97811407add79..50991917a87ff1a219fe2b3dd80dd055fd3e4289 100644
|
||||
--- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
|
||||
+++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
|
||||
@@ -3859,4 +3859,12 @@ PositionArea StyleBuilderConverter::ConvertPositionArea(
|
||||
@@ -3869,4 +3869,12 @@ PositionArea StyleBuilderConverter::ConvertPositionArea(
|
||||
return PositionArea(span[0], span[1], span[2], span[3]);
|
||||
}
|
||||
|
||||
@@ -201,7 +201,7 @@ index f7f49ef23b77c7a3f27ae8ba129e5eea1617d545..0ddf6f59c45d2f6212317dc18f3c5a80
|
||||
+
|
||||
} // namespace blink
|
||||
diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h
|
||||
index b9f8145af13fb9d68e85f166905476c177c3a053..0a9ad304f5039747a0580ab63664d4429a67970d 100644
|
||||
index a33d85561b005010653c5e3a562227b1f379ec90..0c2d3b0e9b691477d46c892afc16d8b0421e7263 100644
|
||||
--- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.h
|
||||
+++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.h
|
||||
@@ -419,6 +419,8 @@ class StyleBuilderConverter {
|
||||
@@ -239,10 +239,10 @@ index 5e8d2bfbccd0625c2598544a9cba3d71373eded2..e68a97ee75754fc7196f11cf5c731550
|
||||
bool RenderVSyncNotificationEnabled() const {
|
||||
return render_v_sync_notification_enabled_;
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
index cf80d64963a2a25afbaa6060b4dfda425638858b..5f3a6dba6fe4f93698a8e18afa07efdac73eabee 100644
|
||||
index 524928729e34cc6b2ae427181e2ac4f8c1128688..9ce184f279b11a90c7d6f9b9ab7b20da09122a40 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -3575,6 +3575,9 @@ void WebViewImpl::UpdateRendererPreferences(
|
||||
@@ -3576,6 +3576,9 @@ void WebViewImpl::UpdateRendererPreferences(
|
||||
CanvasNoiseToken::Set(renderer_preferences_.canvas_noise_token);
|
||||
|
||||
MaybePreloadSystemFonts(GetPage());
|
||||
@@ -267,33 +267,6 @@ index f4cdee12ea4352067f5de3e074e43d51ef56d2e5..6377e4b1ea8aa46b0bf69f8420b6c439
|
||||
+ },
|
||||
],
|
||||
}
|
||||
diff --git a/third_party/blink/renderer/core/paint/box_painter_base.cc b/third_party/blink/renderer/core/paint/box_painter_base.cc
|
||||
index 57f71cbd80d88416693e5b83f695fd02eb7a405b..d638da7a734fa40de118d056c59488b63caff7e2 100644
|
||||
--- a/third_party/blink/renderer/core/paint/box_painter_base.cc
|
||||
+++ b/third_party/blink/renderer/core/paint/box_painter_base.cc
|
||||
@@ -417,16 +417,20 @@ void BoxPainterBase::PaintInsetBoxShadow(const PaintInfo& info,
|
||||
ContouredRect inner_rounded_rect(
|
||||
FloatRoundedRect(inner_rect, bounds.GetRadii()));
|
||||
ApplySpreadToShadowShape(inner_rounded_rect, -shadow.Spread());
|
||||
+ ContouredRect contoured_bounds(
|
||||
+ bounds, ContouredBorderGeometry::ContouredBorder(
|
||||
+ style, PhysicalRect::EnclosingRect(bounds.Rect()))
|
||||
+ .GetCornerCurvature());
|
||||
if (inner_rounded_rect.IsEmpty()) {
|
||||
// |AutoDarkMode::Disabled()| is used because |shadow_color| has already
|
||||
// been adjusted for dark mode.
|
||||
- context.FillRoundedRect(bounds, shadow_color, AutoDarkMode::Disabled());
|
||||
+ context.FillContouredRect(contoured_bounds, shadow_color, AutoDarkMode::Disabled());
|
||||
continue;
|
||||
}
|
||||
GraphicsContextStateSaver state_saver(context);
|
||||
if (bounds.IsRounded()) {
|
||||
// TODO(crbug.com/397459628) render corner-shape with box-shadow
|
||||
- context.ClipContouredRect(ContouredRect(bounds));
|
||||
+ context.ClipContouredRect(contoured_bounds);
|
||||
} else {
|
||||
context.Clip(bounds.Rect());
|
||||
}
|
||||
diff --git a/third_party/blink/renderer/core/paint/contoured_border_geometry.cc b/third_party/blink/renderer/core/paint/contoured_border_geometry.cc
|
||||
index 2c2f4f405074e5baa4a26f255283404f86b40e21..ebeb7d6988ee9e6a4e78cb82fc01fdad6721eaef 100644
|
||||
--- a/third_party/blink/renderer/core/paint/contoured_border_geometry.cc
|
||||
@@ -334,10 +307,10 @@ index 2c2f4f405074e5baa4a26f255283404f86b40e21..ebeb7d6988ee9e6a4e78cb82fc01fdad
|
||||
|
||||
ContouredRect PixelSnappedContouredBorderInternal(
|
||||
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
|
||||
index 291676c6583722a3dfbac4d4aaad1ea2ae3cc079..5cd89e8c6c79ab339ffbc330d9bcdb08cca6e869 100644
|
||||
index b5a309cb7bad79f80fb43dcbcccbd8dc2fcdfef8..c90d8f2f283e9bd05184171d3971d0060731f67d 100644
|
||||
--- a/third_party/blink/renderer/platform/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
||||
@@ -1646,6 +1646,8 @@ component("platform") {
|
||||
@@ -1658,6 +1658,8 @@ component("platform") {
|
||||
"widget/widget_base.h",
|
||||
"widget/widget_base_client.h",
|
||||
"windows_keyboard_codes.h",
|
||||
@@ -347,7 +320,7 @@ index 291676c6583722a3dfbac4d4aaad1ea2ae3cc079..5cd89e8c6c79ab339ffbc330d9bcdb08
|
||||
|
||||
sources -= blink_platform_avx_files
|
||||
diff --git a/third_party/blink/renderer/platform/geometry/contoured_rect.h b/third_party/blink/renderer/platform/geometry/contoured_rect.h
|
||||
index b147b8d321d865295007516b15d0aaccfc6f7fac..8f54a3a657c660a52fcd4c94865ca2197b0af514 100644
|
||||
index 88e78f1d8050c73ae6a8929f23e636ef7a383404..17b63c5ecdcd8feb17b76a13392595c737c316b7 100644
|
||||
--- a/third_party/blink/renderer/platform/geometry/contoured_rect.h
|
||||
+++ b/third_party/blink/renderer/platform/geometry/contoured_rect.h
|
||||
@@ -47,19 +47,29 @@ class PLATFORM_EXPORT ContouredRect {
|
||||
@@ -400,7 +373,7 @@ index b147b8d321d865295007516b15d0aaccfc6f7fac..8f54a3a657c660a52fcd4c94865ca219
|
||||
|
||||
// A Corner is a axis-aligned quad, with the points ordered (start, outer,
|
||||
diff --git a/third_party/blink/renderer/platform/geometry/path_builder.cc b/third_party/blink/renderer/platform/geometry/path_builder.cc
|
||||
index 346cfc0b13b31808fbe1381b3785150810f347bb..29a004e6b668d172534cd503f16de57d42368b2e 100644
|
||||
index b17bc9760b97b1e72783ae174ffa0f69ca830462..226b546694524e3848ea849059df74970403690e 100644
|
||||
--- a/third_party/blink/renderer/platform/geometry/path_builder.cc
|
||||
+++ b/third_party/blink/renderer/platform/geometry/path_builder.cc
|
||||
@@ -4,6 +4,7 @@
|
||||
@@ -411,7 +384,7 @@ index 346cfc0b13b31808fbe1381b3785150810f347bb..29a004e6b668d172534cd503f16de57d
|
||||
#include "third_party/blink/renderer/platform/geometry/contoured_rect.h"
|
||||
#include "third_party/blink/renderer/platform/geometry/infinite_int_rect.h"
|
||||
#include "third_party/blink/renderer/platform/geometry/path.h"
|
||||
@@ -231,6 +232,19 @@ PathBuilder& PathBuilder::AddContouredRect(
|
||||
@@ -241,6 +242,26 @@ PathBuilder& PathBuilder::AddContouredRect(
|
||||
AddRoundedRect(target_rect);
|
||||
return *this;
|
||||
}
|
||||
@@ -419,15 +392,22 @@ index 346cfc0b13b31808fbe1381b3785150810f347bb..29a004e6b668d172534cd503f16de57d
|
||||
+ // TODO(clavin): decompose `electron::DrawSmoothRoundRect` into corners
|
||||
+ if (contoured_rect.GetCornerCurvature().IsSmooth()) {
|
||||
+ const gfx::RectF& box = contoured_rect.Rect();
|
||||
+ const FloatRoundedRect::Radii& radii = contoured_rect.GetRadii();
|
||||
+
|
||||
+ // Constrain the radii (on a copy) to ensure they do not exceed the box.
|
||||
+ FloatRoundedRect round_rect_copy = contoured_rect.AsRoundedRect();
|
||||
+ round_rect_copy.ConstrainRadii();
|
||||
+ const FloatRoundedRect::Radii& radii = round_rect_copy.GetRadii();
|
||||
+ float smoothness = std::clamp(
|
||||
+ contoured_rect.GetCornerCurvature().Smoothness(), 0.0f, 1.0f);
|
||||
+
|
||||
+ builder_.addPath(electron::DrawSmoothRoundRect(
|
||||
+ box.x(), box.y(), box.width(), box.height(),
|
||||
+ std::min(contoured_rect.GetCornerCurvature().Smoothness(), 1.0f),
|
||||
+ box.x(), box.y(), box.width(), box.height(), smoothness,
|
||||
+ radii.TopLeft().width(), radii.TopRight().width(),
|
||||
+ radii.BottomRight().width(), radii.BottomLeft().width()));
|
||||
+
|
||||
+ return *this;
|
||||
+ }
|
||||
+
|
||||
const FloatRoundedRect& origin_rect = contoured_rect.GetOriginRect();
|
||||
|
||||
if (origin_rect == target_rect) {
|
||||
// This would include the outer border of the rect, as well as shadow and
|
||||
|
||||
@@ -90,7 +90,7 @@ index 8af69cac78b7488d28f1f05ccb174793fe5148cd..9f74e511c263d147b5fbe81fe100d217
|
||||
private:
|
||||
const HWND hwnd_;
|
||||
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
|
||||
index 41c3a5128b9936f48587d6fc6ddd2050bffc9c36..4dbcba1150645596532c53b99e309c0e52d4759f 100644
|
||||
index 3c43af49c5d6d5f604c71e9a9dc1f7afe9aaf0f7..857e422776e7ec33eaf4c9983d42d6433b7723cc 100644
|
||||
--- a/components/viz/service/BUILD.gn
|
||||
+++ b/components/viz/service/BUILD.gn
|
||||
@@ -178,6 +178,8 @@ viz_component("service") {
|
||||
@@ -204,10 +204,10 @@ index e4b46a79560e7698a6400b2ab8a57f38205a8718..3cb2518c6644cf0618f625d981befd46
|
||||
const raw_ptr<GpuServiceImpl> gpu_service_impl_;
|
||||
|
||||
diff --git a/components/viz/service/display_embedder/software_output_device_mac.cc b/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
index 446229f7dea794a0148543d112c63b8c38183262..15d097a5761a07cfbc763d6fc739ca35cf3c8660 100644
|
||||
index 80b4d99c08b622b080cf6d725ebc3cdfbcad7d32..d9c56e04dfd771368a82b852daae297a47fde80e 100644
|
||||
--- a/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
+++ b/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
@@ -111,6 +111,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage(
|
||||
@@ -112,6 +112,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage(
|
||||
|
||||
SkCanvas* SoftwareOutputDeviceMac::BeginPaint(
|
||||
const gfx::Rect& new_damage_rect) {
|
||||
@@ -216,7 +216,7 @@ index 446229f7dea794a0148543d112c63b8c38183262..15d097a5761a07cfbc763d6fc739ca35
|
||||
// Record the previous paint buffer.
|
||||
Buffer* previous_paint_buffer =
|
||||
buffer_queue_.empty() ? nullptr : buffer_queue_.back().get();
|
||||
@@ -199,6 +201,7 @@ void SoftwareOutputDeviceMac::EndPaint() {
|
||||
@@ -202,6 +204,7 @@ void SoftwareOutputDeviceMac::EndPaint() {
|
||||
ca_layer_params.is_empty = false;
|
||||
ca_layer_params.scale_factor = scale_factor_;
|
||||
ca_layer_params.pixel_size = pixel_size_;
|
||||
@@ -509,10 +509,10 @@ index 0000000000000000000000000000000000000000..e1a22ee881c0fd679ac2d2d4d11a3c93
|
||||
+
|
||||
+#endif // COMPONENTS_VIZ_SERVICE_DISPLAY_EMBEDDER_SOFTWARE_OUTPUT_DEVICE_PROXY_H_
|
||||
diff --git a/components/viz/service/display_embedder/software_output_device_win.cc b/components/viz/service/display_embedder/software_output_device_win.cc
|
||||
index 4d6cc977ed5000d93918336a0dd57f60c0e95bbb..54d936e86b60f0538c70c4ee69e109ccda35248f 100644
|
||||
index f0aca972c4a81c3dfb536e14244daafae21ee716..a15afbc1a3519e657121b4952444d2f47d872e42 100644
|
||||
--- a/components/viz/service/display_embedder/software_output_device_win.cc
|
||||
+++ b/components/viz/service/display_embedder/software_output_device_win.cc
|
||||
@@ -149,7 +149,7 @@ void SoftwareOutputDeviceWinProxy::EndPaintDelegated(
|
||||
@@ -156,7 +156,7 @@ void SoftwareOutputDeviceWinProxy::EndPaintDelegated(
|
||||
if (!canvas_)
|
||||
return;
|
||||
|
||||
@@ -522,10 +522,10 @@ index 4d6cc977ed5000d93918336a0dd57f60c0e95bbb..54d936e86b60f0538c70c4ee69e109cc
|
||||
waiting_on_draw_ack_ = true;
|
||||
|
||||
diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
index 6de3d8b4cdaf2721a160c6271561b8fd8872e82e..890b95b4aee9210f13ee192a6ea86e072619fcf4 100644
|
||||
index 391004b202e6f20ad06eb6a53a6d55f5e8981c75..acb849f4e737de45e7aa4640b6866791424f010b 100644
|
||||
--- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
+++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
@@ -113,7 +113,8 @@ RootCompositorFrameSinkImpl::Create(
|
||||
@@ -130,7 +130,8 @@ RootCompositorFrameSinkImpl::Create(
|
||||
params->gpu_compositing, params->widget);
|
||||
auto output_surface = output_surface_provider->CreateOutputSurface(
|
||||
params->widget, params->gpu_compositing, display_client.get(),
|
||||
@@ -564,10 +564,10 @@ index 399fba1a3d4e601dc2cdd5f1f4def8b7fd7a3011..8bcbe0d26c80323155d536c0d3a177a1
|
||||
gpu::SyncPointManager* GetSyncPointManager() override;
|
||||
gpu::Scheduler* GetGpuScheduler() override;
|
||||
diff --git a/content/browser/compositor/viz_process_transport_factory.cc b/content/browser/compositor/viz_process_transport_factory.cc
|
||||
index 7839f5afb9ac1aef3f809042d14e6bf2f48f84af..7df780d195e3cfcbfc0857133f2c0d21abe04121 100644
|
||||
index 8e2ddfa9337b5ba952a186a85bce78d39a62e8bd..efb54a95b2ad76546eafa1907064a298961b1a4d 100644
|
||||
--- a/content/browser/compositor/viz_process_transport_factory.cc
|
||||
+++ b/content/browser/compositor/viz_process_transport_factory.cc
|
||||
@@ -431,8 +431,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
|
||||
@@ -389,8 +389,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
|
||||
mojo::AssociatedRemote<viz::mojom::DisplayPrivate> display_private;
|
||||
root_params->display_private =
|
||||
display_private.BindNewEndpointAndPassReceiver();
|
||||
@@ -585,10 +585,10 @@ index 7839f5afb9ac1aef3f809042d14e6bf2f48f84af..7df780d195e3cfcbfc0857133f2c0d21
|
||||
compositor_data.display_client->GetBoundRemote(resize_task_runner_);
|
||||
mojo::AssociatedRemote<viz::mojom::ExternalBeginFrameController>
|
||||
diff --git a/services/viz/privileged/mojom/compositing/display_private.mojom b/services/viz/privileged/mojom/compositing/display_private.mojom
|
||||
index 3046e60995bceb1c9931038be3d309577a830a60..4476f48510f807d03f05a4afa2a648dac8720010 100644
|
||||
index afdda5292ce89d6dac6eaa1e3476fdfd0e9e7f08..8147e4bf6173699df6ab9492898989c68ffbb2b8 100644
|
||||
--- a/services/viz/privileged/mojom/compositing/display_private.mojom
|
||||
+++ b/services/viz/privileged/mojom/compositing/display_private.mojom
|
||||
@@ -125,7 +125,6 @@ interface DisplayClient {
|
||||
@@ -123,7 +123,6 @@ interface DisplayClient {
|
||||
|
||||
// Creates a LayeredWindowUpdater implementation to draw into a layered
|
||||
// window.
|
||||
@@ -620,7 +620,7 @@ index 2f462f0deb5fc8a637457243fb5d5849fc214d14..695869b83cefaa24af93a2e11b39de05
|
||||
+ Draw(gfx.mojom.Rect damage_rect) => ();
|
||||
};
|
||||
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
|
||||
index bd5213795191e5947b6c70778ae01a669ab50dd7..3f52b93eab20108e40131472d8abdf9ff60bd191 100644
|
||||
index 385074e896f4a2e66dec8f5629a2f60b06affb0a..8d37f968825055d1d86da2cf0aac5d011fef7e8c 100644
|
||||
--- a/ui/compositor/compositor.h
|
||||
+++ b/ui/compositor/compositor.h
|
||||
@@ -88,6 +88,7 @@ class DisplayPrivate;
|
||||
@@ -631,7 +631,7 @@ index bd5213795191e5947b6c70778ae01a669ab50dd7..3f52b93eab20108e40131472d8abdf9f
|
||||
class HostFrameSinkManager;
|
||||
class LocalSurfaceId;
|
||||
class RasterContextProvider;
|
||||
@@ -147,6 +148,15 @@ class COMPOSITOR_EXPORT ExternalBeginFrameControllerClientFactory {
|
||||
@@ -146,6 +147,15 @@ class COMPOSITOR_EXPORT ExternalBeginFrameControllerClientFactory {
|
||||
viz::mojom::ExternalBeginFrameControllerClient>
|
||||
CreateExternalBeginFrameControllerClient() = 0;
|
||||
};
|
||||
@@ -647,7 +647,7 @@ index bd5213795191e5947b6c70778ae01a669ab50dd7..3f52b93eab20108e40131472d8abdf9f
|
||||
|
||||
// Compositor object to take care of GPU painting.
|
||||
// A Browser compositor object is responsible for generating the final
|
||||
@@ -191,6 +201,9 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -190,6 +200,9 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
// Schedules a redraw of the layer tree associated with this compositor.
|
||||
void ScheduleDraw();
|
||||
|
||||
@@ -657,7 +657,7 @@ index bd5213795191e5947b6c70778ae01a669ab50dd7..3f52b93eab20108e40131472d8abdf9f
|
||||
// Sets the root of the layer tree drawn by this Compositor. The root layer
|
||||
// must have no parent. The compositor's root layer is reset if the root layer
|
||||
// is destroyed. NULL can be passed to reset the root layer, in which case the
|
||||
@@ -609,6 +622,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -631,6 +644,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
simple_begin_frame_observers_;
|
||||
std::unique_ptr<ui::HostBeginFrameObserver> host_begin_frame_observer_;
|
||||
|
||||
|
||||
@@ -80,10 +80,10 @@ index 801db538979ba62facdcf3a472dade56723ca639..7abac9a5b13b393713534ae51664c2e5
|
||||
private:
|
||||
const std::string service_interface_name_;
|
||||
diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc
|
||||
index 60c4a301c32a46cdc332cccd1cd4ae78802ee8b9..85fc14b2ef520abb191f926dc44a272f4c9e874b 100644
|
||||
index 51f8ff9b8424d098979a24c2e8628cdf7c4b758d..19d8ed89211402e93632c4d83dbf452d4194a14c 100644
|
||||
--- a/content/browser/service_host/utility_process_host.cc
|
||||
+++ b/content/browser/service_host/utility_process_host.cc
|
||||
@@ -540,7 +540,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
|
||||
@@ -541,7 +541,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
|
||||
// Take ownership of |client_| so the destructor doesn't notify it of
|
||||
// termination.
|
||||
auto client = std::move(client_);
|
||||
|
||||
@@ -12,10 +12,10 @@ We attempt to migrate the safe storage key from the old account, if that migrati
|
||||
Existing apps that aren't built for the app store should be unimpacted, there is one edge case where a user uses BOTH an AppStore and a darwin build of the same app only one will keep it's access to the safestorage key as during the migration we delete the old account. This is an acceptable edge case as no one should be actively using two versions of the same app.
|
||||
|
||||
diff --git a/components/os_crypt/sync/keychain_password_mac.mm b/components/os_crypt/sync/keychain_password_mac.mm
|
||||
index a179c9bc02158130f4b15bf8022721f4b53a8303..8fd3f42725e6618737110459b1b1021e3709f0df 100644
|
||||
index 3d388a85aaf52acdcc2b7aaea56f5a24b2435bff..7a0d28cbf1651e76a4356f1193b502d27e7a8ed4 100644
|
||||
--- a/components/os_crypt/sync/keychain_password_mac.mm
|
||||
+++ b/components/os_crypt/sync/keychain_password_mac.mm
|
||||
@@ -24,6 +24,12 @@
|
||||
@@ -25,6 +25,12 @@
|
||||
using KeychainNameContainerType = const base::NoDestructor<std::string>;
|
||||
#endif
|
||||
|
||||
@@ -28,55 +28,39 @@ index a179c9bc02158130f4b15bf8022721f4b53a8303..8fd3f42725e6618737110459b1b1021e
|
||||
namespace {
|
||||
|
||||
// These two strings ARE indeed user facing. But they are used to access
|
||||
@@ -83,11 +89,18 @@
|
||||
@@ -79,10 +85,47 @@
|
||||
KeychainPassword::~KeychainPassword() = default;
|
||||
|
||||
std::string KeychainPassword::GetPassword() const {
|
||||
UInt32 password_length = 0;
|
||||
void* password_data = nullptr;
|
||||
+ KeychainPassword::KeychainNameType service_name = GetServiceName();
|
||||
+ KeychainPassword::KeychainNameType account_name = GetAccountName();
|
||||
+ const std::string account_name_suffix = kAccountNameSuffix;
|
||||
+ const std::string suffixed_account_name = account_name + account_name_suffix;
|
||||
+ const std::string suffixed_account_name = GetAccountName() + account_name_suffix;
|
||||
auto password =
|
||||
- keychain_->FindGenericPassword(GetServiceName(), GetAccountName());
|
||||
+ keychain_->FindGenericPassword(GetServiceName(), suffixed_account_name);
|
||||
+
|
||||
+ if (password.has_value()) {
|
||||
+ return std::string(base::as_string_view(*password));
|
||||
+ }
|
||||
+
|
||||
+ // We should check if the suffixed account exists first
|
||||
OSStatus error = keychain_->FindGenericPassword(
|
||||
- GetServiceName().size(), GetServiceName().c_str(),
|
||||
- GetAccountName().size(), GetAccountName().c_str(), &password_length,
|
||||
+ service_name.size(), service_name.c_str(),
|
||||
+ suffixed_account_name.size(), suffixed_account_name.c_str(), &password_length,
|
||||
&password_data, /*item=*/nullptr);
|
||||
|
||||
+ // If it exists we can return it immediately
|
||||
if (error == noErr) {
|
||||
std::string password =
|
||||
std::string(static_cast<char*>(password_data), password_length);
|
||||
@@ -95,6 +108,49 @@
|
||||
return password;
|
||||
}
|
||||
|
||||
+ // If the error was anything other than "it does not exist" we should error out here
|
||||
+ // This normally means the account exists but we were deniged access to it
|
||||
+ if (error != errSecItemNotFound) {
|
||||
+ OSSTATUS_LOG(ERROR, error) << "Keychain lookup for suffixed key failed";
|
||||
+ if (password.error() != errSecItemNotFound) {
|
||||
+ OSSTATUS_LOG(ERROR, password.error()) << "Keychain lookup for suffixed key failed";
|
||||
+ return std::string();
|
||||
+ }
|
||||
+
|
||||
+ // If the suffixed account didn't exist, we should check if the legacy non-suffixed account
|
||||
+ // exists. If it does we can use that key and migrate it to the new account
|
||||
+ base::apple::ScopedCFTypeRef<SecKeychainItemRef> item_ref;
|
||||
+ error = keychain_->FindGenericPassword(
|
||||
+ service_name.size(), service_name.c_str(),
|
||||
+ account_name.size(), account_name.c_str(), &password_length,
|
||||
+ &password_data, item_ref.InitializeInto());
|
||||
+
|
||||
+ if (error == noErr) {
|
||||
+ std::string password =
|
||||
+ std::string(static_cast<char*>(password_data), password_length);
|
||||
+
|
||||
+ password =
|
||||
+ keychain_->FindGenericPassword(GetServiceName(), GetAccountName(),
|
||||
+ item_ref.InitializeInto());
|
||||
|
||||
if (password.has_value()) {
|
||||
+ // If we found the legacy account name we should copy it over to
|
||||
+ // the new suffixed account
|
||||
+ error = keychain_->AddGenericPassword(
|
||||
+ service_name.size(), service_name.data(), suffixed_account_name.size(),
|
||||
+ suffixed_account_name.data(), password.size(), password_data, NULL);
|
||||
+ OSStatus error = keychain_->AddGenericPassword(
|
||||
+ GetServiceName(), suffixed_account_name, *password);
|
||||
+
|
||||
+ if (error == noErr) {
|
||||
+ // If we successfully made the suffixed account we can delete the old
|
||||
@@ -90,12 +74,147 @@ index a179c9bc02158130f4b15bf8022721f4b53a8303..8fd3f42725e6618737110459b1b1021e
|
||||
+ OSSTATUS_DLOG(ERROR, error) << "Keychain add for suffixed key failed";
|
||||
+ }
|
||||
+
|
||||
+ keychain_->ItemFreeContent(password_data);
|
||||
+ return password;
|
||||
+ }
|
||||
return std::string(base::as_string_view(*password));
|
||||
}
|
||||
|
||||
diff --git a/crypto/apple_keychain.h b/crypto/apple_keychain.h
|
||||
index 605a6db7fd8de4e9863d1b98c78bb628e9600987..dccc5f565733875b1c9e54cbff7383eafd5370e4 100644
|
||||
--- a/crypto/apple_keychain.h
|
||||
+++ b/crypto/apple_keychain.h
|
||||
@@ -18,6 +18,12 @@
|
||||
|
||||
namespace crypto {
|
||||
|
||||
+#if BUILDFLAG(IS_IOS)
|
||||
+using AppleSecKeychainItemRef = void*;
|
||||
+#else
|
||||
+using AppleSecKeychainItemRef = SecKeychainItemRef;
|
||||
+#endif
|
||||
+
|
||||
+ // If the legacy account name was not found, make a new account in the
|
||||
+ // with the suffixed name
|
||||
if (error == errSecItemNotFound) {
|
||||
std::string password = AddRandomPasswordToKeychain(
|
||||
*keychain_, GetServiceName(), GetAccountName());
|
||||
// DEPRECATED: use `AppleKeychainV2` instead.
|
||||
// Wraps the KeychainServices API in a very thin layer, to allow it to be
|
||||
// mocked out for testing.
|
||||
@@ -46,13 +52,18 @@ class CRYPTO_EXPORT AppleKeychain {
|
||||
// std::vector<uint8_t> arm is populated instead.
|
||||
virtual base::expected<std::vector<uint8_t>, OSStatus> FindGenericPassword(
|
||||
std::string_view service_name,
|
||||
- std::string_view account_name) const = 0;
|
||||
+ std::string_view account_name,
|
||||
+ AppleSecKeychainItemRef* item = nullptr) const = 0;
|
||||
|
||||
virtual OSStatus AddGenericPassword(
|
||||
std::string_view service_name,
|
||||
std::string_view account_name,
|
||||
base::span<const uint8_t> password) const = 0;
|
||||
|
||||
+#if BUILDFLAG(IS_MAC)
|
||||
+ virtual OSStatus ItemDelete(AppleSecKeychainItemRef item) const;
|
||||
+#endif // !BUILDFLAG(IS_MAC)
|
||||
+
|
||||
protected:
|
||||
AppleKeychain();
|
||||
};
|
||||
diff --git a/crypto/apple_keychain_secitem.h b/crypto/apple_keychain_secitem.h
|
||||
index 1632c22c669607f9da8b4fe7783ee716c6467f6e..3f0e3e0af568627a0aae352a65be4cc7d5d40802 100644
|
||||
--- a/crypto/apple_keychain_secitem.h
|
||||
+++ b/crypto/apple_keychain_secitem.h
|
||||
@@ -17,7 +17,8 @@ class CRYPTO_EXPORT AppleKeychainSecItem : public AppleKeychain {
|
||||
|
||||
base::expected<std::vector<uint8_t>, OSStatus> FindGenericPassword(
|
||||
std::string_view service_name,
|
||||
- std::string_view account_name) const override;
|
||||
+ std::string_view account_name,
|
||||
+ AppleSecKeychainItemRef* item) const override;
|
||||
|
||||
OSStatus AddGenericPassword(
|
||||
std::string_view service_name,
|
||||
diff --git a/crypto/apple_keychain_secitem.mm b/crypto/apple_keychain_secitem.mm
|
||||
index 12b400a1f2d6c11bc4ac67d0a2c98984d0be24e0..1abb4623bfabacbca34068113fac2030fea2c065 100644
|
||||
--- a/crypto/apple_keychain_secitem.mm
|
||||
+++ b/crypto/apple_keychain_secitem.mm
|
||||
@@ -118,7 +118,8 @@
|
||||
|
||||
base::expected<std::vector<uint8_t>, OSStatus>
|
||||
AppleKeychainSecItem::FindGenericPassword(std::string_view service_name,
|
||||
- std::string_view account_name) const {
|
||||
+ std::string_view account_name,
|
||||
+ AppleSecKeychainItemRef* item) const {
|
||||
base::apple::ScopedCFTypeRef<CFDictionaryRef> query =
|
||||
MakeGenericPasswordQuery(service_name, account_name);
|
||||
|
||||
diff --git a/crypto/apple_keychain_seckeychain.cc b/crypto/apple_keychain_seckeychain.cc
|
||||
index c7f015a4108f93ef121c7bb56c3d67634a723146..6d905154de42cbc151b5dfd77af277e5a5b021a0 100644
|
||||
--- a/crypto/apple_keychain_seckeychain.cc
|
||||
+++ b/crypto/apple_keychain_seckeychain.cc
|
||||
@@ -26,14 +26,15 @@ AppleKeychainSecKeychain::~AppleKeychainSecKeychain() = default;
|
||||
base::expected<std::vector<uint8_t>, OSStatus>
|
||||
AppleKeychainSecKeychain::FindGenericPassword(
|
||||
std::string_view service_name,
|
||||
- std::string_view account_name) const {
|
||||
+ std::string_view account_name,
|
||||
+ AppleSecKeychainItemRef* item) const {
|
||||
base::AutoLock lock(GetMacSecurityServicesLock());
|
||||
uint32_t password_length = 0;
|
||||
void* password_data = nullptr;
|
||||
OSStatus status = SecKeychainFindGenericPassword(
|
||||
nullptr, service_name.length(), service_name.data(),
|
||||
account_name.length(), account_name.data(), &password_length,
|
||||
- &password_data, nullptr);
|
||||
+ &password_data, item);
|
||||
if (status != noErr) {
|
||||
return base::unexpected(status);
|
||||
}
|
||||
@@ -59,6 +60,11 @@ OSStatus AppleKeychainSecKeychain::AddGenericPassword(
|
||||
password.data(), nullptr);
|
||||
}
|
||||
|
||||
+OSStatus AppleKeychain::ItemDelete(AppleSecKeychainItemRef item) const {
|
||||
+ base::AutoLock lock(GetMacSecurityServicesLock());
|
||||
+ return SecKeychainItemDelete(item);
|
||||
+}
|
||||
+
|
||||
#pragma clang diagnostic pop
|
||||
|
||||
} // namespace crypto
|
||||
diff --git a/crypto/apple_keychain_seckeychain.h b/crypto/apple_keychain_seckeychain.h
|
||||
index ecf5e229c8f05a27574b635abc9c781d175c1773..6afb09c59011035337a287783bbef0c6b7d29d9a 100644
|
||||
--- a/crypto/apple_keychain_seckeychain.h
|
||||
+++ b/crypto/apple_keychain_seckeychain.h
|
||||
@@ -20,7 +20,8 @@ class CRYPTO_EXPORT AppleKeychainSecKeychain : public AppleKeychain {
|
||||
|
||||
base::expected<std::vector<uint8_t>, OSStatus> FindGenericPassword(
|
||||
std::string_view service_name,
|
||||
- std::string_view account_name) const override;
|
||||
+ std::string_view account_name,
|
||||
+ AppleSecKeychainItemRef* item) const override;
|
||||
|
||||
OSStatus AddGenericPassword(
|
||||
std::string_view service_name,
|
||||
diff --git a/crypto/mock_apple_keychain.cc b/crypto/mock_apple_keychain.cc
|
||||
index d766dc41299f32bc766e4efce5925c93f21b60c5..7f09d477ba152cbca798f3ef7a213786cc95a338 100644
|
||||
--- a/crypto/mock_apple_keychain.cc
|
||||
+++ b/crypto/mock_apple_keychain.cc
|
||||
@@ -32,7 +32,8 @@ MockAppleKeychain::~MockAppleKeychain() = default;
|
||||
|
||||
base::expected<std::vector<uint8_t>, OSStatus>
|
||||
MockAppleKeychain::FindGenericPassword(std::string_view service_name,
|
||||
- std::string_view account_name) const {
|
||||
+ std::string_view account_name,
|
||||
+ AppleSecKeychainItemRef* item) const {
|
||||
IncrementKeychainAccessHistogram();
|
||||
|
||||
// When simulating |noErr|, return canned |passwordData| and
|
||||
diff --git a/crypto/mock_apple_keychain.h b/crypto/mock_apple_keychain.h
|
||||
index fd903e64c7bf43c634518c6756183e6ee2579504..a0089ce75ee8c6c49fb7f6181be79d4c8e1fb1d2 100644
|
||||
--- a/crypto/mock_apple_keychain.h
|
||||
+++ b/crypto/mock_apple_keychain.h
|
||||
@@ -38,7 +38,8 @@ class CRYPTO_EXPORT MockAppleKeychain : public AppleKeychain {
|
||||
// AppleKeychain implementation.
|
||||
base::expected<std::vector<uint8_t>, OSStatus> FindGenericPassword(
|
||||
std::string_view service_name,
|
||||
- std::string_view account_name) const override;
|
||||
+ std::string_view account_name,
|
||||
+ AppleSecKeychainItemRef* item) const override;
|
||||
|
||||
OSStatus AddGenericPassword(
|
||||
std::string_view service_name,
|
||||
|
||||
@@ -17,7 +17,7 @@ headers, moving forward we should find a way in upstream to provide
|
||||
access to these headers for loader clients created on the browser process.
|
||||
|
||||
diff --git a/services/network/public/cpp/resource_request.cc b/services/network/public/cpp/resource_request.cc
|
||||
index 7d97d0fd5481bead1f655f2f933a3ae89a729834..9b4c41209190086353b9a87833c07aabb47470bd 100644
|
||||
index 28355f4c6c3cbbe60e827246e88107ce7374104a..4183f448dc40f0fbe1fabadf58f09eeb84c9f684 100644
|
||||
--- a/services/network/public/cpp/resource_request.cc
|
||||
+++ b/services/network/public/cpp/resource_request.cc
|
||||
@@ -178,6 +178,7 @@ ResourceRequest::TrustedParams& ResourceRequest::TrustedParams::operator=(
|
||||
@@ -37,7 +37,7 @@ index 7d97d0fd5481bead1f655f2f933a3ae89a729834..9b4c41209190086353b9a87833c07aab
|
||||
allow_cookies_from_browser == other.allow_cookies_from_browser &&
|
||||
include_request_cookies_with_response ==
|
||||
diff --git a/services/network/public/cpp/resource_request.h b/services/network/public/cpp/resource_request.h
|
||||
index 538e2a52da142a442342383d223ea0d90b75be8f..19f0defab1d1ba3369423842e4eabbceee781091 100644
|
||||
index 8634c50fbede68bf5497ed50e258eecac594b4d4..c6f06966f0f58e5087e1f62537eecffc95cd1962 100644
|
||||
--- a/services/network/public/cpp/resource_request.h
|
||||
+++ b/services/network/public/cpp/resource_request.h
|
||||
@@ -77,6 +77,7 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE) ResourceRequest {
|
||||
@@ -49,7 +49,7 @@ index 538e2a52da142a442342383d223ea0d90b75be8f..19f0defab1d1ba3369423842e4eabbce
|
||||
mojo::PendingRemote<mojom::TrustTokenAccessObserver> trust_token_observer;
|
||||
mojo::PendingRemote<mojom::URLLoaderNetworkServiceObserver>
|
||||
diff --git a/services/network/public/cpp/url_request_mojom_traits.cc b/services/network/public/cpp/url_request_mojom_traits.cc
|
||||
index 2021e4c8f05008dd57e67c14fc7e66bf49bd6e3e..2a5ed7fc54f9efd773ec6dded1b66bb9c9f26580 100644
|
||||
index e67d4d6f11cb68cfc7f6f1dad60285cbaf905e76..e8e35f02b4a9c5662cd8b2cbb7dbb30e31efd4f3 100644
|
||||
--- a/services/network/public/cpp/url_request_mojom_traits.cc
|
||||
+++ b/services/network/public/cpp/url_request_mojom_traits.cc
|
||||
@@ -49,6 +49,7 @@ bool StructTraits<network::mojom::TrustedUrlRequestParamsDataView,
|
||||
@@ -61,7 +61,7 @@ index 2021e4c8f05008dd57e67c14fc7e66bf49bd6e3e..2a5ed7fc54f9efd773ec6dded1b66bb9
|
||||
mojo::PendingRemote<network::mojom::CookieAccessObserver>>();
|
||||
out->trust_token_observer = data.TakeTrustTokenObserver<
|
||||
diff --git a/services/network/public/cpp/url_request_mojom_traits.h b/services/network/public/cpp/url_request_mojom_traits.h
|
||||
index 30a38e3f82360417b682c516263f62181825c621..db8a479f483a041a6944465deb6f799a2a9bd93a 100644
|
||||
index 91628c93c415d8293ac989bdf9135cf2c8c59557..a51f9ca3f06ada3232c52b2b3e39a4433860bf2a 100644
|
||||
--- a/services/network/public/cpp/url_request_mojom_traits.h
|
||||
+++ b/services/network/public/cpp/url_request_mojom_traits.h
|
||||
@@ -71,6 +71,10 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE)
|
||||
@@ -76,10 +76,10 @@ index 30a38e3f82360417b682c516263f62181825c621..db8a479f483a041a6944465deb6f799a
|
||||
cookie_observer(
|
||||
const network::ResourceRequest::TrustedParams& trusted_params) {
|
||||
diff --git a/services/network/public/mojom/url_request.mojom b/services/network/public/mojom/url_request.mojom
|
||||
index 78fa9126457ee380b12e39e3bf35ea4c2ccaa36c..4f39fa5d3bd665e3343882d11f1ab5747c80610e 100644
|
||||
index e4ebfcfbbd56e284dcb88918a779abccc467a4af..f22dc2c544c676e3c0bd318f21cba11205ed8386 100644
|
||||
--- a/services/network/public/mojom/url_request.mojom
|
||||
+++ b/services/network/public/mojom/url_request.mojom
|
||||
@@ -74,6 +74,9 @@ struct TrustedUrlRequestParams {
|
||||
@@ -86,6 +86,9 @@ struct TrustedUrlRequestParams {
|
||||
// client which should not be able to see them.
|
||||
bool include_request_cookies_with_response = false;
|
||||
|
||||
@@ -90,18 +90,18 @@ index 78fa9126457ee380b12e39e3bf35ea4c2ccaa36c..4f39fa5d3bd665e3343882d11f1ab574
|
||||
// a cookie. If this is set to non-null, the observer passed to
|
||||
// URLLoaderFactory will be ignored.
|
||||
diff --git a/services/network/public/mojom/url_response_head.mojom b/services/network/public/mojom/url_response_head.mojom
|
||||
index 72188dae668f2bd91b8b7f181448f459600a82c2..b3dae05e160160cc8f2decee5af78c21bd76c822 100644
|
||||
index 99bf736ebe303d46ab1ced924ba929a0cd258909..e10c8782d2704ff9cff8062d201a433935b66964 100644
|
||||
--- a/services/network/public/mojom/url_response_head.mojom
|
||||
+++ b/services/network/public/mojom/url_response_head.mojom
|
||||
@@ -13,6 +13,7 @@ import "services/network/public/mojom/attribution.mojom";
|
||||
@@ -14,6 +14,7 @@ import "services/network/public/mojom/encoded_body_length.mojom";
|
||||
import "services/network/public/mojom/fetch_api.mojom";
|
||||
import "services/network/public/mojom/http_request_headers.mojom";
|
||||
import "services/network/public/mojom/ip_address_space.mojom";
|
||||
+import "services/network/public/mojom/http_raw_headers.mojom";
|
||||
import "services/network/public/mojom/ip_endpoint.mojom";
|
||||
import "services/network/public/mojom/load_timing_info.mojom";
|
||||
import "services/network/public/mojom/network_param.mojom";
|
||||
@@ -51,6 +52,9 @@ struct URLResponseHead {
|
||||
import "services/network/public/mojom/load_timing_internal_info.mojom";
|
||||
@@ -52,6 +53,9 @@ struct URLResponseHead {
|
||||
// The response headers or NULL if the URL type does not support headers.
|
||||
HttpResponseHeaders headers;
|
||||
|
||||
@@ -112,10 +112,10 @@ index 72188dae668f2bd91b8b7f181448f459600a82c2..b3dae05e160160cc8f2decee5af78c21
|
||||
string mime_type;
|
||||
|
||||
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
|
||||
index 54501620f428c1e539a8172054180c9c58145766..bbde6ebfb8f051622b1f499d472b00fac2093be7 100644
|
||||
index 35d3acb1a088a7b4cba7b062a62e8033c31dfe52..9770306449b39f26c047ed0c15cba9feae55c5d3 100644
|
||||
--- a/services/network/url_loader.cc
|
||||
+++ b/services/network/url_loader.cc
|
||||
@@ -673,6 +673,9 @@ URLLoader::URLLoader(
|
||||
@@ -386,6 +386,9 @@ URLLoader::URLLoader(
|
||||
mojo::SimpleWatcher::ArmingPolicy::MANUAL,
|
||||
base::SequencedTaskRunner::GetCurrentDefault()),
|
||||
per_factory_orb_state_(context.GetMutableOrbState()),
|
||||
@@ -125,7 +125,7 @@ index 54501620f428c1e539a8172054180c9c58145766..bbde6ebfb8f051622b1f499d472b00fa
|
||||
devtools_request_id_(request.devtools_request_id),
|
||||
options_(PopulateOptions(options,
|
||||
factory_params_->is_orb_enabled,
|
||||
@@ -982,7 +985,7 @@ void URLLoader::ConfigureRequest(
|
||||
@@ -521,7 +524,7 @@ void URLLoader::SetUpUrlRequestCallbacks(
|
||||
&URLLoader::IsSharedDictionaryReadAllowed, base::Unretained(this)));
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ index 54501620f428c1e539a8172054180c9c58145766..bbde6ebfb8f051622b1f499d472b00fa
|
||||
url_request_->SetResponseHeadersCallback(base::BindRepeating(
|
||||
&URLLoader::SetRawResponseHeaders, base::Unretained(this)));
|
||||
}
|
||||
@@ -2142,6 +2145,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
@@ -1126,6 +1129,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
}
|
||||
|
||||
response_ = BuildResponseHead();
|
||||
@@ -153,12 +153,12 @@ index 54501620f428c1e539a8172054180c9c58145766..bbde6ebfb8f051622b1f499d472b00fa
|
||||
+ }
|
||||
DispatchOnRawResponse();
|
||||
|
||||
// Parse and remove the Trust Tokens response headers, if any are expected,
|
||||
ad_auction_event_record_request_helper_.HandleResponse(
|
||||
diff --git a/services/network/url_loader.h b/services/network/url_loader.h
|
||||
index e6962f686212ca39d66b5d21bd3ff1f852e83644..fd3eb86e2f0f9b3705029befc54c85690e8ca519 100644
|
||||
index f4d16508d4a34f9991b1b2f4e519e6cb2a7f5a73..099e146bc04bb4eb768c79099c5646ad7a029382 100644
|
||||
--- a/services/network/url_loader.h
|
||||
+++ b/services/network/url_loader.h
|
||||
@@ -773,6 +773,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||
@@ -599,6 +599,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||
std::unique_ptr<ResourceScheduler::ScheduledResourceRequest>
|
||||
resource_scheduler_request_handle_;
|
||||
|
||||
|
||||
@@ -20,10 +20,10 @@ This patch will be removed when the deprecated sync api support is
|
||||
removed.
|
||||
|
||||
diff --git a/components/permissions/permission_util.cc b/components/permissions/permission_util.cc
|
||||
index 6f4d9651862e90abaa22b93e1dcf97ac07592c5c..d91d81297e7cdb79ee7b7a3979dcedf977e16c92 100644
|
||||
index 0aae1d3b2777d5f6db711d1ade99b4bde24e76bf..e350f6789c710826e0885ccdc19e66e2213820df 100644
|
||||
--- a/components/permissions/permission_util.cc
|
||||
+++ b/components/permissions/permission_util.cc
|
||||
@@ -389,6 +389,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
|
||||
@@ -502,6 +502,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
|
||||
return ContentSettingsType::WEB_APP_INSTALLATION;
|
||||
case PermissionType::LOCAL_NETWORK_ACCESS:
|
||||
return ContentSettingsType::LOCAL_NETWORK_ACCESS;
|
||||
@@ -32,7 +32,7 @@ index 6f4d9651862e90abaa22b93e1dcf97ac07592c5c..d91d81297e7cdb79ee7b7a3979dcedf9
|
||||
break;
|
||||
}
|
||||
diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc
|
||||
index 0c6b537ddc2afbc4cd22f1c08f1bbae3c3bbffe3..333f557c89bc03ae5b25060359b9af096b188726 100644
|
||||
index bc4dd4c643f2aa4cba07c0560e14f65f3c6aa291..b1c9f2d59559ed33cd32ad1f22b221029018cf0f 100644
|
||||
--- a/content/browser/permissions/permission_controller_impl.cc
|
||||
+++ b/content/browser/permissions/permission_controller_impl.cc
|
||||
@@ -87,6 +87,7 @@ PermissionToSchedulingFeature(PermissionType permission_name) {
|
||||
@@ -43,8 +43,22 @@ index 0c6b537ddc2afbc4cd22f1c08f1bbae3c3bbffe3..333f557c89bc03ae5b25060359b9af09
|
||||
return std::nullopt;
|
||||
}
|
||||
}
|
||||
diff --git a/content/browser/permissions/permission_descriptor_util.cc b/content/browser/permissions/permission_descriptor_util.cc
|
||||
index 6c36ada80f6f225b84a8f3832405128f8ba83224..714d582d1060873765b24770b18eddcbbdcf5506 100644
|
||||
--- a/content/browser/permissions/permission_descriptor_util.cc
|
||||
+++ b/content/browser/permissions/permission_descriptor_util.cc
|
||||
@@ -171,6 +171,9 @@ content::PermissionDescriptorUtil::CreatePermissionDescriptorForPermissionType(
|
||||
case blink::PermissionType::LOCAL_NETWORK_ACCESS:
|
||||
return CreatePermissionDescriptor(
|
||||
blink::mojom::PermissionName::LOCAL_NETWORK_ACCESS);
|
||||
+ case blink::PermissionType::DEPRECATED_SYNC_CLIPBOARD_READ:
|
||||
+ return CreatePermissionDescriptor(
|
||||
+ blink::mojom::PermissionName::DEPRECATED_SYNC_CLIPBOARD_READ);
|
||||
case blink::PermissionType::NUM:
|
||||
NOTREACHED();
|
||||
}
|
||||
diff --git a/third_party/blink/common/permissions/permission_utils.cc b/third_party/blink/common/permissions/permission_utils.cc
|
||||
index aad897dbc32caa3469a2f04b4f004355888c84d8..875260fc2a884ab5b1e62cd45fc91c2e4dc162ee 100644
|
||||
index b19b5781f426bdfd4a8b6dfbead0f854545ca90a..9833c25f97e55ab7e7095243c307a90fbf4b53d8 100644
|
||||
--- a/third_party/blink/common/permissions/permission_utils.cc
|
||||
+++ b/third_party/blink/common/permissions/permission_utils.cc
|
||||
@@ -101,6 +101,8 @@ std::string GetPermissionString(PermissionType permission) {
|
||||
@@ -57,15 +71,15 @@ index aad897dbc32caa3469a2f04b4f004355888c84d8..875260fc2a884ab5b1e62cd45fc91c2e
|
||||
NOTREACHED();
|
||||
}
|
||||
@@ -175,6 +177,7 @@ PermissionTypeToPermissionsPolicyFeature(PermissionType permission) {
|
||||
case PermissionType::NOTIFICATIONS:
|
||||
case PermissionType::KEYBOARD_LOCK:
|
||||
case PermissionType::POINTER_LOCK:
|
||||
// TODO(crbug.com/394009026): Add permission policy for LNA.
|
||||
case PermissionType::LOCAL_NETWORK_ACCESS:
|
||||
+ case PermissionType::DEPRECATED_SYNC_CLIPBOARD_READ:
|
||||
return std::nullopt;
|
||||
|
||||
case PermissionType::NUM:
|
||||
diff --git a/third_party/blink/public/common/permissions/permission_utils.h b/third_party/blink/public/common/permissions/permission_utils.h
|
||||
index 947bd8125bf300a3a82c811810e31996e6147c7c..caeeaf6cecf7da47c39b140dfcc295fba12f6f84 100644
|
||||
index 5c82a641538802bc459782ea422a1186045b054a..c286d87043ec4cb2e51ec9d82d08e4c84f5a270c 100644
|
||||
--- a/third_party/blink/public/common/permissions/permission_utils.h
|
||||
+++ b/third_party/blink/public/common/permissions/permission_utils.h
|
||||
@@ -65,6 +65,7 @@ enum class PermissionType {
|
||||
@@ -76,11 +90,25 @@ index 947bd8125bf300a3a82c811810e31996e6147c7c..caeeaf6cecf7da47c39b140dfcc295fb
|
||||
|
||||
// Always keep this at the end.
|
||||
NUM,
|
||||
diff --git a/third_party/blink/public/mojom/permissions/permission.mojom b/third_party/blink/public/mojom/permissions/permission.mojom
|
||||
index 02e1941c37173a1e84e5190eb396f1007a8bbc2c..e47f2089a6a187b26c981afa1ef4135ec5e6a9e7 100644
|
||||
--- a/third_party/blink/public/mojom/permissions/permission.mojom
|
||||
+++ b/third_party/blink/public/mojom/permissions/permission.mojom
|
||||
@@ -43,7 +43,8 @@ enum PermissionName {
|
||||
AR,
|
||||
HAND_TRACKING,
|
||||
WEB_PRINTING,
|
||||
- SMART_CARD
|
||||
+ SMART_CARD,
|
||||
+ DEPRECATED_SYNC_CLIPBOARD_READ
|
||||
};
|
||||
|
||||
struct MidiPermissionDescriptor {
|
||||
diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/third_party/blink/public/platform/web_content_settings_client.h
|
||||
index 28f616f21f998c7cd1c794e58efaccf9e6c11e6e..c64896642209124e500db2ed6fe2357e426cd10b 100644
|
||||
index 5c71490d17ffe3f2f57b18e58e947f20ff3f66e3..75209a69c33780a0c71d48e184cc1897f0cb8a36 100644
|
||||
--- a/third_party/blink/public/platform/web_content_settings_client.h
|
||||
+++ b/third_party/blink/public/platform/web_content_settings_client.h
|
||||
@@ -55,6 +55,9 @@ class WebContentSettingsClient {
|
||||
@@ -54,6 +54,9 @@ class WebContentSettingsClient {
|
||||
// Controls whether access to write the clipboard is allowed for this frame.
|
||||
virtual bool AllowWriteToClipboard() { return false; }
|
||||
|
||||
@@ -112,3 +140,16 @@ index c269698764bb8ae7f85c5d476436f5ae5209576d..65d7fd94128a755609192784722074c6
|
||||
}
|
||||
|
||||
bool ClipboardCommands::ExecuteCopy(LocalFrame& frame,
|
||||
diff --git a/third_party/blink/renderer/modules/permissions/permission_utils.cc b/third_party/blink/renderer/modules/permissions/permission_utils.cc
|
||||
index 691726eb23434005adc559534fc0aeede937cc92..a980ed6afb84eceef9c9b594b325e8e3783821ec 100644
|
||||
--- a/third_party/blink/renderer/modules/permissions/permission_utils.cc
|
||||
+++ b/third_party/blink/renderer/modules/permissions/permission_utils.cc
|
||||
@@ -145,6 +145,8 @@ String PermissionNameToString(PermissionName name) {
|
||||
return "web-printing";
|
||||
case PermissionName::SMART_CARD:
|
||||
return "smart-card";
|
||||
+ case PermissionName::DEPRECATED_SYNC_CLIPBOARD_READ:
|
||||
+ return "deprecated-sync-clipboard-read";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -14,10 +14,10 @@ This patch likely can't be upstreamed as-is, as Chromium doesn't have
|
||||
this use case in mind currently.
|
||||
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index 29829e282edfa8821bd366a9e9a3755d7f3f8643..9feff09aa83eb88460dce786ab2514f0a9b21c6e 100644
|
||||
index 6e706c32ca4c2a5d0831588ee2eea8a8059f04fe..09509acd13511525b0eb7b9afa972e20d8d3601c 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -952,13 +952,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
|
||||
@@ -936,13 +936,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
|
||||
|
||||
void HWNDMessageHandler::PaintAsActiveChanged() {
|
||||
if (!delegate_->HasNonClientView() || !delegate_->CanActivate() ||
|
||||
@@ -33,7 +33,16 @@ index 29829e282edfa8821bd366a9e9a3755d7f3f8643..9feff09aa83eb88460dce786ab2514f0
|
||||
}
|
||||
|
||||
void HWNDMessageHandler::SetWindowIcons(const gfx::ImageSkia& window_icon,
|
||||
@@ -2356,17 +2356,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
|
||||
@@ -1739,7 +1739,7 @@ void HWNDMessageHandler::OnActivateApp(BOOL active, DWORD thread_id) {
|
||||
if (delegate_->HasNonClientView() && !active &&
|
||||
thread_id != GetCurrentThreadId()) {
|
||||
// Update the native frame if it is rendering the non-client area.
|
||||
- if (HasSystemFrame()) {
|
||||
+ if (is_translucent_ || HasSystemFrame()) {
|
||||
DefWindowProcWithRedrawLock(WM_NCACTIVATE, FALSE, 0);
|
||||
}
|
||||
}
|
||||
@@ -2347,17 +2347,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
|
||||
delegate_->SchedulePaint();
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Linux or Windows to un-fullscreen in some circumstances without this
|
||||
change.
|
||||
|
||||
diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
|
||||
index 91db1bbd912807833243c101e126e42ad5579d2b..7c624e0babddbca7c0deef1d805ccbfc21e6e9a9 100644
|
||||
index a6b64cc3dca3f62893e323de781b790f72924b66..7527e9d69ae0d43a00fbd5f5d5ced11af04da378 100644
|
||||
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
|
||||
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
|
||||
@@ -20,12 +20,16 @@
|
||||
@@ -36,7 +36,7 @@ index 91db1bbd912807833243c101e126e42ad5579d2b..7c624e0babddbca7c0deef1d805ccbfc
|
||||
#include "chrome/common/chrome_switches.h"
|
||||
#include "components/history/core/browser/history_service.h"
|
||||
#include "components/history/core/browser/history_types.h"
|
||||
@@ -271,11 +275,13 @@ void FullscreenController::EnterFullscreenModeForTab(
|
||||
@@ -272,11 +276,13 @@ void FullscreenController::EnterFullscreenModeForTab(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ index 91db1bbd912807833243c101e126e42ad5579d2b..7c624e0babddbca7c0deef1d805ccbfc
|
||||
|
||||
// Keep the current state. |SetTabWithExclusiveAccess| may change the return
|
||||
// value of |IsWindowFullscreenForTabOrPending|.
|
||||
@@ -388,12 +394,14 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) {
|
||||
@@ -389,12 +395,14 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) {
|
||||
void FullscreenController::FullscreenTabOpeningPopup(
|
||||
content::WebContents* opener,
|
||||
content::WebContents* popup) {
|
||||
@@ -65,7 +65,7 @@ index 91db1bbd912807833243c101e126e42ad5579d2b..7c624e0babddbca7c0deef1d805ccbfc
|
||||
}
|
||||
|
||||
void FullscreenController::OnTabDeactivated(
|
||||
@@ -483,10 +491,12 @@ void FullscreenController::FullscreenTransitionCompleted() {
|
||||
@@ -484,10 +492,12 @@ void FullscreenController::FullscreenTransitionCompleted() {
|
||||
#endif // DCHECK_IS_ON()
|
||||
tab_fullscreen_target_display_id_ = display::kInvalidDisplayId;
|
||||
started_fullscreen_transition_ = false;
|
||||
@@ -78,7 +78,7 @@ index 91db1bbd912807833243c101e126e42ad5579d2b..7c624e0babddbca7c0deef1d805ccbfc
|
||||
}
|
||||
|
||||
void FullscreenController::RunOrDeferUntilTransitionIsComplete(
|
||||
@@ -616,18 +626,17 @@ void FullscreenController::EnterFullscreenModeInternal(
|
||||
@@ -617,18 +627,17 @@ void FullscreenController::EnterFullscreenModeInternal(
|
||||
// Do not enter fullscreen mode if disallowed by pref. This prevents the user
|
||||
// from manually entering fullscreen mode and also disables kiosk mode on
|
||||
// desktop platforms.
|
||||
@@ -102,7 +102,7 @@ index 91db1bbd912807833243c101e126e42ad5579d2b..7c624e0babddbca7c0deef1d805ccbfc
|
||||
if (option == TAB) {
|
||||
origin = GetRequestingOrigin();
|
||||
tab_fullscreen_ = true;
|
||||
@@ -662,6 +671,7 @@ void FullscreenController::EnterFullscreenModeInternal(
|
||||
@@ -665,6 +674,7 @@ void FullscreenController::EnterFullscreenModeInternal(
|
||||
origin = url::Origin::Create(extension_url_.value());
|
||||
}
|
||||
}
|
||||
@@ -110,7 +110,7 @@ index 91db1bbd912807833243c101e126e42ad5579d2b..7c624e0babddbca7c0deef1d805ccbfc
|
||||
|
||||
fullscreen_start_time_ = base::TimeTicks::Now();
|
||||
if (option == BROWSER) {
|
||||
@@ -683,6 +693,7 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
@@ -686,6 +696,7 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ index 91db1bbd912807833243c101e126e42ad5579d2b..7c624e0babddbca7c0deef1d805ccbfc
|
||||
// `fullscreen_start_time_` is null if a fullscreen tab moves to a new window.
|
||||
if (fullscreen_start_time_ && exclusive_access_tab()) {
|
||||
ukm::SourceId source_id =
|
||||
@@ -694,15 +705,16 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
@@ -697,15 +708,16 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
.Record(ukm::UkmRecorder::Get());
|
||||
fullscreen_start_time_.reset();
|
||||
}
|
||||
@@ -138,7 +138,7 @@ index 91db1bbd912807833243c101e126e42ad5579d2b..7c624e0babddbca7c0deef1d805ccbfc
|
||||
exclusive_access_manager()->context()->ExitFullscreen();
|
||||
extension_url_.reset();
|
||||
exclusive_access_manager()->UpdateBubble(base::NullCallback());
|
||||
@@ -766,8 +778,12 @@ url::Origin FullscreenController::GetEmbeddingOrigin() const {
|
||||
@@ -769,8 +781,12 @@ url::Origin FullscreenController::GetEmbeddingOrigin() const {
|
||||
void FullscreenController::RecordMetricsOnFullscreenApiRequested(
|
||||
content::RenderFrameHost* requesting_frame) {
|
||||
history::HistoryService* service =
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Cezary Kulakowski <cezary@openfin.co>
|
||||
Date: Mon, 22 Jul 2024 16:23:13 +0200
|
||||
Subject: fix: add method which disables headless mode on native widget
|
||||
|
||||
We need this method as we create window in headless mode and we
|
||||
switch it back to normal mode only after inital paint is done in
|
||||
order to get some events like WebContents.beginFrameSubscription.
|
||||
If we don't set `is_headless_` to false then some child windows
|
||||
e.g. autofill popups will be created in headless mode leading to
|
||||
ui problems (like dissapearing popup during typing in html's
|
||||
input list.
|
||||
|
||||
diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
|
||||
index 00113c5a91e4285a102afd37c6c08736d056faf6..f6a719ba09ed9aedc1bdc8322e9bee8d2014fc39 100644
|
||||
--- a/ui/views/widget/widget.h
|
||||
+++ b/ui/views/widget/widget.h
|
||||
@@ -1211,6 +1211,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||
// True if widget was created in headless mode.
|
||||
bool is_headless() const { return is_headless_; }
|
||||
|
||||
+ void DisableHeadlessMode() { is_headless_ = false; }
|
||||
+
|
||||
// True if the window size will follow the content preferred size.
|
||||
bool is_autosized() const { return is_autosized_; }
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Cezary Kulakowski <cezary@openfin.co>
|
||||
Date: Mon, 22 Jul 2024 16:23:13 +0200
|
||||
Subject: fix: adjust headless mode handling in native widget
|
||||
|
||||
We need this method as we create window in headless mode and we
|
||||
switch it back to normal mode only after inital paint is done in
|
||||
order to get some events like WebContents.beginFrameSubscription.
|
||||
If we don't set `is_headless_` to false then some child windows
|
||||
e.g. autofill popups will be created in headless mode leading to
|
||||
ui problems (like dissapearing popup during typing in html's
|
||||
input list).
|
||||
|
||||
We also need to ensure that an initial paint is scheduled when
|
||||
the compositor is unsuspended in headles mode.
|
||||
|
||||
diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||
index b51482ecbb8eaed649ae0ea9dd9c7c71125b51a2..0180a182a8b55df4e515d77f696fa442ab31ae01 100644
|
||||
--- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||
+++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||
@@ -663,9 +663,10 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
|
||||
// case it will never become visible but we want its compositor to produce
|
||||
// frames for screenshooting and screencasting.
|
||||
UpdateCompositorProperties();
|
||||
- layer()->SetVisible(is_visible_);
|
||||
+ layer()->SetVisible(is_visible_ || is_headless_mode_window_);
|
||||
if (is_visible_ || is_headless_mode_window_) {
|
||||
compositor_->Unsuspend();
|
||||
+ layer()->SchedulePaint(layer()->bounds());
|
||||
}
|
||||
|
||||
// Register the CGWindowID (used to identify this window for video capture)
|
||||
diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
|
||||
index 65154f18c7ce737ea1b48ebd9308896d8a13f622..ec821403356d2d45c9c12831a89704be10ee05f7 100644
|
||||
--- a/ui/views/widget/widget.h
|
||||
+++ b/ui/views/widget/widget.h
|
||||
@@ -1238,6 +1238,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||
// True if widget was created in headless mode.
|
||||
bool is_headless() const { return is_headless_; }
|
||||
|
||||
+ void DisableHeadlessMode() { is_headless_ = false; }
|
||||
+
|
||||
// True if the window size will follow the content preferred size.
|
||||
bool is_autosized() const { return is_autosized_; }
|
||||
|
||||
@@ -11,10 +11,10 @@ enlarge window above dimensions set during creation of the
|
||||
BrowserWindow.
|
||||
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index 539f5920661010139dc69afb3ff7dd4c9bae762a..1cf98eadc8cbc1ada481c709a873dc1dd443de66 100644
|
||||
index db2b841e973f05049f712c732ae8d4815a8aff7a..5919efa661c3b1ed210f7a67f85fdd3882011bae 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -3781,15 +3781,30 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
|
||||
@@ -3782,15 +3782,30 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
|
||||
delegate_->GetMinMaxSize(&min_window_size, &max_window_size);
|
||||
min_window_size = delegate_->DIPToScreenSize(min_window_size);
|
||||
max_window_size = delegate_->DIPToScreenSize(max_window_size);
|
||||
|
||||
@@ -28,10 +28,10 @@ The patch should be removed in favor of either:
|
||||
Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
|
||||
|
||||
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
|
||||
index 005c18b0685e504a7c323cb2a622e893955fe738..c9e55ca1da0e3f37777cc989511942e622ad05a8 100644
|
||||
index 0dbbaddc1bef8b5a1b253297f47c33601dc6fe67..0c84f727b29c742ba4c2edd38dfa16d1f48df76f 100644
|
||||
--- a/content/browser/renderer_host/navigation_request.cc
|
||||
+++ b/content/browser/renderer_host/navigation_request.cc
|
||||
@@ -11083,6 +11083,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
|
||||
@@ -11110,6 +11110,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
|
||||
"blob");
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ index 005c18b0685e504a7c323cb2a622e893955fe738..c9e55ca1da0e3f37777cc989511942e6
|
||||
// origin of |common_params.url| and/or |common_params.initiator_origin|.
|
||||
url::Origin resolved_origin = url::Origin::Resolve(
|
||||
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
index ca61af9af555e267228430496118797eff130160..bb7c020ba1672e21a3ffee13ff1d3934bde0f099 100644
|
||||
index b2329dcaf3ef464fc4b7db477e2431017711d501..635029fa9680eeb6d01223c5cf683c7854763f40 100644
|
||||
--- a/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
@@ -2334,6 +2334,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
|
||||
|
||||
@@ -12,10 +12,10 @@ invisible state of the `viz::DisplayScheduler` owned
|
||||
by the `ui::Compositor`.
|
||||
|
||||
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
|
||||
index 008df596834faccfa19525dcae0239ffed7b2c3f..aecfa059c6ac53a3377e1f60b3c66bbb594514a3 100644
|
||||
index 70cf60c1e6afd16995cf3446d5ed9a87ce29e998..f886b4e9446c23f6b83d6d89165d09c6ab7f5d97 100644
|
||||
--- a/ui/compositor/compositor.cc
|
||||
+++ b/ui/compositor/compositor.cc
|
||||
@@ -361,7 +361,8 @@ void Compositor::SetLayerTreeFrameSink(
|
||||
@@ -362,7 +362,8 @@ void Compositor::SetLayerTreeFrameSink(
|
||||
if (display_private_) {
|
||||
disabled_swap_until_resize_ = false;
|
||||
display_private_->Resize(size());
|
||||
@@ -25,7 +25,7 @@ index 008df596834faccfa19525dcae0239ffed7b2c3f..aecfa059c6ac53a3377e1f60b3c66bbb
|
||||
display_private_->SetDisplayColorSpaces(display_color_spaces_);
|
||||
display_private_->SetDisplayColorMatrix(
|
||||
gfx::SkM44ToTransform(display_color_matrix_));
|
||||
@@ -581,7 +582,9 @@ void Compositor::SetVisible(bool visible) {
|
||||
@@ -613,7 +614,9 @@ void Compositor::SetVisible(bool visible) {
|
||||
// updated then. We need to call this even if the visibility hasn't changed,
|
||||
// for the same reason.
|
||||
if (display_private_)
|
||||
@@ -36,7 +36,7 @@ index 008df596834faccfa19525dcae0239ffed7b2c3f..aecfa059c6ac53a3377e1f60b3c66bbb
|
||||
|
||||
if (changed) {
|
||||
observer_list_.Notify(&CompositorObserver::OnCompositorVisibilityChanged,
|
||||
@@ -1034,6 +1037,15 @@ void Compositor::MaybeUpdateObserveBeginFrame() {
|
||||
@@ -1077,6 +1080,15 @@ void Compositor::MaybeUpdateObserveBeginFrame() {
|
||||
host_begin_frame_observer_->GetBoundRemote());
|
||||
}
|
||||
|
||||
@@ -53,10 +53,10 @@ index 008df596834faccfa19525dcae0239ffed7b2c3f..aecfa059c6ac53a3377e1f60b3c66bbb
|
||||
void Compositor::SetSeamlessRefreshRates(
|
||||
const std::vector<float>& seamless_refresh_rates) {
|
||||
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
|
||||
index 3f52b93eab20108e40131472d8abdf9ff60bd191..ee19a847cf6d446a927734b9fdd3f1547a9f2d14 100644
|
||||
index 8d37f968825055d1d86da2cf0aac5d011fef7e8c..26ddb952b8473ff549d7af969156c78117277bd1 100644
|
||||
--- a/ui/compositor/compositor.h
|
||||
+++ b/ui/compositor/compositor.h
|
||||
@@ -512,6 +512,10 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -515,6 +515,10 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
|
||||
const cc::LayerTreeSettings& GetLayerTreeSettings() const;
|
||||
|
||||
@@ -67,7 +67,7 @@ index 3f52b93eab20108e40131472d8abdf9ff60bd191..ee19a847cf6d446a927734b9fdd3f154
|
||||
size_t saved_events_metrics_count_for_testing() const {
|
||||
return host_->saved_events_metrics_count_for_testing();
|
||||
}
|
||||
@@ -703,6 +707,12 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -725,6 +729,12 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
// See go/report-ux-metrics-at-painting for details.
|
||||
bool animation_started_ = false;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: fix: export zlib symbols
|
||||
This patch sets ZLIB_DLL so that we properly export zlib symbols.
|
||||
|
||||
diff --git a/third_party/zlib/BUILD.gn b/third_party/zlib/BUILD.gn
|
||||
index 378bd0df75ca2283d2c87b31b3f8a50deda553ed..06dda222dd86f11fb9aa1a19bf1334d28a514bac 100644
|
||||
index 2a898d2a60cfa2f5167b10fabe95b327bb68bf23..361c80ba0b26e786a27ab264767ba75e1c888716 100644
|
||||
--- a/third_party/zlib/BUILD.gn
|
||||
+++ b/third_party/zlib/BUILD.gn
|
||||
@@ -327,6 +327,10 @@ component("zlib") {
|
||||
|
||||
@@ -10,10 +10,10 @@ This patch should be backported to e29, upstreamed to Chromium, and then
|
||||
removed if it lands upstream.
|
||||
|
||||
diff --git a/ui/events/x/events_x_utils.cc b/ui/events/x/events_x_utils.cc
|
||||
index 86ee14757d2373ef6410d1785547676b0fcb806b..6069382276151a5126bf0279e0f1ce9e356166ed 100644
|
||||
index 0fcb43d631eb638ad6879539dee8ad8a21da945b..86f8756f038a68bae29072318d874e23e4d00707 100644
|
||||
--- a/ui/events/x/events_x_utils.cc
|
||||
+++ b/ui/events/x/events_x_utils.cc
|
||||
@@ -591,6 +591,9 @@ gfx::Point EventLocationFromXEvent(const x11::Event& xev) {
|
||||
@@ -594,6 +594,9 @@ gfx::Point EventLocationFromXEvent(const x11::Event& xev) {
|
||||
gfx::Point EventSystemLocationFromXEvent(const x11::Event& xev) {
|
||||
if (auto* crossing = xev.As<x11::CrossingEvent>())
|
||||
return gfx::Point(crossing->root_x, crossing->root_y);
|
||||
|
||||
@@ -53,7 +53,7 @@ index 8d7c5631fd8f1499c67384286f0e3c4037673b32..2b7bdfbac06a42e6bc51eb65e023c367
|
||||
|
||||
} // namespace gin
|
||||
diff --git a/third_party/blink/renderer/platform/bindings/script_state.cc b/third_party/blink/renderer/platform/bindings/script_state.cc
|
||||
index e4a27a24c83dd1a478b2ada8b6c8220076790791..c76dc818f38a62fff63852dbecbc85e304ac731d 100644
|
||||
index 58aa3d5b24355a4346c9d6992e6090d28cad513f..96c28c190f98c76c0defeaabda092ebdf6fb44c6 100644
|
||||
--- a/third_party/blink/renderer/platform/bindings/script_state.cc
|
||||
+++ b/third_party/blink/renderer/platform/bindings/script_state.cc
|
||||
@@ -13,6 +13,10 @@ namespace blink {
|
||||
@@ -76,7 +76,7 @@ index e4a27a24c83dd1a478b2ada8b6c8220076790791..c76dc818f38a62fff63852dbecbc85e3
|
||||
RendererResourceCoordinator::Get()->OnScriptStateCreated(this,
|
||||
execution_context);
|
||||
}
|
||||
@@ -79,6 +85,8 @@ void ScriptState::DissociateContext() {
|
||||
@@ -80,6 +86,8 @@ void ScriptState::DissociateContext() {
|
||||
// Cut the reference from V8 context to ScriptState.
|
||||
GetContext()->SetAlignedPointerInEmbedderData(kV8ContextPerContextDataIndex,
|
||||
nullptr);
|
||||
|
||||
@@ -9,7 +9,7 @@ to support content settings UI. The support pulls in chrome content settings
|
||||
and UI code which are not valid in the scope of Electron.
|
||||
|
||||
diff --git a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
|
||||
index 9f82c7f92f735ed9f9569a8d299d23c7cb83e596..9b7598a26781da8b1e1c7364606574024000921f 100644
|
||||
index 659e8d79766a78d261e58adab08f9abccda8390b..bc4dc2e3a93877d2e20890560f61d3f22c8b7b9a 100644
|
||||
--- a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
|
||||
+++ b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
|
||||
@@ -6,6 +6,7 @@
|
||||
@@ -75,10 +75,10 @@ index 9f82c7f92f735ed9f9569a8d299d23c7cb83e596..9b7598a26781da8b1e1c736460657402
|
||||
|
||||
PictureInPictureOcclusionTracker*
|
||||
diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
index e8524bb6706ae06a0feabccbe44250580098e937..87b28c59d5a3abc49c7f5ed084ad78dcae02b39a 100644
|
||||
index 106f2c27297ab437839b3e320a5e5c657947b1c3..f2d4bb25647e9075df68ace24ed910d62a90c89e 100644
|
||||
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
@@ -430,11 +430,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
||||
@@ -432,11 +432,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
||||
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ messages in the legacy window handle layer.
|
||||
These conditions are regularly hit with WCO-enabled windows on Windows.
|
||||
|
||||
diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.cc b/content/browser/renderer_host/legacy_render_widget_host_win.cc
|
||||
index ffbef89276aeaa167424b67a07080b38457ec5d3..f39a79687595d7547e3a25fc4dc1cdbc5c2495b4 100644
|
||||
index 1c03162fbcda8ab75dcd53722f92e10403fbae08..a21c58d3f13fadf3a7888f4fe16c0e6cf6c215b0 100644
|
||||
--- a/content/browser/renderer_host/legacy_render_widget_host_win.cc
|
||||
+++ b/content/browser/renderer_host/legacy_render_widget_host_win.cc
|
||||
@@ -328,12 +328,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user