mirror of
https://github.com/electron/electron.git
synced 2026-02-19 03:14:51 -05:00
Compare commits
203 Commits
remove-ren
...
v36.2.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b822478057 | ||
|
|
366daf192a | ||
|
|
7779b6a4ad | ||
|
|
695448e142 | ||
|
|
fdc322c93f | ||
|
|
13fe994d0d | ||
|
|
7240a14126 | ||
|
|
3f23f01762 | ||
|
|
5223225fb5 | ||
|
|
5045ba29a5 | ||
|
|
c27bd7bb3c | ||
|
|
aada99e53d | ||
|
|
1b596f6261 | ||
|
|
bac01a33cd | ||
|
|
bb4ab67e52 | ||
|
|
17e1ff2675 | ||
|
|
1687b95849 | ||
|
|
3d4a4b9343 | ||
|
|
c24f330b45 | ||
|
|
ee65ab75f5 | ||
|
|
77b945dd0a | ||
|
|
643b35503f | ||
|
|
98380468bb | ||
|
|
069ca16b9e | ||
|
|
dcd8224c15 | ||
|
|
65081e8939 | ||
|
|
6bb07bf277 | ||
|
|
698bff0efa | ||
|
|
34adb976b6 | ||
|
|
5c2f70c1d5 | ||
|
|
3981c173ef | ||
|
|
61d6872dcf | ||
|
|
1a797beeea | ||
|
|
66f55ead4e | ||
|
|
108fdac02c | ||
|
|
d52670c749 | ||
|
|
5dab95335b | ||
|
|
c4302ab58c | ||
|
|
197444181d | ||
|
|
02e4e109d5 | ||
|
|
08a4c333a3 | ||
|
|
5a4ef1cc33 | ||
|
|
4e8c09f46a | ||
|
|
fc319e0ea3 | ||
|
|
2629b31c19 | ||
|
|
11c820c537 | ||
|
|
07a7ebb714 | ||
|
|
b0d4c12247 | ||
|
|
8f40f8126e | ||
|
|
b821cf1adc | ||
|
|
3f8340d9f3 | ||
|
|
0e30f5e2a1 | ||
|
|
fdc6a3b108 | ||
|
|
3348ac08b4 | ||
|
|
e8188ef271 | ||
|
|
2960f93ea5 | ||
|
|
361753f61f | ||
|
|
ec75ddd715 | ||
|
|
301f7b4e64 | ||
|
|
7b66361ca8 | ||
|
|
f8a55100cc | ||
|
|
c785b40703 | ||
|
|
339e0040ef | ||
|
|
e825107f8a | ||
|
|
53633fcaeb | ||
|
|
285d347b51 | ||
|
|
a2ee5547e0 | ||
|
|
b518e4ad36 | ||
|
|
9d3696e4b3 | ||
|
|
22b6eefc50 | ||
|
|
70fd706ea4 | ||
|
|
8b3c52f242 | ||
|
|
33fafd508c | ||
|
|
28eb0e6f3d | ||
|
|
b234733555 | ||
|
|
ffb4f0f812 | ||
|
|
33964528e1 | ||
|
|
4f54c91ee2 | ||
|
|
3fdcd38b8b | ||
|
|
feaa9ec5b9 | ||
|
|
de933233e6 | ||
|
|
1046842f73 | ||
|
|
2dd4b77ae0 | ||
|
|
5942ac580b | ||
|
|
ec34d8ee49 | ||
|
|
64c9afcf77 | ||
|
|
4392cb9434 | ||
|
|
c3b5e5527f | ||
|
|
31e3c84843 | ||
|
|
42514326ca | ||
|
|
7be433c0b7 | ||
|
|
c92412761d | ||
|
|
4e3baa4d8e | ||
|
|
10fb533bc3 | ||
|
|
3d8df7684b | ||
|
|
5a6ed32592 | ||
|
|
99c3728a93 | ||
|
|
e0a24f08a1 | ||
|
|
0cb42911ea | ||
|
|
8fec7adfa6 | ||
|
|
30ccda8ba0 | ||
|
|
3acd5774da | ||
|
|
a0ac690881 | ||
|
|
7299dd1501 | ||
|
|
92b03cb91f | ||
|
|
01ce103ae1 | ||
|
|
58b2c2e651 | ||
|
|
4db5a2a2b2 | ||
|
|
6126cc2bfe | ||
|
|
33eff16e9a | ||
|
|
e2b9cedf0f | ||
|
|
75e44e5f05 | ||
|
|
71e53c925e | ||
|
|
17487df08d | ||
|
|
6b1d1bf893 | ||
|
|
8327ed0eea | ||
|
|
7e80e8f610 | ||
|
|
33df588e8e | ||
|
|
45c78deff8 | ||
|
|
b647c8935d | ||
|
|
11c35626da | ||
|
|
f78a66d988 | ||
|
|
200550da3c | ||
|
|
cb7335b4f0 | ||
|
|
b4fc140f1a | ||
|
|
c89bebdee1 | ||
|
|
4df1063e30 | ||
|
|
8b05b6e59b | ||
|
|
71f17fcf5b | ||
|
|
bf87315ae8 | ||
|
|
dde045db9c | ||
|
|
3ff5c4ea5f | ||
|
|
32c352bff5 | ||
|
|
3e2aa2f443 | ||
|
|
12d11c09a1 | ||
|
|
06ad763412 | ||
|
|
5b9f71602d | ||
|
|
bb882b4f3d | ||
|
|
9efacb6147 | ||
|
|
5cddcdf190 | ||
|
|
25e5055065 | ||
|
|
6f3c9fcf99 | ||
|
|
7ee88bbdcb | ||
|
|
96197d9597 | ||
|
|
7d2c27c83e | ||
|
|
32a341288c | ||
|
|
2466232460 | ||
|
|
a5579fb71f | ||
|
|
76fa5b7af1 | ||
|
|
e1b2b8ef0c | ||
|
|
243016b31e | ||
|
|
5f0be2e153 | ||
|
|
6d2c7c2ab3 | ||
|
|
c4e0cae3ee | ||
|
|
7e0d84f19c | ||
|
|
dea35330c0 | ||
|
|
7f85c85b71 | ||
|
|
4b0d49898f | ||
|
|
6927f649ee | ||
|
|
33bde96d73 | ||
|
|
3772e267c3 | ||
|
|
b7a28f31d8 | ||
|
|
1ba56c8696 | ||
|
|
cee2c2ceeb | ||
|
|
b3526da28e | ||
|
|
d23aaadcd5 | ||
|
|
ef22986d1d | ||
|
|
b0d207e384 | ||
|
|
1424da9131 | ||
|
|
29ead1bc25 | ||
|
|
859cff24ec | ||
|
|
0ba2441963 | ||
|
|
7ea2daf456 | ||
|
|
bc9389df9a | ||
|
|
9716b6623e | ||
|
|
56fced3d0d | ||
|
|
3faedae91c | ||
|
|
463e0d0ab7 | ||
|
|
c5310fff80 | ||
|
|
4b72738b41 | ||
|
|
585075d776 | ||
|
|
c87fd357fc | ||
|
|
a1ec212049 | ||
|
|
a3af41674f | ||
|
|
5c73799f52 | ||
|
|
8275f7e402 | ||
|
|
0ea8decb0a | ||
|
|
515f5847e1 | ||
|
|
1fc3a60655 | ||
|
|
3e5cabde39 | ||
|
|
98adbbb593 | ||
|
|
c62db7d49d | ||
|
|
313aee6cbb | ||
|
|
9f0fb54918 | ||
|
|
c39683b2cb | ||
|
|
0e8300399d | ||
|
|
ca91235c51 | ||
|
|
f90de88c63 | ||
|
|
d41ed8a118 | ||
|
|
daa37826f8 | ||
|
|
e74e1ab4c5 | ||
|
|
7d0f24420f | ||
|
|
d1663a5ac6 |
@@ -1,5 +1,4 @@
|
||||
{
|
||||
"name": "Electron Core Development Environment",
|
||||
"dockerComposeFile": "docker-compose.yml",
|
||||
"service": "buildtools",
|
||||
"onCreateCommand": ".devcontainer/on-create-command.sh",
|
||||
@@ -34,15 +33,27 @@
|
||||
"surajbarkale.ninja",
|
||||
"ms-vscode.cpptools",
|
||||
"mutantdino.resourcemonitor",
|
||||
"dsanders11.vscode-electron-build-tools",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"shakram02.bash-beautify",
|
||||
"marshallofsound.gnls-electron"
|
||||
"marshallofsound.gnls-electron",
|
||||
],
|
||||
"settings": {
|
||||
"editor.tabSize": 2,
|
||||
"bashBeautify.tabSize": 2,
|
||||
"typescript.tsdk": "node_modules/typescript/lib",
|
||||
"[gn]": {
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[javascript]": {
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true
|
||||
}
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true
|
||||
}
|
||||
},
|
||||
"javascript.preferences.quoteStyle": "single",
|
||||
"typescript.preferences.quoteStyle": "single"
|
||||
}
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -73,7 +73,7 @@ body:
|
||||
- type: input
|
||||
attributes:
|
||||
label: Testcase Gist URL
|
||||
description: Electron maintainers need a standalone test case to reproduce and fix your issue. Please use [Electron Fiddle](https://github.com/electron/fiddle) to create one and to publish it as a [GitHub gist](https://gist.github.com). Then put the gist URL here. Issues without testcase gists receive less attention and might be closed without a maintainer taking a closer look. To maximize how much attention your issue receives, please include a testcase gist right from the start.
|
||||
description: If you can reproduce the issue in a standalone test case, please use [Electron Fiddle](https://github.com/electron/fiddle) to create one and to publish it as a [GitHub gist](https://gist.github.com) and put the gist URL here. This is **the best way** to ensure this issue is triaged quickly.
|
||||
placeholder: https://gist.github.com/...
|
||||
- type: textarea
|
||||
attributes:
|
||||
|
||||
4
.github/workflows/archaeologist-dig.yml
vendored
4
.github/workflows/archaeologist-dig.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup Node.js/npm
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a
|
||||
with:
|
||||
node-version: 20.11.x
|
||||
- name: Setting Up Dig Site
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
sha-file: .dig-old
|
||||
filename: electron.old.d.ts
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 #v4.6.2
|
||||
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4.6.1
|
||||
with:
|
||||
name: artifacts
|
||||
path: electron/artifacts
|
||||
|
||||
9
.github/workflows/branch-created.yml
vendored
9
.github/workflows/branch-created.yml
vendored
@@ -94,7 +94,7 @@ jobs:
|
||||
}))
|
||||
- name: Create Release Project Board
|
||||
if: ${{ steps.check-major-version.outputs.MAJOR }}
|
||||
uses: dsanders11/project-actions/copy-project@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
uses: dsanders11/project-actions/copy-project@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
id: create-release-board
|
||||
with:
|
||||
drafts: true
|
||||
@@ -114,15 +114,14 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
|
||||
- name: Find Previous Release Project Board
|
||||
if: ${{ steps.check-major-version.outputs.MAJOR }}
|
||||
uses: dsanders11/project-actions/find-project@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
uses: dsanders11/project-actions/find-project@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
id: find-prev-release-board
|
||||
with:
|
||||
fail-if-project-not-found: false
|
||||
title: ${{ steps.generate-project-metadata.outputs.prev-prev-major }}-x-y
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
- name: Close Previous Release Project Board
|
||||
if: ${{ steps.find-prev-release-board.outputs.number }}
|
||||
uses: dsanders11/project-actions/close-project@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
if: ${{ steps.check-major-version.outputs.MAJOR }}
|
||||
uses: dsanders11/project-actions/close-project@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
with:
|
||||
project-number: ${{ steps.find-prev-release-board.outputs.number }}
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
|
||||
4
.github/workflows/issue-labeled.yml
vendored
4
.github/workflows/issue-labeled.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
org: electron
|
||||
- name: Set status
|
||||
uses: dsanders11/project-actions/edit-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
uses: dsanders11/project-actions/edit-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
project-number: 90
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
org: electron
|
||||
- name: Set status
|
||||
uses: dsanders11/project-actions/edit-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
uses: dsanders11/project-actions/edit-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
project-number: 90
|
||||
|
||||
2
.github/workflows/issue-opened.yml
vendored
2
.github/workflows/issue-opened.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
org: electron
|
||||
- name: Add to Issue Triage
|
||||
uses: dsanders11/project-actions/add-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
uses: dsanders11/project-actions/add-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
with:
|
||||
field: Reporter
|
||||
field-value: ${{ github.event.issue.user.login }}
|
||||
|
||||
2
.github/workflows/issue-transferred.yml
vendored
2
.github/workflows/issue-transferred.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
org: electron
|
||||
- name: Remove from issue triage
|
||||
uses: dsanders11/project-actions/delete-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
uses: dsanders11/project-actions/delete-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
project-number: 90
|
||||
|
||||
2
.github/workflows/issue-unlabeled.yml
vendored
2
.github/workflows/issue-unlabeled.yml
vendored
@@ -30,7 +30,7 @@ jobs:
|
||||
org: electron
|
||||
- name: Set status
|
||||
if: ${{ steps.check-for-blocked-labels.outputs.NOT_BLOCKED }}
|
||||
uses: dsanders11/project-actions/edit-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
uses: dsanders11/project-actions/edit-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
project-number: 90
|
||||
|
||||
@@ -102,7 +102,7 @@ jobs:
|
||||
run: df -h
|
||||
- name: Setup Node.js/npm
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a
|
||||
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@49933ea5288caeca8642d1e84afbd3f7d6820020
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a
|
||||
with:
|
||||
node-version: 20.11.x
|
||||
- name: Add TCC permissions on macOS
|
||||
@@ -149,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@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
with:
|
||||
name: generated_artifacts_${{ env.ARTIFACT_KEY }}
|
||||
path: ./generated_artifacts_${{ matrix.build-type }}_${{ inputs.target-arch }}
|
||||
- name: Download Src Artifacts
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
with:
|
||||
name: src_artifacts_${{ env.ARTIFACT_KEY }}
|
||||
path: ./src_artifacts_${{ matrix.build-type }}_${{ inputs.target-arch }}
|
||||
@@ -249,7 +249,7 @@ jobs:
|
||||
if: always() && !cancelled()
|
||||
- name: Upload Test Artifacts
|
||||
if: always() && !cancelled()
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
|
||||
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1
|
||||
with:
|
||||
name: test_artifacts_${{ env.ARTIFACT_KEY }}_${{ matrix.shard }}
|
||||
path: src/electron/spec/artifacts
|
||||
|
||||
@@ -61,12 +61,12 @@ jobs:
|
||||
- name: Install Dependencies
|
||||
uses: ./src/electron/.github/actions/install-dependencies
|
||||
- name: Download Generated Artifacts
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
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@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
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@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
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@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
with:
|
||||
name: src_artifacts_linux_${{ env.TARGET_ARCH }}
|
||||
path: ./src_artifacts_linux_${{ env.TARGET_ARCH }}
|
||||
|
||||
2
.github/workflows/pull-request-labeled.yml
vendored
2
.github/workflows/pull-request-labeled.yml
vendored
@@ -33,7 +33,7 @@ jobs:
|
||||
creds: ${{ secrets.RELEASE_BOARD_GH_APP_CREDS }}
|
||||
org: electron
|
||||
- name: Set status
|
||||
uses: dsanders11/project-actions/edit-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
uses: dsanders11/project-actions/edit-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
project-number: 94
|
||||
|
||||
4
.github/workflows/scorecards.yml
vendored
4
.github/workflows/scorecards.yml
vendored
@@ -42,7 +42,7 @@ jobs:
|
||||
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
||||
# format to the repository Actions tab.
|
||||
- name: "Upload artifact"
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
|
||||
with:
|
||||
name: SARIF file
|
||||
path: results.sarif
|
||||
@@ -50,6 +50,6 @@ jobs:
|
||||
|
||||
# Upload the results to GitHub's code scanning dashboard.
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
|
||||
uses: github/codeql-action/upload-sarif@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
||||
2
.github/workflows/stable-prep-items.yml
vendored
2
.github/workflows/stable-prep-items.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
PROJECT_NUMBER=$(gh project list --owner electron --format json | jq -r '.projects | map(select(.title | test("^[0-9]+-x-y$"))) | max_by(.number) | .number')
|
||||
echo "PROJECT_NUMBER=$PROJECT_NUMBER" >> "$GITHUB_OUTPUT"
|
||||
- name: Update Completed Stable Prep Items
|
||||
uses: dsanders11/project-actions/completed-by@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
uses: dsanders11/project-actions/completed-by@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
with:
|
||||
field: Prep Status
|
||||
field-value: ✅ Complete
|
||||
|
||||
8
BUILD.gn
8
BUILD.gn
@@ -17,19 +17,19 @@ import("//tools/grit/repack.gni")
|
||||
import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
|
||||
import("//v8/gni/snapshot_toolchain.gni")
|
||||
import("build/asar.gni")
|
||||
import("build/electron_paks.gni")
|
||||
import("build/extract_symbols.gni")
|
||||
import("build/js2c_toolchain.gni")
|
||||
import("build/npm.gni")
|
||||
import("build/templated_file.gni")
|
||||
import("build/tsc.gni")
|
||||
import("build/webpack/webpack.gni")
|
||||
import("buildflags/buildflags.gni")
|
||||
import("electron_paks.gni")
|
||||
import("filenames.auto.gni")
|
||||
import("filenames.gni")
|
||||
import("filenames.hunspell.gni")
|
||||
import("filenames.libcxx.gni")
|
||||
import("filenames.libcxxabi.gni")
|
||||
import("js2c_toolchain.gni")
|
||||
|
||||
if (is_mac) {
|
||||
import("//build/config/mac/rules.gni")
|
||||
@@ -314,7 +314,7 @@ asar("default_app_asar") {
|
||||
}
|
||||
|
||||
grit("resources") {
|
||||
source = "build/electron_resources.grd"
|
||||
source = "electron_resources.grd"
|
||||
|
||||
outputs = [
|
||||
"grit/electron_resources.h",
|
||||
@@ -670,8 +670,6 @@ 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",
|
||||
]
|
||||
|
||||
2
DEPS
2
DEPS
@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
|
||||
|
||||
vars = {
|
||||
'chromium_version':
|
||||
'138.0.7160.0',
|
||||
'136.0.7103.49',
|
||||
'node_version':
|
||||
'v22.15.0',
|
||||
'nan_version':
|
||||
|
||||
@@ -2,7 +2,7 @@ is_electron_build = true
|
||||
root_extra_deps = [ "//electron" ]
|
||||
|
||||
# Registry of NMVs --> https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
|
||||
node_module_version = 136
|
||||
node_module_version = 135
|
||||
|
||||
v8_promise_internal_field_count = 1
|
||||
v8_embedder_string = "-electron.0"
|
||||
@@ -73,3 +73,5 @@ enterprise_cloud_content_analysis = false
|
||||
# TODO: remove dependency on legacy ipc
|
||||
# https://issues.chromium.org/issues/40943039
|
||||
content_enable_legacy_ipc = true
|
||||
|
||||
clang_unsafe_buffers_paths = "//electron/electron_unsafe_buffers_paths.txt"
|
||||
|
||||
@@ -85,8 +85,6 @@ 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",
|
||||
@@ -146,8 +144,6 @@ 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",
|
||||
|
||||
@@ -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-linux).
|
||||
To convert `point` to DIP, use [`screen.screenToDipPoint(point)`](./screen.md#screenscreentodippointpoint-windows).
|
||||
|
||||
### Static Methods
|
||||
|
||||
|
||||
@@ -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-linux).
|
||||
To convert `point` to DIP, use [`screen.screenToDipPoint(point)`](./screen.md#screenscreentodippointpoint-windows).
|
||||
|
||||
### Static Methods
|
||||
|
||||
|
||||
@@ -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_ _Linux_
|
||||
### `screen.screenToDipPoint(point)` _Windows_
|
||||
|
||||
* `point` [Point](structures/point.md)
|
||||
|
||||
@@ -133,10 +133,7 @@ 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.
|
||||
|
||||
Not currently supported on Wayland - if used there it will return the point passed
|
||||
in with no changes.
|
||||
|
||||
### `screen.dipToScreenPoint(point)` _Windows_ _Linux_
|
||||
### `screen.dipToScreenPoint(point)` _Windows_
|
||||
|
||||
* `point` [Point](structures/point.md)
|
||||
|
||||
@@ -145,8 +142,6 @@ 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
|
||||
|
||||
@@ -46,10 +46,6 @@ An [`IpcMainServiceWorker`](ipc-main-service-worker.md) instance scoped to the s
|
||||
|
||||
A `string` representing the scope URL of the service worker.
|
||||
|
||||
#### `serviceWorker.scriptURL` _Readonly_ _Experimental_
|
||||
|
||||
A `string` representing the script URL of the service worker.
|
||||
|
||||
#### `serviceWorker.versionId` _Readonly_ _Experimental_
|
||||
|
||||
A `number` representing the ID of the specific version of the service worker script in its scope.
|
||||
|
||||
@@ -25,8 +25,9 @@
|
||||
and URL responses.
|
||||
* `method` string (optional) - The HTTP `method`. This is only used for file
|
||||
and URL responses.
|
||||
* `session` Session (optional) - The session used for requesting URL.
|
||||
The HTTP request will reuse the current session by default.
|
||||
* `session` Session (optional) - The session used for requesting URL, by default
|
||||
the HTTP request will reuse the current session. Setting `session` to `null`
|
||||
would use a random independent session. This is only used for URL responses.
|
||||
* `uploadData` [ProtocolResponseUploadData](protocol-response-upload-data.md) (optional) - The data used as upload data. This is only
|
||||
used for URL responses when `method` is `"POST"`.
|
||||
|
||||
|
||||
@@ -14,44 +14,11 @@ 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.
|
||||
|
||||
Previously, setting the `ProtocolResponse.session` property to `null`
|
||||
would create a random independent session. This is no longer supported.
|
||||
|
||||
Using single-purpose sessions here is discouraged due to overhead costs;
|
||||
however, old code that needs to preserve this behavior can emulate it by
|
||||
creating a random session with `session.fromPartition(some_random_string)`
|
||||
and then using it in `ProtocolResponse.session`.
|
||||
|
||||
### Behavior Changed: `BrowserWindow.IsVisibleOnAllWorkspaces()` on Linux
|
||||
|
||||
`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.
|
||||
@@ -73,7 +40,9 @@ bitmap = image.getBitmap()
|
||||
bitmap = image.toBitmap()
|
||||
```
|
||||
|
||||
### Removed: `isDefault` and `status` properties on `PrinterInfo`
|
||||
## Planned Breaking API Changes (36.0)
|
||||
|
||||
### Removed:`isDefault` and `status` properties on `PrinterInfo`
|
||||
|
||||
These properties have been removed from the PrinterInfo Object
|
||||
because they have been removed from upstream Chromium.
|
||||
@@ -85,6 +54,12 @@ When calling `Session.clearStorageData(options)`, the `options.quota` type
|
||||
[removed](https://chromium-review.googlesource.com/c/chromium/src/+/6309405)
|
||||
from upstream Chromium.
|
||||
|
||||
### Deprecated: `quota` property in `Session.clearStorageData(options)`
|
||||
|
||||
When calling `Session.clearStorageData(options)`, the `options.quota`
|
||||
property is deprecated. Since the `syncable` type was removed, there
|
||||
is only type left -- `'temporary'` -- so specifying it is unnecessary.
|
||||
|
||||
### Deprecated: `null` value for `session` property in `ProtocolResponse`
|
||||
|
||||
Previously, setting the ProtocolResponse.session property to `null`
|
||||
@@ -95,12 +70,6 @@ however, old code that needs to preserve this behavior can emulate it by
|
||||
creating a random session with `session.fromPartition(some_random_string)`
|
||||
and then using it in `ProtocolResponse.session`.
|
||||
|
||||
### Deprecated: `quota` property in `Session.clearStorageData(options)`
|
||||
|
||||
When calling `Session.clearStorageData(options)`, the `options.quota`
|
||||
property is deprecated. Since the `syncable` type was removed, there
|
||||
is only type left -- `'temporary'` -- so specifying it is unnecessary.
|
||||
|
||||
### Deprecated: Extension methods and events on `session`
|
||||
|
||||
`session.loadExtension`, `session.removeExtension`, `session.getExtension`,
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
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: {
|
||||
@@ -14,11 +8,16 @@ 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 () {
|
||||
|
||||
@@ -57,7 +57,7 @@ the WebHID API:
|
||||
|
||||
### Blocklist
|
||||
|
||||
By default Electron employs the same [blocklist](https://wicg.github.io/webhid/#blocklist)
|
||||
By default Electron employs the same [blocklist](https://github.com/WICG/webhid/blob/main/blocklist.txt)
|
||||
used by Chromium. If you wish to override this behavior, you can do so by
|
||||
setting the `disable-hid-blocklist` flag:
|
||||
|
||||
@@ -104,16 +104,6 @@ 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
|
||||
@@ -155,16 +145,6 @@ 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
|
||||
|
||||
35
electron_unsafe_buffers_paths.txt
Normal file
35
electron_unsafe_buffers_paths.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
# Copyright 2024 The Electron Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# The set of path prefixes that should be checked for unsafe buffer usage (see
|
||||
# -Wunsafe-buffer-usage in Clang).
|
||||
#
|
||||
# ***
|
||||
# Paths should be written as relative to the root of the source tree with
|
||||
# unix-style path separators. Directory prefixes should end with `/`, such
|
||||
# as `base/`.
|
||||
# ***
|
||||
#
|
||||
# Files in this set are known to not use pointer arithmetic/subscripting, and
|
||||
# make use of constructs like base::span or containers like std::vector instead.
|
||||
#
|
||||
# See `docs/unsafe_buffers.md`.
|
||||
|
||||
# These directories are excluded because they come from outside Electron and
|
||||
# we don't have control over their contents.
|
||||
-base/
|
||||
-chrome/
|
||||
-components/
|
||||
-content/browser/indexed_db
|
||||
-device/
|
||||
-extensions/
|
||||
-google_apis/
|
||||
-net/
|
||||
-services/
|
||||
-skia/
|
||||
-third_party/
|
||||
-tools/
|
||||
-ui/
|
||||
-url/
|
||||
-v8/
|
||||
@@ -65,7 +65,6 @@ 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",
|
||||
@@ -342,6 +341,7 @@ 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,11 +361,19 @@ 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",
|
||||
@@ -377,6 +385,7 @@ 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",
|
||||
@@ -385,6 +394,7 @@ 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",
|
||||
@@ -400,7 +410,99 @@ 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",
|
||||
@@ -413,12 +515,15 @@ 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",
|
||||
@@ -442,6 +547,7 @@ 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",
|
||||
@@ -451,19 +557,100 @@ 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",
|
||||
@@ -473,6 +660,10 @@ 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",
|
||||
@@ -481,18 +672,81 @@ 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",
|
||||
@@ -501,19 +755,24 @@ 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",
|
||||
@@ -523,22 +782,43 @@ 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",
|
||||
@@ -569,9 +849,16 @@ 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",
|
||||
@@ -585,9 +872,14 @@ 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",
|
||||
@@ -596,18 +888,54 @@ 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",
|
||||
@@ -642,11 +970,62 @@ 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",
|
||||
@@ -661,7 +1040,9 @@ 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",
|
||||
@@ -673,6 +1054,7 @@ 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",
|
||||
@@ -692,6 +1074,7 @@ 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",
|
||||
@@ -704,10 +1087,12 @@ 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",
|
||||
@@ -739,6 +1124,7 @@ 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",
|
||||
@@ -798,13 +1184,18 @@ 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",
|
||||
@@ -817,12 +1208,16 @@ 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",
|
||||
@@ -830,6 +1225,7 @@ 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",
|
||||
@@ -837,9 +1233,12 @@ 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",
|
||||
@@ -858,17 +1257,36 @@ 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",
|
||||
@@ -876,23 +1294,35 @@ 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",
|
||||
@@ -902,14 +1332,17 @@ 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",
|
||||
@@ -918,6 +1351,7 @@ 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",
|
||||
@@ -956,10 +1390,8 @@ 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",
|
||||
@@ -1131,7 +1563,6 @@ 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",
|
||||
@@ -1156,7 +1587,6 @@ 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",
|
||||
@@ -1206,7 +1636,6 @@ 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",
|
||||
@@ -1421,6 +1850,7 @@ 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",
|
||||
@@ -1612,7 +2042,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.in",
|
||||
"//third_party/libc++/src/include/module.modulemap",
|
||||
"//third_party/libc++/src/include/mutex",
|
||||
"//third_party/libc++/src/include/new",
|
||||
"//third_party/libc++/src/include/numbers",
|
||||
|
||||
@@ -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 4cbfa1f53bb669c24c7f055f4fee7f144f72115a..120cb84e07e0539c038bca059b794d8f9f932a51 100644
|
||||
index f68ede9156ee57526f4578953c350798a1299f00..1de18075e1cfa7f9660fa3b065cd20bafcbe7ee8 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 6abab7693ef2cf418e64d4bf5d53e7e0821cb731..ecbf81be6888cf2e95008da054cf4d3d7df6ad49 100644
|
||||
index b36c5885a31ff3242ac3104e6d875a008c7c39e4..8fe32508a00263295313e77992e2c208459ca42c 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 69f3fe2f5c193a30dd90368048804109db563da3..52393736adee2d50de218ac86c9e7cbcd9d6bf6d 100644
|
||||
index d228b1c3b517e21fb8022c1927b0bc522f46bf78..4a94410d0ea4daabde1397c78c5e5de113398ddf 100644
|
||||
--- a/ssl/ssl_lib.cc
|
||||
+++ b/ssl/ssl_lib.cc
|
||||
@@ -1204,7 +1204,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) {
|
||||
@@ -1205,7 +1205,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) {
|
||||
}
|
||||
|
||||
if (ret_code == 0) {
|
||||
@@ -32,7 +32,7 @@ index 69f3fe2f5c193a30dd90368048804109db563da3..52393736adee2d50de218ac86c9e7cbc
|
||||
return SSL_ERROR_ZERO_RETURN;
|
||||
}
|
||||
// An EOF was observed which violates the protocol, and the underlying
|
||||
@@ -2571,13 +2571,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) {
|
||||
@@ -2572,13 +2572,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) {
|
||||
return CRYPTO_get_ex_data(&ctx->ex_data, idx);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ blink_local_frame.patch
|
||||
can_create_window.patch
|
||||
disable_hidden.patch
|
||||
dom_storage_limits.patch
|
||||
render_widget_host_view_base.patch
|
||||
render_widget_host_view_mac.patch
|
||||
webview_cross_drag.patch
|
||||
gin_enable_disable_v8_platform.patch
|
||||
@@ -141,7 +142,9 @@ ignore_parse_errors_for_resolveshortcutproperties.patch
|
||||
feat_add_signals_when_embedder_cleanup_callbacks_run_for.patch
|
||||
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
|
||||
chore_remove_conflicting_allow_unsafe_libc_calls.patch
|
||||
fix_linter_error.patch
|
||||
chore_grandfather_in_electron_views_and_delegates.patch
|
||||
refactor_patch_electron_permissiontypes_into_blink.patch
|
||||
revert_enable_crel_for_arm32_targets.patch
|
||||
mac_fix_check_on_ime_reconversion_due_to_invalid_replacement_range.patch
|
||||
fix_osr_stutter_fix_backport_for_electron.patch
|
||||
do_not_check_the_order_of_display_id_order_on_windows.patch
|
||||
|
||||
@@ -5,11 +5,12 @@ Subject: fix: improve shortcut text of Accelerator
|
||||
|
||||
This patch makes three changes to Accelerator::GetShortcutText to improve shortcut display text in menus:
|
||||
|
||||
1. F2-F24 accelerators show up as such
|
||||
2. Ctrl-Shift-= and Ctrl-Plus show up as such
|
||||
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
|
||||
|
||||
diff --git a/ui/base/accelerators/accelerator.cc b/ui/base/accelerators/accelerator.cc
|
||||
index 5ad9332dd27ceda7d67cd3f571b12218a4415a40..ffe083836c39fb60b4bff1f9fbdd6cebb7fa9d1d 100644
|
||||
index 5590f9d425229d87373c5b53651d2e2d17b779e4..407cbd7e7811e3053e35e26f24e3c049cdd59a46 100644
|
||||
--- a/ui/base/accelerators/accelerator.cc
|
||||
+++ b/ui/base/accelerators/accelerator.cc
|
||||
@@ -12,6 +12,7 @@
|
||||
@@ -20,51 +21,51 @@ index 5ad9332dd27ceda7d67cd3f571b12218a4415a40..ffe083836c39fb60b4bff1f9fbdd6ceb
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "base/types/cxx23_to_underlying.h"
|
||||
#include "build/build_config.h"
|
||||
@@ -164,6 +165,11 @@ std::u16string Accelerator::GetKeyCodeStringForShortcut() const {
|
||||
@@ -109,6 +110,11 @@ std::u16string Accelerator::GetShortcutText() const {
|
||||
#endif
|
||||
|
||||
if (key_string.empty()) {
|
||||
if (shortcut.empty()) {
|
||||
+ // When a shifted char is explicitly specified, for example Ctrl+Plus,
|
||||
+ // use the shifted char directly.
|
||||
+ if (shifted_char) {
|
||||
+ key_string += *shifted_char;
|
||||
+ shortcut += *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
|
||||
@@ -190,6 +196,10 @@ std::u16string Accelerator::GetKeyCodeStringForShortcut() const {
|
||||
@@ -133,6 +139,10 @@ std::u16string Accelerator::GetShortcutText() const {
|
||||
shortcut +=
|
||||
static_cast<std::u16string::value_type>(base::ToUpperASCII(c));
|
||||
}
|
||||
#endif
|
||||
+ }
|
||||
+ if (key_code_ > VKEY_F1 && key_code_ <= VKEY_F24)
|
||||
+ key_string = base::UTF8ToUTF16(
|
||||
+ shortcut = base::UTF8ToUTF16(
|
||||
+ base::StringPrintf("F%d", key_code_ - VKEY_F1 + 1));
|
||||
}
|
||||
|
||||
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 BUILDFLAG(IS_MAC)
|
||||
@@ -317,7 +327,7 @@ std::u16string Accelerator::ApplyLongFormModifiers(
|
||||
const std::u16string& shortcut) const {
|
||||
std::u16string result = shortcut;
|
||||
|
||||
- if (IsShiftDown()) {
|
||||
+ if (!shifted_char && IsShiftDown()) {
|
||||
modifiers.push_back(l10n_util::GetStringUTF16(IDS_APP_SHIFT_KEY));
|
||||
result = ApplyModifierToAcceleratorString(result, IDS_APP_SHIFT_KEY);
|
||||
}
|
||||
|
||||
diff --git a/ui/base/accelerators/accelerator.h b/ui/base/accelerators/accelerator.h
|
||||
index e7d5adfac920c97df8bab9bf4ed69a835ee314a9..9aeea7cb4c48d1ccc27304fa99238151b2811c87 100644
|
||||
index 198c7469f410d3516b8a18493c5e4588d02487c2..e4995824ae2f3bb8045a3841a6213a4b315845a8 100644
|
||||
--- a/ui/base/accelerators/accelerator.h
|
||||
+++ b/ui/base/accelerators/accelerator.h
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
|
||||
#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"
|
||||
@@ -189,6 +190,8 @@ class COMPONENT_EXPORT(UI_BASE) Accelerator {
|
||||
@@ -185,6 +186,8 @@ class COMPONENT_EXPORT(UI_BASE) Accelerator {
|
||||
return interrupted_by_mouse_event_;
|
||||
}
|
||||
|
||||
@@ -72,4 +73,4 @@ index e7d5adfac920c97df8bab9bf4ed69a835ee314a9..9aeea7cb4c48d1ccc27304fa99238151
|
||||
+
|
||||
private:
|
||||
friend class AcceleratorTestMac;
|
||||
std::vector<std::u16string> GetLongFormModifiers() const;
|
||||
std::u16string ApplyLongFormModifiers(const std::u16string& shortcut) 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 cadb96febde3fb3fe90929873b1db452a6d8fb8f..09f5504127b5a5ec3d0d69d9eb6d0cd93e0e75cd 100644
|
||||
index 0d8bb93bf146c3058a30693673f0c23fdea90ae8..55f76337a445345c06531ce05e603db30daf759f 100644
|
||||
--- a/content/gpu/gpu_main.cc
|
||||
+++ b/content/gpu/gpu_main.cc
|
||||
@@ -254,6 +254,10 @@ int GpuMain(MainFunctionParams parameters) {
|
||||
@@ -268,6 +268,10 @@ int GpuMain(MainFunctionParams parameters) {
|
||||
// to the GpuProcessHost once the GpuServiceImpl has started.
|
||||
viz::GpuServiceImpl::InstallPreInitializeLogHandler();
|
||||
|
||||
@@ -24,7 +24,7 @@ index cadb96febde3fb3fe90929873b1db452a6d8fb8f..09f5504127b5a5ec3d0d69d9eb6d0cd9
|
||||
// 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
|
||||
@@ -363,7 +367,6 @@ int GpuMain(MainFunctionParams parameters) {
|
||||
@@ -378,7 +382,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 db655a7b52eacb74f2a8637db36abd87f6b86792..8014cb08e2090a12ea8b9e92cb8f93c96921d400 100644
|
||||
index 44da0544b778d6ff4c14b6f4e8463cb8260d2f0d..8ae8939af4141a684b7a6d50a43e1abb354ea028 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 db655a7b52eacb74f2a8637db36abd87f6b86792..8014cb08e2090a12ea8b9e92cb8f93c9
|
||||
int32_t world_id) {}
|
||||
virtual void DidClearWindowObject() {}
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
index b0aa018f2f4e6865915516ab6b65fac20d9e6f20..c04a544eb8991bfa718322e6e3a090ef4733a50b 100644
|
||||
index b78c7f64fd5e21a8d89318791bf639ab367d2d48..e8850312da428bcb9ec45b7c8605be1e516b22de 100644
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -4807,6 +4807,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
@@ -4800,6 +4800,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||
observer.DidCreateScriptContext(context, world_id);
|
||||
}
|
||||
|
||||
@@ -40,10 +40,10 @@ index b0aa018f2f4e6865915516ab6b65fac20d9e6f20..c04a544eb8991bfa718322e6e3a090ef
|
||||
int world_id) {
|
||||
for (auto& observer : observers_)
|
||||
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
|
||||
index a7383e4a5ccb8ca1de10bc3efb3043f1dbbf2f6f..41075015aa2dd347c9847072dd76f9cea9ad2d94 100644
|
||||
index a072319de5d16d8004cb33792b2275320627fe6a..f52aa0470ca53c9997961c398d2c79d25967562e 100644
|
||||
--- a/content/renderer/render_frame_impl.h
|
||||
+++ b/content/renderer/render_frame_impl.h
|
||||
@@ -652,6 +652,8 @@ class CONTENT_EXPORT RenderFrameImpl
|
||||
@@ -653,6 +653,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 a7383e4a5ccb8ca1de10bc3efb3043f1dbbf2f6f..41075015aa2dd347c9847072dd76f9ce
|
||||
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 f59582f677806c07381bc608f9cca84a7af51a2b..174113297c8e5a5928c1d9166c417cb6328cfc82 100644
|
||||
index fade7618e12889da5a1c3cbe465dec0869634407..53aaf91fe5e68465c9ec8b181e33b5ee95a5a5aa 100644
|
||||
--- a/third_party/blink/public/web/web_local_frame_client.h
|
||||
+++ b/third_party/blink/public/web/web_local_frame_client.h
|
||||
@@ -661,6 +661,9 @@ class BLINK_EXPORT WebLocalFrameClient {
|
||||
@@ -664,6 +664,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 e52a535450964b0938b66f7506225fda0cde04a2..841e9b36df4c32040d2b3c71514266fc330c99c7 100644
|
||||
index 8bb6b0465069529f79aaec21792e8b159535b3e9..f9782531c639d07002dda07732750a0007109468 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame_client.h
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame_client.h
|
||||
@@ -300,6 +300,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
|
||||
@@ -299,6 +299,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
|
||||
|
||||
virtual void DidCreateScriptContext(v8::Local<v8::Context>,
|
||||
int32_t world_id) = 0;
|
||||
@@ -92,7 +92,7 @@ index e52a535450964b0938b66f7506225fda0cde04a2..841e9b36df4c32040d2b3c71514266fc
|
||||
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 479dd8a7294ca6f0abb72350cc1a6c61e09c7c27..45226050aea1036f2c3a2fc15cabee893d12b1a7 100644
|
||||
index 66cc44003157657c68e90d295f877789395eca8d..19cd8460711d5d5b1b76c9e4cb82ed7fc71b410c 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 479dd8a7294ca6f0abb72350cc1a6c61e09c7c27..45226050aea1036f2c3a2fc15cabee89
|
||||
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 5dbc9c1f5f45c8753dd5510ffad2c5d4c20c814b..4223ba0db6c267a4574ab4a76c5a6f365223416c 100644
|
||||
index 4c7375a27a22f04694e14fecc17d633734d4cccc..ea2a32b151aaf07b5704e463d01714eb41680afb 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 5dbc9c1f5f45c8753dd5510ffad2c5d4c20c814b..4223ba0db6c267a4574ab4a76c5a6f36
|
||||
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 069ccf925bc0c6f1a5b707670cc3c931dd2a25a9..49ccc167276ed544c800483c4a8655b254304ee8 100644
|
||||
index 286d95397da7b90ba28b4c4faaae26d6ab71a496..23fd67571152897b3bc93fde8e98e1d554cce275 100644
|
||||
--- a/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
+++ b/third_party/blink/renderer/core/loader/empty_clients.h
|
||||
@@ -418,6 +418,8 @@ class CORE_EXPORT EmptyLocalFrameClient : public LocalFrameClient {
|
||||
@@ -417,6 +417,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 b0807ee3d8ebcf34f0d740362aa46c8631562d38..118d200b74953c0068ad59300ccc0e3041d77a10 100755
|
||||
index 7b948007755d306babea73498c17031c437ae6dc..adcfad8931c314f86d26347ccda438af452b8167 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 ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793477c6d19 100644
|
||||
index 628fe5557f963c52cbe0c5b24c6e06aaa81f9677..868f5eb60c35dfaa0a4e33e7f175743848e0cc2e 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 ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793
|
||||
#include "ui/accessibility/accessibility_features.h"
|
||||
#include "ui/accessibility/ax_updates_and_events.h"
|
||||
#include "ui/accessibility/platform/ax_platform_node.h"
|
||||
@@ -169,7 +170,7 @@ base::Value::Dict BuildTargetDescriptor(content::RenderViewHost* rvh) {
|
||||
@@ -171,7 +172,7 @@ base::Value::Dict BuildTargetDescriptor(content::RenderViewHost* rvh) {
|
||||
rvh->GetRoutingID(), accessibility_mode);
|
||||
}
|
||||
|
||||
@@ -30,17 +30,17 @@ index ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793
|
||||
base::Value::Dict BuildTargetDescriptor(Browser* browser) {
|
||||
base::Value::Dict target_data;
|
||||
target_data.Set(kSessionIdField, browser->session_id().id());
|
||||
@@ -193,7 +194,7 @@ void HandleAccessibilityRequestCallback(
|
||||
auto& browser_accessibility_state =
|
||||
*content::BrowserAccessibilityState::GetInstance();
|
||||
@@ -192,7 +193,7 @@ void HandleAccessibilityRequestCallback(
|
||||
DCHECK(ShouldHandleAccessibilityRequestCallback(path));
|
||||
|
||||
base::Value::Dict data;
|
||||
- PrefService* pref = Profile::FromBrowserContext(current_context)->GetPrefs();
|
||||
+ PrefService* pref = static_cast<electron::ElectronBrowserContext*>(current_context)->prefs();
|
||||
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)));
|
||||
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);
|
||||
|
||||
std::string pref_api_type =
|
||||
- pref->GetString(prefs::kShownAccessibilityApiType);
|
||||
@@ -48,7 +48,7 @@ index ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793
|
||||
bool pref_api_type_supported = false;
|
||||
|
||||
std::vector<ui::AXApiType::Type> supported_api_types =
|
||||
@@ -314,11 +315,11 @@ void HandleAccessibilityRequestCallback(
|
||||
@@ -288,11 +289,11 @@ void HandleAccessibilityRequestCallback(
|
||||
data.Set(kPagesField, std::move(page_list));
|
||||
|
||||
base::Value::List browser_list;
|
||||
@@ -62,7 +62,7 @@ index ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793
|
||||
data.Set(kBrowsersField, std::move(browser_list));
|
||||
|
||||
std::string json_string;
|
||||
@@ -792,7 +793,8 @@ void AccessibilityUIMessageHandler::SetGlobalString(
|
||||
@@ -762,7 +763,8 @@ void AccessibilityUIMessageHandler::SetGlobalString(
|
||||
const std::string value = CheckJSValue(data.FindString(kValueField));
|
||||
|
||||
if (string_name == kApiTypeField) {
|
||||
@@ -72,7 +72,7 @@ index ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793
|
||||
pref->SetString(prefs::kShownAccessibilityApiType, value);
|
||||
}
|
||||
}
|
||||
@@ -846,7 +848,8 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree(
|
||||
@@ -816,7 +818,8 @@ void AccessibilityUIMessageHandler::RequestWebContentsTree(
|
||||
AXPropertyFilter::ALLOW_EMPTY);
|
||||
AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY);
|
||||
|
||||
@@ -82,7 +82,7 @@ index ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793
|
||||
ui::AXApiType::Type api_type =
|
||||
ui::AXApiType::From(pref->GetString(prefs::kShownAccessibilityApiType));
|
||||
std::string accessibility_contents =
|
||||
@@ -873,6 +876,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree(
|
||||
@@ -843,6 +846,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree(
|
||||
AXPropertyFilter::ALLOW_EMPTY);
|
||||
AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY);
|
||||
|
||||
@@ -90,7 +90,7 @@ index ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793
|
||||
for (Browser* browser : *BrowserList::GetInstance()) {
|
||||
if (browser->session_id().id() == session_id) {
|
||||
base::Value::Dict result = BuildTargetDescriptor(browser);
|
||||
@@ -885,6 +889,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree(
|
||||
@@ -855,6 +859,7 @@ void AccessibilityUIMessageHandler::RequestNativeUITree(
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -98,7 +98,7 @@ index ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
// No browser with the specified |session_id| was found.
|
||||
base::Value::Dict result;
|
||||
@@ -928,11 +933,13 @@ void AccessibilityUIMessageHandler::StopRecording(
|
||||
@@ -898,11 +903,13 @@ void AccessibilityUIMessageHandler::StopRecording(
|
||||
}
|
||||
|
||||
ui::AXApiType::Type AccessibilityUIMessageHandler::GetRecordingApiType() {
|
||||
@@ -115,7 +115,7 @@ index ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793
|
||||
// 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()) {
|
||||
@@ -1002,8 +1009,11 @@ void AccessibilityUIMessageHandler::RequestAccessibilityEvents(
|
||||
@@ -972,8 +979,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 f9b27264f7e3e1f8de6f088ccb78e4a4693c5e93..85aebec5028fd6b324a1f1d9416fbf99c150e09a 100644
|
||||
index 6c679ef877067297ec3bf1a23af6c03a2af8dcf5..1ac93433189580c13b69cd52ce62681a8620da3d 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 f9b27264f7e3e1f8de6f088ccb78e4a4693c5e93..85aebec5028fd6b324a1f1d9416fbf99
|
||||
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 9d430ebff1067323f229c3b81b18300e8cb7e8a9..090125bc5a4c485c83d9eaa6b82ed5cf3402cbbd 100644
|
||||
index 6c1e46e58d975137eee6c0fd7b01d2ae970a2e10..5ca29616369e76e298eb03188e18ca545c76a162 100644
|
||||
--- a/content/browser/renderer_host/render_view_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_view_host_impl.cc
|
||||
@@ -768,6 +768,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
|
||||
@@ -765,6 +765,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
|
||||
GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque);
|
||||
}
|
||||
|
||||
|
||||
@@ -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 009f3563df63bc2ba2eadeecaea4f328d6a409ec..769ff8faaddf543fba1a41aff939f23741127247 100644
|
||||
index 2612e54a2b0d3c71bd8efe9340bc58c795500140..e590387effc958ba7215e75ea1e2a8173f624d02 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
|
||||
@@ -150,6 +150,19 @@ bool StructTraits<blink::mojom::WebPreferencesDataView,
|
||||
@@ -148,6 +148,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 1173ace39b6256edc188a4c6649e7cd4c4484899..c1d53122af52f7785a016f6fc62d9aa684a4be8c 100644
|
||||
index 9b7bc55a0e61de85688b2370012e14f8b47c43ab..63b035046ac3d565e5ee1f3a3c559da88d81f059 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 1173ace39b6256edc188a4c6649e7cd4c4484899..c1d53122af52f7785a016f6fc62d9aa6
|
||||
#include "mojo/public/cpp/bindings/struct_traits.h"
|
||||
#include "net/nqe/effective_connection_type.h"
|
||||
#include "third_party/blink/public/common/common_export.h"
|
||||
@@ -442,6 +443,52 @@ struct BLINK_COMMON_EXPORT StructTraits<blink::mojom::WebPreferencesDataView,
|
||||
@@ -437,6 +438,52 @@ struct BLINK_COMMON_EXPORT StructTraits<blink::mojom::WebPreferencesDataView,
|
||||
return r.stylus_handwriting_enabled;
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ index 1173ace39b6256edc188a4c6649e7cd4c4484899..c1d53122af52f7785a016f6fc62d9aa6
|
||||
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 ffd46eb579c7c6bf9263b02e9bbe0dee013ac76d..be40f76fae9653e8d3fdcfa74979089d3d317533 100644
|
||||
index e7c3bc263844c0ddeb9011440e2c0fd8f848ca27..142dae3834fe96f120727ef9ffe1250607bcadec 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 ffd46eb579c7c6bf9263b02e9bbe0dee013ac76d..be40f76fae9653e8d3fdcfa74979089d
|
||||
enum PointerType {
|
||||
kPointerNone = 1, // 1 << 0
|
||||
kPointerFirstType = kPointerNone,
|
||||
@@ -219,6 +221,19 @@ struct WebPreferences {
|
||||
@@ -218,6 +220,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;
|
||||
|
||||
@@ -49,10 +49,10 @@ index 2072f6b14289b1f3a76dbccc98f29aa178c1c35c..d7017437a7e7e6ac130677e52731d048
|
||||
// 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 a309befcbcb1e7fe667bc1d794141fb90fea1035..dd148eb3cce762d20e9117b4f8030c881057b8bb 100644
|
||||
index 84ce7a810816d8229f15b23a2f8bf36c00989378..f721051f30f517c863a935765d5dcd4760ab461e 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -753,10 +753,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
@@ -750,10 +750,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
}
|
||||
DCHECK(!view_ || !view_->IsAttached());
|
||||
|
||||
@@ -63,7 +63,7 @@ index a309befcbcb1e7fe667bc1d794141fb90fea1035..dd148eb3cce762d20e9117b4f8030c88
|
||||
if (!Client())
|
||||
return false;
|
||||
|
||||
@@ -810,6 +806,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||
@@ -807,6 +803,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 e9f891a025771899ffc888ea0095200342e48558..39d6f580c0cb5a0de41f32e9d7e103e05cefd0f0 100644
|
||||
index 19e3f2fc7b3e08f690eb8c3b56c5b5222f645691..b0b7af16b6719a08ab7908ab4d96a5d2c3ea0340 100644
|
||||
--- a/base/trace_event/builtin_categories.h
|
||||
+++ b/base/trace_event/builtin_categories.h
|
||||
@@ -102,6 +102,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
|
||||
@@ -91,6 +91,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
|
||||
perfetto::Category("drm"),
|
||||
perfetto::Category("drmcursor"),
|
||||
perfetto::Category("dwrite"),
|
||||
|
||||
@@ -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 35fc76646e912075c744b48b5ddec73f885ea5e8..6ce2825bf558d5f50b9df45227284103375aa2e4 100644
|
||||
index 55921115094f7437ce10db1cac1debe9adc10ea9..7040d83af340f052f5cab4437433e3dd0a688390 100644
|
||||
--- a/content/public/common/BUILD.gn
|
||||
+++ b/content/public/common/BUILD.gn
|
||||
@@ -381,6 +381,8 @@ mojom("interfaces") {
|
||||
@@ -379,6 +379,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 ae58a0b0a64ae1fdb3f9cd8587041d71a121c6b9..0ed56526002b12deb6d29f3dd23a0d74d8e7473c 100644
|
||||
index 54d2631ec203207f44038a36439613709fec1669..d7e197dc75dd711b1b2eb179a58de9030bde0465 100644
|
||||
--- a/.gn
|
||||
+++ b/.gn
|
||||
@@ -167,4 +167,27 @@ exec_script_allowlist =
|
||||
@@ -173,4 +173,27 @@ exec_script_allowlist =
|
||||
|
||||
"//tools/grit/grit_rule.gni",
|
||||
"//tools/gritsettings/BUILD.gn",
|
||||
|
||||
@@ -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 a47aa1cf4fb55c91908e15f1c406d79a48697cf8..a05a20229749e032e6d26d87177aebc4955ce081 100644
|
||||
index 5b98b4aedab5b700d21d6a8eac11c81cc13f6b39..8ee6f54f67c300a52074f33f9d6fe08a68e3be4b 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 4b3f01018a9dea91b46b5917e099f272582991b2..8250f2e447ff19829cfae3f00b3df70b47749874 100644
|
||||
index 95c73dcb082999d0a85d82f1fe330d27c88055ca..64cd976eba849435779b280b2941f9150b5d1d36 100644
|
||||
--- a/chrome/BUILD.gn
|
||||
+++ b/chrome/BUILD.gn
|
||||
@@ -200,11 +200,16 @@ if (!is_android && !is_mac) {
|
||||
@@ -33,10 +33,10 @@ index 4b3f01018a9dea91b46b5917e099f272582991b2..8250f2e447ff19829cfae3f00b3df70b
|
||||
"//base",
|
||||
"//build:branding_buildflags",
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
index ae32014a8a25f3b1de7f6087551a87400e1463b5..be77c4e02cc495194ed6b248e56bcb75abe4efce 100644
|
||||
index b5783087429ee651d21e04f6f5f11f5cb6f015a8..dae1cca8cee4fccfed3183aca1ba7cc32652ea58 100644
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -4627,7 +4627,7 @@ static_library("browser") {
|
||||
@@ -4599,7 +4599,7 @@ static_library("browser") {
|
||||
[ "//chrome/browser/ui/webui/signin:profile_impl" ]
|
||||
}
|
||||
|
||||
@@ -46,10 +46,10 @@ index ae32014a8a25f3b1de7f6087551a87400e1463b5..be77c4e02cc495194ed6b248e56bcb75
|
||||
# than here in :chrome_dll.
|
||||
deps += [ "//chrome:packed_resources_integrity_header" ]
|
||||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
index e08035df314884fab39562cd9ee4960ec5af3cb5..28f0f4d671e16ffff770b43fa5a2e366491d4b30 100644
|
||||
index a1338c3f145e3ae0ca0acbe20ffcec35c3cc5ba1..39d0efc3367b80b18cf3a4ef8756f147807ad79b 100644
|
||||
--- a/chrome/test/BUILD.gn
|
||||
+++ b/chrome/test/BUILD.gn
|
||||
@@ -7185,9 +7185,12 @@ test("unit_tests") {
|
||||
@@ -7096,9 +7096,12 @@ test("unit_tests") {
|
||||
"//chrome/notification_helper",
|
||||
]
|
||||
|
||||
@@ -63,7 +63,7 @@ index e08035df314884fab39562cd9ee4960ec5af3cb5..28f0f4d671e16ffff770b43fa5a2e366
|
||||
"//chrome//services/util_win:unit_tests",
|
||||
"//chrome/app:chrome_dll_resources",
|
||||
"//chrome/app:win_unit_tests",
|
||||
@@ -8153,6 +8156,10 @@ test("unit_tests") {
|
||||
@@ -8067,6 +8070,10 @@ test("unit_tests") {
|
||||
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
|
||||
]
|
||||
|
||||
@@ -74,7 +74,7 @@ index e08035df314884fab39562cd9ee4960ec5af3cb5..28f0f4d671e16ffff770b43fa5a2e366
|
||||
sources += [
|
||||
# The importer code is not used on Android.
|
||||
"../common/importer/firefox_importer_utils_unittest.cc",
|
||||
@@ -8208,7 +8215,6 @@ test("unit_tests") {
|
||||
@@ -8122,7 +8129,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 c3a3bf4970783804bc76ee4e71bb8233b5f215a8..78c72710b411e05ca0b6f01811076599fa66fc15 100644
|
||||
index a9d2caeb1c92e102daa9a8bd5bdc5a55af418cf4..efb5bf91722d4b18ae704ebf7355a13f253bef20 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 f411f2d51a397db52ba28eb7ed430f6f16c5396d..219e99e56cbf35aac8e18cff96601143f9f44ebf 100644
|
||||
index 29e8bbcb5e7ee2fb310ce00b0c20913424adc9c8..649330dde1e2b717e0af5a15834bf96ae4e19245 100644
|
||||
--- a/buildtools/third_party/libc++/BUILD.gn
|
||||
+++ b/buildtools/third_party/libc++/BUILD.gn
|
||||
@@ -295,7 +295,11 @@ libcxx_modules("std_wctype_h") {
|
||||
@@ -269,7 +269,11 @@ libcxx_modules("std_wctype_h") {
|
||||
if (libcxx_is_shared) {
|
||||
_libcxx_target_type = "shared_library"
|
||||
} else {
|
||||
@@ -23,7 +23,7 @@ index f411f2d51a397db52ba28eb7ed430f6f16c5396d..219e99e56cbf35aac8e18cff96601143
|
||||
}
|
||||
|
||||
target(_libcxx_target_type, "libc++") {
|
||||
@@ -304,6 +308,7 @@ target(_libcxx_target_type, "libc++") {
|
||||
@@ -278,6 +282,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 9d5452597f64906ac1d3223ca5290776df8809c5..46ddad111b2feb5cc1064a1eeb424800d2cba6c1 100644
|
||||
index d9be4e90a7c43a8a7dec829304856daddcc58dc0..f6f98ea0824896e7e0a27e672480660b0671d146 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -9777,6 +9777,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
@@ -9652,6 +9652,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 9d5452597f64906ac1d3223ca5290776df8809c5..46ddad111b2feb5cc1064a1eeb424800
|
||||
&no_javascript_access);
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 77954ceccdfb1e94598d5d7ad747721ab84aa1d7..aec96f969800e2a4d09e644df770d367e48b1b63 100644
|
||||
index 2896b2b15d9c22e27c37719867c20213b9983984..83c5918c1bc0417ed3c744828b9f93e7c00d22c3 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5132,6 +5132,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5101,6 +5101,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params,
|
||||
opener);
|
||||
|
||||
@@ -37,7 +37,7 @@ index 77954ceccdfb1e94598d5d7ad747721ab84aa1d7..aec96f969800e2a4d09e644df770d367
|
||||
// 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
|
||||
@@ -5173,12 +5179,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5142,12 +5148,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 210e5ffc0da31cc0d214e8a3e65f7d8b045fd33e..237b279eeefe5b18402a7dea8d1c00072655ed22 100644
|
||||
index e2382e9769cb79d676715187a2b8b00392e5445c..22400e44369b8ffb4b3fd886c981afea7a90da02 100644
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -823,6 +823,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
@@ -820,6 +820,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
@@ -79,7 +79,7 @@ index 210e5ffc0da31cc0d214e8a3e65f7d8b045fd33e..237b279eeefe5b18402a7dea8d1c0007
|
||||
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 be551d7a09330edf4a204b181acb382c2c3d13f4..5ed4df05dd22cbf901ecbbcc9d892de806c93890 100644
|
||||
index 9b75a6c3c222a93319e0f26f351aed3dbe6ead28..8a7ea32eb4ea4a78662b96a2eef5a0de4229d214 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -199,6 +199,7 @@ class NetworkService;
|
||||
@@ -90,7 +90,7 @@ index be551d7a09330edf4a204b181acb382c2c3d13f4..5ed4df05dd22cbf901ecbbcc9d892de8
|
||||
} // namespace network
|
||||
|
||||
namespace sandbox {
|
||||
@@ -1379,6 +1380,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1376,6 +1377,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 7f33a5452de32f5f4f8a43d0314917f24308d77c..b0aa018f2f4e6865915516ab6b65fac20d9e6f20 100644
|
||||
index b46ceca2998e6f3706aff3705b9639948eebf60b..b78c7f64fd5e21a8d89318791bf639ab367d2d48 100644
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -6938,6 +6938,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
||||
@@ -6925,6 +6925,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
||||
request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
|
||||
GetWebFrame()->IsAdScriptInStack());
|
||||
|
||||
@@ -163,10 +163,10 @@ index 7f33a5452de32f5f4f8a43d0314917f24308d77c..b0aa018f2f4e6865915516ab6b65fac2
|
||||
// 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 e5f7596c1b3e525e1d64efbd6b7e0703b980dac9..0b4523200651c1edfd7678b177a24b7e64de6ddf 100644
|
||||
index fa36b9907988ab971c94eae317e6e1dc4d170762..a2cafef6cae2fd78580fdf90dae17ac6586a7312 100644
|
||||
--- a/content/web_test/browser/web_test_content_browser_client.cc
|
||||
+++ b/content/web_test/browser/web_test_content_browser_client.cc
|
||||
@@ -538,6 +538,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
|
||||
@@ -534,6 +534,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
@@ -176,10 +176,10 @@ index e5f7596c1b3e525e1d64efbd6b7e0703b980dac9..0b4523200651c1edfd7678b177a24b7e
|
||||
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 e4eaba65b25262ce5ed27d78da13a260ec57f6db..ddd3be9aa7aac43140a1e664eefce7ac195ba119 100644
|
||||
index 9c6bbdc4f8e4f78fd745ac4e71510d9534925a78..f4a68476f71e8283bb3da3642758416efb98c168 100644
|
||||
--- a/content/web_test/browser/web_test_content_browser_client.h
|
||||
+++ b/content/web_test/browser/web_test_content_browser_client.h
|
||||
@@ -95,6 +95,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {
|
||||
@@ -93,6 +93,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 de39a688207f81143c59ad54385642389b0fcc4e..93c5b79727674ff1c5344d39fd7bcd07c3101424 100644
|
||||
index f4a1ed78679c5efaea6494a4aa8b22fff31cba1b..afa637807b0a5bdef126031f219115ecee8d478d 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
@@ -2280,6 +2280,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
@@ -2272,6 +2272,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
WebWindowFeatures window_features =
|
||||
GetWindowFeaturesFromString(features, entered_window);
|
||||
|
||||
|
||||
@@ -18,12 +18,12 @@ index 0a0f0118d5c1a5a2f3ad28b068bebb849eba7246..5ca6d03b709ef119ccd6482b2f305f8a
|
||||
/googleurl
|
||||
/gpu/gles2_conform_test
|
||||
diff --git a/third_party/.gitignore b/third_party/.gitignore
|
||||
index ad591b3a0f2afe24d53dac76655f81790c1baa50..080d19d34659290e70f599e3d91da286013be76f 100644
|
||||
index 3e117f79191d5cea0fb4f1c6b0e95513562d7691..f197d17a55a802b01aaba602eff7c83f2a55c7b5 100644
|
||||
--- a/third_party/.gitignore
|
||||
+++ b/third_party/.gitignore
|
||||
@@ -46,7 +46,9 @@
|
||||
@@ -45,7 +45,9 @@
|
||||
/devserver
|
||||
/directxsdk
|
||||
/dragonbox/src
|
||||
/edk2
|
||||
+/electron_node
|
||||
/elfutils/src
|
||||
@@ -31,7 +31,7 @@ index ad591b3a0f2afe24d53dac76655f81790c1baa50..080d19d34659290e70f599e3d91da286
|
||||
/espresso/lib/
|
||||
/eyesfree/src
|
||||
/fast_float/src
|
||||
@@ -94,6 +96,7 @@
|
||||
@@ -93,6 +95,7 @@
|
||||
/mocha
|
||||
/mockito/src
|
||||
/nacl_sdk_binaries/
|
||||
@@ -39,7 +39,7 @@ index ad591b3a0f2afe24d53dac76655f81790c1baa50..080d19d34659290e70f599e3d91da286
|
||||
/ninja
|
||||
/node/*.tar.gz
|
||||
/node/linux/
|
||||
@@ -138,7 +141,7 @@
|
||||
@@ -137,7 +140,7 @@
|
||||
/spirv-cross/src
|
||||
/spirv-headers/src
|
||||
/spirv-tools/src
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
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 59d6e6e4d899f10d1adeb4f23c32f0dd565cf963..674954816b6c241c1923668f8da7ad5c79a04256 100644
|
||||
index d97240a7b0dcf63737808850b6ef83852155b794..4a58b1f3e8c2bee32084be82977239e911598077 100644
|
||||
--- a/base/threading/thread_restrictions.h
|
||||
+++ b/base/threading/thread_restrictions.h
|
||||
@@ -132,6 +132,7 @@ class KeyStorageLinux;
|
||||
@@ -28,7 +28,7 @@ index 59d6e6e4d899f10d1adeb4f23c32f0dd565cf963..674954816b6c241c1923668f8da7ad5c
|
||||
namespace enterprise_connectors {
|
||||
class LinuxKeyRotationCommand;
|
||||
} // namespace enterprise_connectors
|
||||
@@ -572,6 +576,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
@@ -575,6 +579,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
friend class ::DesktopNotificationBalloon;
|
||||
friend class ::FirefoxProfileLock;
|
||||
friend class ::GaiaConfig;
|
||||
@@ -36,10 +36,10 @@ index 59d6e6e4d899f10d1adeb4f23c32f0dd565cf963..674954816b6c241c1923668f8da7ad5c
|
||||
friend class ::ProfileImpl;
|
||||
friend class ::ScopedAllowBlockingForProfile;
|
||||
friend class ::StartupTabProviderImpl;
|
||||
@@ -610,6 +615,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
friend class cronet::CronetPrefsManager;
|
||||
@@ -614,6 +619,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||
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 61509e2eb982797845098abf5f36e031be63686b..24283be8d1660acce0a5ae89386b8eef9989fc12 100644
|
||||
index 1d298f66a2c2a0f02668af797b3a421fe5578d56..4780229a4453ad5ca2c89b786459f64c58bf2272 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
|
||||
@@ -1415,6 +1415,10 @@ void DesktopWindowTreeHostWin::HandleHeadlessWindowBoundsChanged(
|
||||
@@ -1386,6 +1386,10 @@ void DesktopWindowTreeHostWin::HandleHeadlessWindowBoundsChanged(
|
||||
window()->SetProperty(aura::client::kHeadlessBoundsKey, bounds);
|
||||
}
|
||||
|
||||
@@ -49,22 +49,22 @@ index 61509e2eb982797845098abf5f36e031be63686b..24283be8d1660acce0a5ae89386b8eef
|
||||
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 dab595aacaeca4f6f735fd04004c27a4949278d2..177134d439866db9dbbde657ff358a761ad7f39d 100644
|
||||
index 2ee5e4b4673f4f18880dddecc48118c89823fd3f..37109b8d3d439073b5c9e2ea3597c36f32de5704 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
|
||||
@@ -272,6 +272,7 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
|
||||
@@ -268,6 +268,7 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin : public DesktopWindowTreeHost,
|
||||
void HandleWindowSizeUnchanged() override;
|
||||
void HandleWindowScaleFactorChanged(float window_scale_factor) override;
|
||||
void HandleHeadlessWindowBoundsChanged(const gfx::Rect& bounds) override;
|
||||
+ bool HandleMouseEventForCaption(UINT message) const override;
|
||||
|
||||
Widget* GetWidget();
|
||||
const Widget* GetWidget() const;
|
||||
// Overridden from WidgetObserver.
|
||||
void OnWidgetThemeChanged(Widget* widget) override;
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index 5919efa661c3b1ed210f7a67f85fdd3882011bae..5b17d5bf0b32405ae9515b941a17b68a04a3b317 100644
|
||||
index 701f89b053674be1bad0a1a3612340a65c1ccfe7..ac7e189f26da75f6f8b40e69cf4bfee94acddd38 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -3178,15 +3178,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -3186,15 +3186,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 5919efa661c3b1ed210f7a67f85fdd3882011bae..5b17d5bf0b32405ae9515b941a17b68a
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -3209,6 +3213,7 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -3217,6 +3221,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 5919efa661c3b1ed210f7a67f85fdd3882011bae..5b17d5bf0b32405ae9515b941a17b68a
|
||||
// |point| is in window coordinates, but WM_NCHITTEST and TrackPopupMenu()
|
||||
// expect screen coordinates.
|
||||
POINT screen_point = CR_POINT_INITIALIZER_FROM_LPARAM(l_param);
|
||||
@@ -3216,7 +3221,17 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -3224,7 +3229,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 5919efa661c3b1ed210f7a67f85fdd3882011bae..5b17d5bf0b32405ae9515b941a17b68a
|
||||
}
|
||||
} 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 252d7ce78ad49596fb030160cb69d9bf3dc0951f..5e7975cf5cb3435b844fda58d7582d54cb583a72 100644
|
||||
index 83c26bf2b4bc11c0e3d839093eea56eed1bf581b..075e456e851bbde2b0174ca0cc34428cc32b6966 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 459fc0eff0bfe2ec005d6f34cf7e91c2d601fd06..35de681eac3f65ce3e0435bd984159154ece2b7f 100644
|
||||
index 5465e9d42a5c4eed3b6f819418a7b0ab92c7eae2..54ff9675fef009c5bb79becb59146436508ad835 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5051,7 +5051,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5020,7 +5020,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 4007e92316a6ac59145fa9bc021904fd1b3b0136..afedeaea7fd419f3374ffeebb7ee931219a90f93 100644
|
||||
index adaa1cd426c138972b088d0d0093b0e1653af231..be4684c94ba2214255c5dbe9cdcf1ea316c60c06 100644
|
||||
--- a/content/browser/site_instance_impl.cc
|
||||
+++ b/content/browser/site_instance_impl.cc
|
||||
@@ -226,7 +226,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(
|
||||
@@ -229,7 +229,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 de3f9f56b47628e1104b5f64b3c17cc35e10bfc7..3a19c28386fd3a0b8755a06510895c685f2c0cdb 100644
|
||||
index d45f8f1713c875f2d430f9155f0cbe626a5f233f..00c7db5afa636d5d1da4e5d2cb01ebcbec70304b 100644
|
||||
--- a/chrome/browser/ui/browser.cc
|
||||
+++ b/chrome/browser/ui/browser.cc
|
||||
@@ -2327,12 +2327,11 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
@@ -2289,12 +2289,11 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
@@ -99,10 +99,10 @@ index de3f9f56b47628e1104b5f64b3c17cc35e10bfc7..3a19c28386fd3a0b8755a06510895c68
|
||||
|
||||
WebContents* Browser::CreateCustomWebContents(
|
||||
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
|
||||
index 0bcb2fc072e47c2c259b724209b4814486329fe1..db674988cf87f198ed1af7e0f4def24776fbaa89 100644
|
||||
index ce1e404e45a60e43de9580fe8d60fa72ec90b8f4..9267e93fdd03fad3848a45a1c6d090566cac317c 100644
|
||||
--- a/chrome/browser/ui/browser.h
|
||||
+++ b/chrome/browser/ui/browser.h
|
||||
@@ -1027,8 +1027,7 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -1005,8 +1005,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 c1c3db2992038cad0c01ce65c57676f8fe281830..2ad1479de622d956c701d8dc4adb75d0114f65b1 100644
|
||||
index d13c38de7a2e69565020ab92c874bf1289d63833..d7ec62c6761bcc8d4bb5889e873e22c4a27e7f17 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5014,8 +5014,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -4983,8 +4983,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 8d6fc67cb9b1d653bce64d1ba22aa7ec2d79257c..d5ce746373a1a4310e1eb530aee011a785e1d68c 100644
|
||||
index f8b00fec3f2786822b22c052051c524f766c059d..85a535d0b1e49619fec8c9f5c67896204c9fb164 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 8d6fc67cb9b1d653bce64d1ba22aa7ec2d79257c..d5ce746373a1a4310e1eb530aee011a7
|
||||
|
||||
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 775cfbf5adac0017f343bc091daee1b8883c75bb..dc97e5d60d3663ef7f7c78c28603f9e1c5aea4ff 100644
|
||||
index 136448c9df06b9704e95d2797a60907d7ec5170a..21cc7b08dd8f9e4a32d29dd35c42ec2ce9f6cd53 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 c10903a8e7e5fb66a1b038eab9015658a93672df..5a3afdb8ababf6e465c6166ca6229af7b4d6941d 100644
|
||||
index 635050eedc20fb89608677bcebeb5f8187bd4b59..1220f377169f8209db39654b7ddbf1da52c017b7 100644
|
||||
--- a/fuchsia_web/webengine/browser/frame_impl.cc
|
||||
+++ b/fuchsia_web/webengine/browser/frame_impl.cc
|
||||
@@ -576,8 +576,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
|
||||
@@ -575,8 +575,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 250e7f524a9ab1cc6fda2bfefb3c78a8e971b625..55a0db02885a85e538d267402cfd0ac8ce52b921 100644
|
||||
index bf432db4ca8463f2451dc09d5ca484da1235634f..e144be74ce2d34f50d26d08d5bf206f7aa64c5d3 100644
|
||||
--- a/ui/views/controls/webview/web_dialog_view.cc
|
||||
+++ b/ui/views/controls/webview/web_dialog_view.cc
|
||||
@@ -489,8 +489,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
|
||||
@@ -487,8 +487,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
|
||||
content::SiteInstance* source_site_instance,
|
||||
content::mojom::WindowContainerType window_container_type,
|
||||
const GURL& opener_url,
|
||||
|
||||
@@ -9,15 +9,14 @@ 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 172f02dbe9bb22425f8d45119b6d8466c949ba36..063015e14053f75544e6700c9251d6ecae95389c 100644
|
||||
index 8f590b9ebd02969f0c5d9f617852954a69f51afd..91c4a61525173d2cd95a8c2c626c1be5a84b003f 100644
|
||||
--- a/extensions/browser/script_injection_tracker.cc
|
||||
+++ b/extensions/browser/script_injection_tracker.cc
|
||||
@@ -178,7 +178,7 @@ std::vector<const UserScript*> GetLoadedDynamicScripts(
|
||||
@@ -176,7 +176,6 @@ std::vector<const UserScript*> GetLoadedDynamicScripts(
|
||||
UserScriptManager* manager =
|
||||
ExtensionSystem::Get(process.GetBrowserContext())->user_script_manager();
|
||||
if (!manager) {
|
||||
// TODO(crbug.com/412829476): Remove this guard once we enable
|
||||
// UserScriptManager on desktop Android.
|
||||
-#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
+#if 0
|
||||
CHECK_IS_TEST();
|
||||
#endif
|
||||
- CHECK_IS_TEST();
|
||||
return std::vector<const UserScript*>();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Charles Kerr <charles@charleskerr.com>
|
||||
Date: Sat, 22 Feb 2025 13:15:39 -0600
|
||||
Subject: chore: remove conflicting allow_unsafe_libc_calls
|
||||
|
||||
We want builds to fail if a buffer warning comes from Electron code but
|
||||
not from code that we don't maintain (e.g. upstream Chromium code), so
|
||||
//electron/electron_unsafe_buffer_paths.txt turns off Chromium warnings.
|
||||
|
||||
There are some upstream files that generate warnings *and* also have
|
||||
pragmas that override //electron/electron_unsafe_buffer_paths.txt,
|
||||
forcing them to be tested. This breaks our build.
|
||||
|
||||
Files can be removed from this patch when upstream either removes the
|
||||
pragma or fixes the other warnings. This patch can be removed when no
|
||||
files are left.
|
||||
|
||||
diff --git a/net/cookies/parsed_cookie.cc b/net/cookies/parsed_cookie.cc
|
||||
index 7d5d0106a3675b3fa21b0e00a755f5c0ed11c87b..d26c645d70b54b31815c8140954ee6d0a34fa8af 100644
|
||||
--- a/net/cookies/parsed_cookie.cc
|
||||
+++ b/net/cookies/parsed_cookie.cc
|
||||
@@ -2,11 +2,6 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
-#ifdef UNSAFE_BUFFERS_BUILD
|
||||
-// TODO(crbug.com/390223051): Remove C-library calls to fix the errors.
|
||||
-#pragma allow_unsafe_libc_calls
|
||||
-#endif
|
||||
-
|
||||
// Portions of this code based on Mozilla:
|
||||
// (netwerk/cookie/src/nsCookieService.cpp)
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
diff --git a/net/http/http_response_headers.cc b/net/http/http_response_headers.cc
|
||||
index 11572f927d97da20627dec498b92e445b5db4589..9b02d35a19d8610ade71b96c11551a1050847b49 100644
|
||||
--- a/net/http/http_response_headers.cc
|
||||
+++ b/net/http/http_response_headers.cc
|
||||
@@ -2,11 +2,6 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
-#ifdef UNSAFE_BUFFERS_BUILD
|
||||
-// TODO(crbug.com/390223051): Remove C-library calls to fix the errors.
|
||||
-#pragma allow_unsafe_libc_calls
|
||||
-#endif
|
||||
-
|
||||
// The rules for header parsing were borrowed from Firefox:
|
||||
// http://lxr.mozilla.org/seamonkey/source/netwerk/protocol/http/src/nsHttpResponseHead.cpp
|
||||
// The rules for parsing content-types were also borrowed from Firefox:
|
||||
@@ -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 b6985bd63a34c55154fcfae601add6ce6c451704..fb44cc65b1a15c8b69410a2a2cb925a0326bb438 100644
|
||||
index c98ecc36007185052481b6479b2ba4608e326021..dd0e4553b78997beea0f11242eeb9f759359066f 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
|
||||
@@ -147,7 +147,8 @@ bool GlobalAcceleratorListenerOzone::StartListeningForAccelerator(
|
||||
@@ -111,7 +111,8 @@ bool GlobalAcceleratorListenerOzone::StartListeningForAccelerator(
|
||||
const bool registered =
|
||||
platform_global_shortcut_listener_->RegisterAccelerator(
|
||||
accelerator.key_code(), accelerator.IsAltDown(),
|
||||
@@ -52,7 +52,7 @@ index b6985bd63a34c55154fcfae601add6ce6c451704..fb44cc65b1a15c8b69410a2a2cb925a0
|
||||
if (registered) {
|
||||
registered_hot_keys_.insert(accelerator);
|
||||
}
|
||||
@@ -162,14 +163,15 @@ void GlobalAcceleratorListenerOzone::StopListeningForAccelerator(
|
||||
@@ -126,14 +127,15 @@ void GlobalAcceleratorListenerOzone::StopListeningForAccelerator(
|
||||
|
||||
platform_global_shortcut_listener_->UnregisterAccelerator(
|
||||
accelerator.key_code(), accelerator.IsAltDown(), accelerator.IsCtrlDown(),
|
||||
@@ -70,7 +70,7 @@ index b6985bd63a34c55154fcfae601add6ce6c451704..fb44cc65b1a15c8b69410a2a2cb925a0
|
||||
int modifiers = 0;
|
||||
if (is_alt_down) {
|
||||
modifiers |= ui::EF_ALT_DOWN;
|
||||
@@ -180,6 +182,9 @@ void GlobalAcceleratorListenerOzone::OnKeyPressed(ui::KeyboardCode key_code,
|
||||
@@ -144,6 +146,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 5b811cbbc51544cbff7c2e99c3a7ced824990002..f2376d74fbd2c8196184035fc0fb24a0a8ebfe0e 100644
|
||||
index 0e00d26f79231a01e88981b30ff950e427cd31f4..70f014c75031f9529501e102f97e0e1adadb8ffb 100644
|
||||
--- a/components/crash/core/app/crashpad_win.cc
|
||||
+++ b/components/crash/core/app/crashpad_win.cc
|
||||
@@ -93,6 +93,7 @@ bool PlatformCrashpadInitialization(
|
||||
@@ -92,6 +92,7 @@ bool PlatformCrashpadInitialization(
|
||||
|
||||
std::map<std::string, std::string> process_annotations;
|
||||
GetPlatformCrashpadAnnotations(&process_annotations);
|
||||
@@ -127,7 +127,7 @@ index 5b811cbbc51544cbff7c2e99c3a7ced824990002..f2376d74fbd2c8196184035fc0fb24a0
|
||||
|
||||
std::string url = crash_reporter_client->GetUploadUrl();
|
||||
|
||||
@@ -133,6 +134,13 @@ bool PlatformCrashpadInitialization(
|
||||
@@ -129,6 +130,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 d55c408557e15650897c9ed6d5b6bd83178a551f..f1c54919990af204004380b0d84ee750de5e3c35 100644
|
||||
index 7550d3eb796059aeb108f25071c8028bddebb100..db59a147bd6b4fb596170d9b86c5e71a20b62abc 100644
|
||||
--- a/content/app/content_main_runner_impl.cc
|
||||
+++ b/content/app/content_main_runner_impl.cc
|
||||
@@ -275,8 +275,13 @@ void AsanProcessInfoCB(const char*, bool*) {
|
||||
@@ -273,8 +273,13 @@ void AsanProcessInfoCB(const char*, bool*) {
|
||||
}
|
||||
#endif // defined(ADDRESS_SANITIZER)
|
||||
|
||||
@@ -25,7 +25,7 @@ index d55c408557e15650897c9ed6d5b6bd83178a551f..f1c54919990af204004380b0d84ee750
|
||||
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||
base::FileDescriptorStore& file_descriptor_store =
|
||||
base::FileDescriptorStore::GetInstance();
|
||||
@@ -305,11 +310,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line,
|
||||
@@ -303,11 +308,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line,
|
||||
|
||||
#endif // V8_USE_EXTERNAL_STARTUP_DATA
|
||||
|
||||
@@ -40,7 +40,7 @@ index d55c408557e15650897c9ed6d5b6bd83178a551f..f1c54919990af204004380b0d84ee750
|
||||
#endif // V8_USE_EXTERNAL_STARTUP_DATA
|
||||
}
|
||||
|
||||
@@ -1005,7 +1011,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) {
|
||||
@@ -980,7 +986,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 b4c984e0dd22f148a426ce0ea04988798ed95aaa..5fd099b6396fc51d29fce2843531d5fc89642d35 100644
|
||||
index ff25eb3670d2391c6fb41b7c612c30ee8798983f..116763b520713a5c61462b2e048a7358486831a2 100644
|
||||
--- a/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
+++ b/content/browser/service_worker/service_worker_context_wrapper.cc
|
||||
@@ -1961,6 +1961,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1969,6 +1969,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
loader_factory_bundle_info =
|
||||
context()->loader_factory_bundle_for_update_check()->Clone();
|
||||
|
||||
@@ -38,7 +38,7 @@ index b4c984e0dd22f148a426ce0ea04988798ed95aaa..5fd099b6396fc51d29fce2843531d5fc
|
||||
if (auto* config = content::WebUIConfigMap::GetInstance().GetConfig(
|
||||
browser_context(), scope)) {
|
||||
// If this is a Service Worker for a WebUI, the WebUI's URLDataSource
|
||||
@@ -1980,9 +2000,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1988,9 +2008,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
features::kEnableServiceWorkersForChromeScheme) &&
|
||||
scope.scheme_piece() == kChromeUIScheme) {
|
||||
config->RegisterURLDataSource(browser_context());
|
||||
@@ -49,7 +49,7 @@ index b4c984e0dd22f148a426ce0ea04988798ed95aaa..5fd099b6396fc51d29fce2843531d5fc
|
||||
.emplace(kChromeUIScheme, CreateWebUIServiceWorkerLoaderFactory(
|
||||
browser_context(), kChromeUIScheme,
|
||||
base::flat_set<std::string>()));
|
||||
@@ -1990,9 +2008,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
|
||||
@@ -1998,9 +2016,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 88a6090a49da6071fded348a901c7c62b647b503..cf6f80bd3c9af0be5065e75e09a1b4150aeab0c8 100644
|
||||
index 1a726fb4a9e8173dc7da6901eb1632c7f326358e..ae8a4117db2f6bac1d62981e7c0e35cf1eee68da 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||
@@ -560,7 +560,11 @@
|
||||
@@ -561,7 +561,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 7a20f5199bd6cb5d13f31ec5db3e3cc03821bc3a..22167f808cb7b27d5b2a8e517cdeee63205ab9ad 100644
|
||||
index eb11068e932b7b94cbf215d6f84ae427ce77fcd5..9744e45974af215bfbe9e5feb2db7274f8efebf0 100644
|
||||
--- a/content/renderer/render_process_impl.cc
|
||||
+++ b/content/renderer/render_process_impl.cc
|
||||
@@ -212,6 +212,9 @@ RenderProcessImpl::RenderProcessImpl()
|
||||
@@ -208,6 +208,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 b722e19e8c660d13750ea7bf505e28a9c1d9d59f..bac913e30ce140d9b370186781cccf5817885076 100644
|
||||
index 573269ba54150d5350e5c3589217c5e7f41d560d..20fcda4eb20459b69247003c51c2a3ed37c7b1e8 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -831,6 +831,10 @@ void RenderWidgetHostImpl::WasHidden() {
|
||||
@@ -832,6 +832,10 @@ void RenderWidgetHostImpl::WasHidden() {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -21,10 +21,10 @@ index b722e19e8c660d13750ea7bf505e28a9c1d9d59f..bac913e30ce140d9b370186781cccf58
|
||||
// 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 c11b7183397d28c6db61969390d1d078261e4c47..5d92247f088942250fbb6bd1ff83ab1c2c7140f7 100644
|
||||
index c201cff9e5c3b286389a5eb74e1a9ebd86edfef9..949f6a7867758e35c24897add9a4d47a641357b2 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.h
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.h
|
||||
@@ -1013,6 +1013,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
@@ -1012,6 +1012,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 54ce1ea5ac11c9831a9553fbb5c5584c05440071..be95785fa144a4f11a3c97fea562dd4635ffe7b0 100644
|
||||
index d05708d42a0dc1aea4faad3be19f558c93e93265..13dda0bf6560ca03c4c88e787cc4165dfe745b26 100644
|
||||
--- a/content/browser/renderer_host/navigator.cc
|
||||
+++ b/content/browser/renderer_host/navigator.cc
|
||||
@@ -1476,6 +1476,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
@@ -1464,6 +1464,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
.InMilliseconds());
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ index 54ce1ea5ac11c9831a9553fbb5c5584c05440071..be95785fa144a4f11a3c97fea562dd46
|
||||
// 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 &&
|
||||
@@ -1525,6 +1526,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
@@ -1513,6 +1514,7 @@ void Navigator::RecordNavigationMetrics(
|
||||
first_before_unload_start_time)
|
||||
.InMilliseconds());
|
||||
}
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Mitsuru Oshima <oshima@chromium.org>
|
||||
Date: Thu, 17 Apr 2025 16:49:21 -0700
|
||||
Subject: Do not check the order of Display ID order on Windows
|
||||
|
||||
Id is generated by Windows side logic so this rule isn't applicable.
|
||||
|
||||
Bug: 394622418
|
||||
Change-Id: I79c7f91103c6b752b6a7a123aacd3573a9ab815f
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6471333
|
||||
Reviewed-by: Vincent Chiang <vincentchiang@chromium.org>
|
||||
Commit-Queue: Mitsuru Oshima <oshima@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1448671}
|
||||
|
||||
diff --git a/ui/display/display_layout.cc b/ui/display/display_layout.cc
|
||||
index 0d3746d8174868b743990b5ab10b3506819ef0ea..85d5c06851148576ab4dd272918215335292b4aa 100644
|
||||
--- a/ui/display/display_layout.cc
|
||||
+++ b/ui/display/display_layout.cc
|
||||
@@ -500,6 +500,7 @@ void DisplayLayout::ApplyToDisplayList(Displays* display_list,
|
||||
if (!DisplayLayout::Validate(DisplayListToDisplayIdList(*display_list),
|
||||
*this)) {
|
||||
// Prevent invalid and non-relevant display layouts.
|
||||
+ LOG(ERROR) << "Invalid Display Layout";
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -549,15 +550,19 @@ bool DisplayLayout::Validate(const DisplayIdList& list,
|
||||
|
||||
bool has_primary_as_parent = false;
|
||||
// The placement list must be sorted by the first 8 bits of the display IDs.
|
||||
+#if BUILDFLAG(IS_CHROMEOS)
|
||||
int64_t prev_id = std::numeric_limits<int8_t>::min();
|
||||
+#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
for (const auto& placement : layout.placement_list) {
|
||||
- // Placements are sorted by display_id.
|
||||
+#if BUILDFLAG(IS_CHROMEOS)
|
||||
+ // Placements are sorted by display_id on ChromeOS.
|
||||
if (prev_id >= (placement.display_id & 0xFF)) {
|
||||
DISPLAY_LOG(ERROR) << "PlacementList must be sorted by first 8 bits of"
|
||||
<< " display_id ";
|
||||
return false;
|
||||
}
|
||||
prev_id = (placement.display_id & 0xFF);
|
||||
+#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
if (placement.display_id == kInvalidDisplayId) {
|
||||
DISPLAY_LOG(ERROR) << "display_id is not initialized";
|
||||
return false;
|
||||
diff --git a/ui/display/display_layout_unittest.cc b/ui/display/display_layout_unittest.cc
|
||||
index 68327c8a6b71853a0f1bf3c0351e38865bcbe054..4ea830ef086eb009c692a0b90b100eaaed303fd0 100644
|
||||
--- a/ui/display/display_layout_unittest.cc
|
||||
+++ b/ui/display/display_layout_unittest.cc
|
||||
@@ -122,6 +122,7 @@ TEST(DisplayLayoutTest, SwapPrimaryDisplayThreeDisplays) {
|
||||
EXPECT_EQ(Position::RIGHT, layout->placement_list[1].position);
|
||||
}
|
||||
|
||||
+#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Makes sure that only the least significant 8 bits of the display IDs in the
|
||||
// placement lists are used to validate their sort order.
|
||||
TEST(DisplayLayoutTest, PlacementSortOrder) {
|
||||
@@ -148,6 +149,8 @@ TEST(DisplayLayoutTest, PlacementSortOrder) {
|
||||
EXPECT_TRUE(DisplayLayout::Validate({456, 0x0504, 0x0605, 0x0406}, *layout));
|
||||
}
|
||||
|
||||
+#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
+
|
||||
namespace {
|
||||
|
||||
class TwoDisplays
|
||||
@@ -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 6ad16425f2fb3438be178cb06a85ef72f8d09e22..61509e2eb982797845098abf5f36e031be63686b 100644
|
||||
index 82e6f7c91bac6e8a973947dace1a33de8078a86b..1d298f66a2c2a0f02668af797b3a421fe5578d56 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
|
||||
@@ -664,7 +664,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
|
||||
@@ -636,7 +636,7 @@ void DesktopWindowTreeHostWin::SetOpacity(float opacity) {
|
||||
void DesktopWindowTreeHostWin::SetAspectRatio(
|
||||
const gfx::SizeF& aspect_ratio,
|
||||
const gfx::Size& excluded_margin) {
|
||||
@@ -19,10 +19,10 @@ index 6ad16425f2fb3438be178cb06a85ef72f8d09e22..61509e2eb982797845098abf5f36e031
|
||||
excluded_margin);
|
||||
}
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index ac502dee8a21725db9de2e232cb5092a0670f1d9..db2b841e973f05049f712c732ae8d4815a8aff7a 100644
|
||||
index a183cfe07b357e0b17e3781e85b79f7c371cbea8..ea67a60d78f4adec960bb4954486420bce423c14 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -992,8 +992,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen,
|
||||
@@ -1010,8 +1010,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 06fcdf2daf2ae50b8eb1a9b73b34b64926a3106e..029c8fd0102c0a4418151e0ccda7ef25be12cbd4 100644
|
||||
index ee56aab6831be256390b88e65a2a949c591bbd31..60c6977d2ffd0da0286e25e5645c11c19d6ab376 100644
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -1830,6 +1830,13 @@ void NetworkContext::SetNetworkConditions(
|
||||
@@ -1814,6 +1814,13 @@ void NetworkContext::SetNetworkConditions(
|
||||
std::move(network_conditions));
|
||||
}
|
||||
|
||||
@@ -51,10 +51,10 @@ index 06fcdf2daf2ae50b8eb1a9b73b34b64926a3106e..029c8fd0102c0a4418151e0ccda7ef25
|
||||
// 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 ca064589d9f2f6e00697f3b896ad522a5cf9bb6c..7ebbef514a99497fcb024a4a57adca6facf039fe 100644
|
||||
index 930e0bd987c48d111b2c8d71147c09e4418bda6c..9373a53c5cac879c689fcea77f1dbbb32cf35b9e 100644
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -325,6 +325,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
@@ -323,6 +323,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 ca064589d9f2f6e00697f3b896ad522a5cf9bb6c..7ebbef514a99497fcb024a4a57adca6f
|
||||
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 f510b5c5c79161f32a08219aa7f6cd7a722eed85..6bc2f6221fe61e861ece518381c697e4cf4727a1 100644
|
||||
index 399d0363749e9b79749185bcc1dcd746b026231e..1abd312f068e9326e4a9f95ed58bdb04e35afea8 100644
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -1278,6 +1278,9 @@ interface NetworkContext {
|
||||
@@ -1275,6 +1275,9 @@ interface NetworkContext {
|
||||
SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id,
|
||||
NetworkConditions? conditions);
|
||||
|
||||
@@ -77,10 +77,10 @@ index f510b5c5c79161f32a08219aa7f6cd7a722eed85..6bc2f6221fe61e861ece518381c697e4
|
||||
SetAcceptLanguage(string new_accept_language);
|
||||
|
||||
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
|
||||
index 81930f3b5ca760d4db9c65aeb36162ddea68a872..5d67e45515480b769ed6555f6e0c18f25fde1e6c 100644
|
||||
index da8551db16849cf82a6e3a7eaeb451cae0707f2d..6e20b8dd4f134ea7a8808223cd59064d89f5ce09 100644
|
||||
--- a/services/network/test/test_network_context.h
|
||||
+++ b/services/network/test/test_network_context.h
|
||||
@@ -159,6 +159,7 @@ class TestNetworkContext : public mojom::NetworkContext {
|
||||
@@ -158,6 +158,7 @@ class TestNetworkContext : public mojom::NetworkContext {
|
||||
void CloseIdleConnections(CloseIdleConnectionsCallback callback) override {}
|
||||
void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id,
|
||||
mojom::NetworkConditionsPtr conditions) override {}
|
||||
|
||||
@@ -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 085b00fbb3ff95cdcde2a46760ab449808b4c1a9..22d5c994a6944ce7ea725ee045d9801126c32dd4 100644
|
||||
index 31f5b160e4cd755cfb56a62b04261ee1bee80277..4305ba61d2489c5817785077d1ace8767b41bdde 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/scoped_refptr.h"
|
||||
#include "base/memory/ref_counted.h"
|
||||
#include "base/process/process.h"
|
||||
+#include "base/containers/span.h"
|
||||
+#include "base/memory/raw_span.h"
|
||||
@@ -179,7 +179,7 @@ index 08cbe32a258bf478f1da0a07064d3e9ef14c44a5..b9f2a43cb90fac4b031a4b4da38d6435
|
||||
if (!WriteToSocket(socket.fd(), to_send.data(), to_send.length())) {
|
||||
// Try to kill the other process, because it might have been dead.
|
||||
diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc
|
||||
index d91f58ebe3a024bc41ed72121c49172f68e0d862..7b85ba5ed8d0c2a152899ad65f275e6680a93dba 100644
|
||||
index d91f58ebe3a024bc41ed72121c49172f68e0d862..255160d6bd6b2ea1cd640fde8f4b4ce598148418 100644
|
||||
--- a/chrome/browser/process_singleton_win.cc
|
||||
+++ b/chrome/browser/process_singleton_win.cc
|
||||
@@ -81,10 +81,12 @@ BOOL CALLBACK BrowserWindowEnumeration(HWND window, LPARAM param) {
|
||||
@@ -197,7 +197,7 @@ index d91f58ebe3a024bc41ed72121c49172f68e0d862..7b85ba5ed8d0c2a152899ad65f275e66
|
||||
static const int min_message_size = 7;
|
||||
if (cds->cbData < min_message_size * sizeof(wchar_t) ||
|
||||
cds->cbData % sizeof(wchar_t) != 0) {
|
||||
@@ -134,6 +136,23 @@ bool ParseCommandLine(const COPYDATASTRUCT* cds,
|
||||
@@ -134,6 +136,37 @@ bool ParseCommandLine(const COPYDATASTRUCT* cds,
|
||||
const std::wstring cmd_line =
|
||||
msg.substr(second_null + 1, third_null - second_null);
|
||||
*parsed_command_line = base::CommandLine::FromString(cmd_line);
|
||||
@@ -210,18 +210,32 @@ index d91f58ebe3a024bc41ed72121c49172f68e0d862..7b85ba5ed8d0c2a152899ad65f275e66
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ // Get length of the additional data.
|
||||
+ const std::wstring additional_data_length_string =
|
||||
+ msg.substr(third_null + 1, fourth_null - third_null);
|
||||
+ size_t additional_data_length;
|
||||
+ base::StringToSizeT(additional_data_length_string, &additional_data_length);
|
||||
+
|
||||
+ const std::wstring::size_type fifth_null =
|
||||
+ msg.find_first_of(L'\0', fourth_null + 1);
|
||||
+ if (fifth_null == std::wstring::npos ||
|
||||
+ fifth_null == msg.length()) {
|
||||
+ LOG(WARNING) << "Invalid format for start command, we need a string in 6 "
|
||||
+ "parts separated by NULLs";
|
||||
+ }
|
||||
+
|
||||
+ // Get the actual additional data.
|
||||
+ const std::wstring additional_data =
|
||||
+ msg.substr(third_null + 1, fourth_null - third_null);
|
||||
+ base::span<const uint8_t> additional_data_bytes =
|
||||
+ base::as_byte_span(additional_data);
|
||||
+ *parsed_additional_data = std::vector<uint8_t>(
|
||||
+ additional_data_bytes.begin(), additional_data_bytes.end());
|
||||
+ msg.substr(fourth_null + 1, fifth_null - fourth_null);
|
||||
+ const uint8_t* additional_data_bytes =
|
||||
+ reinterpret_cast<const uint8_t*>(additional_data.c_str());
|
||||
+ *parsed_additional_data = std::vector<uint8_t>(additional_data_bytes,
|
||||
+ additional_data_bytes + additional_data_length);
|
||||
+
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -155,13 +174,14 @@ bool ProcessLaunchNotification(
|
||||
@@ -155,13 +188,14 @@ bool ProcessLaunchNotification(
|
||||
|
||||
base::CommandLine parsed_command_line(base::CommandLine::NO_PROGRAM);
|
||||
base::FilePath current_directory;
|
||||
@@ -239,7 +253,7 @@ index d91f58ebe3a024bc41ed72121c49172f68e0d862..7b85ba5ed8d0c2a152899ad65f275e66
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -265,9 +285,11 @@ bool ProcessSingleton::EscapeVirtualization(
|
||||
@@ -265,9 +299,11 @@ bool ProcessSingleton::EscapeVirtualization(
|
||||
ProcessSingleton::ProcessSingleton(
|
||||
const std::string& program_name,
|
||||
const base::FilePath& user_data_dir,
|
||||
@@ -251,7 +265,7 @@ index d91f58ebe3a024bc41ed72121c49172f68e0d862..7b85ba5ed8d0c2a152899ad65f275e66
|
||||
program_name_(program_name),
|
||||
is_app_sandboxed_(is_app_sandboxed),
|
||||
is_virtualized_(false),
|
||||
@@ -294,7 +316,7 @@ ProcessSingleton::NotifyResult ProcessSingleton::NotifyOtherProcess() {
|
||||
@@ -294,7 +330,7 @@ ProcessSingleton::NotifyResult ProcessSingleton::NotifyOtherProcess() {
|
||||
return PROCESS_NONE;
|
||||
}
|
||||
|
||||
@@ -261,7 +275,7 @@ index d91f58ebe3a024bc41ed72121c49172f68e0d862..7b85ba5ed8d0c2a152899ad65f275e66
|
||||
return PROCESS_NOTIFIED;
|
||||
case NotifyChromeResult::NOTIFY_FAILED:
|
||||
diff --git a/chrome/browser/win/chrome_process_finder.cc b/chrome/browser/win/chrome_process_finder.cc
|
||||
index 019ac7e93e009a713ce56ee8bcacf467b4fe769d..283693966c041340983aa78a95f8a274db601fb4 100644
|
||||
index 019ac7e93e009a713ce56ee8bcacf467b4fe769d..9417403bb9cacd0572b37493ab2d98130313db4d 100644
|
||||
--- a/chrome/browser/win/chrome_process_finder.cc
|
||||
+++ b/chrome/browser/win/chrome_process_finder.cc
|
||||
@@ -39,7 +39,9 @@ HWND FindRunningChromeWindow(const base::FilePath& user_data_dir) {
|
||||
@@ -275,13 +289,13 @@ index 019ac7e93e009a713ce56ee8bcacf467b4fe769d..283693966c041340983aa78a95f8a274
|
||||
TRACE_EVENT0("startup", "AttemptToNotifyRunningChrome");
|
||||
|
||||
DCHECK(remote_window);
|
||||
@@ -68,12 +70,24 @@ NotifyChromeResult AttemptToNotifyRunningChrome(HWND remote_window) {
|
||||
@@ -68,12 +70,29 @@ NotifyChromeResult AttemptToNotifyRunningChrome(HWND remote_window) {
|
||||
new_command_line.AppendSwitchNative(switches::kSourceShortcut, si.lpTitle);
|
||||
|
||||
// Send the command line to the remote chrome window.
|
||||
- // Format is "START\0<<<current directory>>>\0<<<commandline>>>".
|
||||
+ // Format is
|
||||
+ // "START\0<current-directory>\0<command-line>\0<additional-data>".
|
||||
+ // "START\0<current-directory>\0<command-line>\0<additional-data-length>\0<additional-data>".
|
||||
std::wstring to_send = base::StrCat(
|
||||
{std::wstring_view{L"START\0", 6}, cur_dir.value(),
|
||||
std::wstring_view{L"\0", 1}, new_command_line.GetCommandLineString(),
|
||||
@@ -289,6 +303,11 @@ index 019ac7e93e009a713ce56ee8bcacf467b4fe769d..283693966c041340983aa78a95f8a274
|
||||
|
||||
+ size_t additional_data_size = additional_data.size_bytes();
|
||||
+ if (additional_data_size) {
|
||||
+ // Send over the size, because the reinterpret cast to wchar_t could
|
||||
+ // add padding.
|
||||
+ to_send.append(base::UTF8ToWide(base::NumberToString(additional_data_size)));
|
||||
+ to_send.append(L"\0", 1); // Null separator.
|
||||
+
|
||||
+ size_t padded_size = additional_data_size / sizeof(wchar_t);
|
||||
+ if (additional_data_size % sizeof(wchar_t) != 0) {
|
||||
+ padded_size++;
|
||||
|
||||
@@ -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 0c6d689295a03fc088b57487037d85f4d634a5f4..8e3bab233e8611c68e79d53f125560f4fb086a1e 100644
|
||||
index dcf2d14d92f8b5a5dd7bf22f8ce00f030824c989..04d0f5d9416eaba569f49a25e7e8c1a89e50ecfe 100644
|
||||
--- a/ui/native_theme/native_theme_win.cc
|
||||
+++ b/ui/native_theme/native_theme_win.cc
|
||||
@@ -697,6 +697,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
|
||||
@@ -696,6 +696,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 2ae2cf67157ce8b161ae917291a913d237b7d535..c8c8cbe84e946cebde97a71b42815c62ccaf7b96 100644
|
||||
index 4e7115685a5bf6997e78edcc1851e28bd00b1aa2..ca51fe33605e855438e88969e3d3cc734ef4523e 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 3e010fbec46d799839a2c50ed14c1d5744e99a30..ed98c853ba013acb8908a1651742d510bc8e4475 100644
|
||||
index c19436994faa21246c8c2e53e96c7ce3fffede4f..31c2efe2acd8c11bb5a861fa42841fe0e76c1141 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 3e010fbec46d799839a2c50ed14c1d5744e99a30..ed98c853ba013acb8908a1651742d510
|
||||
class MultiBufferDataSource::ReadOperation {
|
||||
public:
|
||||
ReadOperation() = delete;
|
||||
@@ -149,7 +163,14 @@ bool MultiBufferDataSource::media_has_played() const {
|
||||
@@ -160,7 +174,14 @@ bool MultiBufferDataSource::media_has_played() const {
|
||||
|
||||
bool MultiBufferDataSource::AssumeFullyBuffered() const {
|
||||
DCHECK(url_data_);
|
||||
@@ -65,7 +65,7 @@ index 3e010fbec46d799839a2c50ed14c1d5744e99a30..ed98c853ba013acb8908a1651742d510
|
||||
|
||||
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 e886847425b1ea0b620a60e7b477249efac3c689..92dea7a9f491bb548f68d918ebde60cbf2a7d67f 100644
|
||||
index 5277d480ce3ac065501a986b323e8f3a983acd75..6666dd87cd8971c7ed05a4bc141e19b9be549e54 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 @@
|
||||
|
||||
@@ -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 caeaf418c3fcac7dba27110848205db851328881..52b54d5e88d3b73ca0b44113e2151896cf16e5e7 100644
|
||||
index def025dbffec3f44074604fcfb441b769886c3ab..459e8be9dcbf6d3ede156b57abcf9c9ede5587c7 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 d6ddb79521290790aeb8fbd997117cf3c6157c75..52a9536f4187418327f980fd3dd68211d8103374 100644
|
||||
index cad3cf44df0c65067d18490ee7694fd0f82153af..0f9b64a81e0c4114bd885b24ff65c458810ceb99 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 c810c580efea05ba9b3b41a90b289224220bb203..55864eed550b09ba41732c706a81a122594949d6 100644
|
||||
index be7a332d8c071f09a2a09c382e7c6c906008c9ec..8227df3c7faa07552c7ce5cc88941285dfa9ca9c 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 c810c580efea05ba9b3b41a90b289224220bb203..55864eed550b09ba41732c706a81a122
|
||||
#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"
|
||||
@@ -31,6 +36,8 @@ namespace content {
|
||||
#include "third_party/blink/public/common/page/v8_compile_hints_histograms.h"
|
||||
@@ -30,6 +35,8 @@ namespace content {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -175,7 +175,7 @@ index c810c580efea05ba9b3b41a90b289224220bb203..55864eed550b09ba41732c706a81a122
|
||||
bool SupportsSharedWorker() {
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// SharedWorkers are not enabled on Android. https://crbug.com/154571
|
||||
@@ -875,4 +882,82 @@ IN_PROC_BROWSER_TEST_F(LocalCompileHintsBrowserTest, LocalCompileHints) {
|
||||
@@ -874,4 +881,82 @@ IN_PROC_BROWSER_TEST_F(LocalCompileHintsBrowserTest, LocalCompileHints) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 e2c72b43f75b57ef1f49b82d3ecdfb425f8596de..51f8ff9b8424d098979a24c2e8628cdf7c4b758d 100644
|
||||
index 9e01e61bf1fce448a93eaa3d5f363fc835b78538..d210af6fb317c922a8415a67a7ccd1d8a4a88ea1 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() {
|
||||
@@ -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 5ff3c5dcb972eb635107557ea7c26eb1f3331d22..5b1939226dcb84a61b09eefe69ab24a5ad595e1b 100644
|
||||
index 824afc2cfd01a0321d1b01cd370243dafefa1d24..ab77c85595dd5bde9eb9fd21f4914e1f9dfd4433 100644
|
||||
--- a/content/browser/service_host/utility_sandbox_delegate.cc
|
||||
+++ b/content/browser/service_host/utility_sandbox_delegate.cc
|
||||
@@ -39,17 +39,19 @@ UtilitySandboxedProcessLauncherDelegate::
|
||||
@@ -38,17 +38,19 @@ UtilitySandboxedProcessLauncherDelegate::
|
||||
UtilitySandboxedProcessLauncherDelegate(
|
||||
sandbox::mojom::Sandbox sandbox_type,
|
||||
const base::EnvironmentMap& env,
|
||||
@@ -374,7 +374,7 @@ index 5ff3c5dcb972eb635107557ea7c26eb1f3331d22..5b1939226dcb84a61b09eefe69ab24a5
|
||||
#if DCHECK_IS_ON()
|
||||
bool supported_sandbox_type =
|
||||
sandbox_type_ == sandbox::mojom::Sandbox::kNoSandbox ||
|
||||
@@ -115,11 +117,28 @@ UtilitySandboxedProcessLauncherDelegate::GetSandboxType() {
|
||||
@@ -114,11 +116,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 32e70a4fa70ac2fc41d95813590fe9a7120eecde..54d292d737748302fa0369b73d876d84f1fec1d4 100644
|
||||
index a4c78d85e525224823ce4b2434519cc0a39922ef..8071b283b48ab89226313bb199c0cece67ca5039 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 6e991652d242795e292cea4c94cff59aaea078fa..b6834c78575520bb6e584dd2ce3333ac17299fef 100755
|
||||
index aa3a6b93cceae8c8bfbefdd7a043ae576f921979..17544d7ed4757fb51e2f82fd1b90638131ba05cc 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
|
||||
@@ -314,7 +314,7 @@ class CSSProperties(object):
|
||||
@@ -313,7 +313,7 @@ class CSSProperties(object):
|
||||
if name_without_leading_dash.startswith('-'):
|
||||
name_without_leading_dash = name_without_leading_dash[1:]
|
||||
internal_visited_order = 1
|
||||
if name_without_leading_dash.startswith(
|
||||
- 'internal-visited-'
|
||||
+ 'internal-'
|
||||
) or name_without_leading_dash.startswith(
|
||||
'internal-forced-visited-'):
|
||||
- if name_without_leading_dash.startswith('internal-visited-'):
|
||||
+ if name_without_leading_dash.startswith('internal-'):
|
||||
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 c3dfa4c1f53a6ebba5735214037e0d1c6a88961d..17a08450227844dceccbaab7ff9de60d6e058b1f 100644
|
||||
index 15ed205144fbb058bcc88953acb8380574cb7044..1795bceb2e7548c6e072c1bd2ce6abd0b3bd8188 100644
|
||||
--- a/third_party/blink/renderer/core/css/css_properties.json5
|
||||
+++ b/third_party/blink/renderer/core/css/css_properties.json5
|
||||
@@ -8822,6 +8822,24 @@
|
||||
@@ -8796,6 +8796,24 @@
|
||||
property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"],
|
||||
},
|
||||
|
||||
@@ -141,7 +141,7 @@ index c3dfa4c1f53a6ebba5735214037e0d1c6a88961d..17a08450227844dceccbaab7ff9de60d
|
||||
{
|
||||
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 ff1cc33c1787df522300a220000ad3d3123cd7bd..6b9e72f60db9af5ceeac7cc663ac666b0eeb7b09 100644
|
||||
index 10ab8a458fb3348476a6e904f684af77c55b103a..37339df2a5601b59abc50fe75fb844e1b7bb5368 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 ff1cc33c1787df522300a220000ad3d3123cd7bd..6b9e72f60db9af5ceeac7cc663ac666b
|
||||
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 206a0158a688ce807d656872179f4e50a7a1a237..967f547e9e3907f58a8f082311aba86f415f291d 100644
|
||||
index 3fb84db022f14819239cd55da79f43cb9b0bcbc7..c4b7ff8ea240054d9394a0691e978e9b10eecc50 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
|
||||
@@ -12048,5 +12048,25 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
||||
@@ -12047,5 +12047,25 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
||||
CSSValueID::kNone>(stream);
|
||||
}
|
||||
|
||||
@@ -184,10 +184,10 @@ index 206a0158a688ce807d656872179f4e50a7a1a237..967f547e9e3907f58a8f082311aba86f
|
||||
} // 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 5d803e8baebc35075d7475e091f97811407add79..50991917a87ff1a219fe2b3dd80dd055fd3e4289 100644
|
||||
index f7f49ef23b77c7a3f27ae8ba129e5eea1617d545..0ddf6f59c45d2f6212317dc18f3c5a80eeda5395 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
|
||||
@@ -3869,4 +3869,12 @@ PositionArea StyleBuilderConverter::ConvertPositionArea(
|
||||
@@ -3859,4 +3859,12 @@ PositionArea StyleBuilderConverter::ConvertPositionArea(
|
||||
return PositionArea(span[0], span[1], span[2], span[3]);
|
||||
}
|
||||
|
||||
@@ -201,7 +201,7 @@ index 5d803e8baebc35075d7475e091f97811407add79..50991917a87ff1a219fe2b3dd80dd055
|
||||
+
|
||||
} // 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 a33d85561b005010653c5e3a562227b1f379ec90..0c2d3b0e9b691477d46c892afc16d8b0421e7263 100644
|
||||
index b9f8145af13fb9d68e85f166905476c177c3a053..0a9ad304f5039747a0580ab63664d4429a67970d 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 {
|
||||
@@ -267,6 +267,33 @@ 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
|
||||
@@ -307,10 +334,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 b5a309cb7bad79f80fb43dcbcccbd8dc2fcdfef8..c90d8f2f283e9bd05184171d3971d0060731f67d 100644
|
||||
index 291676c6583722a3dfbac4d4aaad1ea2ae3cc079..5cd89e8c6c79ab339ffbc330d9bcdb08cca6e869 100644
|
||||
--- a/third_party/blink/renderer/platform/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
||||
@@ -1658,6 +1658,8 @@ component("platform") {
|
||||
@@ -1646,6 +1646,8 @@ component("platform") {
|
||||
"widget/widget_base.h",
|
||||
"widget/widget_base_client.h",
|
||||
"windows_keyboard_codes.h",
|
||||
@@ -320,7 +347,7 @@ index b5a309cb7bad79f80fb43dcbcccbd8dc2fcdfef8..c90d8f2f283e9bd05184171d3971d006
|
||||
|
||||
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 88e78f1d8050c73ae6a8929f23e636ef7a383404..17b63c5ecdcd8feb17b76a13392595c737c316b7 100644
|
||||
index b147b8d321d865295007516b15d0aaccfc6f7fac..8f54a3a657c660a52fcd4c94865ca2197b0af514 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 {
|
||||
@@ -373,7 +400,7 @@ index 88e78f1d8050c73ae6a8929f23e636ef7a383404..17b63c5ecdcd8feb17b76a13392595c7
|
||||
|
||||
// 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 b17bc9760b97b1e72783ae174ffa0f69ca830462..226b546694524e3848ea849059df74970403690e 100644
|
||||
index 346cfc0b13b31808fbe1381b3785150810f347bb..ebb2be8cc3bb71c4df6526d743a851121e36c138 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 @@
|
||||
@@ -384,7 +411,7 @@ index b17bc9760b97b1e72783ae174ffa0f69ca830462..226b546694524e3848ea849059df7497
|
||||
#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"
|
||||
@@ -241,6 +242,26 @@ PathBuilder& PathBuilder::AddContouredRect(
|
||||
@@ -231,6 +232,26 @@ PathBuilder& PathBuilder::AddContouredRect(
|
||||
AddRoundedRect(target_rect);
|
||||
return *this;
|
||||
}
|
||||
@@ -410,4 +437,4 @@ index b17bc9760b97b1e72783ae174ffa0f69ca830462..226b546694524e3848ea849059df7497
|
||||
+
|
||||
const FloatRoundedRect& origin_rect = contoured_rect.GetOriginRect();
|
||||
|
||||
// This would include the outer border of the rect, as well as shadow and
|
||||
if (origin_rect == target_rect) {
|
||||
|
||||
@@ -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 3c43af49c5d6d5f604c71e9a9dc1f7afe9aaf0f7..857e422776e7ec33eaf4c9983d42d6433b7723cc 100644
|
||||
index 067b3cc0d6a8b5990dc4bad0f15e47bd4922a26a..4aaf506c9fadb3f4c5a79560bf4558462d2c8705 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 80b4d99c08b622b080cf6d725ebc3cdfbcad7d32..d9c56e04dfd771368a82b852daae297a47fde80e 100644
|
||||
index 446229f7dea794a0148543d112c63b8c38183262..15d097a5761a07cfbc763d6fc739ca35cf3c8660 100644
|
||||
--- a/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
+++ b/components/viz/service/display_embedder/software_output_device_mac.cc
|
||||
@@ -112,6 +112,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage(
|
||||
@@ -111,6 +111,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage(
|
||||
|
||||
SkCanvas* SoftwareOutputDeviceMac::BeginPaint(
|
||||
const gfx::Rect& new_damage_rect) {
|
||||
@@ -216,7 +216,7 @@ index 80b4d99c08b622b080cf6d725ebc3cdfbcad7d32..d9c56e04dfd771368a82b852daae297a
|
||||
// Record the previous paint buffer.
|
||||
Buffer* previous_paint_buffer =
|
||||
buffer_queue_.empty() ? nullptr : buffer_queue_.back().get();
|
||||
@@ -202,6 +204,7 @@ void SoftwareOutputDeviceMac::EndPaint() {
|
||||
@@ -199,6 +201,7 @@ void SoftwareOutputDeviceMac::EndPaint() {
|
||||
ca_layer_params.is_empty = false;
|
||||
ca_layer_params.scale_factor = scale_factor_;
|
||||
ca_layer_params.pixel_size = pixel_size_;
|
||||
@@ -522,10 +522,10 @@ index f0aca972c4a81c3dfb536e14244daafae21ee716..a15afbc1a3519e657121b4952444d2f4
|
||||
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 391004b202e6f20ad06eb6a53a6d55f5e8981c75..acb849f4e737de45e7aa4640b6866791424f010b 100644
|
||||
index 2b6ceac536ca667caad8f1aa1d8ab6c5139083d8..869468a0ab7708fc300a098c47d5d490f17190a8 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
|
||||
@@ -130,7 +130,8 @@ RootCompositorFrameSinkImpl::Create(
|
||||
@@ -115,7 +115,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 8e2ddfa9337b5ba952a186a85bce78d39a62e8bd..efb54a95b2ad76546eafa1907064a298961b1a4d 100644
|
||||
index 7839f5afb9ac1aef3f809042d14e6bf2f48f84af..7df780d195e3cfcbfc0857133f2c0d21abe04121 100644
|
||||
--- a/content/browser/compositor/viz_process_transport_factory.cc
|
||||
+++ b/content/browser/compositor/viz_process_transport_factory.cc
|
||||
@@ -389,8 +389,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
|
||||
@@ -431,8 +431,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
|
||||
mojo::AssociatedRemote<viz::mojom::DisplayPrivate> display_private;
|
||||
root_params->display_private =
|
||||
display_private.BindNewEndpointAndPassReceiver();
|
||||
@@ -585,10 +585,10 @@ index 8e2ddfa9337b5ba952a186a85bce78d39a62e8bd..efb54a95b2ad76546eafa1907064a298
|
||||
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 afdda5292ce89d6dac6eaa1e3476fdfd0e9e7f08..8147e4bf6173699df6ab9492898989c68ffbb2b8 100644
|
||||
index 3046e60995bceb1c9931038be3d309577a830a60..4476f48510f807d03f05a4afa2a648dac8720010 100644
|
||||
--- a/services/viz/privileged/mojom/compositing/display_private.mojom
|
||||
+++ b/services/viz/privileged/mojom/compositing/display_private.mojom
|
||||
@@ -123,7 +123,6 @@ interface DisplayClient {
|
||||
@@ -125,7 +125,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 385074e896f4a2e66dec8f5629a2f60b06affb0a..8d37f968825055d1d86da2cf0aac5d011fef7e8c 100644
|
||||
index c802f9aae242c1be364890e0e6968d09be87f946..38b6c47f526b428562f340966352d32ba918f2d5 100644
|
||||
--- a/ui/compositor/compositor.h
|
||||
+++ b/ui/compositor/compositor.h
|
||||
@@ -88,6 +88,7 @@ class DisplayPrivate;
|
||||
@@ -657,7 +657,7 @@ index 385074e896f4a2e66dec8f5629a2f60b06affb0a..8d37f968825055d1d86da2cf0aac5d01
|
||||
// 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
|
||||
@@ -631,6 +644,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -629,6 +642,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
simple_begin_frame_observers_;
|
||||
std::unique_ptr<ui::HostBeginFrameObserver> host_begin_frame_observer_;
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ 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 51f8ff9b8424d098979a24c2e8628cdf7c4b758d..19d8ed89211402e93632c4d83dbf452d4194a14c 100644
|
||||
index d210af6fb317c922a8415a67a7ccd1d8a4a88ea1..0de01879f618555030e87ea79a94d41232811c2c 100644
|
||||
--- a/content/browser/service_host/utility_process_host.cc
|
||||
+++ b/content/browser/service_host/utility_process_host.cc
|
||||
@@ -541,7 +541,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
|
||||
|
||||
@@ -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 3d388a85aaf52acdcc2b7aaea56f5a24b2435bff..7a0d28cbf1651e76a4356f1193b502d27e7a8ed4 100644
|
||||
index a179c9bc02158130f4b15bf8022721f4b53a8303..8fd3f42725e6618737110459b1b1021e3709f0df 100644
|
||||
--- a/components/os_crypt/sync/keychain_password_mac.mm
|
||||
+++ b/components/os_crypt/sync/keychain_password_mac.mm
|
||||
@@ -25,6 +25,12 @@
|
||||
@@ -24,6 +24,12 @@
|
||||
using KeychainNameContainerType = const base::NoDestructor<std::string>;
|
||||
#endif
|
||||
|
||||
@@ -28,39 +28,55 @@ index 3d388a85aaf52acdcc2b7aaea56f5a24b2435bff..7a0d28cbf1651e76a4356f1193b502d2
|
||||
namespace {
|
||||
|
||||
// These two strings ARE indeed user facing. But they are used to access
|
||||
@@ -79,10 +85,47 @@
|
||||
KeychainPassword::~KeychainPassword() = default;
|
||||
|
||||
@@ -83,11 +89,18 @@
|
||||
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 = 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));
|
||||
+ }
|
||||
+ const std::string suffixed_account_name = account_name + account_name_suffix;
|
||||
+
|
||||
+ // 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 (password.error() != errSecItemNotFound) {
|
||||
+ OSSTATUS_LOG(ERROR, password.error()) << "Keychain lookup for suffixed key failed";
|
||||
+ if (error != errSecItemNotFound) {
|
||||
+ OSSTATUS_LOG(ERROR, 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;
|
||||
+ password =
|
||||
+ keychain_->FindGenericPassword(GetServiceName(), GetAccountName(),
|
||||
+ item_ref.InitializeInto());
|
||||
|
||||
if (password.has_value()) {
|
||||
+ 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);
|
||||
+
|
||||
+ // If we found the legacy account name we should copy it over to
|
||||
+ // the new suffixed account
|
||||
+ OSStatus error = keychain_->AddGenericPassword(
|
||||
+ GetServiceName(), suffixed_account_name, *password);
|
||||
+ error = keychain_->AddGenericPassword(
|
||||
+ service_name.size(), service_name.data(), suffixed_account_name.size(),
|
||||
+ suffixed_account_name.data(), password.size(), password_data, NULL);
|
||||
+
|
||||
+ if (error == noErr) {
|
||||
+ // If we successfully made the suffixed account we can delete the old
|
||||
@@ -74,147 +90,12 @@ index 3d388a85aaf52acdcc2b7aaea56f5a24b2435bff..7a0d28cbf1651e76a4356f1193b502d2
|
||||
+ OSSTATUS_DLOG(ERROR, error) << "Keychain add for suffixed key failed";
|
||||
+ }
|
||||
+
|
||||
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
|
||||
+ keychain_->ItemFreeContent(password_data);
|
||||
+ return password;
|
||||
+ }
|
||||
+
|
||||
// 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,
|
||||
+ // 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());
|
||||
|
||||
@@ -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 28355f4c6c3cbbe60e827246e88107ce7374104a..4183f448dc40f0fbe1fabadf58f09eeb84c9f684 100644
|
||||
index 7d97d0fd5481bead1f655f2f933a3ae89a729834..9b4c41209190086353b9a87833c07aabb47470bd 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 28355f4c6c3cbbe60e827246e88107ce7374104a..4183f448dc40f0fbe1fabadf58f09eeb
|
||||
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 8634c50fbede68bf5497ed50e258eecac594b4d4..c6f06966f0f58e5087e1f62537eecffc95cd1962 100644
|
||||
index 538e2a52da142a442342383d223ea0d90b75be8f..19f0defab1d1ba3369423842e4eabbceee781091 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 8634c50fbede68bf5497ed50e258eecac594b4d4..c6f06966f0f58e5087e1f62537eecffc
|
||||
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 e67d4d6f11cb68cfc7f6f1dad60285cbaf905e76..e8e35f02b4a9c5662cd8b2cbb7dbb30e31efd4f3 100644
|
||||
index 2021e4c8f05008dd57e67c14fc7e66bf49bd6e3e..2a5ed7fc54f9efd773ec6dded1b66bb9c9f26580 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 e67d4d6f11cb68cfc7f6f1dad60285cbaf905e76..e8e35f02b4a9c5662cd8b2cbb7dbb30e
|
||||
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 91628c93c415d8293ac989bdf9135cf2c8c59557..a51f9ca3f06ada3232c52b2b3e39a4433860bf2a 100644
|
||||
index 30a38e3f82360417b682c516263f62181825c621..db8a479f483a041a6944465deb6f799a2a9bd93a 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 91628c93c415d8293ac989bdf9135cf2c8c59557..a51f9ca3f06ada3232c52b2b3e39a443
|
||||
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 e4ebfcfbbd56e284dcb88918a779abccc467a4af..f22dc2c544c676e3c0bd318f21cba11205ed8386 100644
|
||||
index 78fa9126457ee380b12e39e3bf35ea4c2ccaa36c..4f39fa5d3bd665e3343882d11f1ab5747c80610e 100644
|
||||
--- a/services/network/public/mojom/url_request.mojom
|
||||
+++ b/services/network/public/mojom/url_request.mojom
|
||||
@@ -86,6 +86,9 @@ struct TrustedUrlRequestParams {
|
||||
@@ -74,6 +74,9 @@ struct TrustedUrlRequestParams {
|
||||
// client which should not be able to see them.
|
||||
bool include_request_cookies_with_response = false;
|
||||
|
||||
@@ -90,18 +90,18 @@ index e4ebfcfbbd56e284dcb88918a779abccc467a4af..f22dc2c544c676e3c0bd318f21cba112
|
||||
// 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 99bf736ebe303d46ab1ced924ba929a0cd258909..e10c8782d2704ff9cff8062d201a433935b66964 100644
|
||||
index 72188dae668f2bd91b8b7f181448f459600a82c2..b3dae05e160160cc8f2decee5af78c21bd76c822 100644
|
||||
--- a/services/network/public/mojom/url_response_head.mojom
|
||||
+++ b/services/network/public/mojom/url_response_head.mojom
|
||||
@@ -14,6 +14,7 @@ import "services/network/public/mojom/encoded_body_length.mojom";
|
||||
@@ -13,6 +13,7 @@ import "services/network/public/mojom/attribution.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/load_timing_internal_info.mojom";
|
||||
@@ -52,6 +53,9 @@ struct URLResponseHead {
|
||||
import "services/network/public/mojom/network_param.mojom";
|
||||
@@ -51,6 +52,9 @@ struct URLResponseHead {
|
||||
// The response headers or NULL if the URL type does not support headers.
|
||||
HttpResponseHeaders headers;
|
||||
|
||||
@@ -112,10 +112,10 @@ index 99bf736ebe303d46ab1ced924ba929a0cd258909..e10c8782d2704ff9cff8062d201a4339
|
||||
string mime_type;
|
||||
|
||||
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
|
||||
index 35d3acb1a088a7b4cba7b062a62e8033c31dfe52..9770306449b39f26c047ed0c15cba9feae55c5d3 100644
|
||||
index 01ddddb7f8f3723814cca8c38ed7150ee1270d57..9a79c530f3b9bfec8ce7307cf202efba8f14c905 100644
|
||||
--- a/services/network/url_loader.cc
|
||||
+++ b/services/network/url_loader.cc
|
||||
@@ -386,6 +386,9 @@ URLLoader::URLLoader(
|
||||
@@ -673,6 +673,9 @@ URLLoader::URLLoader(
|
||||
mojo::SimpleWatcher::ArmingPolicy::MANUAL,
|
||||
base::SequencedTaskRunner::GetCurrentDefault()),
|
||||
per_factory_orb_state_(context.GetMutableOrbState()),
|
||||
@@ -125,7 +125,7 @@ index 35d3acb1a088a7b4cba7b062a62e8033c31dfe52..9770306449b39f26c047ed0c15cba9fe
|
||||
devtools_request_id_(request.devtools_request_id),
|
||||
options_(PopulateOptions(options,
|
||||
factory_params_->is_orb_enabled,
|
||||
@@ -521,7 +524,7 @@ void URLLoader::SetUpUrlRequestCallbacks(
|
||||
@@ -982,7 +985,7 @@ void URLLoader::ConfigureRequest(
|
||||
&URLLoader::IsSharedDictionaryReadAllowed, base::Unretained(this)));
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ index 35d3acb1a088a7b4cba7b062a62e8033c31dfe52..9770306449b39f26c047ed0c15cba9fe
|
||||
url_request_->SetResponseHeadersCallback(base::BindRepeating(
|
||||
&URLLoader::SetRawResponseHeaders, base::Unretained(this)));
|
||||
}
|
||||
@@ -1126,6 +1129,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
@@ -2146,6 +2149,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
}
|
||||
|
||||
response_ = BuildResponseHead();
|
||||
@@ -153,12 +153,12 @@ index 35d3acb1a088a7b4cba7b062a62e8033c31dfe52..9770306449b39f26c047ed0c15cba9fe
|
||||
+ }
|
||||
DispatchOnRawResponse();
|
||||
|
||||
ad_auction_event_record_request_helper_.HandleResponse(
|
||||
// Parse and remove the Trust Tokens response headers, if any are expected,
|
||||
diff --git a/services/network/url_loader.h b/services/network/url_loader.h
|
||||
index f4d16508d4a34f9991b1b2f4e519e6cb2a7f5a73..099e146bc04bb4eb768c79099c5646ad7a029382 100644
|
||||
index e6962f686212ca39d66b5d21bd3ff1f852e83644..fd3eb86e2f0f9b3705029befc54c85690e8ca519 100644
|
||||
--- a/services/network/url_loader.h
|
||||
+++ b/services/network/url_loader.h
|
||||
@@ -599,6 +599,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||
@@ -773,6 +773,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 0aae1d3b2777d5f6db711d1ade99b4bde24e76bf..e350f6789c710826e0885ccdc19e66e2213820df 100644
|
||||
index 6f4d9651862e90abaa22b93e1dcf97ac07592c5c..d91d81297e7cdb79ee7b7a3979dcedf977e16c92 100644
|
||||
--- a/components/permissions/permission_util.cc
|
||||
+++ b/components/permissions/permission_util.cc
|
||||
@@ -502,6 +502,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
|
||||
@@ -389,6 +389,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
|
||||
return ContentSettingsType::WEB_APP_INSTALLATION;
|
||||
case PermissionType::LOCAL_NETWORK_ACCESS:
|
||||
return ContentSettingsType::LOCAL_NETWORK_ACCESS;
|
||||
@@ -32,7 +32,7 @@ index 0aae1d3b2777d5f6db711d1ade99b4bde24e76bf..e350f6789c710826e0885ccdc19e66e2
|
||||
break;
|
||||
}
|
||||
diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc
|
||||
index bc4dd4c643f2aa4cba07c0560e14f65f3c6aa291..b1c9f2d59559ed33cd32ad1f22b221029018cf0f 100644
|
||||
index 0c6b537ddc2afbc4cd22f1c08f1bbae3c3bbffe3..333f557c89bc03ae5b25060359b9af096b188726 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,22 +43,8 @@ index bc4dd4c643f2aa4cba07c0560e14f65f3c6aa291..b1c9f2d59559ed33cd32ad1f22b22102
|
||||
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 b19b5781f426bdfd4a8b6dfbead0f854545ca90a..9833c25f97e55ab7e7095243c307a90fbf4b53d8 100644
|
||||
index aad897dbc32caa3469a2f04b4f004355888c84d8..875260fc2a884ab5b1e62cd45fc91c2e4dc162ee 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) {
|
||||
@@ -71,15 +57,15 @@ index b19b5781f426bdfd4a8b6dfbead0f854545ca90a..9833c25f97e55ab7e7095243c307a90f
|
||||
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 5c82a641538802bc459782ea422a1186045b054a..c286d87043ec4cb2e51ec9d82d08e4c84f5a270c 100644
|
||||
index 947bd8125bf300a3a82c811810e31996e6147c7c..caeeaf6cecf7da47c39b140dfcc295fba12f6f84 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 {
|
||||
@@ -90,25 +76,11 @@ index 5c82a641538802bc459782ea422a1186045b054a..c286d87043ec4cb2e51ec9d82d08e4c8
|
||||
|
||||
// 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 5c71490d17ffe3f2f57b18e58e947f20ff3f66e3..75209a69c33780a0c71d48e184cc1897f0cb8a36 100644
|
||||
index 28f616f21f998c7cd1c794e58efaccf9e6c11e6e..c64896642209124e500db2ed6fe2357e426cd10b 100644
|
||||
--- a/third_party/blink/public/platform/web_content_settings_client.h
|
||||
+++ b/third_party/blink/public/platform/web_content_settings_client.h
|
||||
@@ -54,6 +54,9 @@ class WebContentSettingsClient {
|
||||
@@ -55,6 +55,9 @@ class WebContentSettingsClient {
|
||||
// Controls whether access to write the clipboard is allowed for this frame.
|
||||
virtual bool AllowWriteToClipboard() { return false; }
|
||||
|
||||
@@ -140,16 +112,3 @@ 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 6e706c32ca4c2a5d0831588ee2eea8a8059f04fe..09509acd13511525b0eb7b9afa972e20d8d3601c 100644
|
||||
index ecab7d7f95998a055f01d7b5180a8fb80eddb32c..5c74a092920cdb3b7e98d218c75874cac2d0542f 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -936,13 +936,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
|
||||
@@ -954,13 +954,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
|
||||
|
||||
void HWNDMessageHandler::PaintAsActiveChanged() {
|
||||
if (!delegate_->HasNonClientView() || !delegate_->CanActivate() ||
|
||||
@@ -33,7 +33,7 @@ index 6e706c32ca4c2a5d0831588ee2eea8a8059f04fe..09509acd13511525b0eb7b9afa972e20
|
||||
}
|
||||
|
||||
void HWNDMessageHandler::SetWindowIcons(const gfx::ImageSkia& window_icon,
|
||||
@@ -1739,7 +1739,7 @@ void HWNDMessageHandler::OnActivateApp(BOOL active, DWORD thread_id) {
|
||||
@@ -1757,7 +1757,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.
|
||||
@@ -42,7 +42,7 @@ index 6e706c32ca4c2a5d0831588ee2eea8a8059f04fe..09509acd13511525b0eb7b9afa972e20
|
||||
DefWindowProcWithRedrawLock(WM_NCACTIVATE, FALSE, 0);
|
||||
}
|
||||
}
|
||||
@@ -2347,17 +2347,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
|
||||
@@ -2365,17 +2365,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 a6b64cc3dca3f62893e323de781b790f72924b66..7527e9d69ae0d43a00fbd5f5d5ced11af04da378 100644
|
||||
index 91db1bbd912807833243c101e126e42ad5579d2b..7c624e0babddbca7c0deef1d805ccbfc21e6e9a9 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 a6b64cc3dca3f62893e323de781b790f72924b66..7527e9d69ae0d43a00fbd5f5d5ced11a
|
||||
#include "chrome/common/chrome_switches.h"
|
||||
#include "components/history/core/browser/history_service.h"
|
||||
#include "components/history/core/browser/history_types.h"
|
||||
@@ -272,11 +276,13 @@ void FullscreenController::EnterFullscreenModeForTab(
|
||||
@@ -271,11 +275,13 @@ void FullscreenController::EnterFullscreenModeForTab(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ index a6b64cc3dca3f62893e323de781b790f72924b66..7527e9d69ae0d43a00fbd5f5d5ced11a
|
||||
|
||||
// Keep the current state. |SetTabWithExclusiveAccess| may change the return
|
||||
// value of |IsWindowFullscreenForTabOrPending|.
|
||||
@@ -389,12 +395,14 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) {
|
||||
@@ -388,12 +394,14 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) {
|
||||
void FullscreenController::FullscreenTabOpeningPopup(
|
||||
content::WebContents* opener,
|
||||
content::WebContents* popup) {
|
||||
@@ -65,7 +65,7 @@ index a6b64cc3dca3f62893e323de781b790f72924b66..7527e9d69ae0d43a00fbd5f5d5ced11a
|
||||
}
|
||||
|
||||
void FullscreenController::OnTabDeactivated(
|
||||
@@ -484,10 +492,12 @@ void FullscreenController::FullscreenTransitionCompleted() {
|
||||
@@ -483,10 +491,12 @@ void FullscreenController::FullscreenTransitionCompleted() {
|
||||
#endif // DCHECK_IS_ON()
|
||||
tab_fullscreen_target_display_id_ = display::kInvalidDisplayId;
|
||||
started_fullscreen_transition_ = false;
|
||||
@@ -78,7 +78,7 @@ index a6b64cc3dca3f62893e323de781b790f72924b66..7527e9d69ae0d43a00fbd5f5d5ced11a
|
||||
}
|
||||
|
||||
void FullscreenController::RunOrDeferUntilTransitionIsComplete(
|
||||
@@ -617,18 +627,17 @@ void FullscreenController::EnterFullscreenModeInternal(
|
||||
@@ -616,18 +626,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 a6b64cc3dca3f62893e323de781b790f72924b66..7527e9d69ae0d43a00fbd5f5d5ced11a
|
||||
if (option == TAB) {
|
||||
origin = GetRequestingOrigin();
|
||||
tab_fullscreen_ = true;
|
||||
@@ -665,6 +674,7 @@ void FullscreenController::EnterFullscreenModeInternal(
|
||||
@@ -662,6 +671,7 @@ void FullscreenController::EnterFullscreenModeInternal(
|
||||
origin = url::Origin::Create(extension_url_.value());
|
||||
}
|
||||
}
|
||||
@@ -110,7 +110,7 @@ index a6b64cc3dca3f62893e323de781b790f72924b66..7527e9d69ae0d43a00fbd5f5d5ced11a
|
||||
|
||||
fullscreen_start_time_ = base::TimeTicks::Now();
|
||||
if (option == BROWSER) {
|
||||
@@ -686,6 +696,7 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
@@ -683,6 +693,7 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ index a6b64cc3dca3f62893e323de781b790f72924b66..7527e9d69ae0d43a00fbd5f5d5ced11a
|
||||
// `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 =
|
||||
@@ -697,15 +708,16 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
@@ -694,15 +705,16 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
.Record(ukm::UkmRecorder::Get());
|
||||
fullscreen_start_time_.reset();
|
||||
}
|
||||
@@ -138,7 +138,7 @@ index a6b64cc3dca3f62893e323de781b790f72924b66..7527e9d69ae0d43a00fbd5f5d5ced11a
|
||||
exclusive_access_manager()->context()->ExitFullscreen();
|
||||
extension_url_.reset();
|
||||
exclusive_access_manager()->UpdateBubble(base::NullCallback());
|
||||
@@ -769,8 +781,12 @@ url::Origin FullscreenController::GetEmbeddingOrigin() const {
|
||||
@@ -766,8 +778,12 @@ url::Origin FullscreenController::GetEmbeddingOrigin() const {
|
||||
void FullscreenController::RecordMetricsOnFullscreenApiRequested(
|
||||
content::RenderFrameHost* requesting_frame) {
|
||||
history::HistoryService* service =
|
||||
|
||||
@@ -15,10 +15,10 @@ 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
|
||||
index 7bda1853d47034c80a4e416b9839e8d18c5a8e2c..e5df49253103c44f01195fa93988753fb163d13e 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,
|
||||
@@ -659,9 +659,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();
|
||||
@@ -31,10 +31,10 @@ index b51482ecbb8eaed649ae0ea9dd9c7c71125b51a2..0180a182a8b55df4e515d77f696fa442
|
||||
|
||||
// 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
|
||||
index 44c9248daecd67ccbc32f9afdbb8e7449d435b6c..e7d43ffc134e76f54aa5a71c668ce725a3f9bf6a 100644
|
||||
--- a/ui/views/widget/widget.h
|
||||
+++ b/ui/views/widget/widget.h
|
||||
@@ -1238,6 +1238,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||
@@ -1223,6 +1223,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||
// True if widget was created in headless mode.
|
||||
bool is_headless() const { return is_headless_; }
|
||||
|
||||
|
||||
@@ -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 db2b841e973f05049f712c732ae8d4815a8aff7a..5919efa661c3b1ed210f7a67f85fdd3882011bae 100644
|
||||
index ea67a60d78f4adec960bb4954486420bce423c14..701f89b053674be1bad0a1a3612340a65c1ccfe7 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -3782,15 +3782,30 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
|
||||
@@ -3790,15 +3790,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 0dbbaddc1bef8b5a1b253297f47c33601dc6fe67..0c84f727b29c742ba4c2edd38dfa16d1f48df76f 100644
|
||||
index 29740121f137118836c6ace05f302cc8aa671d90..7ae2270bc89c4a77f56055283f77d44c7474031b 100644
|
||||
--- a/content/browser/renderer_host/navigation_request.cc
|
||||
+++ b/content/browser/renderer_host/navigation_request.cc
|
||||
@@ -11110,6 +11110,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
|
||||
@@ -11099,6 +11099,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
|
||||
"blob");
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ index 0dbbaddc1bef8b5a1b253297f47c33601dc6fe67..0c84f727b29c742ba4c2edd38dfa16d1
|
||||
// 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 b2329dcaf3ef464fc4b7db477e2431017711d501..635029fa9680eeb6d01223c5cf683c7854763f40 100644
|
||||
index ca61af9af555e267228430496118797eff130160..bb7c020ba1672e21a3ffee13ff1d3934bde0f099 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 70cf60c1e6afd16995cf3446d5ed9a87ce29e998..f886b4e9446c23f6b83d6d89165d09c6ab7f5d97 100644
|
||||
index 633e5c77e410404053f46ce92a37f30cf743cac0..2b3688df2b5b89c931a84a0e91048ae80a814ac0 100644
|
||||
--- a/ui/compositor/compositor.cc
|
||||
+++ b/ui/compositor/compositor.cc
|
||||
@@ -362,7 +362,8 @@ void Compositor::SetLayerTreeFrameSink(
|
||||
@@ -357,7 +357,8 @@ void Compositor::SetLayerTreeFrameSink(
|
||||
if (display_private_) {
|
||||
disabled_swap_until_resize_ = false;
|
||||
display_private_->Resize(size());
|
||||
@@ -25,7 +25,7 @@ index 70cf60c1e6afd16995cf3446d5ed9a87ce29e998..f886b4e9446c23f6b83d6d89165d09c6
|
||||
display_private_->SetDisplayColorSpaces(display_color_spaces_);
|
||||
display_private_->SetDisplayColorMatrix(
|
||||
gfx::SkM44ToTransform(display_color_matrix_));
|
||||
@@ -613,7 +614,9 @@ void Compositor::SetVisible(bool visible) {
|
||||
@@ -582,7 +583,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 70cf60c1e6afd16995cf3446d5ed9a87ce29e998..f886b4e9446c23f6b83d6d89165d09c6
|
||||
|
||||
if (changed) {
|
||||
observer_list_.Notify(&CompositorObserver::OnCompositorVisibilityChanged,
|
||||
@@ -1077,6 +1080,15 @@ void Compositor::MaybeUpdateObserveBeginFrame() {
|
||||
@@ -1046,6 +1049,15 @@ void Compositor::MaybeUpdateObserveBeginFrame() {
|
||||
host_begin_frame_observer_->GetBoundRemote());
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ index 70cf60c1e6afd16995cf3446d5ed9a87ce29e998..f886b4e9446c23f6b83d6d89165d09c6
|
||||
void Compositor::SetSeamlessRefreshRates(
|
||||
const std::vector<float>& seamless_refresh_rates) {
|
||||
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
|
||||
index 8d37f968825055d1d86da2cf0aac5d011fef7e8c..26ddb952b8473ff549d7af969156c78117277bd1 100644
|
||||
index 38b6c47f526b428562f340966352d32ba918f2d5..4816d7377b39427c0bed9b4c7bab3b410699f5cf 100644
|
||||
--- a/ui/compositor/compositor.h
|
||||
+++ b/ui/compositor/compositor.h
|
||||
@@ -515,6 +515,10 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -67,7 +67,7 @@ index 8d37f968825055d1d86da2cf0aac5d011fef7e8c..26ddb952b8473ff549d7af969156c781
|
||||
size_t saved_events_metrics_count_for_testing() const {
|
||||
return host_->saved_events_metrics_count_for_testing();
|
||||
}
|
||||
@@ -725,6 +729,12 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -723,6 +727,12 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
// See go/report-ux-metrics-at-painting for details.
|
||||
bool animation_started_ = false;
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: deepak1556 <hop2deep@gmail.com>
|
||||
Date: Sat, 1 Mar 2025 05:11:41 +0900
|
||||
Subject: fix: enable __wrap_iter in string_view and array
|
||||
|
||||
Refs https://github.com/electron/electron/issues/45810#issuecomment-2691417213
|
||||
|
||||
Patch can be removed when build_make_libcxx_abi_unstable_false_for_electron.patch is removed.
|
||||
|
||||
diff --git a/buildtools/third_party/libc++/__config_site b/buildtools/third_party/libc++/__config_site
|
||||
index e240ff6fff94a6cebf8662996712fe7eb22e5fff..ddf1693002aa171b3d91aa4ef08f5b360e4adddc 100644
|
||||
--- a/buildtools/third_party/libc++/__config_site
|
||||
+++ b/buildtools/third_party/libc++/__config_site
|
||||
@@ -19,6 +19,8 @@
|
||||
#define _LIBCPP_ABI_NAMESPACE __Cr
|
||||
|
||||
#define _LIBCPP_ABI_VERSION 1
|
||||
+#define _LIBCPP_ABI_USE_WRAP_ITER_IN_STD_ARRAY
|
||||
+#define _LIBCPP_ABI_USE_WRAP_ITER_IN_STD_STRING_VIEW
|
||||
|
||||
#define _LIBCPP_ABI_FORCE_ITANIUM 0
|
||||
#define _LIBCPP_ABI_FORCE_MICROSOFT 0
|
||||
@@ -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 2a898d2a60cfa2f5167b10fabe95b327bb68bf23..361c80ba0b26e786a27ab264767ba75e1c888716 100644
|
||||
index 378bd0df75ca2283d2c87b31b3f8a50deda553ed..06dda222dd86f11fb9aa1a19bf1334d28a514bac 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 0fcb43d631eb638ad6879539dee8ad8a21da945b..86f8756f038a68bae29072318d874e23e4d00707 100644
|
||||
index 86ee14757d2373ef6410d1785547676b0fcb806b..6069382276151a5126bf0279e0f1ce9e356166ed 100644
|
||||
--- a/ui/events/x/events_x_utils.cc
|
||||
+++ b/ui/events/x/events_x_utils.cc
|
||||
@@ -594,6 +594,9 @@ gfx::Point EventLocationFromXEvent(const x11::Event& xev) {
|
||||
@@ -591,6 +591,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 58aa3d5b24355a4346c9d6992e6090d28cad513f..96c28c190f98c76c0defeaabda092ebdf6fb44c6 100644
|
||||
index e4a27a24c83dd1a478b2ada8b6c8220076790791..c76dc818f38a62fff63852dbecbc85e304ac731d 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 58aa3d5b24355a4346c9d6992e6090d28cad513f..96c28c190f98c76c0defeaabda092ebd
|
||||
RendererResourceCoordinator::Get()->OnScriptStateCreated(this,
|
||||
execution_context);
|
||||
}
|
||||
@@ -80,6 +86,8 @@ void ScriptState::DissociateContext() {
|
||||
@@ -79,6 +85,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 659e8d79766a78d261e58adab08f9abccda8390b..bc4dc2e3a93877d2e20890560f61d3f22c8b7b9a 100644
|
||||
index 9f82c7f92f735ed9f9569a8d299d23c7cb83e596..9b7598a26781da8b1e1c7364606574024000921f 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 659e8d79766a78d261e58adab08f9abccda8390b..bc4dc2e3a93877d2e20890560f61d3f2
|
||||
|
||||
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 106f2c27297ab437839b3e320a5e5c657947b1c3..f2d4bb25647e9075df68ace24ed910d62a90c89e 100644
|
||||
index 531b183bcc017daeefcf158fd58570a889c4b7df..62fbbaa37d07d24e410778e155a7f013479722b3 100644
|
||||
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
@@ -432,11 +432,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
||||
@@ -430,11 +430,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 1c03162fbcda8ab75dcd53722f92e10403fbae08..a21c58d3f13fadf3a7888f4fe16c0e6cf6c215b0 100644
|
||||
index ffbef89276aeaa167424b67a07080b38457ec5d3..f39a79687595d7547e3a25fc4dc1cdbc5c2495b4 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,
|
||||
|
||||
@@ -87,10 +87,10 @@ index 75df43e3cd2721a92c90c18154d53d5c203e2465..ce42c75c8face36d21f53f44c0201ac4
|
||||
// The view with active text input state, i.e., a focused <input> element.
|
||||
// It will be nullptr if no such view exists. Note that the active view
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 05a102a33f4c05fe6d34fa721d37fcae05a3a577..459fc0eff0bfe2ec005d6f34cf7e91c2d601fd06 100644
|
||||
index 26f41d34766899e81e32c319aad00172ffdc5fca..5465e9d42a5c4eed3b6f819418a7b0ab92c7eae2 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -9970,7 +9970,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||
@@ -9856,7 +9856,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||
"WebContentsImpl::OnFocusedElementChangedInFrame",
|
||||
"render_frame_host", frame);
|
||||
RenderWidgetHostViewBase* root_view =
|
||||
|
||||
290
patches/chromium/fix_osr_stutter_fix_backport_for_electron.patch
Normal file
290
patches/chromium/fix_osr_stutter_fix_backport_for_electron.patch
Normal file
@@ -0,0 +1,290 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: reito <cnschwarzer@qq.com>
|
||||
Date: Wed, 16 Apr 2025 14:09:50 +0800
|
||||
Subject: fix: osr stutter fix backport for electron.
|
||||
|
||||
The animated_content_sampler is used to detect the animation frame rate
|
||||
and adjust the capture frame rate accordingly. However, the detection
|
||||
algorithm is buggy and can cause output to stutter. This patch is a
|
||||
upstream patch to allow opt-out the animated_content_sampler.
|
||||
https://crrev.org/c/6438681
|
||||
|
||||
diff --git a/components/viz/host/client_frame_sink_video_capturer.cc b/components/viz/host/client_frame_sink_video_capturer.cc
|
||||
index 67aeb7222ae490cc62717bd7eb8aace022553e9c..11fe61903855b3ef52733aecc3288946bf572de3 100644
|
||||
--- a/components/viz/host/client_frame_sink_video_capturer.cc
|
||||
+++ b/components/viz/host/client_frame_sink_video_capturer.cc
|
||||
@@ -39,6 +39,17 @@ void ClientFrameSinkVideoCapturer::SetFormat(media::VideoPixelFormat format) {
|
||||
capturer_remote_->SetFormat(format);
|
||||
}
|
||||
|
||||
+void ClientFrameSinkVideoCapturer::SetAnimationFpsLockIn(
|
||||
+ bool enabled,
|
||||
+ float majority_damaged_pixel_min_ratio) {
|
||||
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
+
|
||||
+ animated_content_sampler_enabled_ = enabled;
|
||||
+ majority_damaged_pixel_min_ratio_ = majority_damaged_pixel_min_ratio;
|
||||
+ capturer_remote_->SetAnimationFpsLockIn(enabled,
|
||||
+ majority_damaged_pixel_min_ratio);
|
||||
+}
|
||||
+
|
||||
void ClientFrameSinkVideoCapturer::SetMinCapturePeriod(
|
||||
base::TimeDelta min_capture_period) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
@@ -206,6 +217,10 @@ void ClientFrameSinkVideoCapturer::EstablishConnection() {
|
||||
capturer_remote_->SetMinCapturePeriod(*min_capture_period_);
|
||||
if (min_size_change_period_)
|
||||
capturer_remote_->SetMinSizeChangePeriod(*min_size_change_period_);
|
||||
+ if (animated_content_sampler_enabled_ && majority_damaged_pixel_min_ratio_) {
|
||||
+ capturer_remote_->SetAnimationFpsLockIn(*animated_content_sampler_enabled_,
|
||||
+ *majority_damaged_pixel_min_ratio_);
|
||||
+ }
|
||||
if (resolution_constraints_) {
|
||||
capturer_remote_->SetResolutionConstraints(
|
||||
resolution_constraints_->min_size, resolution_constraints_->max_size,
|
||||
diff --git a/components/viz/host/client_frame_sink_video_capturer.h b/components/viz/host/client_frame_sink_video_capturer.h
|
||||
index 8f0693b37dd0aa931a7fd77ddbdb515f0be5d64a..c0613570552072b3da219a920f902ad39a9f1cbc 100644
|
||||
--- a/components/viz/host/client_frame_sink_video_capturer.h
|
||||
+++ b/components/viz/host/client_frame_sink_video_capturer.h
|
||||
@@ -88,6 +88,8 @@ class VIZ_HOST_EXPORT ClientFrameSinkVideoCapturer
|
||||
const gfx::Size& max_size,
|
||||
bool use_fixed_aspect_ratio);
|
||||
void SetAutoThrottlingEnabled(bool enabled);
|
||||
+ void SetAnimationFpsLockIn(bool enabled,
|
||||
+ float majority_damaged_pixel_min_ratio);
|
||||
void ChangeTarget(const std::optional<VideoCaptureTarget>& target);
|
||||
void ChangeTarget(const std::optional<VideoCaptureTarget>& target,
|
||||
uint32_t sub_capture_target_version);
|
||||
@@ -158,6 +160,8 @@ class VIZ_HOST_EXPORT ClientFrameSinkVideoCapturer
|
||||
std::optional<ResolutionConstraints> resolution_constraints_;
|
||||
std::optional<bool> auto_throttling_enabled_;
|
||||
std::optional<VideoCaptureTarget> target_;
|
||||
+ std::optional<bool> animated_content_sampler_enabled_;
|
||||
+ std::optional<float> majority_damaged_pixel_min_ratio_;
|
||||
uint32_t sub_capture_target_version_ = 0;
|
||||
// Overlays are owned by the callers of CreateOverlay().
|
||||
std::vector<raw_ptr<Overlay, VectorExperimental>> overlays_;
|
||||
diff --git a/components/viz/service/frame_sinks/video_capture/frame_sink_video_capturer_impl.cc b/components/viz/service/frame_sinks/video_capture/frame_sink_video_capturer_impl.cc
|
||||
index db02d9ad523dd1471b5c88cf6b1eade0b592e24f..e8a329f013f39c49056c7eebc7412e84a1b2e98c 100644
|
||||
--- a/components/viz/service/frame_sinks/video_capture/frame_sink_video_capturer_impl.cc
|
||||
+++ b/components/viz/service/frame_sinks/video_capture/frame_sink_video_capturer_impl.cc
|
||||
@@ -364,6 +364,18 @@ void FrameSinkVideoCapturerImpl::SetMinSizeChangePeriod(
|
||||
oracle_->SetMinSizeChangePeriod(min_period);
|
||||
}
|
||||
|
||||
+void FrameSinkVideoCapturerImpl::SetAnimationFpsLockIn(
|
||||
+ bool enabled,
|
||||
+ float majority_damaged_pixel_min_ratio) {
|
||||
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
+
|
||||
+ TRACE_EVENT_INSTANT("gpu.capture", "SetAnimationFpsLockIn", "enabled",
|
||||
+ enabled, "majority_damaged_pixel_min_ratio",
|
||||
+ majority_damaged_pixel_min_ratio);
|
||||
+
|
||||
+ oracle_->SetAnimationFpsLockIn(enabled, majority_damaged_pixel_min_ratio);
|
||||
+}
|
||||
+
|
||||
void FrameSinkVideoCapturerImpl::SetResolutionConstraints(
|
||||
const gfx::Size& min_size,
|
||||
const gfx::Size& max_size,
|
||||
diff --git a/components/viz/service/frame_sinks/video_capture/frame_sink_video_capturer_impl.h b/components/viz/service/frame_sinks/video_capture/frame_sink_video_capturer_impl.h
|
||||
index 8d9036f835c5ced90872b66c8545c65097fd23cc..b387d22c31ab171cde19ceb4a4b5f2a4ce334d9e 100644
|
||||
--- a/components/viz/service/frame_sinks/video_capture/frame_sink_video_capturer_impl.h
|
||||
+++ b/components/viz/service/frame_sinks/video_capture/frame_sink_video_capturer_impl.h
|
||||
@@ -119,6 +119,8 @@ class VIZ_SERVICE_EXPORT FrameSinkVideoCapturerImpl final
|
||||
const gfx::Size& max_size,
|
||||
bool use_fixed_aspect_ratio) final;
|
||||
void SetAutoThrottlingEnabled(bool enabled) final;
|
||||
+ void SetAnimationFpsLockIn(bool enabled,
|
||||
+ float majority_damaged_pixel_min_ratio) final;
|
||||
void ChangeTarget(const std::optional<VideoCaptureTarget>& target,
|
||||
uint32_t sub_capture_target_version) final;
|
||||
void Start(mojo::PendingRemote<mojom::FrameSinkVideoConsumer> consumer,
|
||||
diff --git a/content/browser/devtools/devtools_video_consumer_unittest.cc b/content/browser/devtools/devtools_video_consumer_unittest.cc
|
||||
index 3420c52fc9bb85057242d25429b00a7a8ec620cd..83ce6ecf31f1bb38de98ff81960aa1948bb5a4e3 100644
|
||||
--- a/content/browser/devtools/devtools_video_consumer_unittest.cc
|
||||
+++ b/content/browser/devtools/devtools_video_consumer_unittest.cc
|
||||
@@ -70,6 +70,8 @@ class MockFrameSinkVideoCapturer : public viz::mojom::FrameSinkVideoCapturer {
|
||||
min_period_ = min_period;
|
||||
MockSetMinSizeChangePeriod(min_period_);
|
||||
}
|
||||
+ MOCK_METHOD2(SetAnimationFpsLockIn,
|
||||
+ void(bool enabled, float majority_damaged_pixel_min_ratio));
|
||||
MOCK_METHOD1(MockSetMinSizeChangePeriod, void(base::TimeDelta min_period));
|
||||
void SetResolutionConstraints(const gfx::Size& min_frame_size,
|
||||
const gfx::Size& max_frame_size,
|
||||
diff --git a/content/browser/media/capture/frame_sink_video_capture_device_unittest.cc b/content/browser/media/capture/frame_sink_video_capture_device_unittest.cc
|
||||
index b236a38f7f108f823598ae2bf8dc07e53a190141..46a8e24a3ec9ad2ec42fc50c2ac7ab326508a873 100644
|
||||
--- a/content/browser/media/capture/frame_sink_video_capture_device_unittest.cc
|
||||
+++ b/content/browser/media/capture/frame_sink_video_capture_device_unittest.cc
|
||||
@@ -105,6 +105,8 @@ class MockFrameSinkVideoCapturer : public viz::mojom::FrameSinkVideoCapturer {
|
||||
MOCK_METHOD1(SetFormat, void(media::VideoPixelFormat format));
|
||||
MOCK_METHOD1(SetMinCapturePeriod, void(base::TimeDelta min_period));
|
||||
MOCK_METHOD1(SetMinSizeChangePeriod, void(base::TimeDelta));
|
||||
+ MOCK_METHOD2(SetAnimationFpsLockIn,
|
||||
+ void(bool enabled, float majority_damaged_pixel_min_ratio));
|
||||
MOCK_METHOD3(SetResolutionConstraints,
|
||||
void(const gfx::Size& min_size,
|
||||
const gfx::Size& max_size,
|
||||
diff --git a/media/capture/content/animated_content_sampler.cc b/media/capture/content/animated_content_sampler.cc
|
||||
index 6fe67268c1dcb23188200e49c100e985406a9feb..0fadaa2b768a42d3bad511224ad9d6e3ce337e70 100644
|
||||
--- a/media/capture/content/animated_content_sampler.cc
|
||||
+++ b/media/capture/content/animated_content_sampler.cc
|
||||
@@ -46,7 +46,10 @@ constexpr auto kDriftCorrection = base::Seconds(2);
|
||||
|
||||
AnimatedContentSampler::AnimatedContentSampler(
|
||||
base::TimeDelta min_capture_period)
|
||||
- : min_capture_period_(min_capture_period), sampling_state_(NOT_SAMPLING) {
|
||||
+ : min_capture_period_(min_capture_period),
|
||||
+ sampling_state_(NOT_SAMPLING),
|
||||
+ enabled_(true),
|
||||
+ majority_damaged_pixel_min_ratio_(2.0f / 3) {
|
||||
DCHECK_GT(min_capture_period_, base::TimeDelta());
|
||||
}
|
||||
|
||||
@@ -64,6 +67,10 @@ void AnimatedContentSampler::SetTargetSamplingPeriod(base::TimeDelta period) {
|
||||
void AnimatedContentSampler::ConsiderPresentationEvent(
|
||||
const gfx::Rect& damage_rect,
|
||||
base::TimeTicks event_time) {
|
||||
+ if (!enabled_) {
|
||||
+ return; // The sampler is disabled.
|
||||
+ }
|
||||
+
|
||||
// Analyze the current event and recent history to determine whether animating
|
||||
// content is detected.
|
||||
AddObservation(damage_rect, event_time);
|
||||
@@ -132,6 +139,10 @@ void AnimatedContentSampler::ConsiderPresentationEvent(
|
||||
}
|
||||
|
||||
bool AnimatedContentSampler::HasProposal() const {
|
||||
+ if (!enabled_) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
return sampling_state_ != NOT_SAMPLING;
|
||||
}
|
||||
|
||||
@@ -230,8 +241,10 @@ bool AnimatedContentSampler::AnalyzeObservations(
|
||||
if ((last_event_time - first_event_time) < kMinObservationWindow) {
|
||||
return false; // Content has not animated for long enough for accuracy.
|
||||
}
|
||||
- if (num_pixels_damaged_in_chosen <= (num_pixels_damaged_in_all * 2 / 3))
|
||||
+ if (num_pixels_damaged_in_chosen <=
|
||||
+ (num_pixels_damaged_in_all * majority_damaged_pixel_min_ratio_)) {
|
||||
return false; // Animation is not damaging a supermajority of pixels.
|
||||
+ }
|
||||
|
||||
*rect = elected_rect;
|
||||
DCHECK_GT(count_frame_durations, 0u);
|
||||
diff --git a/media/capture/content/animated_content_sampler.h b/media/capture/content/animated_content_sampler.h
|
||||
index 89d11829ac038ffeaafa3d4f0b811c6b2bd5665c..b5a325383813210956be7bcd59d8d41fa8c28d9b 100644
|
||||
--- a/media/capture/content/animated_content_sampler.h
|
||||
+++ b/media/capture/content/animated_content_sampler.h
|
||||
@@ -26,6 +26,15 @@ class CAPTURE_EXPORT AnimatedContentSampler {
|
||||
explicit AnimatedContentSampler(base::TimeDelta min_capture_period);
|
||||
~AnimatedContentSampler();
|
||||
|
||||
+ // Set whether the animated content sampler would have proposal.
|
||||
+ void SetEnabled(bool enabled) { enabled_ = enabled; }
|
||||
+
|
||||
+ // Sets the minimum ratio of pixels in the majority-damaged region to all
|
||||
+ // damaged region's area.
|
||||
+ void SetMajorityDamagedRectMinRatio(float ratio) {
|
||||
+ majority_damaged_pixel_min_ratio_ = ratio;
|
||||
+ }
|
||||
+
|
||||
// Sets a new minimum capture period.
|
||||
void SetMinCapturePeriod(base::TimeDelta period);
|
||||
|
||||
@@ -34,6 +43,7 @@ class CAPTURE_EXPORT AnimatedContentSampler {
|
||||
base::TimeDelta target_sampling_period() const {
|
||||
return target_sampling_period_;
|
||||
}
|
||||
+
|
||||
void SetTargetSamplingPeriod(base::TimeDelta period);
|
||||
|
||||
// Examines the given presentation event metadata, along with recent history,
|
||||
@@ -152,6 +162,13 @@ class CAPTURE_EXPORT AnimatedContentSampler {
|
||||
|
||||
// The rewritten frame timestamp for the latest event.
|
||||
base::TimeTicks frame_timestamp_;
|
||||
+
|
||||
+ // Whether the animated content sampler is enabled
|
||||
+ bool enabled_;
|
||||
+
|
||||
+ // The minimum ratio of the majority damaged rect area among all damaged
|
||||
+ // area's pixels
|
||||
+ float majority_damaged_pixel_min_ratio_;
|
||||
};
|
||||
|
||||
} // namespace media
|
||||
diff --git a/media/capture/content/video_capture_oracle.h b/media/capture/content/video_capture_oracle.h
|
||||
index 3bb10527f7850e795cb6608dd7e881dc90920eee..b7ac2d4404ae1fdc8a9983da16dcb2ad921b76bc 100644
|
||||
--- a/media/capture/content/video_capture_oracle.h
|
||||
+++ b/media/capture/content/video_capture_oracle.h
|
||||
@@ -54,6 +54,7 @@ class CAPTURE_EXPORT VideoCaptureOracle {
|
||||
base::TimeDelta min_capture_period() const {
|
||||
return smoothing_sampler_.min_capture_period();
|
||||
}
|
||||
+
|
||||
void SetMinCapturePeriod(base::TimeDelta period);
|
||||
|
||||
// Sets the range of acceptable capture sizes and whether a fixed aspect ratio
|
||||
@@ -70,6 +71,19 @@ class CAPTURE_EXPORT VideoCaptureOracle {
|
||||
// See: SetMinSizeChangePeriod().
|
||||
void SetAutoThrottlingEnabled(bool enabled);
|
||||
|
||||
+ // Specifies whether the oracle should detect animation and try to target
|
||||
+ // the animation frame rate. If |enabled|, the oracle will try to detect a
|
||||
+ // majority damaged rect and its animation frame rate, and will respect the
|
||||
+ // minimum damaged pixel ratio of the majority rect's area among all damaged
|
||||
+ // rect areas set by |majority_damaged_pixel_min_ratio|. If the threshold not
|
||||
+ // met, it will not use the animated content frame rate.
|
||||
+ void SetAnimationFpsLockIn(bool enabled,
|
||||
+ float majority_damaged_pixel_min_ratio) {
|
||||
+ content_sampler_.SetEnabled(enabled);
|
||||
+ content_sampler_.SetMajorityDamagedRectMinRatio(
|
||||
+ majority_damaged_pixel_min_ratio);
|
||||
+ }
|
||||
+
|
||||
// Get/Update the source content size. Changes may not have an immediate
|
||||
// effect on the proposed capture size, as the oracle will prevent too-
|
||||
// frequent changes from occurring.
|
||||
diff --git a/remoting/host/chromeos/frame_sink_desktop_capturer_unittest.cc b/remoting/host/chromeos/frame_sink_desktop_capturer_unittest.cc
|
||||
index eeb4454bfd9500e4bae7544409ff4413fd0874aa..abe0cfb065a7e313b0ca3babd744fce75074ef45 100644
|
||||
--- a/remoting/host/chromeos/frame_sink_desktop_capturer_unittest.cc
|
||||
+++ b/remoting/host/chromeos/frame_sink_desktop_capturer_unittest.cc
|
||||
@@ -195,6 +195,10 @@ class MockFrameSinkVideoCapturer : public viz::mojom::FrameSinkVideoCapturer {
|
||||
|
||||
MOCK_METHOD(void, SetAutoThrottlingEnabled, (bool enabled));
|
||||
|
||||
+ MOCK_METHOD(void,
|
||||
+ SetAnimationFpsLockIn,
|
||||
+ (bool enabled, float majority_damaged_pixel_min_ratio));
|
||||
+
|
||||
MOCK_METHOD(void,
|
||||
SetResolutionConstraints,
|
||||
(const Size& min_size,
|
||||
diff --git a/services/viz/privileged/mojom/compositing/frame_sink_video_capture.mojom b/services/viz/privileged/mojom/compositing/frame_sink_video_capture.mojom
|
||||
index f0ca9014a0e6b42f99becb7f1fdb9e214c81a16b..fbb002941ca1d36dc2bb12e9391b1faa799d771e 100644
|
||||
--- a/services/viz/privileged/mojom/compositing/frame_sink_video_capture.mojom
|
||||
+++ b/services/viz/privileged/mojom/compositing/frame_sink_video_capture.mojom
|
||||
@@ -156,6 +156,18 @@ interface FrameSinkVideoCapturer {
|
||||
// Default, if never called: true.
|
||||
SetAutoThrottlingEnabled(bool enabled);
|
||||
|
||||
+ // Determines whether the capturer should detect animations and aim to match
|
||||
+ // their frame rate. If |enabled| is true, the capturer will attempt to
|
||||
+ // identify the majority damaged rect and its animation frame rate,
|
||||
+ // while adhering to the |majority_damaged_pixel_min_ratio| threshold.
|
||||
+ // This ratio is calculated as the area of the majority damaged rect
|
||||
+ // divided by the total area of all damaged rects. An animation will only
|
||||
+ // be considered valid if the ratio meets or exceeds the specified threshold.
|
||||
+ //
|
||||
+ // By default, this feature is enabled, with the ratio threshold set to 2/3.
|
||||
+ SetAnimationFpsLockIn(bool enabled,
|
||||
+ float majority_damaged_pixel_min_ratio);
|
||||
+
|
||||
// Targets a different compositor frame sink. This may be called anytime,
|
||||
// before or after Start().
|
||||
//
|
||||
@@ -10,10 +10,10 @@ them should they exist.
|
||||
This will be upstreamed.
|
||||
|
||||
diff --git a/printing/printing_context_mac.h b/printing/printing_context_mac.h
|
||||
index 8be4ca70ff71cfc33cd812ec0cc9ae8155538532..f7985331838387232b27e557e435113479dbb780 100644
|
||||
index 5b469b3b6bd11d8e0baa08e9be257990ac9bc438..c1410e5d8112f0319de40e4fbf41dbaea4b9733c 100644
|
||||
--- a/printing/printing_context_mac.h
|
||||
+++ b/printing/printing_context_mac.h
|
||||
@@ -85,6 +85,10 @@ class COMPONENT_EXPORT(PRINTING) PrintingContextMac : public PrintingContext {
|
||||
@@ -84,6 +84,10 @@ class COMPONENT_EXPORT(PRINTING) PrintingContextMac : public PrintingContext {
|
||||
// Returns true if the orientation was set.
|
||||
bool SetOrientationIsLandscape(bool landscape);
|
||||
|
||||
@@ -25,10 +25,10 @@ index 8be4ca70ff71cfc33cd812ec0cc9ae8155538532..f7985331838387232b27e557e4351134
|
||||
// Returns true if duplex mode is set.
|
||||
bool SetDuplexModeInPrintSettings(mojom::DuplexMode mode);
|
||||
diff --git a/printing/printing_context_mac.mm b/printing/printing_context_mac.mm
|
||||
index 06aed7f7f0b6f87ca77a58c82e64fee3249e2bf0..d776fe04b73826711c1b2bfe3ec65137965f2c01 100644
|
||||
index f39f8b2dd3aa2b89498ed5331aa9b9ba6a02abf5..c0e155c14b2b4e81cde35cea1db284bc4c43f5e6 100644
|
||||
--- a/printing/printing_context_mac.mm
|
||||
+++ b/printing/printing_context_mac.mm
|
||||
@@ -523,7 +523,8 @@ bool IsIppColorModelColorful(mojom::ColorModel color_model) {
|
||||
@@ -520,7 +520,8 @@ bool IsIppColorModelColorful(mojom::ColorModel color_model) {
|
||||
!SetCollateInPrintSettings(settings_->collate()) ||
|
||||
!SetDuplexModeInPrintSettings(settings_->duplex_mode()) ||
|
||||
!SetOutputColor(static_cast<int>(settings_->color())) ||
|
||||
@@ -38,7 +38,7 @@ index 06aed7f7f0b6f87ca77a58c82e64fee3249e2bf0..d776fe04b73826711c1b2bfe3ec65137
|
||||
return OnError();
|
||||
}
|
||||
}
|
||||
@@ -676,6 +677,22 @@ bool IsIppColorModelColorful(mojom::ColorModel color_model) {
|
||||
@@ -673,6 +674,22 @@ bool IsIppColorModelColorful(mojom::ColorModel color_model) {
|
||||
return PMSetCopies(print_settings, copies, false) == noErr;
|
||||
}
|
||||
|
||||
@@ -62,10 +62,10 @@ index 06aed7f7f0b6f87ca77a58c82e64fee3249e2bf0..d776fe04b73826711c1b2bfe3ec65137
|
||||
PMPrintSettings print_settings =
|
||||
static_cast<PMPrintSettings>([print_info_ PMPrintSettings]);
|
||||
diff --git a/printing/printing_context_system_dialog_win.cc b/printing/printing_context_system_dialog_win.cc
|
||||
index 2808248f6eb3f5c75f20775d61c9d0d20aaaecf6..7c186bd5653e9bdf1c4046398b138cac09112d42 100644
|
||||
index d5eec01f35bd182d5bb49138fc66446fcd5f8cdf..3c289d7cdf7fdf7717fc2397e3344cbe614e0b70 100644
|
||||
--- a/printing/printing_context_system_dialog_win.cc
|
||||
+++ b/printing/printing_context_system_dialog_win.cc
|
||||
@@ -74,14 +74,30 @@ void PrintingContextSystemDialogWin::AskUserForSettings(
|
||||
@@ -73,14 +73,30 @@ void PrintingContextSystemDialogWin::AskUserForSettings(
|
||||
PRINTPAGERANGE ranges[32];
|
||||
dialog_options.nStartPage = START_PAGE_GENERAL;
|
||||
if (max_pages) {
|
||||
@@ -102,10 +102,10 @@ index 2808248f6eb3f5c75f20775d61c9d0d20aaaecf6..7c186bd5653e9bdf1c4046398b138cac
|
||||
} else {
|
||||
// No need to bother, we don't know how many pages are available.
|
||||
diff --git a/ui/gtk/printing/print_dialog_gtk.cc b/ui/gtk/printing/print_dialog_gtk.cc
|
||||
index 2f9738b2b0612eb1ae579e49edaa22b4df136739..470c88b898bb7e7bfd87204816f5042684f69fb6 100644
|
||||
index b04cb0b9a9fd25e638c8e5cfac08ddf5dbd1a67e..393815e33b8c700baa349482867fc7f1425ff09f 100644
|
||||
--- a/ui/gtk/printing/print_dialog_gtk.cc
|
||||
+++ b/ui/gtk/printing/print_dialog_gtk.cc
|
||||
@@ -258,6 +258,24 @@ void PrintDialogGtk::UpdateSettings(
|
||||
@@ -247,6 +247,24 @@ void PrintDialogGtk::UpdateSettings(
|
||||
|
||||
gtk_print_settings_set_n_copies(gtk_settings_, settings->copies());
|
||||
gtk_print_settings_set_collate(gtk_settings_, settings->collate());
|
||||
|
||||
@@ -18,10 +18,10 @@ or resizing, but Electron does not seem to run into that issue
|
||||
for opaque frameless windows even with that block commented out.
|
||||
|
||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||
index 5b17d5bf0b32405ae9515b941a17b68a04a3b317..6e706c32ca4c2a5d0831588ee2eea8a8059f04fe 100644
|
||||
index ac7e189f26da75f6f8b40e69cf4bfee94acddd38..ecab7d7f95998a055f01d7b5180a8fb80eddb32c 100644
|
||||
--- a/ui/views/win/hwnd_message_handler.cc
|
||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||
@@ -1807,7 +1807,23 @@ LRESULT HWNDMessageHandler::OnCreate(CREATESTRUCT* create_struct) {
|
||||
@@ -1825,7 +1825,23 @@ LRESULT HWNDMessageHandler::OnCreate(CREATESTRUCT* create_struct) {
|
||||
SendMessage(hwnd(), WM_CHANGEUISTATE, MAKELPARAM(UIS_CLEAR, UISF_HIDEFOCUS),
|
||||
0);
|
||||
|
||||
|
||||
@@ -11,10 +11,10 @@ This patch should be upstreamed as a conditional revert of the logic in desktop
|
||||
vs mobile runtimes. i.e. restore the old logic only on desktop platforms
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index 8c3ac60d029a76b004111cffd56e9b859594dd65..d398cb9f429f8304eeb6ed00c79e609a3b83bd3f 100644
|
||||
index 9bcab4e1e8a0fa429488555f4f7bd1c54888d10e..bb2e3afdd2b3c6579e32d7eeba59bfc06e952ea2 100644
|
||||
--- a/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -2121,9 +2121,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
|
||||
@@ -2122,9 +2122,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
|
||||
void RenderWidgetHostImpl::NotifyScreenInfoChanged() {
|
||||
// The resize message (which may not happen immediately) will carry with it
|
||||
// the screen info as well as the new size (if the screen has changed scale
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user