Compare commits

..

18 Commits

Author SHA1 Message Date
trop[bot]
4fea51017f fix: crash on window.close() with webContents on blur (#47952)
fix: crash on window.close with WebContentsView on blur

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2025-08-04 14:28:35 +02:00
trop[bot]
d3059897ed build: roll build-images to 933c7d6 (#47928)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2025-07-31 22:43:47 +02:00
trop[bot]
f2d14ca29d refactor: avoid deprecated v8::Context::GetIsolate() calls pt 3 context get isolate pt 3 (#47910)
* refactor: add a v8::Isolate* arg to RendererClientBase::IsWebViewFrame()

Needed for creating gin dictionaries

refactor: add a v8::Isolate* arg to ShouldLoadPreload()

Needed for calling IsWebViewFrame()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: add a v8::Isolate* arg to electron::util::CompileAndCall()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: add a v8::Isolate* arg to OnCreatePreloadableV8Context()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: add a v8::Isolate* arg to InvokeEmitProcessEvent()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: add a v8::Isolate* arg to ServiceWorkerData's constructor

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: add a v8::Isolate* arg to RendererClientBase::SetupMainWorldOverrides()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: add a v8::Isolate* arg to RendererClientBase::WilLReleaseScriptContext()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* docs: update docs to avoid v8::Context::GetIsolate()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: add a v8::Isolate* arg to ElectronSandboxedRendererClient::InitializeBindings()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: avoid v8::Context::GetIsolate() call in PromiseBase::SettleScope::~SettleScope()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2025-07-31 14:19:10 -05:00
trop[bot]
9b1dfe90f4 fix: dark mode on Linux default themeing (#47919)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2025-07-31 14:29:43 +02:00
trop[bot]
a41ca28b63 fix: window content protection on older Windows versions (#47886)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2025-07-31 10:53:15 +02:00
trop[bot]
8841e4be83 ci: use new arc cluster (#47912)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
2025-07-30 16:32:33 -04:00
trop[bot]
5c83e2b00c ci: add ability to debug SSH sessions in CI (#47874)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2025-07-30 11:43:26 -07:00
trop[bot]
7930f4a20c chore: bump chromium to 140.0.7314.0 (38-x-y) (#47903)
* chore: bump chromium in DEPS to 140.0.7314.0

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>

* 6769821: Delegate checking whether preconnect is enabled.

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6632993: PDF Searchify IPH: Use embedder WebContents for GuestView PDF

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6769214: [ios blink] Set IOSurface shared memory region on all GMB handles

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* chore: update patches

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6769572: [soft navs]: Move AsyncSameDocumentNavigationStarted to TaskAttributionTracker

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* chore: node gen-libc++-filenames.js

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6765740: [SxS] Implement support for split view in extensions API

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6769821: Delegate checking whether preconnect is enabled.

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* chore: update patches

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
Co-authored-by: patchup[bot] <73610968+patchup[bot]@users.noreply.github.com>
2025-07-29 11:00:54 -04:00
trop[bot]
3fefa06d34 refactor: prefer GetCreationContextChecked(v8::Isolate*) over GetCreationContextChecked() (#47890)
* refactor: pass an isolate when calling GetCreationContextChecked() in V8FunctionInvoker

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: pass an isolate when calling GetCreationContextChecked() in RendererClientBase

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: pass an isolate when calling GetCreationContextChecked() in ScriptExecutionCallback::Completed()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: pass an isolate when calling GetCreationContextChecked() in ScriptExecutionCallback::CopyResultToCallingContextAndFinalize()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: pass an isolate when calling GetCreationContextChecked() in electron::GetRenderFrame()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: pass an isolate when calling GetCreationContextChecked() in gin_helper::internal::CallMethodWithArgs()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: pass an isolate when calling GetCreationContextChecked() in OverrideGlobalPropertyFromIsolatedWorld()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: pass an isolate when calling GetCreationContextChecked() in OverrideGlobalValueFromIsolatedWorld()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: pass an isolate when calling GetCreationContextChecked() in ProxyFunctionWrapper()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: pass an isolate when calling GetCreationContextChecked() in PassValueToOtherContextInner()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* fixup! refactor: pass an isolate when calling GetCreationContextChecked() in electron::GetRenderFrame()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2025-07-29 10:37:29 -04:00
trop[bot]
e1e12318e2 refactor: avoid deprecated v8::Context::GetIsolate() calls (pt 2) (#47896)
* refactor: add a v8::Isolate* arg to Constructible::GetConstructor()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: add a v8::Isolate* arg to NodeBindings::Initialize()

This is needed for the GetConstructor() call

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: avoid v8::Context::GetIsolate() call in GetIpcObject() by taking it as an arg

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: avoid v8::Context::GetIsolate() call in ipc_native::EmitIPCEvent() by taking it as an arg

Co-authored-by: Charles Kerr <charles@charleskerr.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2025-07-29 10:34:18 -04:00
trop[bot]
edccb0a7ea chore: bump chromium to 140.0.7312.0 (38-x-y) (#47881)
* chore: bump chromium in DEPS to 140.0.7312.0

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>

* 6769540: Move NetworkTrafficAnnotationTag out of PreconnectManager.

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6771377: Roll libc++ from 3eda1e62e799 to 569aa83b4bbc (7 revisions)

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6771398: Remove unnecessary std::optional wrappers in ResolveHostClient

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* chore: update patches

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6776165: Use shared session bus for MPRIS

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* chore: update patches

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
Co-authored-by: patchup[bot] <73610968+patchup[bot]@users.noreply.github.com>
2025-07-24 09:33:14 -04:00
trop[bot]
83373c3679 fix: webContents.downloadURL() did not support referer header (#47867)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: xufuhang <576484918@qq.com>
2025-07-23 16:45:45 +02:00
trop[bot]
9c4d783d1f chore: bump chromium to 140.0.7309.0 (38-x-y) (#47863)
* chore: bump chromium in DEPS to 140.0.7309.0

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>

* 6762172: Replace MSG_ROUTING_NONE with IPC::mojom::kRoutingIdNone.

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6759543: [exit-time-destructors] Exclude target with warnings

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6765167: Split PreconnectManager into interface and implementation.

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6766775: [media] Clarify coded and visible size in FrameResources

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6760878: Move PreconnectRequest to //content/public

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6718973: Implement media playback trust check for the video PiP overlay window

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* chore: add missing include of <iterator> in ada

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* chore: update patches

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* chore: node gen-libc++-filenames.js

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

* 6759633: [media] Use format from shared image in FrameResources

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

Co-authored-by: David Sanders <dsanders11@ucsbalum.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
2025-07-23 10:12:00 +02:00
trop[bot]
139ab00d8c build: improve check-zip-manifest (#47852)
* build: improve check-zip-manifest

Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>

* fix: unicode on Windows

Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2025-07-22 09:50:38 +02:00
trop[bot]
124bfd25f8 chore: bump chromium to 140.0.7301.0 (38-x-y) (#47849)
* chore: bump chromium in DEPS to 140.0.7296.0

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>

* chore: update patches

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6702959: Remove OwnedByWidgetPassKey usage from content analysis dialog tests | https://chromium-review.googlesource.com/c/chromium/src/+/6702959

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6722750: Remove un-used `stream_id` argument for `AidaCodeComplete` | https://chromium-review.googlesource.com/c/chromium/src/+/6722750

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6696478: Reland Reland [video pip] Add fade in/out animation to controls visibility changes | https://chromium-review.googlesource.com/c/chromium/src/+/6696478

Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>

* chore: update libc++-filenames

Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>

* build: explicitly include cstdlib in Boyer-Moore patch

Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>

* chore: bump chromium in DEPS to 140.0.7297.0

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>

* chore: update patches

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6729537: [FPF] Pipe flag state from the browser to the renderer | https://chromium-review.googlesource.com/c/chromium/src/+/6729537

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6727996: [Win] Detect pre-IPC crashes in sandboxed utility processes | https://chromium-review.googlesource.com/c/chromium/src/+/6727996

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6707182: Move wtf/cross_thread_copier*.* to "blink" namespace | https://chromium-review.googlesource.com/c/chromium/src/+/6707182

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6730796: extensions: Extract safe browsing/telemetry methods to new client class | https://chromium-review.googlesource.com/c/chromium/src/+/6730796

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* chore: bump chromium in DEPS to 140.0.7299.0

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>

* chore: update patches

Co-authored-by: patchup[bot] <73610968+patchup[bot]@users.noreply.github.com>

* chore: update main patches

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* build: reset the minimum macOS SDK to 15 to match upstream

This reverts commit 499e987c77.

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6730215: Remove IPC_MESSAGE_LOG_ENABLED ifdef blocks. | https://chromium-review.googlesource.com/c/chromium/src/+/6730215

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6690442: Delete ppapi/buildflags/buildflags.h | https://chromium-review.googlesource.com/c/chromium/src/+/6690442

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6667681: Use more binaries from clang toolchain in mac build | https://chromium-review.googlesource.com/c/chromium/src/+/6667681

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* chore: bump chromium in DEPS to 140.0.7301.0

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>

* chore: update patches

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6656309: extensions: Port proxy API to desktop Android | https://chromium-review.googlesource.com/c/chromium/src/+/6656309

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6758510: Reland 'Move GN enable_plugins variable out of //ppapi' | https://chromium-review.googlesource.com/c/chromium/src/+/6758510

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6701466: [Extensions] Remove NaCl arch info from Update Client URLs | https://chromium-review.googlesource.com/c/chromium/src/+/6701466

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6735979: [FSA] Replace `request_writable` with a new enum `FileSystemAccessPermissionMode`. | https://chromium-review.googlesource.com/c/chromium/src/+/6735979

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6712080: Reland "Turn on gender translation PAK generation everywhere" | https://chromium-review.googlesource.com/c/chromium/src/+/6712080

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* 6730796: extensions: Extract safe browsing/telemetry methods to new client class | https://chromium-review.googlesource.com/c/chromium/src/+/6730796

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* build: restore minimum macOS SDK to 10, restore patch

This reverts commit a04c579b99.

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* fixup! 6701466: [Extensions] Remove NaCl arch info from Update Client URLs | https://chromium-review.googlesource.com/c/chromium/src/+/6701466

Co-authored-by: Keeley Hammond <khammond@slack-corp.com>

* chore: correct node patches

Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>

* fixup! 6667681: Use more binaries from clang toolchain in mac build | https://chromium-review.googlesource.com/c/chromium/src/+/6667681

Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>
Co-authored-by: patchup[bot] <73610968+patchup[bot]@users.noreply.github.com>
2025-07-21 11:55:08 -07:00
trop[bot]
d5ce459cea build: fix ffmpeg generation on Windows non-x64 (#47844)
* build: fix ffmpeg generation on Windows non-x64

Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>

* test: ffmpeg artifact

Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2025-07-21 20:30:34 +02:00
trop[bot]
ea0773c7c7 fix: dialog file filters and macOS app bundles (#47841)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2025-07-21 19:44:16 +02:00
trop[bot]
d426b92326 refactor: avoid deprecated v8::Context::GetIsolate() calls (pt 1) (#47843)
* refactor: avoid redundant GetIsolate() calls in NodeBindings::CreateEnvironment()

Xref: https://chromium-review.googlesource.com/c/v8/v8/+/6563615

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: use v8::Isolate::GetCurrent() in Initialize() methods

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: add v8::Isolate* arg to NodeBindings::CreateEnvironment()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* fixup! refactor: use v8::Isolate::GetCurrent() in Initialize() methods

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* refactor: add v8::Isolate* arg to RendererClientBase::DidCreateScriptContext()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* fixup! refactor: add v8::Isolate* arg to NodeBindings::CreateEnvironment()

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* fixup! fixup! refactor: use v8::Isolate::GetCurrent() in Initialize() methods

refactor: prefer JavascriptEnvironment::GetIsolate() in the browser layer

Co-authored-by: Charles Kerr <charles@charleskerr.com>

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2025-07-21 13:12:24 -04:00
223 changed files with 2917 additions and 981 deletions

View File

@@ -2,7 +2,7 @@ version: '3'
services:
buildtools:
image: ghcr.io/electron/devcontainer:424eedbf277ad9749ffa9219068aa72ed4a5e373
image: ghcr.io/electron/devcontainer:933c7d6ff6802706875270bec2e3c891cf8add3f
volumes:
- ..:/workspaces/gclient/src/electron:cached

View File

@@ -38,9 +38,20 @@ runs:
run: |
GN_APPENDED_ARGS="$GN_EXTRA_ARGS target_cpu=\"x64\" v8_snapshot_toolchain=\"//build/toolchain/mac:clang_x64\""
echo "GN_EXTRA_ARGS=$GN_APPENDED_ARGS" >> $GITHUB_ENV
- name: Set GN_EXTRA_ARGS for Windows
shell: bash
if: ${{inputs.target-arch != 'x64' && inputs.target-platform == 'win' }}
run: |
GN_APPENDED_ARGS="$GN_EXTRA_ARGS target_cpu=\"${{ inputs.target-arch }}\""
echo "GN_EXTRA_ARGS=$GN_APPENDED_ARGS" >> $GITHUB_ENV
- name: Add Clang problem matcher
shell: bash
run: echo "::add-matcher::src/electron/.github/problem-matchers/clang.json"
- name: Enable long paths for Windows
shell: powershell
if: ${{ inputs.target-platform == 'win' }}
run: |
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -Type DWord
- name: Build Electron ${{ inputs.step-suffix }}
shell: bash
run: |
@@ -184,8 +195,8 @@ runs:
electron/script/zip-symbols.py -b $BUILD_PATH
fi
- name: Generate FFMpeg ${{ inputs.step-suffix }}
shell: bash
if: ${{ inputs.is-release == 'true' }}
shell: bash
run: |
cd src
gn gen out/ffmpeg --args="import(\"//electron/build/args/ffmpeg.gn\") use_remoteexec=true $GN_EXTRA_ARGS"

View File

@@ -40,7 +40,7 @@ runs:
if: ${{ inputs.generate-sas-token == 'true' }}
shell: bash
run: |
curl --unix-socket /var/run/sas/sas.sock --fail "http://foo/$CACHE_FILE?platform=${{ inputs.target-platform }}" > sas-token
curl --unix-socket /var/run/sas/sas.sock --fail "http://foo/$CACHE_FILE?platform=${{ inputs.target-platform }}&getAccountName=true" > sas-token
- name: Save SAS Key
if: ${{ inputs.generate-sas-token == 'true' }}
uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3

View File

@@ -36,18 +36,23 @@ runs:
echo "SAS Token not found; exiting src cache download early..."
exit 1
else
echo "const fs = require('fs');" > gettoken.js
echo "const fileContents = fs.readFileSync('sas-token', 'utf8');" >> gettoken.js
echo "const token = JSON.parse(fileContents);" >> gettoken.js
echo "console.log(token[process.argv[2]])" >> gettoken.js
sas_token=$(node ./gettoken.js sasToken)
account_name=$(node ./gettoken.js accountName)
if [ "${{ inputs.target-platform }}" = "win" ]; then
azcopy copy --log-level=ERROR \
"https://${{ env.AZURE_AKS_CACHE_STORAGE_ACCOUNT }}.file.core.windows.net/${{ env.AZURE_AKS_WIN_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar
"https://$account_name.file.core.windows.net/${{ env.AZURE_AKS_WIN_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar
else
azcopy copy --log-level=ERROR \
"https://${{ env.AZURE_AKS_CACHE_STORAGE_ACCOUNT }}.file.core.windows.net/${{ env.AZURE_AKS_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar
"https://$account_name.file.core.windows.net/${{ env.AZURE_AKS_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar
fi
fi
env:
AZURE_AKS_CACHE_STORAGE_ACCOUNT: f723719aa87a34622b5f7f3
AZURE_AKS_CACHE_SHARE_NAME: pvc-f6a4089f-b082-4bee-a3f9-c3e1c0c02d8f
AZURE_AKS_WIN_CACHE_SHARE_NAME: pvc-71dec4f2-0d44-4fd1-a2c3-add049d70bdf
AZURE_AKS_CACHE_SHARE_NAME: linux-cache
AZURE_AKS_WIN_CACHE_SHARE_NAME: windows-cache
- name: Clean SAS Key
shell: bash
run: rm -f sas-token

20
.github/actions/ssh-debug/action.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: Debug via SSH
description: Setup a SSH server with a tunnel to access it to debug via SSH.
inputs:
tunnel:
description: 'Enable SSH tunneling via cloudflared'
required: true
default: 'false'
timeout:
description: 'SSH session timeout in minutes'
required: false
type: number
default: 60
runs:
using: composite
steps:
- run: $GITHUB_ACTION_PATH/setup-ssh.sh
shell: bash
env:
TUNNEL: ${{ inputs.tunnel }}
TIMEOUT: ${{ inputs.timeout }}

4
.github/actions/ssh-debug/bashrc vendored Normal file
View File

@@ -0,0 +1,4 @@
# If we're in an interactive SSH session and we're not already in tmux and there's no explicit SSH command, auto attach tmux
if [ -n "$SSH_TTY" ] && [ -z "$TMUX" ] && [ -z "$SSH_ORIGINAL_COMMAND" ]; then
exec tmux attach || exec tmux
fi

140
.github/actions/ssh-debug/setup-ssh.sh vendored Executable file
View File

@@ -0,0 +1,140 @@
#!/bin/bash -e
get_authorized_keys() {
if [ -z "$AUTHORIZED_USERS" ] || ! echo "$AUTHORIZED_USERS" | grep -q "\b$GITHUB_ACTOR\b"; then
return 1
fi
api_response=$(curl -s "https://api.github.com/users/$GITHUB_ACTOR/keys")
if echo "$api_response" | jq -e 'type == "object" and has("message")' >/dev/null; then
error_msg=$(echo "$api_response" | jq -r '.message')
echo "Error: $error_msg"
return 1
else
echo "$api_response" | jq -r '.[].key'
fi
}
authorized_keys=$(get_authorized_keys "$GITHUB_ACTOR")
if [ -n "$authorized_keys" ]; then
echo "Configured SSH key(s) for user: $GITHUB_ACTOR"
else
echo "Error: User '$GITHUB_ACTOR' is not authorized to access this debug session."
echo "Authorized users: $AUTHORIZED_USERS"
exit 1
fi
if [ "$TUNNEL" != "true" ]; then
echo "SSH tunneling is disabled. Set enable-tunnel: true to enable remote access."
echo "Local SSH server would be available on localhost:2222 if this were a local environment."
exit 0
fi
echo "SSH tunneling enabled. Setting up remote access..."
EXTERNAL_DEPS="curl jq ssh-keygen"
for dep in $EXTERNAL_DEPS; do
if ! command -v "$dep" > /dev/null 2>&1; then
echo "Command $dep not installed on the system!" >&2
exit 1
fi
done
cd "$GITHUB_ACTION_PATH"
bashrc_path=$(pwd)/bashrc
# Source `bashrc` to auto start tmux on SSH login.
if ! grep -q "$bashrc_path" ~/.bash_profile; then
echo >> ~/.bash_profile # On macOS runner there's no newline at the end of the file
echo "source \"$bashrc_path\"" >> ~/.bash_profile
fi
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then
ARCH="amd64"
elif [ "$ARCH" = "aarch64" ]; then
ARCH="arm64"
fi
# Install tmux on macOS runners if not present.
if [ "$OS" = "darwin" ] && ! command -v tmux > /dev/null 2>&1; then
echo "Installing tmux..."
brew install tmux
fi
if [ "$OS" = "darwin" ]; then
cloudflared_url="https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-${OS}-${ARCH}.tgz"
echo "Downloading \`cloudflared\` from <$cloudflared_url>..."
curl --location --silent --output cloudflared.tgz "$cloudflared_url"
tar xf cloudflared.tgz
rm cloudflared.tgz
else
cloudflared_url="https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-${OS}-${ARCH}"
echo "Downloading \`cloudflared\` from <$cloudflared_url>..."
curl --location --silent --output cloudflared "$cloudflared_url"
fi
chmod +x cloudflared
echo "Setting up SSH key for authorized user: $GITHUB_ACTOR"
echo "$authorized_keys" > authorized_keys
echo 'Creating SSH server key...'
ssh-keygen -q -f ssh_host_rsa_key -N ''
echo 'Creating SSH server config...'
sed "s,\$PWD,$PWD,;s,\$USER,$USER," sshd_config.template > sshd_config
echo 'Starting SSH server...'
/usr/sbin/sshd -f sshd_config -D &
sshd_pid=$!
echo 'Starting tmux session...'
(cd "$GITHUB_WORKSPACE" && tmux new-session -d -s debug)
#if no cloudflare tunnel token is provided, exit
if [ -z "$CLOUDFLARE_TUNNEL_TOKEN" ]; then
echo "Error: required CLOUDFLARE_TUNNEL_TOKEN not found"
exit 1
fi
echo 'Starting Cloudflare tunnel...'
./cloudflared tunnel --no-autoupdate run --token "$CLOUDFLARE_TUNNEL_TOKEN" 2>&1 | tee cloudflared.log | sed -u 's/^/cloudflared: /' &
cloudflared_pid=$!
url="$TUNNEL_HOSTNAME"
public_key=$(cut -d' ' -f1,2 < ssh_host_rsa_key.pub)
(
echo ' '
echo ' '
echo '🔗 SSH Debug Session Ready!'
echo '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'
echo ' '
echo '📋 Copy and run this command to connect:'
echo ' '
if [ -n "$TUNNEL_HOSTNAME" ]; then
echo "ssh-keygen -R action-ssh-debug && echo 'action-ssh-debug $public_key' >> ~/.ssh/known_hosts && ssh -o ProxyCommand='cloudflared access tcp --hostname $url' runner@action-ssh-debug"
else
echo "ssh-keygen -R action-ssh-debug && echo 'action-ssh-debug $public_key' >> ~/.ssh/known_hosts && ssh -o ProxyCommand='cloudflared access tcp --hostname $url' runner@action-ssh-debug"
fi
echo ' '
echo "⏰ Session expires automatically in $TIMEOUT minutes"
echo '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'
echo ' '
echo ' '
) | cat
echo 'Starting SSH session in background...'
./ssh-session.sh "$sshd_pid" "$cloudflared_pid" $TIMEOUT &
echo 'SSH session is running in background. GitHub Action will continue.'
echo 'Session will auto-cleanup after timeout or when processes end.'

21
.github/actions/ssh-debug/ssh-session.sh vendored Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
SSHD_PID=$1
CLOUDFLARED_PID=$2
SESSION_TIMEOUT=${3:-3600}
# Wait for timeout or until processes die.
sleep "$SESSION_TIMEOUT" &
SLEEP_PID=$!
# Monitor if SSH or cloudflared dies early.
while kill -0 "$SSHD_PID" 2>/dev/null && kill -0 "$CLOUDFLARED_PID" 2>/dev/null && kill -0 "$SLEEP_PID" 2>/dev/null; do
sleep 10
done
# Cleanup.
kill "$SLEEP_PID" 2>/dev/null || true
kill "$SSHD_PID" 2>/dev/null || true
kill "$CLOUDFLARED_PID" 2>/dev/null || true
echo "SSH session ended"

View File

@@ -0,0 +1,9 @@
Port 2222
HostKey $PWD/ssh_host_rsa_key
PidFile $PWD/sshd.pid
# Only allow single user
AllowUsers $USER
# Only allow those keys
AuthorizedKeysFile $PWD/authorized_keys

View File

@@ -8,7 +8,7 @@ on:
jobs:
build-git-cache-linux:
runs-on: electron-arc-linux-amd64-32core
runs-on: electron-arc-centralus-linux-amd64-32core
container:
image: ghcr.io/electron/build:bc2f48b2415a670de18d13605b1cf0eb5fdbaae1
options: --user root
@@ -29,7 +29,7 @@ jobs:
target-platform: linux
build-git-cache-windows:
runs-on: electron-arc-linux-amd64-32core
runs-on: electron-arc-centralus-linux-amd64-32core
container:
image: ghcr.io/electron/build:bc2f48b2415a670de18d13605b1cf0eb5fdbaae1
options: --user root --device /dev/fuse --cap-add SYS_ADMIN
@@ -51,7 +51,7 @@ jobs:
target-platform: win
build-git-cache-macos:
runs-on: electron-arc-linux-amd64-32core
runs-on: electron-arc-centralus-linux-amd64-32core
# This job updates the same git cache as linux, so it needs to run after the linux one.
needs: build-git-cache-linux
container:

View File

@@ -6,7 +6,7 @@ on:
build-image-sha:
type: string
description: 'SHA for electron/build image'
default: '424eedbf277ad9749ffa9219068aa72ed4a5e373'
default: '933c7d6ff6802706875270bec2e3c891cf8add3f'
required: true
skip-macos:
type: boolean
@@ -64,7 +64,7 @@ jobs:
id: set-output
run: |
if [ -z "${{ inputs.build-image-sha }}" ]; then
echo "build-image-sha=424eedbf277ad9749ffa9219068aa72ed4a5e373" >> "$GITHUB_OUTPUT"
echo "build-image-sha=933c7d6ff6802706875270bec2e3c891cf8add3f" >> "$GITHUB_OUTPUT"
else
echo "build-image-sha=${{ inputs.build-image-sha }}" >> "$GITHUB_OUTPUT"
fi
@@ -92,7 +92,7 @@ jobs:
checkout-macos:
needs: setup
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-macos}}
runs-on: electron-arc-linux-amd64-32core
runs-on: electron-arc-centralus-linux-amd64-32core
container:
image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }}
options: --user root
@@ -120,7 +120,7 @@ jobs:
checkout-linux:
needs: setup
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-linux}}
runs-on: electron-arc-linux-amd64-32core
runs-on: electron-arc-centralus-linux-amd64-32core
container:
image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }}
options: --user root
@@ -149,7 +149,7 @@ jobs:
checkout-windows:
needs: setup
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
runs-on: electron-arc-linux-amd64-32core
runs-on: electron-arc-centralus-linux-amd64-32core
container:
image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }}
options: --user root --device /dev/fuse --cap-add SYS_ADMIN
@@ -194,7 +194,7 @@ jobs:
with:
target-platform: linux
target-archs: x64 arm arm64
check-runs-on: electron-arc-linux-amd64-8core
check-runs-on: electron-arc-centralus-linux-amd64-8core
check-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
gn-build-type: testing
secrets: inherit
@@ -205,7 +205,7 @@ jobs:
with:
target-platform: win
target-archs: x64 x86 arm64
check-runs-on: electron-arc-linux-amd64-8core
check-runs-on: electron-arc-centralus-linux-amd64-8core
check-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-windows.outputs.build-image-sha }}","options":"--user root --device /dev/fuse --cap-add SYS_ADMIN","volumes":["/mnt/win-cache:/mnt/win-cache"]}'
gn-build-type: testing
secrets: inherit
@@ -255,8 +255,8 @@ jobs:
uses: ./.github/workflows/pipeline-electron-build-and-test-and-nan.yml
needs: checkout-linux
with:
build-runs-on: electron-arc-linux-amd64-32core
test-runs-on: electron-arc-linux-amd64-4core
build-runs-on: electron-arc-centralus-linux-amd64-32core
test-runs-on: electron-arc-centralus-linux-amd64-4core
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
test-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}'
target-platform: linux
@@ -275,8 +275,8 @@ jobs:
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
needs: checkout-linux
with:
build-runs-on: electron-arc-linux-amd64-32core
test-runs-on: electron-arc-linux-amd64-4core
build-runs-on: electron-arc-centralus-linux-amd64-32core
test-runs-on: electron-arc-centralus-linux-amd64-4core
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
test-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}'
target-platform: linux
@@ -296,8 +296,8 @@ jobs:
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
needs: checkout-linux
with:
build-runs-on: electron-arc-linux-amd64-32core
test-runs-on: electron-arc-linux-arm64-4core
build-runs-on: electron-arc-centralus-linux-amd64-32core
test-runs-on: electron-arc-centralus-linux-arm64-4core
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
test-container: '{"image":"ghcr.io/electron/test:arm32v7-${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init","volumes":["/home/runner/externals:/mnt/runner-externals"]}'
target-platform: linux
@@ -316,8 +316,8 @@ jobs:
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
needs: checkout-linux
with:
build-runs-on: electron-arc-linux-amd64-32core
test-runs-on: electron-arc-linux-arm64-4core
build-runs-on: electron-arc-centralus-linux-amd64-32core
test-runs-on: electron-arc-centralus-linux-arm64-4core
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
test-container: '{"image":"ghcr.io/electron/test:arm64v8-${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}'
target-platform: linux
@@ -337,7 +337,7 @@ jobs:
needs: checkout-windows
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
with:
build-runs-on: electron-arc-windows-amd64-16core
build-runs-on: electron-arc-centralus-windows-amd64-16core
test-runs-on: windows-latest
target-platform: win
target-arch: x64
@@ -356,7 +356,7 @@ jobs:
needs: checkout-windows
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
with:
build-runs-on: electron-arc-windows-amd64-16core
build-runs-on: electron-arc-centralus-windows-amd64-16core
test-runs-on: windows-latest
target-platform: win
target-arch: x86
@@ -375,7 +375,7 @@ jobs:
needs: checkout-windows
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
with:
build-runs-on: electron-arc-windows-amd64-16core
build-runs-on: electron-arc-centralus-windows-amd64-16core
test-runs-on: electron-hosted-windows-arm64-4core
target-platform: win
target-arch: arm64

View File

@@ -10,7 +10,7 @@ on:
jobs:
clean-src-cache:
runs-on: electron-arc-linux-amd64-32core
runs-on: electron-arc-centralus-linux-amd64-32core
container:
image: ghcr.io/electron/build:bc2f48b2415a670de18d13605b1cf0eb5fdbaae1
options: --user root

View File

@@ -6,7 +6,7 @@ on:
build-image-sha:
type: string
description: 'SHA for electron/build image'
default: '424eedbf277ad9749ffa9219068aa72ed4a5e373'
default: '933c7d6ff6802706875270bec2e3c891cf8add3f'
upload-to-storage:
description: 'Uploads to Azure storage'
required: false
@@ -19,7 +19,7 @@ on:
jobs:
checkout-linux:
runs-on: electron-arc-linux-amd64-32core
runs-on: electron-arc-centralus-linux-amd64-32core
container:
image: ghcr.io/electron/build:${{ inputs.build-image-sha }}
options: --user root
@@ -43,7 +43,7 @@ jobs:
needs: checkout-linux
with:
environment: production-release
build-runs-on: electron-arc-linux-amd64-32core
build-runs-on: electron-arc-centralus-linux-amd64-32core
build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
target-platform: linux
target-arch: x64
@@ -59,7 +59,7 @@ jobs:
needs: checkout-linux
with:
environment: production-release
build-runs-on: electron-arc-linux-amd64-32core
build-runs-on: electron-arc-centralus-linux-amd64-32core
build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
target-platform: linux
target-arch: arm
@@ -75,7 +75,7 @@ jobs:
needs: checkout-linux
with:
environment: production-release
build-runs-on: electron-arc-linux-amd64-32core
build-runs-on: electron-arc-centralus-linux-amd64-32core
build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
target-platform: linux
target-arch: arm64

View File

@@ -6,7 +6,7 @@ on:
build-image-sha:
type: string
description: 'SHA for electron/build image'
default: '424eedbf277ad9749ffa9219068aa72ed4a5e373'
default: '933c7d6ff6802706875270bec2e3c891cf8add3f'
required: true
upload-to-storage:
description: 'Uploads to Azure storage'
@@ -20,7 +20,7 @@ on:
jobs:
checkout-macos:
runs-on: electron-arc-linux-amd64-32core
runs-on: electron-arc-centralus-linux-amd64-32core
container:
image: ghcr.io/electron/build:${{ inputs.build-image-sha }}
options: --user root

View File

@@ -15,7 +15,7 @@ concurrency:
jobs:
docs-only:
name: Docs Only Compile
runs-on: electron-arc-linux-amd64-4core
runs-on: electron-arc-centralus-linux-amd64-4core
timeout-minutes: 20
container: ${{ fromJSON(inputs.container) }}
steps:

View File

@@ -18,7 +18,7 @@ env:
jobs:
lint:
name: Lint
runs-on: electron-arc-linux-amd64-4core
runs-on: electron-arc-centralus-linux-amd64-4core
timeout-minutes: 20
container: ${{ fromJSON(inputs.container) }}
steps:

View File

@@ -73,6 +73,7 @@ env:
SUDOWOODO_EXCHANGE_TOKEN: ${{ secrets.SUDOWOODO_EXCHANGE_TOKEN }}
GCLIENT_EXTRA_ARGS: ${{ inputs.target-platform == 'macos' && '--custom-var=checkout_mac=True --custom-var=host_os=mac' || inputs.target-platform == 'win' && '--custom-var=checkout_win=True' || '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True' }}
ELECTRON_OUT_DIR: Default
ACTIONS_STEP_DEBUG: ${{ secrets.ACTIONS_STEP_DEBUG }}
jobs:
build:
@@ -94,6 +95,15 @@ jobs:
path: src/electron
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Setup SSH Debugging
if: ${{ inputs.target-platform == 'macos' && env.ACTIONS_STEP_DEBUG == 'true' }}
uses: ./src/electron/.github/actions/ssh-debug
with:
tunnel: 'true'
env:
CLOUDFLARE_TUNNEL_TOKEN: ${{ secrets.CLOUDFLARE_TUNNEL_TOKEN }}
TUNNEL_HOSTNAME: ${{ secrets.CLOUDFLARED_SSH_HOSTNAME }}
AUTHORIZED_USERS: ${{ secrets.SSH_DEBUG_AUTHORIZED_USERS }}
- name: Free up space (macOS)
if: ${{ inputs.target-platform == 'macos' }}
uses: ./src/electron/.github/actions/free-space-macos

View File

@@ -40,6 +40,7 @@ env:
CHROMIUM_GIT_COOKIE_WINDOWS_STRING: ${{ secrets.CHROMIUM_GIT_COOKIE_WINDOWS_STRING }}
ELECTRON_OUT_DIR: Default
ELECTRON_RBE_JWT: ${{ secrets.ELECTRON_RBE_JWT }}
ACTIONS_STEP_DEBUG: ${{ secrets.ACTIONS_STEP_DEBUG }}
jobs:
test:
@@ -124,6 +125,15 @@ jobs:
path: src/electron
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Setup SSH Debugging
if: ${{ inputs.target-platform == 'macos' && env.ACTIONS_STEP_DEBUG == 'true' }}
uses: ./src/electron/.github/actions/ssh-debug
with:
tunnel: 'true'
env:
CLOUDFLARE_TUNNEL_TOKEN: ${{ secrets.CLOUDFLARE_TUNNEL_TOKEN }}
TUNNEL_HOSTNAME: ${{ secrets.CLOUDFLARED_SSH_HOSTNAME }}
AUTHORIZED_USERS: ${{ secrets.SSH_DEBUG_AUTHORIZED_USERS }}
- name: Install Dependencies
uses: ./src/electron/.github/actions/install-dependencies
- name: Set Chromium Git Cookie

View File

@@ -38,7 +38,7 @@ env:
jobs:
node-tests:
name: Run Node.js Tests
runs-on: electron-arc-linux-amd64-8core
runs-on: electron-arc-centralus-linux-amd64-8core
timeout-minutes: 30
env:
TARGET_ARCH: ${{ inputs.target-arch }}
@@ -92,7 +92,7 @@ jobs:
done
nan-tests:
name: Run Nan Tests
runs-on: electron-arc-linux-amd64-4core
runs-on: electron-arc-centralus-linux-amd64-4core
timeout-minutes: 30
env:
TARGET_ARCH: ${{ inputs.target-arch }}

View File

@@ -6,7 +6,7 @@ on:
build-image-sha:
type: string
description: 'SHA for electron/build image'
default: '424eedbf277ad9749ffa9219068aa72ed4a5e373'
default: '933c7d6ff6802706875270bec2e3c891cf8add3f'
required: true
upload-to-storage:
description: 'Uploads to Azure storage'
@@ -20,7 +20,7 @@ on:
jobs:
checkout-windows:
runs-on: electron-arc-linux-amd64-32core
runs-on: electron-arc-centralus-linux-amd64-32core
container:
image: ghcr.io/electron/build:${{ inputs.build-image-sha }}
options: --user root --device /dev/fuse --cap-add SYS_ADMIN
@@ -51,7 +51,7 @@ jobs:
needs: checkout-windows
with:
environment: production-release
build-runs-on: electron-arc-windows-amd64-16core
build-runs-on: electron-arc-centralus-windows-amd64-16core
target-platform: win
target-arch: x64
is-release: true
@@ -65,7 +65,7 @@ jobs:
needs: checkout-windows
with:
environment: production-release
build-runs-on: electron-arc-windows-amd64-16core
build-runs-on: electron-arc-centralus-windows-amd64-16core
target-platform: win
target-arch: arm64
is-release: true
@@ -79,7 +79,7 @@ jobs:
needs: checkout-windows
with:
environment: production-release
build-runs-on: electron-arc-windows-amd64-16core
build-runs-on: electron-arc-centralus-windows-amd64-16core
target-platform: win
target-arch: x86
is-release: true

View File

@@ -4,9 +4,9 @@ import("//build/config/win/manifest.gni")
import("//components/os_crypt/sync/features.gni")
import("//components/spellcheck/spellcheck_build_features.gni")
import("//content/public/app/mac_helpers.gni")
import("//content/public/common/features.gni")
import("//extensions/buildflags/buildflags.gni")
import("//pdf/features.gni")
import("//ppapi/buildflags/buildflags.gni")
import("//printing/buildflags/buildflags.gni")
import("//testing/test.gni")
import("//third_party/electron_node/node.gni")

2
DEPS
View File

@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
vars = {
'chromium_version':
'140.0.7281.0',
'140.0.7314.0',
'node_version':
'v22.17.1',
'nan_version':

View File

@@ -78,6 +78,8 @@ static_library("chrome") {
"//chrome/browser/platform_util.h",
"//chrome/browser/predictors/preconnect_manager.cc",
"//chrome/browser/predictors/preconnect_manager.h",
"//chrome/browser/predictors/preconnect_manager_impl.cc",
"//chrome/browser/predictors/preconnect_manager_impl.h",
"//chrome/browser/predictors/predictors_features.cc",
"//chrome/browser/predictors/predictors_features.h",
"//chrome/browser/predictors/proxy_lookup_client_impl.cc",
@@ -130,6 +132,8 @@ static_library("chrome") {
"//chrome/browser/ui/views/overlay/hang_up_button.h",
"//chrome/browser/ui/views/overlay/minimize_button.cc",
"//chrome/browser/ui/views/overlay/minimize_button.h",
"//chrome/browser/ui/views/overlay/overlay_controls_fade_animation.cc",
"//chrome/browser/ui/views/overlay/overlay_controls_fade_animation.h",
"//chrome/browser/ui/views/overlay/overlay_window_image_button.cc",
"//chrome/browser/ui/views/overlay/overlay_window_image_button.h",
"//chrome/browser/ui/views/overlay/playback_image_button.cc",

View File

@@ -117,7 +117,7 @@ void Initialize(v8::Local<v8::Object> exports,
v8::Local<v8::Value> unused,
v8::Local<v8::Context> context,
void* priv) {
v8::Isolate* isolate = context->GetIsolate();
v8::Isolate* const isolate = v8::Isolate::GetCurrent();
gin_helper::Dictionary dict(isolate, exports);
dict.Set("apiName", electron::api::ApiName::Create(isolate));
}

View File

@@ -380,6 +380,8 @@ filenames = {
"shell/browser/electron_navigation_throttle.h",
"shell/browser/electron_permission_manager.cc",
"shell/browser/electron_permission_manager.h",
"shell/browser/electron_preconnect_manager_delegate.cc",
"shell/browser/electron_preconnect_manager_delegate.h",
"shell/browser/electron_speech_recognition_manager_delegate.cc",
"shell/browser/electron_speech_recognition_manager_delegate.h",
"shell/browser/electron_web_contents_utility_handler_impl.cc",

View File

@@ -821,6 +821,7 @@ libcxx_headers = [
"//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/__verbose_trap",
"//third_party/libc++/src/include/__cxx03/algorithm",
"//third_party/libc++/src/include/__cxx03/array",
"//third_party/libc++/src/include/__cxx03/atomic",
@@ -989,6 +990,7 @@ libcxx_headers = [
"//third_party/libc++/src/include/__format/indic_conjunct_break_table.h",
"//third_party/libc++/src/include/__format/parser_std_format_spec.h",
"//third_party/libc++/src/include/__format/range_default_formatter.h",
"//third_party/libc++/src/include/__format/range_format.h",
"//third_party/libc++/src/include/__format/range_formatter.h",
"//third_party/libc++/src/include/__format/unicode.h",
"//third_party/libc++/src/include/__format/width_estimation_table.h",
@@ -1084,6 +1086,7 @@ libcxx_headers = [
"//third_party/libc++/src/include/__iterator/ostreambuf_iterator.h",
"//third_party/libc++/src/include/__iterator/permutable.h",
"//third_party/libc++/src/include/__iterator/prev.h",
"//third_party/libc++/src/include/__iterator/product_iterator.h",
"//third_party/libc++/src/include/__iterator/projected.h",
"//third_party/libc++/src/include/__iterator/ranges_iterator_traits.h",
"//third_party/libc++/src/include/__iterator/readable_traits.h",
@@ -1096,13 +1099,18 @@ libcxx_headers = [
"//third_party/libc++/src/include/__iterator/unreachable_sentinel.h",
"//third_party/libc++/src/include/__iterator/wrap_iter.h",
"//third_party/libc++/src/include/__locale",
"//third_party/libc++/src/include/__locale_dir/locale_base_api/android.h",
"//third_party/libc++/src/include/__locale_dir/check_grouping.h",
"//third_party/libc++/src/include/__locale_dir/get_c_locale.h",
"//third_party/libc++/src/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h",
"//third_party/libc++/src/include/__locale_dir/locale_base_api/ibm.h",
"//third_party/libc++/src/include/__locale_dir/locale_base_api/musl.h",
"//third_party/libc++/src/include/__locale_dir/locale_base_api/openbsd.h",
"//third_party/libc++/src/include/__locale_dir/locale_base_api.h",
"//third_party/libc++/src/include/__locale_dir/messages.h",
"//third_party/libc++/src/include/__locale_dir/money.h",
"//third_party/libc++/src/include/__locale_dir/num.h",
"//third_party/libc++/src/include/__locale_dir/pad_and_output.h",
"//third_party/libc++/src/include/__locale_dir/scan_keyword.h",
"//third_party/libc++/src/include/__locale_dir/support/apple.h",
"//third_party/libc++/src/include/__locale_dir/support/bsd_like.h",
"//third_party/libc++/src/include/__locale_dir/support/freebsd.h",
@@ -1111,6 +1119,9 @@ libcxx_headers = [
"//third_party/libc++/src/include/__locale_dir/support/no_locale/characters.h",
"//third_party/libc++/src/include/__locale_dir/support/no_locale/strtonum.h",
"//third_party/libc++/src/include/__locale_dir/support/windows.h",
"//third_party/libc++/src/include/__locale_dir/time.h",
"//third_party/libc++/src/include/__locale_dir/wbuffer_convert.h",
"//third_party/libc++/src/include/__locale_dir/wstring_convert.h",
"//third_party/libc++/src/include/__math/abs.h",
"//third_party/libc++/src/include/__math/copysign.h",
"//third_party/libc++/src/include/__math/error_functions.h",
@@ -1292,6 +1303,7 @@ libcxx_headers = [
"//third_party/libc++/src/include/__ranges/iota_view.h",
"//third_party/libc++/src/include/__ranges/istream_view.h",
"//third_party/libc++/src/include/__ranges/join_view.h",
"//third_party/libc++/src/include/__ranges/join_with_view.h",
"//third_party/libc++/src/include/__ranges/lazy_split_view.h",
"//third_party/libc++/src/include/__ranges/movable_box.h",
"//third_party/libc++/src/include/__ranges/non_propagating_cache.h",
@@ -1312,6 +1324,7 @@ libcxx_headers = [
"//third_party/libc++/src/include/__ranges/transform_view.h",
"//third_party/libc++/src/include/__ranges/view_interface.h",
"//third_party/libc++/src/include/__ranges/views.h",
"//third_party/libc++/src/include/__ranges/zip_transform_view.h",
"//third_party/libc++/src/include/__ranges/zip_view.h",
"//third_party/libc++/src/include/__split_buffer",
"//third_party/libc++/src/include/__std_mbstate_t.h",
@@ -1355,16 +1368,14 @@ libcxx_headers = [
"//third_party/libc++/src/include/__tuple/make_tuple_types.h",
"//third_party/libc++/src/include/__tuple/sfinae_helpers.h",
"//third_party/libc++/src/include/__tuple/tuple_element.h",
"//third_party/libc++/src/include/__tuple/tuple_indices.h",
"//third_party/libc++/src/include/__tuple/tuple_like.h",
"//third_party/libc++/src/include/__tuple/tuple_like_ext.h",
"//third_party/libc++/src/include/__tuple/tuple_like_no_subrange.h",
"//third_party/libc++/src/include/__tuple/tuple_size.h",
"//third_party/libc++/src/include/__tuple/tuple_types.h",
"//third_party/libc++/src/include/__type_traits/add_cv_quals.h",
"//third_party/libc++/src/include/__type_traits/add_lvalue_reference.h",
"//third_party/libc++/src/include/__type_traits/add_pointer.h",
"//third_party/libc++/src/include/__type_traits/add_rvalue_reference.h",
"//third_party/libc++/src/include/__type_traits/add_reference.h",
"//third_party/libc++/src/include/__type_traits/aligned_storage.h",
"//third_party/libc++/src/include/__type_traits/aligned_union.h",
"//third_party/libc++/src/include/__type_traits/alignment_of.h",
@@ -1386,6 +1397,7 @@ libcxx_headers = [
"//third_party/libc++/src/include/__type_traits/extent.h",
"//third_party/libc++/src/include/__type_traits/has_unique_object_representation.h",
"//third_party/libc++/src/include/__type_traits/has_virtual_destructor.h",
"//third_party/libc++/src/include/__type_traits/integer_traits.h",
"//third_party/libc++/src/include/__type_traits/integral_constant.h",
"//third_party/libc++/src/include/__type_traits/invoke.h",
"//third_party/libc++/src/include/__type_traits/is_abstract.h",
@@ -1436,7 +1448,6 @@ libcxx_headers = [
"//third_party/libc++/src/include/__type_traits/is_same.h",
"//third_party/libc++/src/include/__type_traits/is_scalar.h",
"//third_party/libc++/src/include/__type_traits/is_signed.h",
"//third_party/libc++/src/include/__type_traits/is_signed_integer.h",
"//third_party/libc++/src/include/__type_traits/is_specialization.h",
"//third_party/libc++/src/include/__type_traits/is_standard_layout.h",
"//third_party/libc++/src/include/__type_traits/is_swappable.h",
@@ -1450,7 +1461,6 @@ libcxx_headers = [
"//third_party/libc++/src/include/__type_traits/is_unbounded_array.h",
"//third_party/libc++/src/include/__type_traits/is_union.h",
"//third_party/libc++/src/include/__type_traits/is_unsigned.h",
"//third_party/libc++/src/include/__type_traits/is_unsigned_integer.h",
"//third_party/libc++/src/include/__type_traits/is_valid_expansion.h",
"//third_party/libc++/src/include/__type_traits/is_void.h",
"//third_party/libc++/src/include/__type_traits/is_volatile.h",
@@ -1521,6 +1531,7 @@ libcxx_headers = [
"//third_party/libc++/src/include/__vector/vector_bool.h",
"//third_party/libc++/src/include/__vector/vector_bool_formatter.h",
"//third_party/libc++/src/include/__verbose_abort",
"//third_party/libc++/src/include/__verbose_trap",
"//third_party/libc++/src/include/algorithm",
"//third_party/libc++/src/include/any",
"//third_party/libc++/src/include/array",

View File

@@ -10,10 +10,10 @@ 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 309b61c89ef8c9decb9d9080f96923ee256f0dc6..a53d64cf9169c65aa890f362ac51b11a3d656fab 100644
index 431214277314941c5ec031f03ad09e7f22800983..4cc48bbc3f8434876f35767c1a9f01d27388be99 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[] = {
@@ -46,6 +46,7 @@ static const struct nid_to_digest nid_to_digest_mapping[] = {
{NID_sha512, EVP_sha512, SN_sha512, LN_sha512},
{NID_sha512_256, EVP_sha512_256, SN_sha512_256, LN_sha512_256},
{NID_md5_sha1, EVP_md5_sha1, SN_md5_sha1, LN_md5_sha1},

View File

@@ -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 241d75770d9263f982ea0d4cd71c4af4f82b0d14..0f95e4371ff2ca0c0adc764ffc140565a27ea0bf 100644
index aa8ef8a0c53978021b675e1d909c3f78045dbb7b..61794458f7a7a849d48a225533ef4f8431434e42 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) {
@@ -1206,7 +1206,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) {
}
if (ret_code == 0) {
@@ -32,7 +32,7 @@ index 241d75770d9263f982ea0d4cd71c4af4f82b0d14..0f95e4371ff2ca0c0adc764ffc140565
return SSL_ERROR_ZERO_RETURN;
}
// An EOF was observed which violates the protocol, and the underlying
@@ -2565,13 +2565,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) {
@@ -2567,13 +2567,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) {
return CRYPTO_get_ex_data(&ctx->ex_data, idx);
}

View File

@@ -84,7 +84,6 @@ create_browser_v8_snapshot_file_name_fuse.patch
feat_configure_launch_options_for_service_process.patch
feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch
fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch
preconnect_manager.patch
fix_remove_caption-removing_style_call.patch
build_allow_electron_to_use_exec_script.patch
chore_introduce_blocking_api_for_electron.patch
@@ -135,6 +134,7 @@ revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch
build_partial_revert_mac_fullscreen_top_chrome_mouse_events.patch
revert_update_siso-chromium_image.patch
build_set_mac_sdk_minimum_to_10.patch
partitionalloc_use_fewer_vmas_by_default_on_linux_systems.patch
fix_add_macos_memory_query_fallback_to_avoid_crash.patch
fix_resolve_dynamic_background_material_update_issue_on_windows_11.patch
revert_use_more_binaries_from_clang_toolchain_in_mac_build.patch
chore_remove_unused_include_in_preconnect_manager_impl_cc.patch

View File

@@ -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 b6403600631c97100c7356265b88ed32d9d7716b..9225d26c2eb46d4a70a1e08ce34e02c32c15ea92 100644
index fd375dee71339a4e8bf858fc0b348c852c594a83..bc4786d408af2297ca6acb4489ab81cf8f70c8c3 100644
--- a/content/gpu/gpu_main.cc
+++ b/content/gpu/gpu_main.cc
@@ -267,6 +267,10 @@ int GpuMain(MainFunctionParams parameters) {
@@ -269,6 +269,10 @@ int GpuMain(MainFunctionParams parameters) {
// to the GpuProcessHost once the GpuServiceImpl has started.
viz::GpuLogMessageManager::GetInstance()->InstallPreInitializeLogHandler();
@@ -24,7 +24,7 @@ index b6403600631c97100c7356265b88ed32d9d7716b..9225d26c2eb46d4a70a1e08ce34e02c3
// 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
@@ -376,7 +380,6 @@ int GpuMain(MainFunctionParams parameters) {
@@ -378,7 +382,6 @@ int GpuMain(MainFunctionParams parameters) {
#endif
const bool dead_on_arrival = !init_success;
@@ -33,10 +33,10 @@ index b6403600631c97100c7356265b88ed32d9d7716b..9225d26c2eb46d4a70a1e08ce34e02c3
client->PostSandboxInitialized();
}
diff --git a/content/public/gpu/content_gpu_client.h b/content/public/gpu/content_gpu_client.h
index 47de52a1c9d34753ec27c33d976987cd2550cd27..bdc35a9d6fab02502715ed2bf27bd65990239bd6 100644
index e5389b44df98ab1a5c976524a66a26c763e5c436..4a183b4959fae18e6875440e6570b8ada6823d81 100644
--- a/content/public/gpu/content_gpu_client.h
+++ b/content/public/gpu/content_gpu_client.h
@@ -35,6 +35,10 @@ class CONTENT_EXPORT ContentGpuClient {
@@ -36,6 +36,10 @@ class CONTENT_EXPORT ContentGpuClient {
public:
virtual ~ContentGpuClient() {}

View File

@@ -10,10 +10,10 @@ 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 b08febf8bba8ceb94eb80d04d83931d1e219c5b7..60eedf298de4af314e2459933adda42a7e90e483 100644
index 8364a976ab0ee8101a43ed82f969d1e5de53857a..9ed14ce5bdea8db14be52ecc98f161bebfbab180 100644
--- a/content/public/renderer/render_frame_observer.h
+++ b/content/public/renderer/render_frame_observer.h
@@ -140,6 +140,8 @@ class CONTENT_EXPORT RenderFrameObserver {
@@ -138,6 +138,8 @@ class CONTENT_EXPORT RenderFrameObserver {
virtual void DidHandleOnloadEvents() {}
virtual void DidCreateScriptContext(v8::Local<v8::Context> context,
int32_t world_id) {}
@@ -23,10 +23,10 @@ index b08febf8bba8ceb94eb80d04d83931d1e219c5b7..60eedf298de4af314e2459933adda42a
int32_t world_id) {}
virtual void DidClearWindowObject() {}
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index b74623455d53d109a97e6c767f56a9beeb0e87e5..2f13ff0b2671c0851f31f527fe1f76b118bf03d2 100644
index db4e2c71d3c0f91a6f61c4c3c87e84df8dd3f32a..868608115641bf50ab587e184fa132d42bd24893 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -4666,6 +4666,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
@@ -4676,6 +4676,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
observer.DidCreateScriptContext(context, world_id);
}
@@ -40,10 +40,10 @@ index b74623455d53d109a97e6c767f56a9beeb0e87e5..2f13ff0b2671c0851f31f527fe1f76b1
int world_id) {
for (auto& observer : observers_)
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 79383765a3a0095b92355d6d5777be461c926447..e0b57c2b7aee0706b6b164ac555a3264236268e3 100644
index 5f54302be2fac0c1c2d89932d6d3efa949eebe3c..59e86e54909bb0b59b329fe3f1edee5c920d88cd 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -604,6 +604,8 @@ class CONTENT_EXPORT RenderFrameImpl
@@ -603,6 +603,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;
@@ -79,10 +79,10 @@ index b963abd8c4bf6ffaea1930a8d1f647a8a8c266bc..2e8653654686f4fc775288f059ff27da
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 1a4500439ffb8ee38b28386e62d96b8011cc892a..e6bc766e971218c3d8def94d1b954d81b4a04a35 100644
index 17d2181db4a0f657aa5052632e3d81f8799d5465..fb565dcbde4c735e101f7bca6eecdc631987c400 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client.h
+++ b/third_party/blink/renderer/core/frame/local_frame_client.h
@@ -301,6 +301,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
@@ -300,6 +300,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient {
virtual void DidCreateScriptContext(v8::Local<v8::Context>,
int32_t world_id) = 0;
@@ -92,7 +92,7 @@ index 1a4500439ffb8ee38b28386e62d96b8011cc892a..e6bc766e971218c3d8def94d1b954d81
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 327a013b77c09bd3c7b781d67d8d9ec64807fb5b..51ade9075a184597ed7580a5243ce5ada220ca4c 100644
index 477ddbe72e05e691d807f480717a4b4975a22c01..62c59370129ed0b77bfe67fe5e75ddde96e8ae43 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(

View File

@@ -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 e12bdf2e2f97f087684207eb42e55ef8a137f80e..4258bc80796161a7ac9ec8d7ad2cb10f9bc4bf00 100644
index d321fe74be7af24d1246224d7a28c9dede3635b2..af2cb60c42863b1fdad487c28d544b7a7dade805 100644
--- a/content/browser/renderer_host/navigation_controller_impl_unittest.cc
+++ b/content/browser/renderer_host/navigation_controller_impl_unittest.cc
@@ -167,6 +167,12 @@ class MockPageBroadcast : public blink::mojom::PageBroadcast {
@@ -23,10 +23,10 @@ index e12bdf2e2f97f087684207eb42e55ef8a137f80e..4258bc80796161a7ac9ec8d7ad2cb10f
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 a0335fef252b46976ea2caf95e1bf3ef7d52585d..0a97013b60fcfeb8fac55d686b107b1175c9be04 100644
index 04f7f6c52a28f21c621a1932677da380ff0c941c..08fdd256ae7a6446b9824b479c4c39659a2d6426 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -760,6 +760,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
@@ -764,6 +764,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque);
}
@@ -39,10 +39,10 @@ index a0335fef252b46976ea2caf95e1bf3ef7d52585d..0a97013b60fcfeb8fac55d686b107b11
return is_active();
}
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h
index 6eade0d29bc266a6a8928e768c923687bd12e656..53465bc76a22ae97ba4602d02a41f52e194af68b 100644
index 7944fe64e0da112fc670358b75506bb199bb5e4a..0e3c16c6af2a078943e9f39808134ab20c115e99 100644
--- a/content/browser/renderer_host/render_view_host_impl.h
+++ b/content/browser/renderer_host/render_view_host_impl.h
@@ -135,6 +135,7 @@ class CONTENT_EXPORT RenderViewHostImpl
@@ -136,6 +136,7 @@ class CONTENT_EXPORT RenderViewHostImpl
void EnablePreferredSizeMode() override;
void WriteIntoTrace(perfetto::TracedProto<TraceProto> context) const override;
@@ -51,7 +51,7 @@ index 6eade0d29bc266a6a8928e768c923687bd12e656..53465bc76a22ae97ba4602d02a41f52e
void SendRendererPreferencesToRenderer(
const blink::RendererPreferences& preferences);
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 9d8f184777507395eb0361b6654083a77fdacfcc..a7fa17e27afc0b934bba59cf820f1ebe222bd514 100644
index 9b0bcaab04af3f13aca061604fe1be4daa159a35..c912ad0a9cee55b2da316eba71e4e741365fda1b 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -580,8 +580,8 @@ void RenderWidgetHostViewAura::ShowImpl(PageVisibilityState page_visibility) {
@@ -104,10 +104,10 @@ index b6a4e3609af1f090f1f845d77fa0589e5b178d8a..989b2cf76ce88614b57e75ce2fcace10
+ SetSchedulerThrottling(bool allowed);
};
diff --git a/third_party/blink/public/web/web_view.h b/third_party/blink/public/web/web_view.h
index f5d921fb5de6d5decc53815d959d91f8c7e8c5dc..3cca9aec9ccb02dbaf29298d89e5c862f05757a4 100644
index c8d27cfee8ef3fe244291f4667b59df1037c359b..92ed53a689991ec8eca9572bf2f7a212acfc4a38 100644
--- a/third_party/blink/public/web/web_view.h
+++ b/third_party/blink/public/web/web_view.h
@@ -355,6 +355,7 @@ class BLINK_EXPORT WebView {
@@ -360,6 +360,7 @@ class BLINK_EXPORT WebView {
// Scheduling -----------------------------------------------------------
virtual PageScheduler* Scheduler() const = 0;
@@ -116,10 +116,10 @@ index f5d921fb5de6d5decc53815d959d91f8c7e8c5dc..3cca9aec9ccb02dbaf29298d89e5c862
// Visibility -----------------------------------------------------------
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
index 2c7db5d15c6b844186a4a2715d8ce02b554cba9a..85a2d5c468107d51fe931ba3b8464517a2bbdddf 100644
index aae07d5bfdc7dd9020caaa03281c68f9e41080a8..c1d980558293ac6aedcc6ebbf79de5130e0ba22a 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -2484,6 +2484,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
@@ -2482,6 +2482,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal",
"old_state", old_state, "new_state", new_state);
@@ -130,7 +130,7 @@ index 2c7db5d15c6b844186a4a2715d8ce02b554cba9a..85a2d5c468107d51fe931ba3b8464517
bool storing_in_bfcache = new_state->is_in_back_forward_cache &&
!old_state->is_in_back_forward_cache;
bool restoring_from_bfcache = !new_state->is_in_back_forward_cache &&
@@ -3978,10 +3982,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
@@ -3979,10 +3983,23 @@ PageScheduler* WebViewImpl::Scheduler() const {
return GetPage()->GetPageScheduler();
}
@@ -155,10 +155,10 @@ index 2c7db5d15c6b844186a4a2715d8ce02b554cba9a..85a2d5c468107d51fe931ba3b8464517
// Do not throttle if the page should be painting.
bool is_visible =
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h
index 607f8b3db1be6ff04434a42399f153e2da0f0127..50df538a2aef851b6cb4a06b24b1e22627a71c7b 100644
index 5c8a5d7f9b675a460740643fc26d778a08ef7112..2ebae3e0a5b76eb9551d286af1ed64e1e58b9de4 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.h
+++ b/third_party/blink/renderer/core/exported/web_view_impl.h
@@ -443,6 +443,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -445,6 +445,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
LocalDOMWindow* PagePopupWindow() const;
PageScheduler* Scheduler() const override;
@@ -166,7 +166,7 @@ index 607f8b3db1be6ff04434a42399f153e2da0f0127..50df538a2aef851b6cb4a06b24b1e226
void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state,
bool is_initial_state) override;
mojom::blink::PageVisibilityState GetVisibilityState() override;
@@ -931,6 +932,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -935,6 +936,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
// If true, we send IPC messages when |preferred_size_| changes.
bool send_preferred_size_changes_ = false;

View File

@@ -8,7 +8,7 @@ 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 c207ad535db9310dcb473b7269ccc577e40448c2..bf7e7b89d3f30ac9ce6999e6d2a810fb94ba121a 100644
index 545a854789199a6f3056bf507f882446a5e11235..e733581553328010275c85465ee3a97a950afe4d 100644
--- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
+++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
@@ -148,6 +148,19 @@ bool StructTraits<blink::mojom::WebPreferencesDataView,
@@ -32,7 +32,7 @@ index c207ad535db9310dcb473b7269ccc577e40448c2..bf7e7b89d3f30ac9ce6999e6d2a810fb
out->accelerated_video_decode_enabled =
data.accelerated_video_decode_enabled();
diff --git a/third_party/blink/public/common/web_preferences/web_preferences.h b/third_party/blink/public/common/web_preferences/web_preferences.h
index f17fb9ec701d1a5ef3deb728f8e97d53331978db..d5563e79944827fa3a68dd621445899349295f59 100644
index 3283422f7b6da21e6e9c6f35a52a643ba26a5e29..962d10f8166c3765b8d7434ecf941922981e3ce8 100644
--- a/third_party/blink/public/common/web_preferences/web_preferences.h
+++ b/third_party/blink/public/common/web_preferences/web_preferences.h
@@ -9,6 +9,7 @@
@@ -43,9 +43,9 @@ index f17fb9ec701d1a5ef3deb728f8e97d53331978db..d5563e79944827fa3a68dd6214458993
#include "build/build_config.h"
#include "net/nqe/effective_connection_type.h"
#include "third_party/blink/public/common/common_export.h"
@@ -453,6 +454,20 @@ struct BLINK_COMMON_EXPORT WebPreferences {
// fingerprinting are enabled.
bool api_based_fingerprinting_interventions_enabled = false;
@@ -456,6 +457,19 @@ struct BLINK_COMMON_EXPORT WebPreferences {
// Whether fingerprinting protection based on page content is enabled.
bool content_based_fingerprinting_protection_enabled = false;
+ // Begin Electron-specific WebPreferences.
+ bool context_isolation = false;
@@ -59,13 +59,12 @@ index f17fb9ec701d1a5ef3deb728f8e97d53331978db..d5563e79944827fa3a68dd6214458993
+ bool enable_plugins = false;
+ bool enable_websql = false;
+ bool webview_tag = false;
+ // End Electron-specific WebPreferences.
+
// We try to keep the default values the same as the default values in
// 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 61451bfeb59780dba5d41650619d13f4639fb752..ff9a431ae3c7adf6d79912ab9edc41884a99dd26 100644
index 49b374461da896943cd3da55ebcd8814098eeba9..13789a02f03dcfdbad798875d109882d9e548dff 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 @@
@@ -130,7 +129,7 @@ index 61451bfeb59780dba5d41650619d13f4639fb752..ff9a431ae3c7adf6d79912ab9edc4188
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 e0c02352054a112bef293aa9eaa2b18daa768048..82eff7fed067ab3cda80ca950756232b15d8d090 100644
index 60432eee506ddfcb02c5eef396494bea4dc3e263..76c0de3cc8095ab834950e117f8f12fd51e94978 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";

View File

@@ -49,10 +49,10 @@ index c9f34fa47702504ccdefb8d61c55f5eaae501085..26df03d777c9ea487cae37f3df91d1df
// 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 02f07b5cbabe54c4452c2e8e5dea73653320acd1..f74e7cdbaa4c77b84ed9ecba839874ed6c26c4e8 100644
index 2053663d6f6172adff49c1e16ba18fd5d5a6b42b..fd7b452579df8e974d4e5e6b83aeb66fee72733d 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -738,10 +738,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
@@ -740,10 +740,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
}
DCHECK(!view_ || !view_->IsAttached());
@@ -63,7 +63,7 @@ index 02f07b5cbabe54c4452c2e8e5dea73653320acd1..f74e7cdbaa4c77b84ed9ecba839874ed
if (!Client())
return false;
@@ -795,6 +791,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
@@ -797,6 +793,11 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
DCHECK(!view_->IsAttached());
Client()->WillBeDetached();

View File

@@ -6,7 +6,7 @@ Subject: boringssl BUILD.gn
Build BoringSSL with some extra functions that nodejs needs.
diff --git a/third_party/boringssl/BUILD.gn b/third_party/boringssl/BUILD.gn
index b962901a7db8e6e50155dabbb1371124b12f9b26..b01e197ae2e411a376ffa28b9058d62a16abf23b 100644
index 31174ca1c75252b226af14548324d50744ac8c35..8469a37a4e50c76751160ab6ef484662c3626296 100644
--- a/third_party/boringssl/BUILD.gn
+++ b/third_party/boringssl/BUILD.gn
@@ -48,6 +48,21 @@ all_sources = bcm_internal_headers + bcm_sources + crypto_internal_headers +

View File

@@ -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 467ce5cd72f227ecf7011176ef174a18c2b9d8cc..0b86e6dd09b3dc7e175f6d483013e1e33ce14b93 100644
index 92500570c5423dfb655f5d22797c997f35c6b451..bb3f98765c5fcb0d8eadaf4921ae97f832c5e8b9 100644
--- a/base/trace_event/builtin_categories.h
+++ b/base/trace_event/builtin_categories.h
@@ -123,6 +123,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
@@ -126,6 +126,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
perfetto::Category("drm"),
perfetto::Category("drmcursor"),
perfetto::Category("dwrite"),

View File

@@ -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 c67d8bad398f754d7d99f8a39936608d64c8b818..addb4e76f72e2b1037c75be2387db5f048c100a8 100644
index 647c4457217c87cfc1dfaeb99b2f2b66395cbfe4..3b9a57ec56b34673f684ac19a0324c775b3040c2 100644
--- a/content/public/common/BUILD.gn
+++ b/content/public/common/BUILD.gn
@@ -379,6 +379,8 @@ mojom("interfaces") {
@@ -383,6 +383,8 @@ mojom("interfaces") {
"//content/common/*",
"//extensions/common:mojom",
"//extensions/common:mojom_blink",

View File

@@ -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 61c3779e9fd11869fdf7b789e3b728fd03ed8fd0..f0638cdfe9cd75834c09e5361201d9c50dad74af 100644
index babd5a12fa7fbe263e1ecd6d269a2965a3024bbe..cf116f19c4031e3bec6c82125761ebbcb32c5c79 100644
--- a/build/config/compiler/compiler.gni
+++ b/build/config/compiler/compiler.gni
@@ -88,7 +88,7 @@ declare_args() {

View File

@@ -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 58ab462a5bdb335a54a8f7d9f3d27e6f039c50cb..5e0da948970cbd6f526b927158111625edb47411 100644
index 2fb245ad4daabdf430be1f593e73b2da90504419..2f7cd882b6c6d893917b1f7850ee08438acebcd4 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -196,11 +196,16 @@ if (!is_android && !is_mac) {
@@ -33,10 +33,10 @@ index 58ab462a5bdb335a54a8f7d9f3d27e6f039c50cb..5e0da948970cbd6f526b927158111625
"//base",
"//build:branding_buildflags",
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 30c7fa8addf7f10919e3f185697dda0cdaed0d0e..2a0b917df579e6c5393a57b90bd540bbfb9e3db6 100644
index eb9c64fa031f9650229c4f805ba4234b16685dce..070f9dc35630afdc665cef0aa20140072c6d72cc 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -4782,7 +4782,7 @@ static_library("browser") {
@@ -4761,7 +4761,7 @@ static_library("browser") {
[ "//chrome/browser/ui/webui/signin:profile_impl" ]
}
@@ -46,10 +46,10 @@ index 30c7fa8addf7f10919e3f185697dda0cdaed0d0e..2a0b917df579e6c5393a57b90bd540bb
# than here in :chrome_dll.
deps += [ "//chrome:packed_resources_integrity_header" ]
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 6e7ba06e1edfce3d0890013fa8fb1369899a297a..2ed7f27a1e194abcdcd72852c83b8f906e7012e6 100644
index 6a3137e01498f2454ce52b86288cb5c55643a72b..92b10e55d74267866b339124316330ba0bd4809d 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -7396,9 +7396,12 @@ test("unit_tests") {
@@ -7456,9 +7456,12 @@ test("unit_tests") {
"//chrome/notification_helper",
]
@@ -63,7 +63,7 @@ index 6e7ba06e1edfce3d0890013fa8fb1369899a297a..2ed7f27a1e194abcdcd72852c83b8f90
"//chrome//services/util_win:unit_tests",
"//chrome/app:chrome_dll_resources",
"//chrome/app:win_unit_tests",
@@ -8336,6 +8339,10 @@ test("unit_tests") {
@@ -8389,6 +8392,10 @@ test("unit_tests") {
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
]
@@ -74,7 +74,7 @@ index 6e7ba06e1edfce3d0890013fa8fb1369899a297a..2ed7f27a1e194abcdcd72852c83b8f90
sources += [
# The importer code is not used on Android.
"../common/importer/firefox_importer_utils_unittest.cc",
@@ -8391,7 +8398,6 @@ test("unit_tests") {
@@ -8444,7 +8451,6 @@ test("unit_tests") {
# TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above?
deps += [
"../browser/screen_ai:screen_ai_install_state",

View File

@@ -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 8ffff25f7d89b3dcf35b598d5f2213d0716699e2..6788fe50093372acaf6209e740c560d215bd8643 100644
index 5183d7525acbf4f317248b049ea4180ccbec7f0d..0ba04c218f69488eb06c834854cef8cb8af0a5b4 100644
--- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn
@@ -123,6 +123,9 @@ if (current_os == "") {

View File

@@ -7,10 +7,10 @@ Build libc++ as static library to compile and pass
nan tests
diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
index b7cb32a0639b9bda3e6648dd86d735d030897699..3796793317febae3661a3c46a0815647a36266f4 100644
index f4e46e2813e89c00dbc4549fe7a8623776c1ea47..992d7a6b020b938db1d4cbd109a4c025dcaaeb05 100644
--- a/buildtools/third_party/libc++/BUILD.gn
+++ b/buildtools/third_party/libc++/BUILD.gn
@@ -582,6 +582,7 @@ target(libcxx_target_type, "libc++") {
@@ -908,6 +908,7 @@ target(libcxx_target_type, "libc++") {
# need to explicitly depend on libc++.
visibility = [
"//build/config:common_deps",

View File

@@ -9,10 +9,10 @@ potentially prevent a window from being created.
TODO(loc): this patch is currently broken.
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 63b6d11a3752cf7eea37e477ae438a4375e6ac4f..b0de3dc68c75388591e54cc3c1d8e8c7a56a8773 100644
index 2406cb3ad5ea6f9709d1e0ef984cbfdf969f3c40..cf78be9a397d9c4372245b0a2b4ee8fdd58df3e8 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -9757,6 +9757,7 @@ void RenderFrameHostImpl::CreateNewWindow(
@@ -9773,6 +9773,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 63b6d11a3752cf7eea37e477ae438a4375e6ac4f..b0de3dc68c75388591e54cc3c1d8e8c7
&no_javascript_access);
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index f4cb3ab03bba197652e000a1cdfd8593d526b5cc..133718bc2e270ac7ed02ef4a7f17bf4efb773d5c 100644
index ebfc82ce166b1cfa12523851598429364030ff9c..635ce2fb1a4f1e91b5abd7bd0ae1a6b6ccbdf926 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5287,6 +5287,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -5340,6 +5340,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
// Sets the newly created WebContents WindowOpenDisposition.
new_contents_impl->original_window_open_disposition_ = params.disposition;
@@ -37,7 +37,7 @@ index f4cb3ab03bba197652e000a1cdfd8593d526b5cc..133718bc2e270ac7ed02ef4a7f17bf4e
// 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
@@ -5328,12 +5334,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -5381,12 +5387,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
AddWebContentsDestructionObserver(new_contents_impl);
}
@@ -51,10 +51,10 @@ index f4cb3ab03bba197652e000a1cdfd8593d526b5cc..133718bc2e270ac7ed02ef4a7f17bf4e
new_contents_impl, opener, params.target_url,
params.referrer.To<Referrer>(), params.disposition,
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
index 0dfcbbd0e3274d01d938f843530b61a52028771d..14007f8b9c30a72b8303eccd1891a7fd409cc7ad 100644
index fc433c5802ecb880f3f144f09c3d318814672213..6a1e1f2cfc60451bb097b3625245fbfb3f0d12a4 100644
--- a/content/common/frame.mojom
+++ b/content/common/frame.mojom
@@ -653,6 +653,10 @@ struct CreateNewWindowParams {
@@ -657,6 +657,10 @@ struct CreateNewWindowParams {
pending_associated_remote<blink.mojom.Widget> widget;
pending_associated_receiver<blink.mojom.FrameWidgetHost> frame_widget_host;
pending_associated_remote<blink.mojom.FrameWidget> frame_widget;
@@ -66,10 +66,10 @@ index 0dfcbbd0e3274d01d938f843530b61a52028771d..14007f8b9c30a72b8303eccd1891a7fd
// 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 8b21f2ba284ece1d6b339cf10dfe9181fae9b1d7..a1f71d06e8f205d651c5a3f8a3f1af3e774d6800 100644
index c7986ab566838fcc187afed6905988f348275966..e0d34f995433072aa23cfd2ae5e8d98b175cf366 100644
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -858,6 +858,8 @@ bool ContentBrowserClient::CanCreateWindow(
@@ -863,6 +863,8 @@ bool ContentBrowserClient::CanCreateWindow(
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
@@ -79,7 +79,7 @@ index 8b21f2ba284ece1d6b339cf10dfe9181fae9b1d7..a1f71d06e8f205d651c5a3f8a3f1af3e
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 3244924132a833c7c712aa46f96e990cacf42eca..96f343fa47565d6f88925548b1f1c7f9b5c8736c 100644
index 8b0bfc819b9c5d1aef14482306880ee21fef96b9..8c4704131677362a240a4456f7a73e34d8632d2b 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 3244924132a833c7c712aa46f96e990cacf42eca..96f343fa47565d6f88925548b1f1c7f9
} // namespace network
namespace sandbox {
@@ -1425,6 +1426,8 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1429,6 +1430,8 @@ class CONTENT_EXPORT ContentBrowserClient {
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features,
@@ -148,10 +148,10 @@ index 4c687a84d14d5fa8cd5e376580b594ed0d116ef5..1a71f8020ba4de7bd4966bb025631552
// 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 414af5f3574d3fa7c45a5b809cd99d19e5202160..b74623455d53d109a97e6c767f56a9beeb0e87e5 100644
index 623902124afe29a80efe98096921abad41d36b90..db4e2c71d3c0f91a6f61c4c3c87e84df8dd3f32a 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -6756,6 +6756,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
@@ -6766,6 +6766,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
GetWebFrame()->IsAdScriptInStack());
@@ -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 03277987be8d0799b8ae61b6714bc71f74adb5f0..12e6ca5e45c16a76c0bac3674e74def93f0a0593 100644
index 48a3285eea2ea453e8b53d76d0230028e8bff0dc..f0dbb35f323cf24d17dfc9c74ab04330e591d6c6 100644
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
@@ -2317,6 +2317,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
@@ -2347,6 +2347,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
WebWindowFeatures window_features =
GetWindowFeaturesFromString(features, entered_window);

View File

@@ -6,7 +6,7 @@ Subject: chore: add electron deps to gitignores
Makes things like "git status" quicker when developing electron locally
diff --git a/.gitignore b/.gitignore
index f11f646ee1682ed617bbe01bda89640d24ba12cd..f6b469b28dde1e993df37704853f6da43868ee0a 100644
index a47e3367c85f371097748299b872e40c3e333302..8de26c54b57345121e986dab0bbd33d3842bc511 100644
--- a/.gitignore
+++ b/.gitignore
@@ -224,6 +224,7 @@ vs-chromium-project.txt

View File

@@ -10,10 +10,10 @@ Subject: chore: "grandfather in" Electron Views and Delegates
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 23232b148b002e83926b8848c2e2ada42d608083..df2e5a84387620bfa2e642e957e4d7e7d8106b44 100644
index 4e531691d53c5fbed548cdd84cd41dd6e38ab3f0..7ae948a035f5be41ffc6af7d7f8815db85368039 100644
--- a/ui/views/view.h
+++ b/ui/views/view.h
@@ -82,6 +82,19 @@ class ArcNotificationContentView;
@@ -81,6 +81,19 @@ class ArcNotificationContentView;
class WideFrameView;
} // namespace ash
@@ -49,7 +49,7 @@ index 23232b148b002e83926b8848c2e2ada42d608083..df2e5a84387620bfa2e642e957e4d7e7
// 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 d58d671e8a2d6720686ee4aa8f4f5e94cc6a25af..3ae3e30bfba4a193b3107517a8fd6e7a27f08cb2 100644
index bbe54e9853e2d6c2ab6ebc6994b3f267e7aede07..63fc2476961c57752f822af586b997d2397600dc 100644
--- a/ui/views/widget/widget_delegate.h
+++ b/ui/views/widget/widget_delegate.h
@@ -165,6 +165,12 @@ namespace crostini {
@@ -62,10 +62,10 @@ index d58d671e8a2d6720686ee4aa8f4f5e94cc6a25af..3ae3e30bfba4a193b3107517a8fd6e7a
+class NativeWindowMac;
+}
+
namespace enterprise_connectors {
class ContentAnalysisDialogController;
class ContentAnalysisDialogBehaviorBrowserTest;
@@ -374,6 +380,7 @@ class VIEWS_EXPORT WidgetDelegate {
namespace exo {
class ShellSurfaceBase;
}
@@ -368,6 +374,7 @@ class VIEWS_EXPORT WidgetDelegate {
class OwnedByWidgetPassKey {
private:
@@ -73,7 +73,7 @@ index d58d671e8a2d6720686ee4aa8f4f5e94cc6a25af..3ae3e30bfba4a193b3107517a8fd6e7a
// DO NOT ADD TO THIS LIST!
// These existing cases are "grandfathered in", but there shouldn't be more.
// See comments atop `SetOwnedByWidget()`.
@@ -470,6 +477,7 @@ class VIEWS_EXPORT WidgetDelegate {
@@ -460,6 +467,7 @@ class VIEWS_EXPORT WidgetDelegate {
};
class RegisterDeleteCallbackPassKey {
private:
@@ -81,7 +81,7 @@ index d58d671e8a2d6720686ee4aa8f4f5e94cc6a25af..3ae3e30bfba4a193b3107517a8fd6e7a
// DO NOT ADD TO THIS LIST!
// These existing cases are "grandfathered in", but there shouldn't be more.
// See comments atop `RegisterDeleteDelegateCallback()`.
@@ -927,6 +935,7 @@ class VIEWS_EXPORT WidgetDelegateView : public WidgetDelegate, public View {
@@ -917,6 +925,7 @@ class VIEWS_EXPORT WidgetDelegateView : public WidgetDelegate, public View {
View* GetContentsView() override;
private:

View File

@@ -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 ecbd353eac1f4fb3022d822d38938b81ba182fd6..22b643e960e89ee58f5190eebd6093952eefaa6f 100644
index bcc3d8f6a98cfb37074661e4d7cabe11500d6893..3958e7c242f00445b363af9a0a9a74bc854f2e72 100644
--- a/base/threading/thread_restrictions.h
+++ b/base/threading/thread_restrictions.h
@@ -132,6 +132,7 @@ class KeyStorageLinux;

View File

@@ -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 b5feb80ee47826eb8d052e2bcdb1e602fa50ec5f..56a2bedb0f594d9ccd0dfb9046ef1da64e1fc72b 100644
index b93032cf102faff8b570902de20d69aec0c8ad3b..cae36228828a295d74f04d43fe2ed0aba94f716b 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5203,7 +5203,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -5256,7 +5256,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.

View File

@@ -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 1eea1bbf46335cf2cbe0ef07abb4906eb68c2eb7..363ebf5268cb6b513f4b54894939511db97230a5 100644
index 4645ecf79850bb36b0a5d924d48d073dc867cc21..c6f0daf4ecdee39c362409caa3840bfe9a99d3b2 100644
--- a/content/browser/site_instance_impl.cc
+++ b/content/browser/site_instance_impl.cc
@@ -227,7 +227,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(
@@ -228,7 +228,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(
BrowserContext* browser_context,
const StoragePartitionConfig& partition_config) {
DCHECK(browser_context);

View File

@@ -27,10 +27,10 @@ index e3b9f14a4cf2167064ce6716053e663adffa1542..65f13a4607c8145858fd47d81cb9960c
// When the enterprise policy is not set, use finch/feature flag choice.
return base::FeatureList::IsEnabled(
diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc
index ecacb93a2eb0765e43ac984498b72a5d0900e669..dc9870130befc742287475cf05b4caa00413d6f3 100644
index 0af6001acc689428807c21ff471fb8aa303c2dd0..152aeaba8d9d87b711a63f6d651ecb6c32cf3fa5 100644
--- a/chrome/browser/pdf/pdf_extension_util.cc
+++ b/chrome/browser/pdf/pdf_extension_util.cc
@@ -245,10 +245,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) {
@@ -248,10 +248,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) {
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(ENABLE_PDF_INK2)
bool IsPdfAnnotationsEnabledByPolicy(content::BrowserContext* context) {

View File

@@ -80,20 +80,20 @@ index b6582b4013d9682d32bd524b4053b443a4df00f8..afcbce72e0f247b4d5a637b27c9f25d9
content::WebContents* source,
const content::OpenURLParams& params,
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index 32516a8e60d96b2370f0f030852015e6d30d9cb1..1efcb0fd83062af0301fe6d8e3166d657bfb18c7 100644
index 0f0f52e32ab15e3f8544b3b1f521d24a20c38ead..ddc072bb69f5104e711bfcdf9f851fe199087e52 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -2363,8 +2363,7 @@ bool Browser::IsWebContentsCreationOverridden(
@@ -2353,8 +2353,7 @@ bool Browser::IsWebContentsCreationOverridden(
content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type,
const GURL& opener_url,
- const std::string& frame_name,
- const GURL& target_url) {
+ const content::mojom::CreateNewWindowParams& params) {
if (IsActorExecutionEngineActingOnTab(
if (IsActorOperatingOnWebContents(
profile(), content::WebContents::FromRenderFrameHost(opener))) {
// If an ExecutionEngine is acting on the opener, prevent it from creating
@@ -2376,7 +2375,7 @@ bool Browser::IsWebContentsCreationOverridden(
@@ -2366,7 +2365,7 @@ bool Browser::IsWebContentsCreationOverridden(
return (window_container_type ==
content::mojom::WindowContainerType::BACKGROUND &&
ShouldCreateBackgroundContents(source_site_instance, opener_url,
@@ -103,10 +103,10 @@ index 32516a8e60d96b2370f0f030852015e6d30d9cb1..1efcb0fd83062af0301fe6d8e3166d65
WebContents* Browser::CreateCustomWebContents(
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
index a795d6515099dea389913f84f25f5170bc5dcefc..68e63fdbd07ea7b6b8175932386cac5b3a0db89a 100644
index faef0cb7ddde2afcf607d5681583d0580dfcb8e6..0343eb2e8dff92c6145d51a9920d88cc24b56be6 100644
--- a/chrome/browser/ui/browser.h
+++ b/chrome/browser/ui/browser.h
@@ -986,8 +986,7 @@ class Browser : public TabStripModelObserver,
@@ -938,8 +938,7 @@ class Browser : public TabStripModelObserver,
content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type,
const GURL& opener_url,
@@ -222,10 +222,10 @@ index b969f1d97b7e3396119b579cfbe61e19ff7d2dd4..b8d6169652da28266a514938b45b39c5
content::WebContents* AddNewContents(
content::WebContents* source,
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 2789ab0d799653e34b2a3f81333daf5e0cf3ecf5..ef4630910570726091ad9170864a1509a4558524 100644
index 2be6dc0dada353a36822794421b30c346a9ec930..315e54d061dea3ce28583c6eb456196dc873a1a6 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -5166,8 +5166,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -5219,8 +5219,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
if (delegate_ &&
delegate_->IsWebContentsCreationOverridden(
opener, source_site_instance, params.window_container_type,
@@ -264,10 +264,10 @@ index 1a71f8020ba4de7bd4966bb02563155237659c32..526a165f9e8bd20747ee00e6f987c995
// 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 0f2c21513e07e8ddb387c165754d7ec67942a719..c381abf67c261b92f1c65c485b69321f44080343 100644
index 3b1fe9ef59fbcd3684348fb518ce67210a639dc1..dc38462f8e29066bec4970cc820b8d6077106b85 100644
--- a/extensions/browser/guest_view/app_view/app_view_guest.cc
+++ b/extensions/browser/guest_view/app_view/app_view_guest.cc
@@ -154,8 +154,7 @@ bool AppViewGuest::IsWebContentsCreationOverridden(
@@ -153,8 +153,7 @@ bool AppViewGuest::IsWebContentsCreationOverridden(
content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type,
const GURL& opener_url,
@@ -328,10 +328,10 @@ index 56d86e3d1179df2d5f34eb6216989aef2687f49f..236f3ccf8354b156737e03929ee538f9
content::RenderFrameHost* opener,
content::SiteInstance* source_site_instance,
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
index 0bba5f4b0abdaa55b7e406d39ccf3de33bf53194..ed4b8e0215a12adf95273109f7e4968d7b0cbf2a 100644
index 3e689ad6bdb51ccd7419eb87e4ba2cdbf2f1a8e9..c219b456721a43d9dfdf69612909a2d4f82cd33d 100644
--- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
+++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
@@ -453,8 +453,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
@@ -424,8 +424,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type,
const GURL& opener_url,

View File

@@ -9,7 +9,7 @@ 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 a0177450c5603f86eab6da6900733e0657e74eb3..6510d1d25008d63f998925e533b8994c7c818a51 100644
index 09e5575f67c0a7484663d0ecbee5963be622cb8f..b206eca9426491921e6cacfad3fb764d474e7945 100644
--- a/extensions/browser/script_injection_tracker.cc
+++ b/extensions/browser/script_injection_tracker.cc
@@ -177,7 +177,6 @@ std::vector<const UserScript*> GetLoadedDynamicScripts(

View File

@@ -0,0 +1,26 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: David Sanders <dsanders11@ucsbalum.com>
Date: Wed, 23 Jul 2025 22:07:13 -0700
Subject: chore: remove unused include in preconnect_manager_impl.cc
This include isn't used but pulls in parts of //chrome that
we don't build, so snip it. This was previously being done
as part of another patch but that patch went away in this
Chromium roll so this is a new patch just to snip it.
This is being upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/6782507
Change-Id: If13767d94f3522e7224f24ea45d6feeab01bafbc
diff --git a/chrome/browser/predictors/preconnect_manager_impl.cc b/chrome/browser/predictors/preconnect_manager_impl.cc
index 58d19bed9ca5004a5322dbbe52e7f1075b2188ea..2dd50c6107590ece770d3a348a32c4996a2a7f83 100644
--- a/chrome/browser/predictors/preconnect_manager_impl.cc
+++ b/chrome/browser/predictors/preconnect_manager_impl.cc
@@ -13,7 +13,6 @@
#include "base/trace_event/trace_event.h"
#include "base/types/optional_util.h"
#include "chrome/browser/predictors/predictors_features.h"
-#include "chrome/browser/predictors/resource_prefetch_predictor.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"

View File

@@ -7,7 +7,7 @@ By default, chromium sets up one v8 snapshot to be used in all v8 contexts. This
to have a dedicated browser process v8 snapshot defined by the file `browser_v8_context_snapshot.bin`.
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
index c53bea0517ba3e2f7e127a27737240f054d6b6ed..2ed4e422f0ff0f3dd0194f767c976244be02c3d2 100644
index ad93ffc5f17fbff592dc7cfc64aab245de8a296c..75ee8f7ee167b334565dd0976c04a2961fa479c7 100644
--- a/content/app/content_main_runner_impl.cc
+++ b/content/app/content_main_runner_impl.cc
@@ -270,8 +270,13 @@ void AsanProcessInfoCB(const char*, bool*) {

View 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 9adc60ae6da7beb305f58ec326346532d1afd158..434b33a2f1f9531038372e26d3c0ceec704818bd 100644
index b0be247c7099353c57e56cac0be50edc657bf8a9..2ef7fc4d733bd3e33415c969bd12b997561e4353 100644
--- a/content/browser/service_worker/service_worker_context_wrapper.cc
+++ b/content/browser/service_worker/service_worker_context_wrapper.cc
@@ -1937,6 +1937,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
@@ -1938,6 +1938,26 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
loader_factory_bundle_info =
context()->loader_factory_bundle_for_update_check()->Clone();
@@ -38,7 +38,7 @@ index 9adc60ae6da7beb305f58ec326346532d1afd158..434b33a2f1f9531038372e26d3c0ceec
if (auto* config = content::WebUIConfigMap::GetInstance().GetConfig(
browser_context(), scope)) {
// If this is a Service Worker for a WebUI, the WebUI's URLDataSource
@@ -1956,9 +1976,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
@@ -1957,9 +1977,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
features::kEnableServiceWorkersForChromeScheme) &&
scope.scheme_piece() == kChromeUIScheme) {
config->RegisterURLDataSource(browser_context());
@@ -49,7 +49,7 @@ index 9adc60ae6da7beb305f58ec326346532d1afd158..434b33a2f1f9531038372e26d3c0ceec
.emplace(kChromeUIScheme, CreateWebUIServiceWorkerLoaderFactory(
browser_context(), kChromeUIScheme,
base::flat_set<std::string>()));
@@ -1966,9 +1984,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
@@ -1967,9 +1985,7 @@ ServiceWorkerContextWrapper::GetLoaderFactoryForBrowserInitiatedRequest(
features::kEnableServiceWorkersForChromeUntrusted) &&
scope.scheme_piece() == kChromeUIUntrustedScheme) {
config->RegisterURLDataSource(browser_context());

View File

@@ -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 80ccb50098f642f4ce7bd97de20d821decd8fab6..1874493c21087f1cf3a565956bd48ebac6892135 100644
index 59431be07a19a274256e328d75191d03c5b717de..09faffd038c9a119ccb8d51ed44569dbd3fed908 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -834,6 +834,10 @@ void RenderWidgetHostImpl::WasHidden() {
@@ -835,6 +835,10 @@ void RenderWidgetHostImpl::WasHidden() {
return;
}
@@ -21,7 +21,7 @@ index 80ccb50098f642f4ce7bd97de20d821decd8fab6..1874493c21087f1cf3a565956bd48eba
// 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 ad3b28d343c6c7c454bb6deb2459ba807e992ca5..65431096f65d6bb3f4c3efeae7f80617ed596cad 100644
index 1e5164c3f015711d337f3775eb67381b76126344..062f911a9515285444f9c0abf9220f8d37a68e8f 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -1020,6 +1020,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
@@ -32,10 +32,10 @@ index ad3b28d343c6c7c454bb6deb2459ba807e992ca5..65431096f65d6bb3f4c3efeae7f80617
+ bool disable_hidden_ = false;
+
protected:
// |routing_id| must not be MSG_ROUTING_NONE.
// |routing_id| must not be IPC::mojom::kRoutingIdNone.
// If this object outlives |delegate|, DetachDelegate() must be called when
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 45348adb79a183c39a739caf87c052c87be55451..9d8f184777507395eb0361b6654083a77fdacfcc 100644
index 2aa678fde76a0f9db2e2e784d7e00228e61ef4e5..9b0bcaab04af3f13aca061604fe1be4daa159a35 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -644,7 +644,7 @@ void RenderWidgetHostViewAura::HideImpl() {

View File

@@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
} // namespace net
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index 7bfd9b892a0e9f9fa9cbda53e98d137c7e7e8bba..d7f9c92d62983a7a9f0fcd679d56913078df83a6 100644
index 3f62466413bf1df98ecbd70633123d7c652a61dc..2cbc92cab0bf5affbc1f655d96b805dcaf670150 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1871,6 +1871,13 @@ void NetworkContext::SetNetworkConditions(
@@ -1872,6 +1872,13 @@ void NetworkContext::SetNetworkConditions(
std::move(network_conditions));
}
@@ -77,10 +77,10 @@ index 507a33fb865ba7413711093298201ccf050d98de..01d94e27a27e112fe6846d9c1e127d63
SetAcceptLanguage(string new_accept_language);
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
index 434d9286c2bcf497365a5329f4be26ff593976a3..0cae566f643eda10f06f83d69ec47a4f674e7f6f 100644
index 28dfc37ace19ff2fdfa18c3db89723b423e9b1db..ceaed0f3f58f744e207f51d8f1aaee42ec0e3ffe 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 {}

View File

@@ -15,10 +15,10 @@ Ideally we could add an embedder observer pattern here but that can be
done in future work.
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
index 85a2d5c468107d51fe931ba3b8464517a2bbdddf..bb9745b97e411c03c4757f7a96e240df93b28559 100644
index c1d980558293ac6aedcc6ebbf79de5130e0ba22a..b4fe66b564f475f1fcda8c00618be655f0ffd85c 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -1875,6 +1875,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
@@ -1884,6 +1884,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
#if BUILDFLAG(IS_MAC)
web_view_impl->SetMaximumLegibleScale(
prefs.default_maximum_page_scale_factor);

View File

@@ -25,7 +25,7 @@ Refs https://issues.chromium.org/issues/40210365 which is blocked
on https://issues.chromium.org/issues/42203693
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
index d1b95149ea0d16af2606900f10898a355026ffe1..fe1d866cba3b1a221092e1d6dced027894b3f3af 100644
index 5255c1094c88761c19af1ea294ceccaca63b5ae4..bb1639d73070a99984b72eb61afd001dec5b08ff 100644
--- a/gin/isolate_holder.cc
+++ b/gin/isolate_holder.cc
@@ -35,6 +35,8 @@ v8::ArrayBuffer::Allocator* g_array_buffer_allocator = nullptr;
@@ -37,7 +37,7 @@ index d1b95149ea0d16af2606900f10898a355026ffe1..fe1d866cba3b1a221092e1d6dced0278
std::unique_ptr<v8::Isolate::CreateParams> getModifiedIsolateParams(
std::unique_ptr<v8::Isolate::CreateParams> params,
@@ -205,10 +207,26 @@ IsolateHolder::getDefaultIsolateParams() {
@@ -203,10 +205,26 @@ IsolateHolder::getDefaultIsolateParams() {
return params;
}
@@ -88,10 +88,10 @@ index dc3a5b0678b9c686e241b492e2c3b5ac833611a3..32a7ba4f557e65d9525d2ca07e8597e7
// testing.
V8IsolateMemoryDumpProvider* isolate_memory_dump_provider_for_testing()
diff --git a/gin/wrappable.cc b/gin/wrappable.cc
index 721a0f3dc2c1714726b711b1b661907e80a9bdcc..6b954d9840f9b1798aa1778fa39c8a20cb4f34df 100644
index 97277a98bcaa9badcc549a9aaf3388f3019f5602..2b6338e701fb255bb1089a4bed32f94bbb257064 100644
--- a/gin/wrappable.cc
+++ b/gin/wrappable.cc
@@ -53,6 +53,8 @@ v8::MaybeLocal<v8::Object> WrappableBase::GetWrapper(v8::Isolate* isolate) {
@@ -71,6 +71,8 @@ void WrappableBase::SetWrapper(v8::Isolate* isolate,
DeprecatedWrappableBase::DeprecatedWrappableBase() = default;
DeprecatedWrappableBase::~DeprecatedWrappableBase() {
@@ -100,7 +100,7 @@ index 721a0f3dc2c1714726b711b1b661907e80a9bdcc..6b954d9840f9b1798aa1778fa39c8a20
wrapper_.Reset();
}
@@ -68,9 +70,13 @@ const char* DeprecatedWrappableBase::GetTypeName() {
@@ -86,9 +88,13 @@ const char* DeprecatedWrappableBase::GetTypeName() {
void DeprecatedWrappableBase::FirstWeakCallback(
const v8::WeakCallbackInfo<DeprecatedWrappableBase>& data) {
DeprecatedWrappableBase* wrappable = data.GetParameter();
@@ -117,7 +117,7 @@ index 721a0f3dc2c1714726b711b1b661907e80a9bdcc..6b954d9840f9b1798aa1778fa39c8a20
}
NamedPropertyInterceptor*
@@ -80,8 +86,11 @@ DeprecatedWrappableBase::GetNamedPropertyInterceptor() {
@@ -98,8 +104,11 @@ DeprecatedWrappableBase::GetNamedPropertyInterceptor() {
void DeprecatedWrappableBase::SecondWeakCallback(
const v8::WeakCallbackInfo<DeprecatedWrappableBase>& data) {
@@ -130,7 +130,7 @@ index 721a0f3dc2c1714726b711b1b661907e80a9bdcc..6b954d9840f9b1798aa1778fa39c8a20
}
v8::MaybeLocal<v8::Object> DeprecatedWrappableBase::GetWrapperImpl(
@@ -117,10 +126,15 @@ v8::MaybeLocal<v8::Object> DeprecatedWrappableBase::GetWrapperImpl(
@@ -135,10 +144,15 @@ v8::MaybeLocal<v8::Object> DeprecatedWrappableBase::GetWrapperImpl(
void* values[] = {info, this};
wrapper->SetAlignedPointerInInternalFields(2, indices, values);
wrapper_.Reset(isolate, wrapper);
@@ -148,10 +148,10 @@ index 721a0f3dc2c1714726b711b1b661907e80a9bdcc..6b954d9840f9b1798aa1778fa39c8a20
void* FromV8Impl(v8::Isolate* isolate,
diff --git a/gin/wrappable.h b/gin/wrappable.h
index 9048c4fc9f6b0a19f0620d6eb7e35d5005381d81..566d590890ba40ca3a254c7d88c0b30817d2a5e6 100644
index beb6818d04dbbe7d90c686e73d505bae43139fcc..bdef19d5a9d828aeaeb47efcc0a82d83a568359a 100644
--- a/gin/wrappable.h
+++ b/gin/wrappable.h
@@ -172,6 +172,13 @@ class GIN_EXPORT DeprecatedWrappableBase {
@@ -175,6 +175,13 @@ class GIN_EXPORT DeprecatedWrappableBase {
v8::Isolate* isolate,
DeprecatedWrapperInfo* wrapper_info);

View File

@@ -140,10 +140,10 @@ index 94602e2319d3f7ed557da98e0598c9f96d986260..0a9a856d8bd9d702eb49e45a54c141a3
// 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 a2a19b975ddd8799917ec674b53368ab1b123232..3ff87e391f744cd17c26945fa7dcfde59d80b573 100644
index 28556e56f2fd591c46ce6f48d39eb907876a499d..f5737ba60fb9e182459066ffa62c7c589f379954 100644
--- a/content/browser/code_cache/generated_code_cache_browsertest.cc
+++ b/content/browser/code_cache/generated_code_cache_browsertest.cc
@@ -15,17 +15,22 @@
@@ -16,17 +16,22 @@
#include "base/time/time.h"
#include "content/browser/code_cache/generated_code_cache_context.h"
#include "content/browser/renderer_host/code_cache_host_impl.h"
@@ -166,16 +166,16 @@ index a2a19b975ddd8799917ec674b53368ab1b123232..3ff87e391f744cd17c26945fa7dcfde5
#include "net/base/features.h"
#include "net/dns/mock_host_resolver.h"
#include "third_party/blink/public/common/features.h"
@@ -36,6 +41,8 @@ namespace content {
@@ -37,6 +42,8 @@ namespace content {
namespace {
+const std::string kCodeCacheScheme = "test-code-cache";
+
bool SupportsSharedWorker() {
#if BUILDFLAG(IS_ANDROID)
// SharedWorkers are not enabled on Android. https://crbug.com/154571
@@ -1048,4 +1055,82 @@ IN_PROC_BROWSER_TEST_F(LocalCompileHintsBrowserTest, LocalCompileHints) {
return base::FeatureList::IsEnabled(blink::features::kSharedWorker);
}
@@ -1044,4 +1051,82 @@ IN_PROC_BROWSER_TEST_F(LocalCompileHintsBrowserTest, LocalCompileHints) {
}
}

View File

@@ -20,7 +20,7 @@ index afb657b7c9e1ede1273532b16428d37cc5d75c59..16707cf516cd34682c84ea2ccebddaa0
requested_format_.pixel_format = media::PIXEL_FORMAT_NV12;
DCHECK_GT(requested_format_.frame_size.GetArea(), 0);
diff --git a/content/browser/media/capture/io_surface_capture_device_base_mac.cc b/content/browser/media/capture/io_surface_capture_device_base_mac.cc
index 4ec4c895423151d2c907d97de1461cbde8c8a639..0e59797833b81c07299b8c342f591e192183c6f1 100644
index 7a76550922d97a835dae15be6a951c91a9b351b0..ce3e22e437fa208652326798e12952c40372197a 100644
--- a/content/browser/media/capture/io_surface_capture_device_base_mac.cc
+++ b/content/browser/media/capture/io_surface_capture_device_base_mac.cc
@@ -20,7 +20,7 @@ void IOSurfaceCaptureDeviceBase::AllocateAndStart(

View File

@@ -187,10 +187,10 @@ index d9c14f91747bde0e76056d7f2f2ada166e67f994..53be16879777a3b9bef58ead5f7e420c
UtilityProcessHost::Start(std::move(utility_options),
diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc
index 9c88b20e11b4c946fd101b633bf93836070946d8..c9d2b451c8d07c915051fd50ca0b079aaed48199 100644
index 11846daf710f7cc272da17f14b8813fea93fe7e6..136fa55e7945f1d6abf5731c9cbaa92148f8117d 100644
--- a/content/browser/service_host/utility_process_host.cc
+++ b/content/browser/service_host/utility_process_host.cc
@@ -244,13 +244,13 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithFileToPreload(
@@ -245,13 +245,13 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithFileToPreload(
}
#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
@@ -207,7 +207,7 @@ index 9c88b20e11b4c946fd101b633bf93836070946d8..c9d2b451c8d07c915051fd50ca0b079a
#if BUILDFLAG(USE_ZYGOTE)
UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
@@ -260,6 +260,36 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
@@ -261,6 +261,36 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
}
#endif // BUILDFLAG(USE_ZYGOTE)
@@ -244,7 +244,7 @@ index 9c88b20e11b4c946fd101b633bf93836070946d8..c9d2b451c8d07c915051fd50ca0b079a
UtilityProcessHost::Options&
UtilityProcessHost::Options::WithBoundReceiverOnChildProcessForTesting(
mojo::GenericPendingReceiver receiver) {
@@ -521,9 +551,26 @@ bool UtilityProcessHost::StartProcess() {
@@ -524,9 +554,26 @@ bool UtilityProcessHost::StartProcess() {
}
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN)
@@ -273,21 +273,18 @@ index 9c88b20e11b4c946fd101b633bf93836070946d8..c9d2b451c8d07c915051fd50ca0b079a
#if BUILDFLAG(IS_WIN)
if (!options_.preload_libraries_.empty()) {
diff --git a/content/browser/service_host/utility_process_host.h b/content/browser/service_host/utility_process_host.h
index 4335d7ff718c3d7de92320ba11c39c3957303788..55379fbe9233ba96f6e4729e2b7d534c0c6884a0 100644
index 580fa663e729a43bef44a10de8983c4aecc312fb..f39af3df87786a472f987309ac0dea699b9f0d9f 100644
--- a/content/browser/service_host/utility_process_host.h
+++ b/content/browser/service_host/utility_process_host.h
@@ -29,6 +29,10 @@
#include "content/public/common/zygote/zygote_handle.h"
#endif // BUILDFLAG(USE_ZYGOTE)
@@ -31,6 +31,7 @@
+#if BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_WIN)
#include "base/synchronization/waitable_event.h"
+#include "base/win/scoped_handle.h"
+#endif
+
#endif // BUILDFLAG(IS_WIN)
namespace base {
class Thread;
} // namespace base
@@ -111,14 +115,31 @@ class CONTENT_EXPORT UtilityProcessHost
@@ -134,14 +135,31 @@ class CONTENT_EXPORT UtilityProcessHost final
std::variant<base::FilePath, base::ScopedFD> file);
#endif
@@ -322,7 +319,7 @@ index 4335d7ff718c3d7de92320ba11c39c3957303788..55379fbe9233ba96f6e4729e2b7d534c
// Requests that the process bind a receiving pipe targeting the interface
// named by `receiver`. Calls to this method generally end up in
// `ChildThreadImpl::OnBindReceiver()` and the option is used for testing
@@ -162,6 +183,27 @@ class CONTENT_EXPORT UtilityProcessHost
@@ -185,6 +203,27 @@ class CONTENT_EXPORT UtilityProcessHost final
std::optional<raw_ptr<ZygoteCommunication>> zygote_for_testing_;
#endif // BUILDFLAG(USE_ZYGOTE)
@@ -351,7 +348,7 @@ index 4335d7ff718c3d7de92320ba11c39c3957303788..55379fbe9233ba96f6e4729e2b7d534c
// Whether or not to bind viz::mojom::Gpu to the utility process.
bool allowed_gpu_;
diff --git a/content/browser/service_host/utility_sandbox_delegate.cc b/content/browser/service_host/utility_sandbox_delegate.cc
index ff9941f1f46658574e8ac53bc80fdf665f873bc0..51dfb23c8ebba7ec075ecab597bd84734773f924 100644
index 8f89c28144e1ecf3d7dbf9a3b43031cbad12a8ea..faa49bb63bd2e9080da441286bdbf427f22cd26f 100644
--- a/content/browser/service_host/utility_sandbox_delegate.cc
+++ b/content/browser/service_host/utility_sandbox_delegate.cc
@@ -43,17 +43,19 @@ UtilitySandboxedProcessLauncherDelegate::
@@ -410,10 +407,10 @@ index ff9941f1f46658574e8ac53bc80fdf665f873bc0..51dfb23c8ebba7ec075ecab597bd8473
#if BUILDFLAG(USE_ZYGOTE)
ZygoteCommunication* UtilitySandboxedProcessLauncherDelegate::GetZygote() {
diff --git a/content/browser/service_host/utility_sandbox_delegate.h b/content/browser/service_host/utility_sandbox_delegate.h
index cc122cb093ddd340b4e42436e461b27275f80456..ba113809f986dd125c5cdec99ca745c384c2ba83 100644
index f2e8c1d62c1cb1677f618b584ed401685b03034b..7c47ec471e4676365cf3e023808983cb3e7a18d0 100644
--- a/content/browser/service_host/utility_sandbox_delegate.h
+++ b/content/browser/service_host/utility_sandbox_delegate.h
@@ -34,7 +34,9 @@ class CONTENT_EXPORT UtilitySandboxedProcessLauncherDelegate
@@ -36,7 +36,9 @@ class CONTENT_EXPORT UtilitySandboxedProcessLauncherDelegate
public:
UtilitySandboxedProcessLauncherDelegate(sandbox::mojom::Sandbox sandbox_type,
const base::EnvironmentMap& env,
@@ -424,7 +421,7 @@ index cc122cb093ddd340b4e42436e461b27275f80456..ba113809f986dd125c5cdec99ca745c3
~UtilitySandboxedProcessLauncherDelegate() override;
sandbox::mojom::Sandbox GetSandboxType() override;
@@ -59,9 +61,14 @@ class CONTENT_EXPORT UtilitySandboxedProcessLauncherDelegate
@@ -64,9 +66,14 @@ class CONTENT_EXPORT UtilitySandboxedProcessLauncherDelegate
ZygoteCommunication* GetZygote() override;
#endif // BUILDFLAG(USE_ZYGOTE)
@@ -441,7 +438,7 @@ index cc122cb093ddd340b4e42436e461b27275f80456..ba113809f986dd125c5cdec99ca745c3
#if BUILDFLAG(USE_ZYGOTE)
void SetZygote(ZygoteCommunication* handle);
@@ -72,9 +79,7 @@ class CONTENT_EXPORT UtilitySandboxedProcessLauncherDelegate
@@ -77,9 +84,7 @@ class CONTENT_EXPORT UtilitySandboxedProcessLauncherDelegate
#endif // BUILDFLAG(IS_MAC)
private:
@@ -450,8 +447,8 @@ index cc122cb093ddd340b4e42436e461b27275f80456..ba113809f986dd125c5cdec99ca745c3
-#endif // BUILDFLAG(IS_POSIX)
#if BUILDFLAG(IS_WIN)
std::vector<base::FilePath> preload_libraries_;
@@ -84,12 +89,17 @@ class CONTENT_EXPORT UtilitySandboxedProcessLauncherDelegate
// Adds preload-libraries to the delegate blob for utility_main() to access
@@ -95,12 +100,17 @@ class CONTENT_EXPORT UtilitySandboxedProcessLauncherDelegate
std::optional<raw_ptr<ZygoteCommunication>> zygote_;
#endif // BUILDFLAG(USE_ZYGOTE)
@@ -710,10 +707,10 @@ index b67f4f87d588386409a90cd49e8338272c6e0d51..c34a80ec8db1b868a7f387ea4a11d71d
#if BUILDFLAG(IS_MAC)
// Whether or not to disclaim TCC responsibility for the process, defaults to
diff --git a/sandbox/policy/win/sandbox_win.cc b/sandbox/policy/win/sandbox_win.cc
index 4fb8e2a9d7a6e24aeb7148592659981754d027b3..53b72124ffaa77f740d689fcc1781556bcca4e66 100644
index bd9c7161d3b12bc6ac1457a777632569e758b318..f3496481a3b7e50a0dbc6a020ea0a13de48fd793 100644
--- a/sandbox/policy/win/sandbox_win.cc
+++ b/sandbox/policy/win/sandbox_win.cc
@@ -589,11 +589,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
@@ -590,11 +590,9 @@ base::win::ScopedHandle CreateUnsandboxedJob() {
// command line flag.
ResultCode LaunchWithoutSandbox(
const base::CommandLine& cmd_line,
@@ -726,7 +723,7 @@ index 4fb8e2a9d7a6e24aeb7148592659981754d027b3..53b72124ffaa77f740d689fcc1781556
options.feedback_cursor_off = true;
// Network process runs in a job even when unsandboxed. This is to ensure it
// does not outlive the browser, which could happen if there is a lot of I/O
@@ -896,7 +894,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
@@ -897,7 +895,7 @@ bool SandboxWin::InitTargetServices(TargetServices* target_services) {
// static
ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
const base::CommandLine& cmd_line,
@@ -735,7 +732,7 @@ index 4fb8e2a9d7a6e24aeb7148592659981754d027b3..53b72124ffaa77f740d689fcc1781556
SandboxDelegate* delegate,
TargetPolicy* policy) {
const base::CommandLine& launcher_process_command_line =
@@ -910,7 +908,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
@@ -911,7 +909,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
}
// Add any handles to be inherited to the policy.
@@ -744,7 +741,7 @@ index 4fb8e2a9d7a6e24aeb7148592659981754d027b3..53b72124ffaa77f740d689fcc1781556
policy->AddHandleToShare(handle);
if (!policy->GetConfig()->IsConfigured()) {
@@ -925,6 +923,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
@@ -926,6 +924,13 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
// have no effect. These calls can fail with SBOX_ERROR_BAD_PARAMS.
policy->SetStdoutHandle(GetStdHandle(STD_OUTPUT_HANDLE));
policy->SetStderrHandle(GetStdHandle(STD_ERROR_HANDLE));
@@ -758,7 +755,7 @@ index 4fb8e2a9d7a6e24aeb7148592659981754d027b3..53b72124ffaa77f740d689fcc1781556
#endif
if (!delegate->PreSpawnTarget(policy))
@@ -936,7 +941,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
@@ -937,7 +942,7 @@ ResultCode SandboxWin::GeneratePolicyForSandboxedProcess(
// static
ResultCode SandboxWin::StartSandboxedProcess(
const base::CommandLine& cmd_line,
@@ -767,7 +764,7 @@ index 4fb8e2a9d7a6e24aeb7148592659981754d027b3..53b72124ffaa77f740d689fcc1781556
SandboxDelegate* delegate,
StartSandboxedProcessCallback result_callback) {
SandboxLaunchTimer timer;
@@ -946,7 +951,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
@@ -947,7 +952,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
*base::CommandLine::ForCurrentProcess())) {
base::Process process;
ResultCode result =
@@ -776,7 +773,7 @@ index 4fb8e2a9d7a6e24aeb7148592659981754d027b3..53b72124ffaa77f740d689fcc1781556
DWORD last_error = GetLastError();
std::move(result_callback).Run(std::move(process), last_error, result);
return SBOX_ALL_OK;
@@ -956,7 +961,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
@@ -957,7 +962,7 @@ ResultCode SandboxWin::StartSandboxedProcess(
timer.OnPolicyCreated();
ResultCode result = GeneratePolicyForSandboxedProcess(

View File

@@ -20,7 +20,7 @@ making three primary changes to Blink:
* Controls whether the CSS rule is available.
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 e8c017c725f9d9b4f9099c824dfdb4c2cb9cbea6..73e135476bc4c930fd011745503e7f095ccfd8ec 100644
index e22f8bcb34f86fab48ac2dfb1b2b804d1d13d485..95f63af327359d9b16fd1002a85874c7ea39ac74 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 {
@@ -45,10 +45,10 @@ index e189d584f05f2ce6354c03a9b19f56985df8a15e..41b430e8f2416be098494f5c49fb97ca
'internal-forced-visited-'):
internal_visited_order = 0
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
index 9ef592d0d86e4a6296db98b9c31f008f877dd348..b16bc9b41f6b3a596a0e52a516b7182c54c66b1e 100644
index da70e0ec00aecfe7eaa861ef9c34aa8165ca296f..1f5a81688fa04fd3574e2678a60e69458089bf88 100644
--- a/third_party/blink/renderer/core/css/css_properties.json5
+++ b/third_party/blink/renderer/core/css/css_properties.json5
@@ -9002,6 +9002,26 @@
@@ -8959,6 +8959,26 @@
property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"],
},
@@ -76,10 +76,10 @@ index 9ef592d0d86e4a6296db98b9c31f008f877dd348..b16bc9b41f6b3a596a0e52a516b7182c
{
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 4f13354776da9944ed75874953a2e2c9878a649b..83728e697c5029a79fb75d84a1be5bdf29363826 100644
index b935117bfbae950ba7918636179824482799a2e1..bab451fbfa36178c9f7286db5d19d087a9df00fa 100644
--- a/third_party/blink/renderer/core/css/css_property_equality.cc
+++ b/third_party/blink/renderer/core/css/css_property_equality.cc
@@ -350,6 +350,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property,
@@ -352,6 +352,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property,
return a.DominantBaseline() == b.DominantBaseline();
case CSSPropertyID::kDynamicRangeLimit:
return a.GetDynamicRangeLimit() == b.GetDynamicRangeLimit();
@@ -89,10 +89,10 @@ index 4f13354776da9944ed75874953a2e2c9878a649b..83728e697c5029a79fb75d84a1be5bdf
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 dc328e04767437d2d9b6d67d07cb6c9d055773f9..19edb190c57b75e29e71d6342e3a648ef4611fdf 100644
index 6cb39c5ccf6b5411e1adb991a5e64a68819ec1c4..b1e636674321d6225755d3be3681a001b0bfaa6d 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
@@ -12325,5 +12325,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
@@ -12262,5 +12262,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
CSSValueID::kNone>(stream);
}
@@ -130,10 +130,10 @@ index dc328e04767437d2d9b6d67d07cb6c9d055773f9..19edb190c57b75e29e71d6342e3a648e
} // 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 c63e58ac728ebb95de9a7db0a820d6e34eb88128..8b8350322a227cb79de89f5cd827dccc4a383c35 100644
index e92887580b37210c86b33b3ce18052cfd6a3f674..84bd1305ed1b278501df27acf153144c3f146a72 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
@@ -3988,6 +3988,15 @@ PositionTryFallback StyleBuilderConverter::ConvertSinglePositionTryFallback(
@@ -4033,6 +4033,15 @@ PositionTryFallback StyleBuilderConverter::ConvertSinglePositionTryFallback(
return PositionTryFallback(scoped_name, tactic_list);
}
@@ -150,10 +150,10 @@ index c63e58ac728ebb95de9a7db0a820d6e34eb88128..8b8350322a227cb79de89f5cd827dccc
const CSSValue& value) {
const auto& list = To<CSSValueList>(value);
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 d1430dc2dc30a1962731492c3f53849c7ff8a4db..417ac19f5968b7300ec2f0422728cd85aeeb2ecd 100644
index 40123605bcd044d11ffa643c9ed0a182795059b3..ff3153cbe24212e844b34b5829dacf1a84bb06b8 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
@@ -428,6 +428,7 @@ class StyleBuilderConverter {
@@ -434,6 +434,7 @@ class StyleBuilderConverter {
static PositionTryFallback ConvertSinglePositionTryFallback(
StyleResolverState&,
const CSSValue&);
@@ -201,10 +201,10 @@ index ec80337fdac36fa1636f5142c3827d3bbc81644c..634db12dfb443acabde79e9faf59cb84
return result;
}
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index 7fde1fa8af8887b77bfe5a90c4f9f49a386a1a7b..11b9d5fb7b3712681e0a2e2b749ac06ff3d3d787 100644
index d18c54d41d38a6c4d5206ee6b0656aa615be9d8e..c37337b54b0305584903f264b41eacb373e5eb0f 100644
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1648,6 +1648,8 @@ component("platform") {
@@ -1654,6 +1654,8 @@ component("platform") {
"widget/widget_base.h",
"widget/widget_base_client.h",
"windows_keyboard_codes.h",
@@ -267,7 +267,7 @@ index 59031b23d3c50aa87db48a5c5a66c5ab04a8103a..1f83cf0dff83d748bf1caafd3685202c
// 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 4a77f944e9ad0b18f10f1a572673769453473fb9..73a3fac1be9a8c29d1b3391bf05eef13df9415d9 100644
index 7e3d46902fbf736b4240eb3fcb89975a7b222197..57fdc89fc265ad70cb0bff8443cc10268d154ed9 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 @@
@@ -278,7 +278,7 @@ index 4a77f944e9ad0b18f10f1a572673769453473fb9..73a3fac1be9a8c29d1b3391bf05eef13
#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"
@@ -248,6 +249,32 @@ PathBuilder& PathBuilder::AddContouredRect(
@@ -244,6 +245,32 @@ PathBuilder& PathBuilder::AddContouredRect(
AddRoundedRect(target_rect);
return *this;
}
@@ -312,7 +312,7 @@ index 4a77f944e9ad0b18f10f1a572673769453473fb9..73a3fac1be9a8c29d1b3391bf05eef13
auto DrawAsSinglePath = [&]() {
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 382c9749aaaf2827b76c0a63df96e45a7c88b62b..88c2310c5cccfab7e5a3cdad54657bae185655dd 100644
index a6d35fad5e98c768ad168442592d9756ec53245f..4250093e1766b5e6f3fb3bc2786fd599b4190e6b 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -214,6 +214,10 @@

View File

@@ -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 e0a9427743c283aec398b4bf3f09f95a09346e55..6bdcec238d0bec79aca6ef76e76bb8b1c8ba4866 100644
index ff34f49b122be9bcbee26bb103ddca5250f32581..d381dc8fa431679cf7aad324ff08c656d083e1b9 100644
--- a/components/viz/service/BUILD.gn
+++ b/components/viz/service/BUILD.gn
@@ -174,6 +174,8 @@ viz_component("service") {
@@ -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 130067b91baa360a7234fecfe6342c8239d587b5..d701328102f9a53e12b1b2e2a86265910692ca59 100644
index 0c9dabd7e85042499b60d0a27a506745771bea6f..5f1896f4494b86c8385d3f5415863f5a7167715a 100644
--- a/content/browser/compositor/viz_process_transport_factory.cc
+++ b/content/browser/compositor/viz_process_transport_factory.cc
@@ -387,8 +387,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
@@ -386,8 +386,14 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
mojo::AssociatedRemote<viz::mojom::DisplayPrivate> display_private;
root_params->display_private =
display_private.BindNewEndpointAndPassReceiver();
@@ -597,7 +597,7 @@ index e063835e87f08e6a2359886a96d7b78954e3d5b2..34bcf67726f64466d11a56d7a315ce7e
// Sends the created child window to the browser process so that it can be
diff --git a/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom b/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
index 7bceb91dda2d75deda772b257f07921b903510f3..e93f9214064526e510ef1ff0bc2dc4a0e999b30e 100644
index 3066550e422058eec23d5fe3e655625f5446d694..7358b05a646a2f80717a91182c4929776a404179 100644
--- a/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
+++ b/services/viz/privileged/mojom/compositing/frame_sink_manager.mojom
@@ -39,6 +39,7 @@ struct RootCompositorFrameSinkParams {

View File

@@ -11,18 +11,22 @@ ServiceProcessHost::Observer functions, but we need to pass the exit code to
the observer.
diff --git a/content/browser/service_host/service_process_tracker.cc b/content/browser/service_host/service_process_tracker.cc
index e900841900325dd090b04f85151dc7b2f04a6613..e402bcf07aa0704c113ce472db547ffcfb04a4bf 100644
index fb41c8dfd147a90d7d581b49ad7f909d947cb214..ae0dce9d1dde14f1562adac7d324635983bb4c09 100644
--- a/content/browser/service_host/service_process_tracker.cc
+++ b/content/browser/service_host/service_process_tracker.cc
@@ -48,12 +48,14 @@ void ServiceProcessTracker::NotifyTerminated(ServiceProcessId id) {
processes_.erase(iter);
}
@@ -51,7 +51,8 @@ void ServiceProcessTracker::NotifyTerminated(ServiceProcessId id) {
-void ServiceProcessTracker::NotifyCrashed(ServiceProcessId id) {
+void ServiceProcessTracker::NotifyCrashed(ServiceProcessId id, int exit_code) {
void ServiceProcessTracker::NotifyCrashed(
ServiceProcessId id,
- UtilityProcessHost::Client::CrashType crash_type) {
+ UtilityProcessHost::Client::CrashType crash_type,
+ int exit_code) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
auto iter = processes_.find(id);
CHECK(iter != processes_.end());
@@ -65,7 +66,9 @@ void ServiceProcessTracker::NotifyCrashed(
break;
}
for (auto& observer : observers_) {
- observer.OnServiceProcessCrashed(iter->second.Duplicate());
+ auto params = iter->second.Duplicate();
@@ -32,86 +36,86 @@ index e900841900325dd090b04f85151dc7b2f04a6613..e402bcf07aa0704c113ce472db547ffc
processes_.erase(iter);
}
diff --git a/content/browser/service_host/service_process_tracker.h b/content/browser/service_host/service_process_tracker.h
index 8e2b330f59c714db9dac3363df566b6e396fa4ec..47b0b3a944dec09a229fe771813118bbe49b8e28 100644
index 9a5179c4eeacf8bbfb2d831b4301836df490f3a8..511fc9b9d5ce14a1b5ef457a1047e40d3bb64273 100644
--- a/content/browser/service_host/service_process_tracker.h
+++ b/content/browser/service_host/service_process_tracker.h
@@ -34,7 +34,7 @@ class ServiceProcessTracker {
@@ -36,7 +36,8 @@ class ServiceProcessTracker {
void NotifyTerminated(ServiceProcessId id);
- void NotifyCrashed(ServiceProcessId id);
+ void NotifyCrashed(ServiceProcessId id, int exit_code);
void NotifyCrashed(ServiceProcessId id,
- UtilityProcessHost::Client::CrashType type);
+ UtilityProcessHost::Client::CrashType type,
+ int exit_code);
void AddObserver(ServiceProcessHost::Observer* observer);
diff --git a/content/browser/service_host/utility_process_client.cc b/content/browser/service_host/utility_process_client.cc
index 530d877ab671296ddd6dfd29a528018b3db1ad6f..a64c11f8838b9dc4704a57c96bd9aa8b98bce212 100644
index 99da7eee3cb1a09b984832211bceee385147aec2..5e4bd537d94ad26c8d309ebfb63845a8d3d11dae 100644
--- a/content/browser/service_host/utility_process_client.cc
+++ b/content/browser/service_host/utility_process_client.cc
@@ -40,7 +40,7 @@ void UtilityProcessClient::OnProcessTerminatedNormally() {
process_info_->service_process_id());
}
-void UtilityProcessClient::OnProcessCrashed() {
+void UtilityProcessClient::OnProcessCrashed(int exit_code) {
-void UtilityProcessClient::OnProcessCrashed(CrashType type) {
+void UtilityProcessClient::OnProcessCrashed(CrashType type, int exit_code) {
// TODO(crbug.com/40654042): It is unclear how we can observe
// |OnProcessCrashed()| without observing |OnProcessLaunched()| first, but
// it can happen on Android. Ignore the notification in this case.
@@ -48,6 +48,7 @@ void UtilityProcessClient::OnProcessCrashed() {
return;
@@ -49,6 +49,6 @@ void UtilityProcessClient::OnProcessCrashed(CrashType type) {
}
- GetServiceProcessTracker().NotifyCrashed(process_info_->service_process_id());
+ GetServiceProcessTracker().NotifyCrashed(
+ process_info_->service_process_id(), exit_code);
GetServiceProcessTracker().NotifyCrashed(process_info_->service_process_id(),
- type);
+ type, exit_code);
}
} // namespace content
diff --git a/content/browser/service_host/utility_process_client.h b/content/browser/service_host/utility_process_client.h
index 801db538979ba62facdcf3a472dade56723ca639..7abac9a5b13b393713534ae51664c2e5da3a4c29 100644
index 2648adb1cf38ab557b66ffd0e3034b26b04d76d6..98eab587f343f6ca472efc3d4e7b31b2b8821417 100644
--- a/content/browser/service_host/utility_process_client.h
+++ b/content/browser/service_host/utility_process_client.h
@@ -36,7 +36,7 @@ class UtilityProcessClient : public UtilityProcessHost::Client {
void OnProcessTerminatedNormally() override;
- void OnProcessCrashed() override;
+ void OnProcessCrashed(int exit_code) override;
- void OnProcessCrashed(CrashType type) override;
+ void OnProcessCrashed(CrashType type, int exit_code) override;
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 c9d2b451c8d07c915051fd50ca0b079aaed48199..91300d58014883122cebf60fa93634638207f051 100644
index 136fa55e7945f1d6abf5731c9cbaa92148f8117d..ba6dbc588c809c482770d2f78d1cd97e91af3362 100644
--- a/content/browser/service_host/utility_process_host.cc
+++ b/content/browser/service_host/utility_process_host.cc
@@ -609,7 +609,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
// Take ownership of |client_| so the destructor doesn't notify it of
// termination.
auto client = std::move(client_);
- client->OnProcessCrashed();
+ client->OnProcessCrashed(exit_code);
@@ -628,7 +628,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
: Client::CrashType::kPreIpcInitialization;
}
#endif // BUILDFLAG(IS_WIN)
- client->OnProcessCrashed(type);
+ client->OnProcessCrashed(type, exit_code);
}
std::optional<std::string> UtilityProcessHost::GetServiceName() {
diff --git a/content/browser/service_host/utility_process_host.h b/content/browser/service_host/utility_process_host.h
index 55379fbe9233ba96f6e4729e2b7d534c0c6884a0..850592294efd2c0a0fdc253b7b3fb6441b91d730 100644
index f39af3df87786a472f987309ac0dea699b9f0d9f..6f470d19fa5fa0bd4d2bdb1be4aa0cb3a70d3936 100644
--- a/content/browser/service_host/utility_process_host.h
+++ b/content/browser/service_host/utility_process_host.h
@@ -68,7 +68,7 @@ class CONTENT_EXPORT UtilityProcessHost
virtual void OnProcessLaunched(const base::Process& process) {}
@@ -88,7 +88,7 @@ class CONTENT_EXPORT UtilityProcessHost final
virtual void OnProcessTerminatedNormally() {}
- virtual void OnProcessCrashed() {}
+ virtual void OnProcessCrashed(int exit_code) {}
// Called when the process has terminated due to a crash. The `type` field
// indicates the type of crash. See above.
- virtual void OnProcessCrashed(CrashType type) {}
+ virtual void OnProcessCrashed(CrashType type, int exit_code) {}
};
struct CONTENT_EXPORT Options {
diff --git a/content/public/browser/service_process_info.h b/content/public/browser/service_process_info.h
index 1a8656aef341cd3b23af588fb00569b79d6cd100..6af523eb27a8c1e5529721c029e5b3ba0708b9fc 100644
index 21f2c71d2323a70491034678a4dc0029d8d53e63..ce76dc8cadd5cbee5114d7106389803c3d7e8238 100644
--- a/content/public/browser/service_process_info.h
+++ b/content/public/browser/service_process_info.h
@@ -64,7 +64,13 @@ class CONTENT_EXPORT ServiceProcessInfo {
const std::optional<GURL>& site() const { return site_; }
const base::Process& GetProcess() const { return process_; }
@@ -68,7 +68,13 @@ class CONTENT_EXPORT ServiceProcessInfo {
crashed_pre_ipc_ = crashed_pre_ipc;
}
+ void set_exit_code(int exit_code) { exit_code_ = exit_code; }
+ int exit_code() const { return exit_code_; }

View File

@@ -131,10 +131,10 @@ index 1632c22c669607f9da8b4fe7783ee716c6467f6e..3f0e3e0af568627a0aae352a65be4cc7
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
index 14d72650c81ad7f48cac56cb04f3f75fa1508af5..df416ad2a52c92f8304fa5a40c4d9e67eabb14df 100644
--- a/crypto/apple_keychain_secitem.mm
+++ b/crypto/apple_keychain_secitem.mm
@@ -118,7 +118,8 @@
@@ -161,7 +161,8 @@
base::expected<std::vector<uint8_t>, OSStatus>
AppleKeychainSecItem::FindGenericPassword(std::string_view service_name,

View File

@@ -28,11 +28,11 @@ index 33e23680b927d417b0882c7572fe32dc2d2b90c3..9413492f8e0fd6c5371c66329e1ad6d4
// Returns the http referrer of original request which initited this load.
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h
index bcf51f743caa1e7da6cb80f2e219661cde0efab6..ddb36c1757ec7e0a3a1f19a2687a1f3e3d590b6e 100644
index a41f344dca8ec3a9004874f4820b742c27999738..222c1d749174e434878cc762625ac8aabe10f5e6 100644
--- a/third_party/blink/renderer/core/loader/document_loader.h
+++ b/third_party/blink/renderer/core/loader/document_loader.h
@@ -325,7 +325,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
soft_navigation_heuristics_task_id,
@@ -322,7 +322,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
std::optional<scheduler::TaskAttributionId> task_state_id,
bool should_skip_screenshot);
- void SetDefersLoading(LoaderFreezeMode);

View File

@@ -37,7 +37,7 @@ index ec76c1990b6d842e6727a1c034f831b7e43966b9..86a3bcc8fa771a333e6e269ed822af1c
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 8b0fbc6f484bab038144177f795d8fd9e596e20a..680df80f43de51aaa2a24afa5e2cae57ad8b1222 100644
index 2c6204c64a234c056b7baef43921fe24b2013e82..bed5b88fbb39c21160a0d8d4062f1ea2a84c46d1 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 {
@@ -61,7 +61,7 @@ index 134a15fd2f3e6b7d941370741abee1698132c67b..80877a49fadd7ff2f9ad6d15e5f55eb3
return false;
}
diff --git a/services/network/public/cpp/url_request_mojom_traits.h b/services/network/public/cpp/url_request_mojom_traits.h
index 37ea42c876b6cf6379344383774faabb554f2f84..ea577aff934aa79484f8c645c1bccf83513ad9d1 100644
index 39f5dcef5291dfdaf778e27c1b0152313feb77b3..9f1c16e1dfccc8787a9079095687002b7e58b4db 100644
--- a/services/network/public/cpp/url_request_mojom_traits.h
+++ b/services/network/public/cpp/url_request_mojom_traits.h
@@ -73,6 +73,10 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE)
@@ -76,7 +76,7 @@ index 37ea42c876b6cf6379344383774faabb554f2f84..ea577aff934aa79484f8c645c1bccf83
enabled_client_hints(
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 afd8b1bb9c7e18cdd5012ed4211cf56aa212da27..6752d6e1c0576087faa741c0bbdf5837344d9512 100644
index 596b2555b9a8730a3e34019e32bb06c3f459a4a5..0ccc425bf87ef34442f9013d9dfda71ab547752b 100644
--- a/services/network/public/mojom/url_request.mojom
+++ b/services/network/public/mojom/url_request.mojom
@@ -88,6 +88,9 @@ struct TrustedUrlRequestParams {
@@ -90,7 +90,7 @@ index afd8b1bb9c7e18cdd5012ed4211cf56aa212da27..6752d6e1c0576087faa741c0bbdf5837
// when it receives the AcceptCHFrame.
// The value is set only if the flag is enabled.
diff --git a/services/network/public/mojom/url_response_head.mojom b/services/network/public/mojom/url_response_head.mojom
index c1774435cf594b5b3c07a60d11c379c61a828dec..4a59df2ce679c9af10b0e3bf630d615bf82e3c8a 100644
index fbc817126489e5422fd4bd11b6bd9744d648f8ff..b51b2ebe0f3291d04b0479776ddbeb1e05197f56 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";
@@ -112,10 +112,10 @@ index c1774435cf594b5b3c07a60d11c379c61a828dec..4a59df2ce679c9af10b0e3bf630d615b
string mime_type;
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
index f742ddb564cf9aa0bd219d7e2636204417ae48af..1fc293925bdbdab7b316e19cac01f8cf0995fbff 100644
index 6318bfabcf5f1f72b78161954f44b2bc2ab2b08d..da73a077a944cb99f3ad41ea9f66cc6045017cb9 100644
--- a/services/network/url_loader.cc
+++ b/services/network/url_loader.cc
@@ -397,6 +397,9 @@ URLLoader::URLLoader(
@@ -398,6 +398,9 @@ URLLoader::URLLoader(
mojo::SimpleWatcher::ArmingPolicy::MANUAL,
TaskRunner(request.priority)),
per_factory_orb_state_(context.GetMutableOrbState()),
@@ -125,7 +125,7 @@ index f742ddb564cf9aa0bd219d7e2636204417ae48af..1fc293925bdbdab7b316e19cac01f8cf
devtools_request_id_(request.devtools_request_id),
options_(PopulateOptions(options,
factory_params_->is_orb_enabled,
@@ -535,7 +538,7 @@ void URLLoader::SetUpUrlRequestCallbacks(
@@ -536,7 +539,7 @@ void URLLoader::SetUpUrlRequestCallbacks(
&URLLoader::IsSharedDictionaryReadAllowed, base::Unretained(this)));
}
@@ -134,7 +134,7 @@ index f742ddb564cf9aa0bd219d7e2636204417ae48af..1fc293925bdbdab7b316e19cac01f8cf
url_request_->SetResponseHeadersCallback(base::BindRepeating(
&URLLoader::SetRawResponseHeaders, base::Unretained(this)));
}
@@ -1142,6 +1145,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
@@ -1150,6 +1153,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
}
response_ = BuildResponseHead();
@@ -155,7 +155,7 @@ index f742ddb564cf9aa0bd219d7e2636204417ae48af..1fc293925bdbdab7b316e19cac01f8cf
ad_auction_event_record_request_helper_.HandleResponse(
diff --git a/services/network/url_loader.h b/services/network/url_loader.h
index 997503121c7b96fca5f5657ac465af0388c42715..54b3b804f8da59ef2d2f86f3a5c1effd01575d69 100644
index 6ba39c957af7927b060be59f7d8837a3e2d41215..e52a276b0dd671317797104d85ccf75f5a333153 100644
--- a/services/network/url_loader.h
+++ b/services/network/url_loader.h
@@ -615,6 +615,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader

View File

@@ -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 ef87899fb7569f8b7de13d63ff123e9ad245d5af..fee80a0e6036b3b73110ec495ac5546beca0585a 100644
index 62e00207d37fc22b35b801e701d0a1d6c3799569..a946c15689ffcebc1509fdb8fc27c69e3923a1cb 100644
--- a/components/permissions/permission_util.cc
+++ b/components/permissions/permission_util.cc
@@ -519,6 +519,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
@@ -526,6 +526,7 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
return ContentSettingsType::WEB_APP_INSTALLATION;
case PermissionType::LOCAL_NETWORK_ACCESS:
return ContentSettingsType::LOCAL_NETWORK_ACCESS;
@@ -32,10 +32,10 @@ index ef87899fb7569f8b7de13d63ff123e9ad245d5af..fee80a0e6036b3b73110ec495ac5546b
break;
}
diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc
index 8fed0c928df594a80bebf0017d47e1bfef841c16..b9590ecbb95da6858eac104fbf69df056ccbf449 100644
index dc5f30d89dd78af5cfa305bc74ad18dac815caf0..80aa7a3056e275f1a54752e59df5a1c7eb316746 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) {
@@ -88,6 +88,7 @@ PermissionToSchedulingFeature(PermissionType permission_name) {
case PermissionType::AUTOMATIC_FULLSCREEN:
case PermissionType::WEB_APP_INSTALLATION:
case PermissionType::LOCAL_NETWORK_ACCESS:

View File

@@ -31,10 +31,10 @@ index 48dfca966a594f54523c129fa49d2a561cb41dec..049cf4f1adcf4f64cd8692f6e6eda741
// 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 7c68a1ac747a7a83d5bba473682e7507c3bf46b7..f4a1f9d8868217f7faf4d37f7295a692f1e0070f 100644
index 2306354eaf3441c875da54e82103b6c57bce02f6..75575ab4998f676b4dd4f23a368c7661a32906f7 100644
--- a/ui/views/widget/widget.h
+++ b/ui/views/widget/widget.h
@@ -1248,6 +1248,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -1284,6 +1284,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// True if widget was created in headless mode.
bool is_headless() const { return is_headless_; }

View File

@@ -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 34e3618fcb54db440e79eacf4b7c9216f28b257a..ff9866ad306a400133c06b62c55c165c0084e8d2 100644
index 5018ddade9e6198ad770949696a80ab14482b7e2..5d63cd4e6b33364a1134d4e23eee26e7311b824d 100644
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -11269,6 +11269,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
@@ -11328,6 +11328,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
target_rph_id);
}
@@ -44,10 +44,10 @@ index 34e3618fcb54db440e79eacf4b7c9216f28b257a..ff9866ad306a400133c06b62c55c165c
// 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 67d1e4e805a5eb32e66034e95be4e5412ec5ccd9..bcf4d45ef2806c10784887a61f03a1779450a7f1 100644
index 3c0e7a6e8e63fd6ca06de278ff8544124e7bb8c8..ff80074db26650f95a1dc5bac7bb90824541426b 100644
--- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -2333,6 +2333,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
@@ -2322,6 +2322,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
Document* owner_document) {
scoped_refptr<SecurityOrigin> origin;
@@ -58,7 +58,7 @@ index 67d1e4e805a5eb32e66034e95be4e5412ec5ccd9..bcf4d45ef2806c10784887a61f03a177
// Whether the origin is newly created within this call, instead of copied
// from an existing document's origin or from `origin_to_commit_`. If this is
// true, we won't try to compare the nonce of this origin (if it's opaque) to
@@ -2369,6 +2373,9 @@ scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
@@ -2358,6 +2362,9 @@ scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
// non-renderer only origin bits will be the same, which will be asserted at
// the end of this function.
origin = origin_to_commit_;

View File

@@ -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 9f3938021f7a4437d0982b4953284d48eeca443c..863ad726d0d98eb82be2c1a8c81ba2308281c672 100644
index 3d0735452a66d4213d1c4cf7c36cd36b3bf1c6f8..3dc1b24fe5f25b0a8b00d1a7918f518f0bad091d 100644
--- a/third_party/zlib/BUILD.gn
+++ b/third_party/zlib/BUILD.gn
@@ -333,6 +333,10 @@ component("zlib") {

View File

@@ -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 812d1ac65ba1902701297f67585914aa37bf364d..2c80cf1c51cbcee1451fb30afb99696e4206d326 100644
index 32f0f62dbc4f0c541440fd99d20e0fc80825f480..bcf7e67eb024a6ec8d2470a338e016c6779840a4 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 @@
@@ -56,7 +56,7 @@ index 812d1ac65ba1902701297f67585914aa37bf364d..2c80cf1c51cbcee1451fb30afb99696e
// The user manually closed the pip window, so let the tab helper know in case
// the auto-pip permission dialog was visible.
if (auto* tab_helper = AutoPictureInPictureTabHelper::FromWebContents(
@@ -548,7 +553,7 @@ gfx::Size PictureInPictureWindowManager::GetMaximumWindowSize(
@@ -556,7 +561,7 @@ gfx::Size PictureInPictureWindowManager::GetMaximumWindowSize(
// static
void PictureInPictureWindowManager::SetWindowParams(NavigateParams& params) {
@@ -65,7 +65,7 @@ index 812d1ac65ba1902701297f67585914aa37bf364d..2c80cf1c51cbcee1451fb30afb99696e
// Always show document picture-in-picture in a new window. When this is
// not opened via the AutoPictureInPictureTabHelper, focus the window.
params.window_action = ShouldFocusPictureInPictureWindow(params)
@@ -649,6 +654,7 @@ PictureInPictureWindowManager::GetOverlayView(
@@ -657,6 +662,7 @@ PictureInPictureWindowManager::GetOverlayView(
return nullptr;
}
@@ -73,7 +73,7 @@ index 812d1ac65ba1902701297f67585914aa37bf364d..2c80cf1c51cbcee1451fb30afb99696e
// It would be nice to create this in `EnterPictureInPicture*`, but detecting
// auto-pip while pip is in the process of opening doesn't work.
//
@@ -687,6 +693,8 @@ PictureInPictureWindowManager::GetOverlayView(
@@ -695,6 +701,8 @@ PictureInPictureWindowManager::GetOverlayView(
}
return overlay_view;
@@ -83,10 +83,10 @@ index 812d1ac65ba1902701297f67585914aa37bf364d..2c80cf1c51cbcee1451fb30afb99696e
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 8cf36280324ddcbdffe6396baeb13828251b285a..6375dc2cde9ee2e67c71cb3bc6247e64fef70e13 100644
index 6544da9c4554ca9c2a444f4f9d5896c24b65b358..7cb176ebff4be103701ee1ff588d209f3222b957 100644
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
@@ -463,11 +463,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
@@ -470,11 +470,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
#endif // BUILDFLAG(IS_WIN)

View File

@@ -13,10 +13,10 @@ messages in the legacy window handle layer.
These conditions are regularly hit with WCO-enabled windows on Windows.
diff --git a/content/browser/renderer_host/legacy_render_widget_host_win.cc b/content/browser/renderer_host/legacy_render_widget_host_win.cc
index 4d01a64ad5125df5f4c476e016c7796d6d704b8f..90df1b42a021f3af659f90ee7b934c95004ac34d 100644
index 156fa90eada19fab3a1688302bbf3687cab6ab32..b13d4fcea374eff4309b4fbe84d53dd00c817e37 100644
--- a/content/browser/renderer_host/legacy_render_widget_host_win.cc
+++ b/content/browser/renderer_host/legacy_render_widget_host_win.cc
@@ -325,12 +325,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
@@ -366,12 +366,12 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
WPARAM w_param,
LPARAM l_param,
BOOL& handled) {
@@ -31,7 +31,7 @@ index 4d01a64ad5125df5f4c476e016c7796d6d704b8f..90df1b42a021f3af659f90ee7b934c95
tme.hwndTrack = hwnd();
tme.dwHoverTime = 0;
TrackMouseEvent(&tme);
@@ -363,7 +363,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
@@ -404,7 +404,10 @@ LRESULT LegacyRenderWidgetHostHWND::OnMouseRange(UINT message,
// the picture.
if (!handled &&
(message >= WM_NCMOUSEMOVE && message <= WM_NCXBUTTONDBLCLK)) {

View File

@@ -9,10 +9,10 @@ focus node change via TextInputManager.
chromium-bug: https://crbug.com/1369605
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index a7fa17e27afc0b934bba59cf820f1ebe222bd514..3e2f64f8f4a3ffafe6027408124888e08b1e6ebf 100644
index c912ad0a9cee55b2da316eba71e4e741365fda1b..1fe1995cf4cb9fe2c84f3118c0f94a91ad5493af 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -3242,6 +3242,12 @@ void RenderWidgetHostViewAura::OnTextSelectionChanged(
@@ -3240,6 +3240,12 @@ void RenderWidgetHostViewAura::OnTextSelectionChanged(
}
}
@@ -26,10 +26,10 @@ index a7fa17e27afc0b934bba59cf820f1ebe222bd514..3e2f64f8f4a3ffafe6027408124888e0
RenderWidgetHostViewAura* popup_child_host_view) {
popup_child_host_view_ = popup_child_host_view;
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h
index 33d9c06d52f0ec72caad1866ef97c5fdced1b55b..f9ccdd9ef95db2ecc0976c6ed58ff8ba9a9fb2d2 100644
index 7328d8cc05de07a66685ce4ca41a57385b7acc6b..6c757ec57d2bffa638b49c9c1d9c0825ccc0d909 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.h
+++ b/content/browser/renderer_host/render_widget_host_view_aura.h
@@ -654,6 +654,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
@@ -652,6 +652,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
RenderWidgetHostViewBase* updated_view) override;
void OnTextSelectionChanged(TextInputManager* text_input_mangager,
RenderWidgetHostViewBase* updated_view) override;
@@ -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 46d99f6f6b5e71dba05703b6730a2c9959235ab1..b5feb80ee47826eb8d052e2bcdb1e602fa50ec5f 100644
index 6979684dc926d28e44b53fe5c9ad87fc5887818e..b93032cf102faff8b570902de20d69aec0c8ad3b 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -10014,7 +10014,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
@@ -10067,7 +10067,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
"WebContentsImpl::OnFocusedElementChangedInFrame",
"render_frame_host", frame);
RenderWidgetHostViewBase* root_view =

View File

@@ -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 59768b75a3f304056dcf6b5d665f6e41cdcfafcc..b2ce0f193d8032118d555cd408612a6fd9399cdb 100644
index 3eb5ee73231e9dfc08a825808e4be5c0ad260234..99f644663e1e1b80fe4ac953dd0c0666697da8c0 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -2136,9 +2136,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
@@ -2137,9 +2137,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

View File

@@ -59,10 +59,10 @@ index cba373664bec3a32abad6fe0396bd67b53b7e67f..a54f1b3351efd2d8f324436f7f35cd43
#endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
index f74e7cdbaa4c77b84ed9ecba839874ed6c26c4e8..55dd136ca0d6ac64ce17729651a9dabea2a61bae 100644
index fd7b452579df8e974d4e5e6b83aeb66fee72733d..45ba15b8ab79ee4abf33d70744860a0f98d3fdd2 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -3180,6 +3180,7 @@ void LocalFrame::RequestExecuteScript(
@@ -3182,6 +3182,7 @@ void LocalFrame::RequestExecuteScript(
mojom::blink::EvaluationTiming evaluation_timing,
mojom::blink::LoadEventBlockingOption blocking_option,
WebScriptExecutionCallback callback,
@@ -70,7 +70,7 @@ index f74e7cdbaa4c77b84ed9ecba839874ed6c26c4e8..55dd136ca0d6ac64ce17729651a9dabe
BackForwardCacheAware back_forward_cache_aware,
mojom::blink::WantResultOption want_result_option,
mojom::blink::PromiseResultOption promise_behavior) {
@@ -3212,7 +3213,7 @@ void LocalFrame::RequestExecuteScript(
@@ -3214,7 +3215,7 @@ void LocalFrame::RequestExecuteScript(
PausableScriptExecutor::CreateAndRun(
script_state, std::move(script_sources), execute_script_policy,
user_gesture, evaluation_timing, blocking_option, want_result_option,
@@ -80,10 +80,10 @@ index f74e7cdbaa4c77b84ed9ecba839874ed6c26c4e8..55dd136ca0d6ac64ce17729651a9dabe
void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() {
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
index 6921a10cf84a300a6a8302409e418a92b01ef7f9..493db3bd79d22f31590f89f6e6853c51d48236b6 100644
index d673be2d54c4a13aa31dace32202446e5c51167d..addb1bc13b0bffd228e7d2a0ae3b5afea1b07bb7 100644
--- a/third_party/blink/renderer/core/frame/local_frame.h
+++ b/third_party/blink/renderer/core/frame/local_frame.h
@@ -844,6 +844,7 @@ class CORE_EXPORT LocalFrame final
@@ -843,6 +843,7 @@ class CORE_EXPORT LocalFrame final
mojom::blink::EvaluationTiming,
mojom::blink::LoadEventBlockingOption,
WebScriptExecutionCallback,
@@ -92,7 +92,7 @@ index 6921a10cf84a300a6a8302409e418a92b01ef7f9..493db3bd79d22f31590f89f6e6853c51
mojom::blink::WantResultOption,
mojom::blink::PromiseResultOption);
diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
index 619567e49de0dd3389cf3cb8d345bd58bdf00545..2980226cfa3525619dbdb9954e282e45e8c5b8f5 100644
index b6673d769d1c5466008a7e900b6b5a370ce49a7c..fcff0e725dfe4d4f0f7c4bbf972bbc6b56271e99 100644
--- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
@@ -973,6 +973,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(
@@ -203,7 +203,7 @@ index fa65331f40b90d812b71a489fd560e9359152d2b..390714d631dc88ef92d59ef9618a5706
const mojom::blink::UserActivationOption user_activation_option_;
const mojom::blink::LoadEventBlockingOption blocking_option_;
diff --git a/third_party/blink/renderer/core/frame/web_frame_test.cc b/third_party/blink/renderer/core/frame/web_frame_test.cc
index e2c1eaf1aa83ccaabe9c33771f99ae7abb141e69..db911605e93778775c576ded30635235edb93391 100644
index dad0c67f5dced044d4c20bd17c9b1925c41007c6..2078a8339f9fcba15c8e0f381794572478c99e21 100644
--- a/third_party/blink/renderer/core/frame/web_frame_test.cc
+++ b/third_party/blink/renderer/core/frame/web_frame_test.cc
@@ -299,6 +299,7 @@ void ExecuteScriptsInMainWorld(
@@ -215,10 +215,10 @@ index e2c1eaf1aa83ccaabe9c33771f99ae7abb141e69..db911605e93778775c576ded30635235
mojom::blink::WantResultOption::kWantResult, wait_for_promise);
}
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
index fa117f2d4ac419a055bb45ab721a0d0e86ea6947..64e06e2e36d4bae5a84e143d6c02430e08dcb336 100644
index c4aceecbb08cada3486ccb551fca0cabae134d7f..d6b8bf14ab4bac1b167ca7ffa4c242af27dac491 100644
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
@@ -1117,14 +1117,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
@@ -1121,14 +1121,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
mojom::blink::EvaluationTiming evaluation_timing,
mojom::blink::LoadEventBlockingOption blocking_option,
WebScriptExecutionCallback callback,

View File

@@ -15,10 +15,10 @@ capturer was window or screen-specific, as the IDs remain valid for
generic capturer as well.
diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc
index a5b88b74d26d5daf6e535acbdcbf68f5e7874601..c20bf38712ff1624941aa6b8b1e492c303ddde32 100644
index d076c0f19c51c9f5aced0a6db0474089ce153496..e871d1ceff47c16fdd98d85f8ff8169041c63a79 100644
--- a/content/browser/media/capture/desktop_capture_device.cc
+++ b/content/browser/media/capture/desktop_capture_device.cc
@@ -941,9 +941,16 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
@@ -939,9 +939,16 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
switch (source.type) {
case DesktopMediaID::TYPE_SCREEN: {
@@ -38,7 +38,7 @@ index a5b88b74d26d5daf6e535acbdcbf68f5e7874601..c20bf38712ff1624941aa6b8b1e492c3
if (screen_capturer && screen_capturer->SelectSource(source.id)) {
capturer = std::make_unique<webrtc::DesktopAndCursorComposer>(
std::move(screen_capturer), options);
@@ -956,8 +963,15 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
@@ -954,8 +961,15 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
}
case DesktopMediaID::TYPE_WINDOW: {

View File

@@ -6,10 +6,10 @@ Subject: frame_host_manager.patch
Allows embedder to intercept site instances created by chromium.
diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
index 299c4d2b1b80a28a2032898025e69167f49dd09f..79f3665e30870a07bd876a8bfdb313e91d776b8e 100644
index 7465a2a9e6c46ab8810925ea781088126fbbb44e..dedf0fe2423f743b202d646a49fb8c633645f878 100644
--- a/content/browser/renderer_host/render_frame_host_manager.cc
+++ b/content/browser/renderer_host/render_frame_host_manager.cc
@@ -4774,6 +4774,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
@@ -4787,6 +4787,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
request->ResetStateForSiteInstanceChange();
}
@@ -20,7 +20,7 @@ index 299c4d2b1b80a28a2032898025e69167f49dd09f..79f3665e30870a07bd876a8bfdb313e9
}
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 96f343fa47565d6f88925548b1f1c7f9b5c8736c..c89c12ec8b7f06b6f8bfbf60a2e81270129eeeb5 100644
index 8c4704131677362a240a4456f7a73e34d8632d2b..00c43257b9c8ad716597e166574c239ea9cfde09 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -338,6 +338,11 @@ class CONTENT_EXPORT ContentBrowserClient {

View File

@@ -7,7 +7,7 @@ We don't use gin to create the V8 platform, because we need to inject Node
things.
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
index b3416c90c9071d8d32d30ecf257b64f133b2ae07..8632f1c18b407bb7832900bcebadacb3707224ac 100644
index 079e9db7df8e47904c337783f7f75d7ea3b3d643..528abd094dd501e462fd197bfd69379e11ba9eaf 100644
--- a/gin/isolate_holder.cc
+++ b/gin/isolate_holder.cc
@@ -162,11 +162,13 @@ void IsolateHolder::Initialize(ScriptMode mode,

View File

@@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch
Add electron resources file to the list of resource ids generation.
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
index f24d7bfb0baa81b9079c6950bd21dbc81a97d992..99a8a8b9c81d18a1d25c373a03a5f6677d5edd46 100644
index 560f975e7de98a61387ffae7af416c777665df3b..7bb65739ab1e687c2170c432c5d49cbf9dcf7dc7 100644
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
@@ -1541,6 +1541,11 @@
@@ -1543,6 +1543,11 @@
"structures": [10100],
},

View File

@@ -15,7 +15,7 @@ for us to register the isolate in between Isolate::Allocate and
Isolate::Initialize.
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
index 8632f1c18b407bb7832900bcebadacb3707224ac..d1b95149ea0d16af2606900f10898a355026ffe1 100644
index 528abd094dd501e462fd197bfd69379e11ba9eaf..5255c1094c88761c19af1ea294ceccaca63b5ae4 100644
--- a/gin/isolate_holder.cc
+++ b/gin/isolate_holder.cc
@@ -81,7 +81,8 @@ IsolateHolder::IsolateHolder(

View File

@@ -9,7 +9,7 @@ but due to the nature of electron, we need to load the v8 snapshot
in the browser process.
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
index c16307602fdb4f3b149962876afd8e3ef76fd305..c53bea0517ba3e2f7e127a27737240f054d6b6ed 100644
index bae4cc39933ab7c565f66e4aad1b19c7e04bd63f..ad93ffc5f17fbff592dc7cfc64aab245de8a296c 100644
--- a/content/app/content_main_runner_impl.cc
+++ b/content/app/content_main_runner_impl.cc
@@ -291,11 +291,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) {

View File

@@ -35,10 +35,10 @@ system font by checking if it's kCTFontPriorityAttribute is set to
system priority.
diff --git a/base/BUILD.gn b/base/BUILD.gn
index 08919400794cc35e0c0e41958c0b295c3fd1c2d2..ab9645ed3503a9654a19c76b68cc6534b52ebc8d 100644
index 4f6afc75d3cbeda40b34442153653beecd09767c..e08e5b83dad4d2e6f6b0c09303718c16f2ddcef9 100644
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -1048,6 +1048,7 @@ component("base") {
@@ -1055,6 +1055,7 @@ component("base") {
"//build:ios_buildflags",
"//build/config/compiler:compiler_buildflags",
"//third_party/modp_b64",
@@ -81,10 +81,10 @@ index 4bf9a3c27e05c6635b2beb8e880b5b43dbed61b5..f328fbb49c45991f44a9c75325491d08
} // namespace base
diff --git a/base/process/launch_mac.cc b/base/process/launch_mac.cc
index 116f4b86b816756e3a777585d4c863f423b19baf..5bd0273e7cc6a725247a0b94f85f47e2ad5336f4 100644
index 8b29bb46dabc3e88a36e6e03f11d913fa490c57d..dfd97121493210d7f7b26f9f6d93400b64c95685 100644
--- a/base/process/launch_mac.cc
+++ b/base/process/launch_mac.cc
@@ -21,6 +21,10 @@
@@ -84,6 +84,10 @@ int posix_spawnattr_set_csm_np(const posix_spawnattr_t*, uint32_t)
#include "base/threading/scoped_blocking_call.h"
#include "base/threading/thread_restrictions.h"
#include "base/trace_event/trace_event.h"
@@ -95,7 +95,7 @@ index 116f4b86b816756e3a777585d4c863f423b19baf..5bd0273e7cc6a725247a0b94f85f47e2
#if BUILDFLAG(IS_MAC)
#include "base/apple/mach_port_rendezvous_mac.h"
@@ -29,9 +33,11 @@
@@ -92,9 +96,11 @@ int posix_spawnattr_set_csm_np(const posix_spawnattr_t*, uint32_t)
extern "C" {
// Changes the current thread's directory to a path or directory file
// descriptor.
@@ -107,7 +107,7 @@ index 116f4b86b816756e3a777585d4c863f423b19baf..5bd0273e7cc6a725247a0b94f85f47e2
int responsibility_spawnattrs_setdisclaim(posix_spawnattr_t attrs,
int disclaim);
@@ -108,13 +114,27 @@ class PosixSpawnFileActions {
@@ -171,13 +177,27 @@ class PosixSpawnFileActions {
#if !BUILDFLAG(IS_MAC)
int ChangeCurrentThreadDirectory(const char* path) {
@@ -135,7 +135,7 @@ index 116f4b86b816756e3a777585d4c863f423b19baf..5bd0273e7cc6a725247a0b94f85f47e2
}
#endif
@@ -238,7 +258,7 @@ Process LaunchProcess(const std::vector<std::string>& argv,
@@ -301,7 +321,7 @@ Process LaunchProcess(const std::vector<std::string>& argv,
file_actions.Inherit(STDERR_FILENO);
}
@@ -272,7 +272,7 @@ index e9f4e5131238b9fb5f1b4b3e90a0cb84a7fc15b4..8b5f4cae3123ac5480ad73f0c873fca0
} // namespace
diff --git a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
index 92646b4978457724d46eb526d6f34cd308562f0b..c3e669ed8fb0682f7f973bb1c69d069bd6a3aa0c 100644
index f7200edbe6059ac6d7ade0672852b52da7642a71..0cc5da96411b46eb39d0c01dfec59cb503df0d9b 100644
--- a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
+++ b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
@@ -9,7 +9,9 @@
@@ -285,7 +285,7 @@ index 92646b4978457724d46eb526d6f34cd308562f0b..c3e669ed8fb0682f7f973bb1c69d069b
namespace {
// Workaround for https://crbug.com/1369643
const double kThinControllerHeight = 0.5;
@@ -100,12 +102,15 @@ - (void)maybeShowTrafficLights {
@@ -125,12 +127,15 @@ - (void)maybeShowTrafficLights {
@end
@@ -301,7 +301,7 @@ index 92646b4978457724d46eb526d6f34cd308562f0b..c3e669ed8fb0682f7f973bb1c69d069b
+ (Class)frameViewClassForStyleMask:(NSUInteger)windowStyle {
// - NSThemeFrame and its subclasses will be nil if it's missing at runtime.
if ([BrowserWindowFrame class])
@@ -164,6 +169,8 @@ - (BOOL)_usesCustomDrawing {
@@ -189,6 +194,8 @@ - (BOOL)_usesCustomDrawing {
return NO;
}
@@ -310,7 +310,7 @@ index 92646b4978457724d46eb526d6f34cd308562f0b..c3e669ed8fb0682f7f973bb1c69d069b
// Handle "Move focus to the window toolbar" configured in System Preferences ->
// Keyboard -> Shortcuts -> Keyboard. Usually Ctrl+F5. The argument (|unknown|)
// tends to just be nil.
@@ -174,8 +181,8 @@ - (void)_handleFocusToolbarHotKey:(id)unknown {
@@ -199,8 +206,8 @@ - (void)_handleFocusToolbarHotKey:(id)unknown {
}
- (void)setAlwaysShowTrafficLights:(BOOL)alwaysShow {
@@ -477,7 +477,7 @@ index acc9537464c2a54ffc22956873dbdba74500c20b..b0b7d98e20ed0cc63a38d6a2ce462ac6
// Beware: This view was briefly removed (in favor of a bare CALayer) in
// https://crrev.com/c/1236675. The ordering of unassociated layers relative
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
index 9f18a00af5ce726a4b338689ae75a0196b1a1dba..e0a9427743c283aec398b4bf3f09f95a09346e55 100644
index 96ea72422541e6e3c30d9e22d441dc8efe299013..ff34f49b122be9bcbee26bb103ddca5250f32581 100644
--- a/components/viz/service/BUILD.gn
+++ b/components/viz/service/BUILD.gn
@@ -383,6 +383,7 @@ viz_component("service") {
@@ -488,7 +488,7 @@ index 9f18a00af5ce726a4b338689ae75a0196b1a1dba..e0a9427743c283aec398b4bf3f09f95a
}
if (is_ios) {
@@ -705,6 +706,7 @@ viz_source_set("unit_tests") {
@@ -706,6 +707,7 @@ viz_source_set("unit_tests") {
"display_embedder/software_output_device_mac_unittest.mm",
]
frameworks = [ "IOSurface.framework" ]
@@ -548,10 +548,10 @@ index 010c713090e5038dc90db131c8f621422d30c03b..20c35e887a0496ee609c077e3b0494bd
void ForwardKeyboardEvent(const input::NativeWebKeyboardEvent& key_event,
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
index 8563eb9aa5b5dca04e45d55a3bdd32a135232f00..587bafc4fa1f73c9ac8403757b21bfed0487424d 100644
index 2d5cad5d7a4ab9292a5f966123687dee06f4512b..ae798fc8f923a9b590c0d9ed703946a2bf5bd3d4 100644
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
@@ -38,6 +38,7 @@
@@ -34,6 +34,7 @@
#import "content/public/browser/render_widget_host_view_mac_delegate.h"
#include "content/public/browser/scoped_accessibility_mode.h"
#include "content/public/common/content_features.h"
@@ -559,7 +559,7 @@ index 8563eb9aa5b5dca04e45d55a3bdd32a135232f00..587bafc4fa1f73c9ac8403757b21bfed
#include "skia/ext/skia_utils_mac.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/mojom/input/input_handler.mojom.h"
@@ -2090,15 +2091,21 @@ - (NSAccessibilityRole)accessibilityRole {
@@ -2086,15 +2087,21 @@ - (NSAccessibilityRole)accessibilityRole {
// Since this implementation doesn't have to wait any IPC calls, this doesn't
// make any key-typing jank. --hbono 7/23/09
//
@@ -582,10 +582,10 @@ index 8563eb9aa5b5dca04e45d55a3bdd32a135232f00..587bafc4fa1f73c9ac8403757b21bfed
return kAttributes;
}
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index e84b970df4f38580f999d3c11ff9db3304fb8e5d..55890a38b5d3a08d240ee42ac51ef33d2538fb2a 100644
index 4ba3dd259934c46de5732c1d131d412e5eab52ea..4144040846b2812d4bb891512c633ec62df60382 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -341,6 +341,7 @@ source_set("browser") {
@@ -339,6 +339,7 @@ source_set("browser") {
"//ui/webui/resources",
"//v8",
"//v8:v8_version",
@@ -703,10 +703,10 @@ index e38279e46d8fe621db24b4d94f5811459b4ca6b5..26592c97be3474a24f294d3cf2e74627
///////////////////////////////////////////////////////////////////////////////
diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn
index 88b96916fc3a4577806e3626086edac7e601ee28..a890f471ad770448d825a07cf7a734b8e6c7c745 100644
index ef3b5ceba5e460cdfc609245a53d6d1720f32564..910043ba8cc79774550c0097f5bef53e3ff12d63 100644
--- a/content/common/BUILD.gn
+++ b/content/common/BUILD.gn
@@ -278,6 +278,7 @@ source_set("common") {
@@ -274,6 +274,7 @@ source_set("common") {
"//ui/shell_dialogs",
"//url",
"//url/ipc:url_ipc",
@@ -715,10 +715,10 @@ index 88b96916fc3a4577806e3626086edac7e601ee28..a890f471ad770448d825a07cf7a734b8
defines = []
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn
index c5a9054a7b5352602d3fd57df34f63a35b4a0bb5..3ece58548ea0d2f9cb4ab4593e487b2e94755668 100644
index f6ebfaf945c0b024f18e5e09f04dfa43caf63e22..c8e241cdeac0bfbfe715404722aab6d6d1ded2f1 100644
--- a/content/renderer/BUILD.gn
+++ b/content/renderer/BUILD.gn
@@ -320,6 +320,7 @@ target(link_target_type, "renderer") {
@@ -319,6 +319,7 @@ target(link_target_type, "renderer") {
"//ui/surface",
"//url",
"//v8",
@@ -797,10 +797,10 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
} // namespace content
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index b3286de2a30c93f9f0c92c54bf3e1dfca3593614..fbf2e7e26f069d9973ec6d44a8ce18f39a8f68d8 100644
index 2588b79f726fda56dcc53dc8313a6aa883934409..664ab8325c8b9824077da8cafdfd82d09701809b 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -667,6 +667,7 @@ static_library("test_support") {
@@ -670,6 +670,7 @@ static_library("test_support") {
"//url",
"//url/mojom:url_mojom_gurl",
"//v8",
@@ -808,15 +808,16 @@ index b3286de2a30c93f9f0c92c54bf3e1dfca3593614..fbf2e7e26f069d9973ec6d44a8ce18f3
]
data_deps = [
@@ -1109,6 +1110,7 @@ static_library("browsertest_support") {
}
configs += [ "//v8:external_startup_data" ]
@@ -1120,6 +1121,8 @@ static_library("browsertest_support") {
# TODO(crbug.com/40031409): Fix code that adds exit-time destructors and
# enable the diagnostic by removing this line.
configs += [ "//build/config/compiler:no_exit_time_destructors" ]
+
+ deps += ["//electron/build/config:generate_mas_config"]
}
mojom("content_test_mojo_bindings") {
@@ -1975,6 +1977,7 @@ test("content_browsertests") {
@@ -2002,6 +2005,7 @@ test("content_browsertests") {
"//ui/shell_dialogs",
"//ui/snapshot",
"//ui/webui:test_support",
@@ -824,7 +825,7 @@ index b3286de2a30c93f9f0c92c54bf3e1dfca3593614..fbf2e7e26f069d9973ec6d44a8ce18f3
]
if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) {
@@ -3277,6 +3280,7 @@ test("content_unittests") {
@@ -3311,6 +3315,7 @@ test("content_unittests") {
"//ui/shell_dialogs:shell_dialogs",
"//ui/webui:test_support",
"//url",
@@ -833,7 +834,7 @@ index b3286de2a30c93f9f0c92c54bf3e1dfca3593614..fbf2e7e26f069d9973ec6d44a8ce18f3
if (enable_nocompile_tests) {
diff --git a/content/web_test/BUILD.gn b/content/web_test/BUILD.gn
index bfc8f7a2b5bc7c54dbc0157d581bb556b7c7d7a7..888876d7f770588355d9de3c0faf8f8d24243b77 100644
index ea0d03e4eb473a2eec4164191c02184577de4366..af2d64f0cf19c4325013d5f62da5079f379ef085 100644
--- a/content/web_test/BUILD.gn
+++ b/content/web_test/BUILD.gn
@@ -229,6 +229,7 @@ static_library("web_test_browser") {
@@ -845,7 +846,7 @@ index bfc8f7a2b5bc7c54dbc0157d581bb556b7c7d7a7..888876d7f770588355d9de3c0faf8f8d
if (is_mac) {
diff --git a/device/bluetooth/BUILD.gn b/device/bluetooth/BUILD.gn
index e69ef178a08ef322764809e6afeffa20ffc0cd13..d2e182ed0dad5aeecb48e5a39771880bd8fb408b 100644
index 70882e695ad383c9362c9b7e692a9273b3f36801..4ab8d7b3e567e8be373c8dff790d41146c5b8a9d 100644
--- a/device/bluetooth/BUILD.gn
+++ b/device/bluetooth/BUILD.gn
@@ -256,6 +256,7 @@ component("bluetooth") {
@@ -903,10 +904,10 @@ index f300e8d331057e894b43b74944e5052c39206844..4ff5277d550485cd79c5b5316d89c730
base::WeakPtr<BluetoothLowEnergyAdapterApple>
diff --git a/gpu/ipc/service/BUILD.gn b/gpu/ipc/service/BUILD.gn
index 237bff815a69c786a9ae31437c6df1c933e4963b..215c9affd67ebddc81415eefc12ee5727ab07aee 100644
index 77b69bc2a6329c09ecd635bc9e003985ba631360..990df27831c390a2d8801df271006b0fa59752cf 100644
--- a/gpu/ipc/service/BUILD.gn
+++ b/gpu/ipc/service/BUILD.gn
@@ -131,6 +131,7 @@ component("service") {
@@ -128,6 +128,7 @@ component("service") {
"QuartzCore.framework",
]
defines += [ "GL_SILENCE_DEPRECATION" ]
@@ -915,7 +916,7 @@ index 237bff815a69c786a9ae31437c6df1c933e4963b..215c9affd67ebddc81415eefc12ee572
if (is_ios) {
sources += [ "image_transport_surface_ios.mm" ]
diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.h b/gpu/ipc/service/image_transport_surface_overlay_mac.h
index f89dbdfb0c4e8e31d387d1ce2e5304277ac4df26..7b75bfeba59345d63f4ac8115369794144754b97 100644
index d288ffce5c1265adbdefc571f840851026e7479e..e9a6e8c31401750d270fcc55ef1116b2608b65b5 100644
--- a/gpu/ipc/service/image_transport_surface_overlay_mac.h
+++ b/gpu/ipc/service/image_transport_surface_overlay_mac.h
@@ -8,6 +8,7 @@
@@ -937,10 +938,10 @@ index f89dbdfb0c4e8e31d387d1ce2e5304277ac4df26..7b75bfeba59345d63f4ac81153697941
namespace ui {
diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
index d133d2759f1025d10b47c23a322001a5a7ba3568..8b945958c96bbdb54de2c870b00bd5f73ecc41c8 100644
index e2e8e314aa5915f6b3be2ea739878d7efcc46efe..aae1bf8e0990792992227199e18c1f14f108c05d 100644
--- a/media/audio/BUILD.gn
+++ b/media/audio/BUILD.gn
@@ -202,6 +202,7 @@ source_set("audio") {
@@ -201,6 +201,7 @@ source_set("audio") {
"CoreMedia.framework",
]
weak_frameworks = [ "ScreenCaptureKit.framework" ] # macOS 13.0
@@ -985,7 +986,7 @@ index 0f7c441ba44fe22b1bf4913ae8e61a8bb7ef7fe7..2311fdbbfa566e76b4709059b707ac4d
} // namespace
#endif
diff --git a/net/dns/BUILD.gn b/net/dns/BUILD.gn
index 618bd3b91278836bb249614b301452b3053051a8..4e53d2d23593de5afaa97a5ad68de78f5c646ffd 100644
index 2a70752c12245d528629d1f552e1d7bdae7e4cf2..1a84b64614679a0879b4e96ec13385dd0504faf7 100644
--- a/net/dns/BUILD.gn
+++ b/net/dns/BUILD.gn
@@ -193,6 +193,8 @@ source_set("dns") {
@@ -1092,7 +1093,7 @@ index 950cf7cfee4e11766dccf5c0bf3f15a8562f0f1e..a5adaaabdbbd91fedbc4cb679c865bc3
// |error| is strerror(errno) when a P* logging function is called. Pass
diff --git a/sandbox/mac/sandbox_serializer.cc b/sandbox/mac/sandbox_serializer.cc
index ea1627bdd872f89056e97e486feb2d44587a894e..26f339e40bcbd8963585765e20e49955f49263aa 100644
index 0e6e650f88e6aadd46bec96a8b41768c37d7cc6a..a6830e3f886e408c254ccd1c2b1d5c15cd3bcb92 100644
--- a/sandbox/mac/sandbox_serializer.cc
+++ b/sandbox/mac/sandbox_serializer.cc
@@ -8,6 +8,7 @@
@@ -1103,7 +1104,7 @@ index ea1627bdd872f89056e97e486feb2d44587a894e..26f339e40bcbd8963585765e20e49955
#include "sandbox/mac/sandbox_logging.h"
#include "sandbox/mac/seatbelt.h"
@@ -197,6 +198,7 @@ SandboxSerializer::DeserializePolicy(const std::string& serialized_policy,
@@ -193,6 +194,7 @@ SandboxSerializer::DeserializePolicy(const std::string& serialized_policy,
// static
bool SandboxSerializer::ApplySerializedPolicy(
const std::string& serialized_policy) {
@@ -1111,7 +1112,7 @@ index ea1627bdd872f89056e97e486feb2d44587a894e..26f339e40bcbd8963585765e20e49955
std::string error;
std::optional<DeserializedPolicy> deserialized_policy =
DeserializePolicy(serialized_policy, error);
@@ -227,6 +229,9 @@ bool SandboxSerializer::ApplySerializedPolicy(
@@ -223,6 +225,9 @@ bool SandboxSerializer::ApplySerializedPolicy(
break;
}
return true;
@@ -1406,10 +1407,10 @@ index eb81a70e4d5d5cd3e6ae9b45f8cd1c795ea76c51..9921ccb10d3455600eddd85f77f10228
} // namespace sandbox
diff --git a/third_party/blink/renderer/core/BUILD.gn b/third_party/blink/renderer/core/BUILD.gn
index 520d1d438e7fd85ba9faf482e4284b467f84f4c6..70c9d77a03f8355607571fe6594c34a7b3581f76 100644
index f70ce69bb932a217759d8c06104ccdae5f67d670..32029a906c0d205ad8d2658b11e5a55495cf95b7 100644
--- a/third_party/blink/renderer/core/BUILD.gn
+++ b/third_party/blink/renderer/core/BUILD.gn
@@ -419,6 +419,7 @@ component("core") {
@@ -423,6 +423,7 @@ component("core") {
"//ui/gfx/geometry",
"//ui/gfx/geometry:geometry_skia",
"//ui/strings",
@@ -1438,10 +1439,10 @@ index c771cee7be34f36521de34ef893ee578b648a8c8..b0bd447b848bfdb7a9ff9cd98ba95574
blink_core_sources_editing += [ "kill_ring_none.cc" ]
}
diff --git a/ui/accelerated_widget_mac/BUILD.gn b/ui/accelerated_widget_mac/BUILD.gn
index ce3dc22f38b9d3f2f12e469b23f5dfe06ecbb98a..a69af46e05365028379dbf6abafaacd9b19e4569 100644
index 296d38b10d16c7b17137358fe89bac6a03afce09..9608842b8b0df441dc654bf96b46f052bce6e818 100644
--- a/ui/accelerated_widget_mac/BUILD.gn
+++ b/ui/accelerated_widget_mac/BUILD.gn
@@ -77,6 +77,7 @@ component("accelerated_widget_mac") {
@@ -81,6 +81,7 @@ component("accelerated_widget_mac") {
"//ui/gfx",
"//ui/gfx/geometry",
"//ui/gl",
@@ -1450,7 +1451,7 @@ index ce3dc22f38b9d3f2f12e469b23f5dfe06ecbb98a..a69af46e05365028379dbf6abafaacd9
}
diff --git a/ui/accelerated_widget_mac/ca_layer_tree_coordinator.h b/ui/accelerated_widget_mac/ca_layer_tree_coordinator.h
index af13a067beb5fc0d5c6b7eb579b04d1d6dc130de..1a7ddbc3a1f7a989a3f7e0c21d4d9ad7e4b435b9 100644
index ce6a061b57cce101c103527dbbbe5ed47b2ecaf8..616922c34e1f3bc50584c0417129b78e3ff651d1 100644
--- a/ui/accelerated_widget_mac/ca_layer_tree_coordinator.h
+++ b/ui/accelerated_widget_mac/ca_layer_tree_coordinator.h
@@ -7,6 +7,7 @@
@@ -1471,7 +1472,7 @@ index af13a067beb5fc0d5c6b7eb579b04d1d6dc130de..1a7ddbc3a1f7a989a3f7e0c21d4d9ad7
@class CALayer;
@protocol MTLDevice;
@@ -112,7 +115,9 @@ class ACCELERATED_WIDGET_MAC_EXPORT CALayerTreeCoordinator {
@@ -113,7 +116,9 @@ class ACCELERATED_WIDGET_MAC_EXPORT CALayerTreeCoordinator {
// both the current tree and the pending trees.
size_t presented_ca_layer_trees_max_length_ = 2;
@@ -1482,7 +1483,7 @@ index af13a067beb5fc0d5c6b7eb579b04d1d6dc130de..1a7ddbc3a1f7a989a3f7e0c21d4d9ad7
// The root CALayer to display the current frame. This does not change
// over the lifetime of the object.
diff --git a/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm b/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm
index 9cf72ff8b8593dae415d07796f1bebeeea3e2f76..3e78af6e65085cb978133e49aa4cc164bcc94027 100644
index 54651172993f7d07f21a395511f773bff40115d8..295d8bef6e9ec966db570d7537abfc049324512d 100644
--- a/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm
+++ b/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm
@@ -10,6 +10,7 @@
@@ -1566,7 +1567,7 @@ index 2d982e757d94976ec68863726db8e8a85b1034e5..d2ec88c6f923e9f7147d33ccd53c3659
if (is_ios) {
diff --git a/ui/accessibility/platform/browser_accessibility_manager_mac.mm b/ui/accessibility/platform/browser_accessibility_manager_mac.mm
index aeb728b14fbbbb3e0c1e71d0c3997b59c29244ce..7480d0f42db88fe4058b87e0debe597c51d35730 100644
index 2a7352c1925bdce988c9f1a44f387e160532f508..8c07cc82bd6c42e6da8de314ca52867bcb3b9532 100644
--- a/ui/accessibility/platform/browser_accessibility_manager_mac.mm
+++ b/ui/accessibility/platform/browser_accessibility_manager_mac.mm
@@ -14,6 +14,7 @@
@@ -1603,7 +1604,7 @@ index aeb728b14fbbbb3e0c1e71d0c3997b59c29244ce..7480d0f42db88fe4058b87e0debe597c
// Use native VoiceOver support for live regions.
BrowserAccessibilityCocoa* retained_node = native_node;
@@ -700,6 +705,7 @@ void PostAnnouncementNotification(NSString* announcement,
@@ -703,6 +708,7 @@ void PostAnnouncementNotification(NSString* announcement,
return window == [NSApp accessibilityFocusedWindow];
}
@@ -1611,7 +1612,7 @@ index aeb728b14fbbbb3e0c1e71d0c3997b59c29244ce..7480d0f42db88fe4058b87e0debe597c
// TODO(accessibility): We need a solution to the problem described below.
// If the window is NSAccessibilityRemoteUIElement, there are some challenges:
// 1. NSApp is the browser which spawned the PWA, and what it considers the
@@ -728,6 +734,7 @@ void PostAnnouncementNotification(NSString* announcement,
@@ -731,6 +737,7 @@ void PostAnnouncementNotification(NSString* announcement,
if ([window isKindOfClass:[NSAccessibilityRemoteUIElement class]]) {
return true;
}
@@ -1648,7 +1649,7 @@ index 6846060ef9622d8fc8d1d6c8da16e2f1b785e6bd..05c22db87e882b246bd7034e027cf149
// Accessible object
if (AXElementWrapper::IsValidElement(value)) {
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index c92c35730680395c27c794ffc0b1bea7d81df37c..41b414c5270d65ed8463ea4623e66957e18a14d1 100644
index 3b7352f99bcd41020d5501395c1c23588c00d39d..6abf1cc742505a902366b367d739c5f6090d9667 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -370,6 +370,13 @@ component("base") {
@@ -1771,7 +1772,7 @@ index fc25ba79d2b0e1acdb7ba54b89e7d6e16f94771b..de771ef414b9a69e331261524f08e9a1
} // namespace
diff --git a/ui/display/BUILD.gn b/ui/display/BUILD.gn
index 491b8006c83c8602122a77d60e161c2167744756..abbf5248199598eadb57af99c3e3dc4c72f58af9 100644
index abf9f37cc7e80c1d2f1ad216912a033cb5492310..a06b565f2421a7c0fc4d9fdb51932fc30fc0d5a6 100644
--- a/ui/display/BUILD.gn
+++ b/ui/display/BUILD.gn
@@ -129,6 +129,12 @@ component("display") {
@@ -1818,7 +1819,7 @@ index 85d9170ae8de43ec0fa18c033d66c0583c26ec2f..c4f76301818404ce853583adf01af85c
// Query the display's refresh rate.
double refresh_rate = 1.0 / screen.minimumRefreshInterval;
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
index 34a39420e0f5a07fbc11ef9783baef1e8b33d279..98c19c206ee75ebc9f34b82e9615aff97dc22c8f 100644
index 1a7b1e3fd1e3971306939a9086014179dd492503..3d7ba97d904a6ad8da6bb3d36497ac00d54b44fa 100644
--- a/ui/gfx/BUILD.gn
+++ b/ui/gfx/BUILD.gn
@@ -339,6 +339,12 @@ component("gfx") {
@@ -1873,10 +1874,10 @@ index fe3f85073e31de487a08e57d7f9b07aa4eccf8f3..cf5b07203c8bd559a404600cc98cc8ec
// enough.
return PlatformFontMac::SystemFontType::kGeneral;
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
index 5732c3a537e7e69ac3a70c2c9999ad391e158d72..4e566d501c9c087ca4c0ad861a876a5e4213e772 100644
index 88c3981b7be09054de9496ff81fcb9db206235b5..b4917fdc2fb6f6f75f1c6696c5bb2386ee2d0a0b 100644
--- a/ui/views/BUILD.gn
+++ b/ui/views/BUILD.gn
@@ -719,6 +719,8 @@ component("views") {
@@ -721,6 +721,8 @@ component("views") {
"IOSurface.framework",
"QuartzCore.framework",
]
@@ -1885,7 +1886,7 @@ index 5732c3a537e7e69ac3a70c2c9999ad391e158d72..4e566d501c9c087ca4c0ad861a876a5e
}
if (is_win) {
@@ -1148,6 +1150,8 @@ source_set("test_support") {
@@ -1150,6 +1152,8 @@ source_set("test_support") {
"//ui/base/mojom:ui_base_types",
]

View File

@@ -7,7 +7,7 @@ This adds a callback from the network service that's used to implement
session.setCertificateVerifyCallback.
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index b19bfa46c2ca2a6feecb5471eb48d932665b1863..7bfd9b892a0e9f9fa9cbda53e98d137c7e7e8bba 100644
index c08fedd7b86671c6102e8de0564187b613df5cd9..3f62466413bf1df98ecbd70633123d7c652a61dc 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -165,6 +165,11 @@
@@ -22,7 +22,7 @@ index b19bfa46c2ca2a6feecb5471eb48d932665b1863..7bfd9b892a0e9f9fa9cbda53e98d137c
#if BUILDFLAG(IS_CT_SUPPORTED)
// gn check does not account for BUILDFLAG(). So, for iOS builds, it will
// complain about a missing dependency on the target exposing this header. Add a
@@ -619,6 +624,111 @@ void RecordHSTSPreconnectUpgradeReason(HSTSRedirectUpgradeReason reason) {
@@ -620,6 +625,111 @@ void RecordHSTSPreconnectUpgradeReason(HSTSRedirectUpgradeReason reason) {
} // namespace
@@ -134,7 +134,7 @@ index b19bfa46c2ca2a6feecb5471eb48d932665b1863..7bfd9b892a0e9f9fa9cbda53e98d137c
constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess;
NetworkContext::NetworkContextHttpAuthPreferences::
@@ -1022,6 +1132,13 @@ void NetworkContext::SetClient(
@@ -1023,6 +1133,13 @@ void NetworkContext::SetClient(
client_.Bind(std::move(client));
}
@@ -148,7 +148,7 @@ index b19bfa46c2ca2a6feecb5471eb48d932665b1863..7bfd9b892a0e9f9fa9cbda53e98d137c
void NetworkContext::CreateURLLoaderFactory(
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
mojom::URLLoaderFactoryParamsPtr params) {
@@ -2658,6 +2775,10 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2659,6 +2776,10 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
cert_verifier = std::make_unique<net::CachingCertVerifier>(
std::make_unique<net::CoalescingCertVerifier>(
std::move(cert_verifier)));
@@ -222,10 +222,10 @@ index 04512b284adff2550374665a32282330fbb20354..507a33fb865ba7413711093298201ccf
CreateURLLoaderFactory(
pending_receiver<URLLoaderFactory> url_loader_factory,
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
index d03bc4052a339339c9ca6157410778da8e149efb..434d9286c2bcf497365a5329f4be26ff593976a3 100644
index 31ceb6a2df06ccce2f967269fd492d150e9ce6f3..28dfc37ace19ff2fdfa18c3db89723b423e9b1db 100644
--- a/services/network/test/test_network_context.h
+++ b/services/network/test/test_network_context.h
@@ -64,6 +64,8 @@ class TestNetworkContext : public mojom::NetworkContext {
@@ -63,6 +63,8 @@ class TestNetworkContext : public mojom::NetworkContext {
void CreateURLLoaderFactory(
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
mojom::URLLoaderFactoryParamsPtr params) override {}

View File

@@ -7,7 +7,7 @@ Pass RenderFrameHost through to PlatformNotificationService
so Electron can identify which renderer a notification came from.
diff --git a/chrome/browser/notifications/platform_notification_service_impl.cc b/chrome/browser/notifications/platform_notification_service_impl.cc
index 1f1997967691cb8d712ff3b604e24f77b5ad357c..aca2866f34b8ba9c66074767a14a62f886ba6ed7 100644
index 03d15ec6e6f4adb6339501472de27b7bec5f50e3..364c95a765a0cbf568f14ebd4dce347e3c54f70d 100644
--- a/chrome/browser/notifications/platform_notification_service_impl.cc
+++ b/chrome/browser/notifications/platform_notification_service_impl.cc
@@ -252,6 +252,7 @@ bool PlatformNotificationServiceImpl::WasClosedProgrammatically(
@@ -133,10 +133,10 @@ index 5be62a3fb27e37f3c1db6b811172f6dfebe18f61..34349f9832fe4b9a3d48db613a789afb
const GURL& document_url,
const WeakDocumentPtr& weak_document_ptr,
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index a7171b7074311ac5a09b21927c2f71b0b5502d6e..d26bc2d74f085dc5a0bdb52b016f1fa6fc6ecb8f 100644
index b2e99ffed0ec8b70c5293e0ff69ea03a7b7eb8a8..25a06d19d7e6b4c79c7ba1caf348ea3732b4e3b8 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -2220,7 +2220,7 @@ void RenderProcessHostImpl::CreateNotificationService(
@@ -2217,7 +2217,7 @@ void RenderProcessHostImpl::CreateNotificationService(
case RenderProcessHost::NotificationServiceCreatorType::kSharedWorker:
case RenderProcessHost::NotificationServiceCreatorType::kDedicatedWorker: {
storage_partition_impl_->GetPlatformNotificationContext()->CreateService(
@@ -145,7 +145,7 @@ index a7171b7074311ac5a09b21927c2f71b0b5502d6e..d26bc2d74f085dc5a0bdb52b016f1fa6
creator_type, std::move(receiver));
break;
}
@@ -2228,7 +2228,7 @@ void RenderProcessHostImpl::CreateNotificationService(
@@ -2225,7 +2225,7 @@ void RenderProcessHostImpl::CreateNotificationService(
CHECK(rfh);
storage_partition_impl_->GetPlatformNotificationContext()->CreateService(

View File

@@ -11,7 +11,7 @@ For resolving complex conflict please pin @reitowo
For more reason please see: https://crrev.com/c/5465148
diff --git a/gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc b/gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc
index c821349f35116f07988b2b58a6521e73a514548c..2b8f41a584c5d14ea9d72d67c2abe71eed4a54ac 100644
index a2c7228ce737e41ac7d4380d903c399aa224ce1c..b499e4f01109f2bc89ea94714f19f83582e63714 100644
--- a/gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc
+++ b/gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc
@@ -178,7 +178,8 @@ gfx::GpuMemoryBufferHandle GpuMemoryBufferFactoryDXGI::CreateGpuMemoryBuffer(
@@ -36,11 +36,11 @@ index c821349f35116f07988b2b58a6521e73a514548c..2b8f41a584c5d14ea9d72d67c2abe71e
Microsoft::WRL::ComPtr<ID3D11Texture2D> d3d11_texture;
diff --git a/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc b/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
index 673ccbc445cd05486f0337a3e27190ee90f54e6b..4dba267259e3cbed64aa7828a5eb4e0c70665c64 100644
index ae574499f3ac6be9d35d40b2debdbc16ca1a4162..fcf8ac3b49485b11b6bcf791a822bf357d16c70b 100644
--- a/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
+++ b/media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
@@ -189,7 +189,7 @@ gfx::Size GetBufferSizeInPixelsForVideoPixelFormat(
bool FrameResources::Initialize() {
@@ -181,7 +181,7 @@ bool FrameResources::Initialize(VideoPixelFormat format,
auto* context = pool_->GetContext();
- constexpr gfx::BufferUsage kBufferUsage =
@@ -48,9 +48,9 @@ index 673ccbc445cd05486f0337a3e27190ee90f54e6b..4dba267259e3cbed64aa7828a5eb4e0c
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
gfx::BufferUsage::SCANOUT_VEA_CPU_READ
#else
@@ -203,6 +203,23 @@ bool FrameResources::Initialize() {
const gfx::Size buffer_size_in_pixels =
GetBufferSizeInPixelsForVideoPixelFormat(format_, coded_size_);
@@ -192,6 +192,23 @@ bool FrameResources::Initialize(VideoPixelFormat format,
const gfx::Size coded_size =
GetCodedSizeForVideoPixelFormat(format, visible_size_);
+#if BUILDFLAG(IS_WIN)
+ // For CEF OSR feature, currently there's no other place in chromium use RGBA.
@@ -58,7 +58,7 @@ index 673ccbc445cd05486f0337a3e27190ee90f54e6b..4dba267259e3cbed64aa7828a5eb4e0c
+ // once the GMB is returned from CopyRequest. So there will be no race
+ // condition on that texture. We can request a GMB without a keyed mutex to
+ // accelerate and probably prevent some driver deadlock.
+ if (format_ == PIXEL_FORMAT_ARGB || format_ == PIXEL_FORMAT_ABGR) {
+ if (format == PIXEL_FORMAT_ARGB || format == PIXEL_FORMAT_ABGR) {
+ // This value is 'borrowed', SCANOUT_VEA_CPU_READ is probably invalid
+ // cause there's no real SCANOUT on Windows. We simply use this enum as a
+ // flag to disable mutex in the GMBFactoryDXGI because this enum is also
@@ -72,12 +72,12 @@ index 673ccbc445cd05486f0337a3e27190ee90f54e6b..4dba267259e3cbed64aa7828a5eb4e0c
gpu::SharedImageUsageSet usage =
#if BUILDFLAG(IS_MAC)
gpu::SHARED_IMAGE_USAGE_MACOS_VIDEO_TOOLBOX |
@@ -243,7 +260,7 @@ bool FrameResources::Initialize() {
viz::GetSharedImageFormat(buffer_format);
@@ -229,7 +246,7 @@ bool FrameResources::Initialize(VideoPixelFormat format,
VideoPixelFormatToSharedImageFormat(format).value();
shared_image_ =
- context->CreateSharedImage(buffer_size_in_pixels, kBufferUsage, si_format,
+ context->CreateSharedImage(buffer_size_in_pixels, buffer_usage, si_format,
color_space_, usage, sync_token_);
shared_image_ = context->CreateSharedImage(
- coded_size, kBufferUsage, si_format, color_space, usage, sync_token_);
+ coded_size, buffer_usage, si_format, color_space, usage, sync_token_);
if (!shared_image_) {
DLOG(ERROR) << "Failed to allocate shared image for frame: coded_size="
DLOG(ERROR) << "Failed to allocate shared image for frame: visible_size="
<< visible_size_.ToString()

View File

@@ -1,59 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Liz=C3=A9?= <lizeb@chromium.org>
Date: Wed, 9 Jul 2025 05:33:09 -0700
Subject: Use fewer VMAs by default on Linux systems
Some clients of PartitionAlloc (for instance mksnapshot, part of
Chromium's build through V8, which uses PartitionAlloc but not with
Chromium's config) do not use Chromium's partition_alloc_support.cc to
configure it. As a result, they still get the default behavior which is
creatig a lot of memory regions.
This is shows to cause crashes in certain build configs on some Linux
systems for mksnapshot. Make the new behavior default for clients that
do not use the feature. This is temporary, the feature flag will be
removed once we settle on what to do on all platforms.
With this patch, mksnapshot succeeds with a limit of 8k VMAs (but not
the full Chromium build, as linking requires more). Tested by running:
$, sudo sh -c 'echo 8000 > /proc/sys/vm/max_map_count
$ ./mksnapshot --turbo_instruction_scheduling --stress-turbo-late-spilling
--target_os=linux --target_arch=x64 --embedded_src gen/v8/embedded.S
--predictable --no-use-ic --builtins-effects-src
gen/v8/src/builtins/builtins-effects.cc --turbo-elide-frames --embedded_variant
Default --random-seed 314159265 --startup_blob snapshot_blob.bin
--native-code-counters --concurrent-builtin-generation
--concurrent-turbofan-max-threads=0 --verify-heap
Bug: 416540976
Change-Id: I38639512d6b697b5d06747646d642fa2ead57dbc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6718547
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Benoit Lize <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1484268}
diff --git a/base/allocator/partition_allocator/src/partition_alloc/partition_root.h b/base/allocator/partition_allocator/src/partition_alloc/partition_root.h
index 91bb8bb43ca2ce1be7959a1be9aa2d8d91d7482f..423fa5ac9e36360f3909535afa41371b2588c50d 100644
--- a/base/allocator/partition_allocator/src/partition_alloc/partition_root.h
+++ b/base/allocator/partition_allocator/src/partition_alloc/partition_root.h
@@ -187,7 +187,17 @@ struct PartitionOptions {
// compression ratio of freed memory inside partially allocated pages (due to
// fragmentation).
EnableToggle eventually_zero_freed_memory = kDisabled;
- EnableToggle fewer_memory_regions = kDisabled;
+ // Linux-based systems have a limited per-process VMA limit, be more
+ // conservative there. This matches the feature setting in
+ // partition_alloc_features.cc, but not all clients use Chromium's feature
+ // system to configure PartitionAlloc.
+ EnableToggle fewer_memory_regions =
+#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_ANDROID) || \
+ PA_BUILDFLAG(IS_CHROMEOS)
+ kEnabled;
+#else
+ kDisabled;
+#endif
struct {
EnableToggle enabled = kDisabled;

View File

@@ -38,11 +38,16 @@ index 8168b4cfbafd42fa93a5aa9a3691c2552fabfb86..ba49212bd76d209f99c1cee649fc1466
ui::ImageModel::FromVectorIcon(*icon, kColorPipWindowForeground,
kCloseButtonIconSize));
diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
index 1cf3d510a165ff8de195eb9b835490cd3a5f7389..8cf36280324ddcbdffe6396baeb13828251b285a 100644
index 6996fd43053f1da7b4e721e9c13cf62127c42ef2..6544da9c4554ca9c2a444f4f9d5896c24b65b358 100644
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
@@ -20,9 +20,11 @@
@@ -18,12 +18,16 @@
#include "base/time/time.h"
#include "base/timer/timer.h"
#include "build/build_config.h"
+#if 0
#include "chrome/browser/media/media_engagement_service.h"
+#endif
#include "chrome/browser/picture_in_picture/picture_in_picture_occlusion_tracker.h"
#include "chrome/browser/picture_in_picture/picture_in_picture_window_manager.h"
+#if 0
@@ -53,7 +58,7 @@ index 1cf3d510a165ff8de195eb9b835490cd3a5f7389..8cf36280324ddcbdffe6396baeb13828
#include "chrome/browser/ui/color/chrome_color_id.h"
#include "chrome/browser/ui/views/overlay/back_to_tab_button.h"
#include "chrome/browser/ui/views/overlay/back_to_tab_label_button.h"
@@ -73,7 +75,7 @@
@@ -78,7 +82,7 @@
#include "ui/aura/window.h"
#endif
@@ -62,7 +67,7 @@ index 1cf3d510a165ff8de195eb9b835490cd3a5f7389..8cf36280324ddcbdffe6396baeb13828
#include "chrome/browser/shell_integration_win.h"
#include "content/public/browser/render_widget_host_view.h"
#include "ui/aura/window.h"
@@ -428,7 +430,7 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
@@ -433,7 +437,7 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
overlay_window->Init(std::move(params));
overlay_window->OnRootViewReady();
@@ -71,7 +76,7 @@ index 1cf3d510a165ff8de195eb9b835490cd3a5f7389..8cf36280324ddcbdffe6396baeb13828
std::wstring app_user_model_id;
Browser* browser = chrome::FindBrowserWithTab(controller->GetWebContents());
if (browser) {
@@ -1153,10 +1155,12 @@ void VideoOverlayWindowViews::SetUpViews() {
@@ -1248,10 +1252,12 @@ void VideoOverlayWindowViews::SetUpViews() {
l10n_util::GetStringUTF16(
IDS_PICTURE_IN_PICTURE_LIVE_CAPTION_CONTROL_TEXT));
live_caption_button->SetSize(kActionButtonSize);
@@ -84,3 +89,20 @@ index 1cf3d510a165ff8de195eb9b835490cd3a5f7389..8cf36280324ddcbdffe6396baeb13828
toggle_microphone_button =
std::make_unique<ToggleMicrophoneButton>(base::BindRepeating(
[](VideoOverlayWindowViews* overlay) {
@@ -2527,6 +2533,7 @@ gfx::Rect VideoOverlayWindowViews::GetLiveCaptionDialogBounds() {
bool VideoOverlayWindowViews::HasHighMediaEngagement(
const url::Origin& origin) const {
+#if 0
MediaEngagementService* service =
MediaEngagementService::Get(Profile::FromBrowserContext(
GetController()->GetWebContents()->GetBrowserContext()));
@@ -2535,6 +2542,8 @@ bool VideoOverlayWindowViews::HasHighMediaEngagement(
}
return service->HasHighEngagement(origin);
+#endif
+ return true;
}
bool VideoOverlayWindowViews::IsTrustedForMediaPlayback() const {

View File

@@ -8,10 +8,10 @@ needed in chromium but our autofill implementation uses them. This patch can be
our autofill implementation to work like Chromium's.
diff --git a/ui/color/color_id.h b/ui/color/color_id.h
index 88b3f33d71d9f89eae3b828e793a83341dc9b4cb..424940fb5065eaf1cea0a05f6f8d7e91d74333a8 100644
index 8308dd53c198e4e3c7fe08fd6115b0ed53cf466c..e3323e4c4ff4f96ce235511a38e4e2d8cbb701c0 100644
--- a/ui/color/color_id.h
+++ b/ui/color/color_id.h
@@ -430,6 +430,10 @@
@@ -431,6 +431,10 @@
E_CPONLY(kColorRadioButtonForegroundUnchecked) \
E_CPONLY(kColorRadioButtonForegroundDisabled) \
E_CPONLY(kColorRadioButtonForegroundChecked) \
@@ -22,7 +22,7 @@ index 88b3f33d71d9f89eae3b828e793a83341dc9b4cb..424940fb5065eaf1cea0a05f6f8d7e91
E_CPONLY(kColorSegmentedButtonBorder) \
E_CPONLY(kColorSegmentedButtonFocus) \
E_CPONLY(kColorSegmentedButtonForegroundChecked) \
@@ -538,6 +542,7 @@
@@ -539,6 +543,7 @@
E_CPONLY(kColorTreeNodeForeground) \
E_CPONLY(kColorTreeNodeForegroundSelectedFocused) \
E_CPONLY(kColorTreeNodeForegroundSelectedUnfocused) \

View File

@@ -1,108 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: deepak1556 <hop2deep@gmail.com>
Date: Thu, 13 Oct 2022 20:30:12 +0900
Subject: Preconnect manager
* Patch disables the profile related changes added in
https://chromium-review.googlesource.com/c/chromium/src/+/3928470.
* Also avoids including chrome/browser/predictors/resource_prefetch_predictor.h
in favor of defining PreconnectRequest in this file since we don't build
the header.
diff --git a/chrome/browser/predictors/preconnect_manager.cc b/chrome/browser/predictors/preconnect_manager.cc
index 05c0aa8ca2a480b7477a4b877a34855f8beb997b..46f693e6a7ba906baccf4d4d12bca36e80e7387e 100644
--- a/chrome/browser/predictors/preconnect_manager.cc
+++ b/chrome/browser/predictors/preconnect_manager.cc
@@ -14,9 +14,11 @@
#include "base/types/optional_util.h"
#include "chrome/browser/predictors/predictors_features.h"
#include "chrome/browser/predictors/predictors_traffic_annotations.h"
+#if 0
#include "chrome/browser/predictors/resource_prefetch_predictor.h"
#include "chrome/browser/preloading/preloading_prefs.h"
#include "chrome/browser/profiles/profile.h"
+#endif
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
@@ -29,6 +31,20 @@ namespace predictors {
const bool kAllowCredentialsOnPreconnectByDefault = true;
+// NOTE(nornagon): this is copied from
+// //chrome/browser/predictors/resource_prefetch_predictor.cc we don't need
+// anything in that file other than this constructor.
+PreconnectRequest::PreconnectRequest(
+ const url::Origin& origin,
+ int num_sockets,
+ const net::NetworkAnonymizationKey& network_anonymization_key)
+ : origin(origin),
+ num_sockets(num_sockets),
+ network_anonymization_key(network_anonymization_key) {
+ DCHECK_GE(num_sockets, 0);
+ DCHECK(!network_anonymization_key.IsEmpty());
+}
+
PreconnectedRequestStats::PreconnectedRequestStats(const url::Origin& origin,
bool was_preconnected)
: origin(origin), was_preconnected(was_preconnected) {}
@@ -103,12 +119,15 @@ PreconnectManager::PreconnectManager(base::WeakPtr<Delegate> delegate,
PreconnectManager::~PreconnectManager() = default;
bool PreconnectManager::IsEnabled() {
+#if 0
Profile* profile = Profile::FromBrowserContext(browser_context_);
if (!profile) {
return false;
}
return prefetch::IsSomePreloadingEnabled(*profile->GetPrefs()) ==
content::PreloadingEligibility::kEligible;
+#endif
+ return true;
}
void PreconnectManager::Start(const GURL& url,
diff --git a/chrome/browser/predictors/preconnect_manager.h b/chrome/browser/predictors/preconnect_manager.h
index 666d9fb646cf337cf4c6145358fe3ea822220b0e..591ec08e40541058b61628e50ced35b00ff91b5d 100644
--- a/chrome/browser/predictors/preconnect_manager.h
+++ b/chrome/browser/predictors/preconnect_manager.h
@@ -17,7 +17,9 @@
#include "base/time/time.h"
#include "chrome/browser/predictors/proxy_lookup_client_impl.h"
#include "chrome/browser/predictors/resolve_host_client_impl.h"
+#if 0
#include "chrome/browser/predictors/resource_prefetch_predictor.h"
+#endif
#include "content/public/browser/storage_partition_config.h"
#include "net/base/network_anonymization_key.h"
#include "services/network/public/mojom/connection_change_observer_client.mojom.h"
@@ -35,7 +37,28 @@ class NetworkContext;
namespace predictors {
-struct PreconnectRequest;
+// Stores all values needed to trigger a preconnect/preresolve job to a single
+// origin.
+struct PreconnectRequest {
+ // |network_anonymization_key| specifies the key that network requests for the
+ // preconnected URL are expected to use. If a request is issued with a
+ // different key, it may not use the preconnected socket. It has no effect
+ // when |num_sockets| == 0.
+ PreconnectRequest(
+ const url::Origin& origin,
+ int num_sockets,
+ const net::NetworkAnonymizationKey& network_anonymization_key);
+ PreconnectRequest(const PreconnectRequest&) = default;
+ PreconnectRequest(PreconnectRequest&&) = default;
+ PreconnectRequest& operator=(const PreconnectRequest&) = default;
+ PreconnectRequest& operator=(PreconnectRequest&&) = default;
+
+ url::Origin origin;
+ // A zero-value means that we need to preresolve a host only.
+ int num_sockets = 0;
+ bool allow_credentials = true;
+ net::NetworkAnonymizationKey network_anonymization_key;
+};
struct PreconnectedRequestStats {
PreconnectedRequestStats(const url::Origin& origin, bool was_preconnected);

View File

@@ -666,7 +666,7 @@ index ac2f719be566020d9f41364560c12e6d6d0fe3d8..16d758a6936f66148a196761cfb875f6
PrintingFailed(int32 cookie, PrintFailureReason reason);
diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
index cb0f05dc6f6e14882e67684c86e78322815d2311..a779336a72c0c903d6202596ed0fe88890296900 100644
index 9e107e74f00b49aac288c9d29c5da36f6a2caa0d..dc9a17795df40d9e25725e390a31256224fd7d64 100644
--- a/components/printing/renderer/print_render_frame_helper.cc
+++ b/components/printing/renderer/print_render_frame_helper.cc
@@ -53,6 +53,7 @@
@@ -677,7 +677,7 @@ index cb0f05dc6f6e14882e67684c86e78322815d2311..a779336a72c0c903d6202596ed0fe888
#include "printing/units.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
@@ -1240,14 +1241,14 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
@@ -1244,14 +1245,14 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
}
print_in_progress_ = true;
@@ -694,7 +694,7 @@ index cb0f05dc6f6e14882e67684c86e78322815d2311..a779336a72c0c903d6202596ed0fe888
if (!weak_this) {
return;
}
@@ -1278,12 +1279,14 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
@@ -1282,12 +1283,14 @@ void PrintRenderFrameHelper::BindPrintRenderFrameReceiver(
receivers_.Add(this, std::move(receiver));
}
@@ -712,7 +712,7 @@ index cb0f05dc6f6e14882e67684c86e78322815d2311..a779336a72c0c903d6202596ed0fe888
ScopedIPC scoped_ipc(weak_ptr_factory_.GetWeakPtr());
if (ipc_nesting_level_ > kAllowedIpcDepthForPrint) {
return;
@@ -1300,9 +1303,10 @@ void PrintRenderFrameHelper::PrintRequestedPagesInternal(
@@ -1304,9 +1307,10 @@ void PrintRenderFrameHelper::PrintRequestedPagesInternal(
is_loading_ = frame->WillPrintSoon();
if (is_loading_) {
@@ -726,7 +726,7 @@ index cb0f05dc6f6e14882e67684c86e78322815d2311..a779336a72c0c903d6202596ed0fe888
SetupOnStopLoadingTimeout();
return;
}
@@ -1312,7 +1316,7 @@ void PrintRenderFrameHelper::PrintRequestedPagesInternal(
@@ -1316,7 +1320,7 @@ void PrintRenderFrameHelper::PrintRequestedPagesInternal(
// plugin node and print that instead.
auto plugin = delegate_->GetPdfElement(frame);
@@ -735,7 +735,7 @@ index cb0f05dc6f6e14882e67684c86e78322815d2311..a779336a72c0c903d6202596ed0fe888
if (render_frame_gone_) {
return;
@@ -1468,6 +1472,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) {
@@ -1472,6 +1476,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) {
if (ipc_nesting_level_ > kAllowedIpcDepthForPrint)
return;
@@ -744,7 +744,7 @@ index cb0f05dc6f6e14882e67684c86e78322815d2311..a779336a72c0c903d6202596ed0fe888
print_preview_context_.OnPrintPreview();
#if BUILDFLAG(IS_CHROMEOS)
@@ -2080,17 +2086,25 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
@@ -2084,17 +2090,25 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
const blink::WebNode& node,
@@ -773,7 +773,7 @@ index cb0f05dc6f6e14882e67684c86e78322815d2311..a779336a72c0c903d6202596ed0fe888
DidFinishPrinting(PrintingResult::kFailPrintInit);
return;
}
@@ -2111,8 +2125,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
@@ -2115,8 +2129,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
print_pages_params_->params->print_scaling_option;
auto self = weak_ptr_factory_.GetWeakPtr();
@@ -790,7 +790,7 @@ index cb0f05dc6f6e14882e67684c86e78322815d2311..a779336a72c0c903d6202596ed0fe888
// Check if `this` is still valid.
if (!self)
return;
@@ -2379,29 +2400,43 @@ void PrintRenderFrameHelper::IPCProcessed() {
@@ -2383,29 +2404,43 @@ void PrintRenderFrameHelper::IPCProcessed() {
}
bool PrintRenderFrameHelper::InitPrintSettings(blink::WebLocalFrame* frame,

View File

@@ -6,7 +6,7 @@ Subject: proxy_config_monitor.patch
Allow monitoring proxy config changes for a pref service.
diff --git a/chrome/browser/net/proxy_config_monitor.cc b/chrome/browser/net/proxy_config_monitor.cc
index 1c1bce347bbebe0e1932d025f0cd3b773bdd1590..c541bc048d90021f9d4ffaff135e3320b77d8fe1 100644
index 50e7a07af841ff55cd24c0a79eef5dcc68807933..ed40ecdb91ddd7139f8f463809594ddfca793fcc 100644
--- a/chrome/browser/net/proxy_config_monitor.cc
+++ b/chrome/browser/net/proxy_config_monitor.cc
@@ -11,7 +11,9 @@
@@ -23,10 +23,10 @@ index 1c1bce347bbebe0e1932d025f0cd3b773bdd1590..c541bc048d90021f9d4ffaff135e3320
#include "chrome/browser/ash/profiles/profile_helper.h"
#endif // BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(ENABLE_EXTENSIONS)
-#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
+#if 0
#include "chrome/browser/extensions/api/proxy/proxy_api.h"
#endif
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
using content::BrowserThread;
@@ -62,9 +62,9 @@ index 1c1bce347bbebe0e1932d025f0cd3b773bdd1590..c541bc048d90021f9d4ffaff135e3320
net_error);
+#endif
}
#endif
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
diff --git a/chrome/browser/net/proxy_config_monitor.h b/chrome/browser/net/proxy_config_monitor.h
index c808604a9b586eb5524a10b7561987e5b29747ea..68980ce4bf50d6bde5329f6d45209be86d878769 100644
index 6c060b52d25799c6a7c4e4ee86ed7490060560d6..c81481a4451ff50b6ace5372a68b8615819affb3 100644
--- a/chrome/browser/net/proxy_config_monitor.h
+++ b/chrome/browser/net/proxy_config_monitor.h
@@ -40,11 +40,12 @@ class ProxyConfigMonitor : public net::ProxyConfigService::Observer,
@@ -83,10 +83,10 @@ index c808604a9b586eb5524a10b7561987e5b29747ea..68980ce4bf50d6bde5329f6d45209be8
// associated with a profile. Must be destroyed before |local_state|.
@@ -94,7 +95,7 @@ class ProxyConfigMonitor : public net::ProxyConfigService::Observer,
#if BUILDFLAG(ENABLE_EXTENSIONS)
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
mojo::ReceiverSet<network::mojom::ProxyErrorClient> error_receiver_set_;
- raw_ptr<Profile> profile_ = nullptr;
+ // raw_ptr<Profile> profile_ = nullptr;
#endif
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
};

View File

@@ -30,10 +30,10 @@ index 18c6ee6657e5edb5e90102dd9a20e5c0efeed843..af763ad4e441e54556854cd40c4cb909
// RenderWidgetHost on the primary main frame, and false otherwise.
virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*);
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 1874493c21087f1cf3a565956bd48ebac6892135..59768b75a3f304056dcf6b5d665f6e41cdcfafcc 100644
index 09faffd038c9a119ccb8d51ed44569dbd3fed908..3eb5ee73231e9dfc08a825808e4be5c0ad260234 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -2070,6 +2070,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
@@ -2071,6 +2071,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
if (view_) {
view_->UpdateCursor(cursor);
}
@@ -44,10 +44,10 @@ index 1874493c21087f1cf3a565956bd48ebac6892135..59768b75a3f304056dcf6b5d665f6e41
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 133718bc2e270ac7ed02ef4a7f17bf4efb773d5c..2789ab0d799653e34b2a3f81333daf5e0cf3ecf5 100644
index 635ce2fb1a4f1e91b5abd7bd0ae1a6b6ccbdf926..2be6dc0dada353a36822794421b30c346a9ec930 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -6039,6 +6039,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
@@ -6092,6 +6092,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
return text_input_manager_.get();
}
@@ -60,10 +60,10 @@ index 133718bc2e270ac7ed02ef4a7f17bf4efb773d5c..2789ab0d799653e34b2a3f81333daf5e
RenderWidgetHostImpl* render_widget_host) {
return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost();
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 3ca82fa72be14a535ddc4e5d93c3eb3a664054ad..1e5a53e1e3219dd387a258fc07ef1d43f3090d4b 100644
index 6465a4bdc6bcb205b4198bd6f2c28b3afc04bb99..973ca330ffce0bb743160b5686e88764c9a8ede3 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -1174,6 +1174,7 @@ class CONTENT_EXPORT WebContentsImpl
@@ -1175,6 +1175,7 @@ class CONTENT_EXPORT WebContentsImpl
void SendScreenRects() override;
void SendActiveState(bool active) override;
TextInputManager* GetTextInputManager() override;

View File

@@ -8,7 +8,7 @@ it in Electron and prevent drift from Chrome's blocklist. We should look for a w
to upstream this change to Chrome.
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
index 717a221b93ecd3137b61fb21811f421e575aad8d..b8d78d1af2ea435d55eb8586c92dde16ed02d7ee 100644
index 1e5bedcb5f5a5fa6da577689cb69ecc2ca918e6a..0ecc40f94e967c528f8dfa4be27a666a170d990e 100644
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
@@ -82,11 +82,13 @@
@@ -246,7 +246,7 @@ index 717a221b93ecd3137b61fb21811f421e575aad8d..b8d78d1af2ea435d55eb8586c92dde16
auto* provider = web_app::WebAppProvider::GetForWebApps(
Profile::FromBrowserContext(profile_));
if (provider) {
@@ -2563,7 +2375,7 @@ void ChromeFileSystemAccessPermissionContext::OnShutdown() {
@@ -2564,7 +2376,7 @@ void ChromeFileSystemAccessPermissionContext::OnShutdown() {
one_time_permissions_tracker_.Reset();
}
@@ -255,7 +255,7 @@ index 717a221b93ecd3137b61fb21811f421e575aad8d..b8d78d1af2ea435d55eb8586c92dde16
void ChromeFileSystemAccessPermissionContext::OnWebAppInstalled(
const webapps::AppId& app_id) {
if (!base::FeatureList::IsEnabled(
@@ -2898,11 +2710,7 @@ bool ChromeFileSystemAccessPermissionContext::
@@ -2899,11 +2711,7 @@ bool ChromeFileSystemAccessPermissionContext::
HandleType handle_type,
UserAction user_action,
GrantType grant_type) {
@@ -268,7 +268,7 @@ index 717a221b93ecd3137b61fb21811f421e575aad8d..b8d78d1af2ea435d55eb8586c92dde16
if (!base::FeatureList::IsEnabled(
features::kFileSystemAccessPersistentPermissions)) {
return false;
@@ -2953,6 +2761,7 @@ bool ChromeFileSystemAccessPermissionContext::
@@ -2954,6 +2762,7 @@ bool ChromeFileSystemAccessPermissionContext::
return false;
#endif // BUILDFLAG(IS_ANDROID)

View File

@@ -7,7 +7,7 @@ Subject: refactor: expose HostImportModuleDynamically and
This is so that Electron can blend Blink's and Node's implementations of these isolate handlers.
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
index 5f3ef90d8c8f175455a663c407e574d694bfcf7b..4c7048931200a8cf09a6fba3d99b7347debda3f3 100644
index 9eb29fcae74cc7618f1d44fd64d63d7940f61260..e8828606e98a61a5d99c9c638e67eda887446f49 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
@@ -628,8 +628,9 @@ bool WasmJSPromiseIntegrationEnabledCallback(v8::Local<v8::Context> context) {

View File

@@ -6,10 +6,10 @@ Subject: refactor: patch electron PermissionTypes into blink
6387077: [PermissionOptions] Generalize PermissionRequestDescription | https://chromium-review.googlesource.com/c/chromium/src/+/6387077
diff --git a/components/permissions/permission_util.cc b/components/permissions/permission_util.cc
index fee80a0e6036b3b73110ec495ac5546beca0585a..3a079619f770c628e882c7e5b587171e043cfd72 100644
index a946c15689ffcebc1509fdb8fc27c69e3923a1cb..dffca6d28d2f04cd4c0d722c7c096473b2ed9264 100644
--- a/components/permissions/permission_util.cc
+++ b/components/permissions/permission_util.cc
@@ -519,7 +519,17 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
@@ -526,7 +526,17 @@ ContentSettingsType PermissionUtil::PermissionTypeToContentSettingsTypeSafe(
return ContentSettingsType::WEB_APP_INSTALLATION;
case PermissionType::LOCAL_NETWORK_ACCESS:
return ContentSettingsType::LOCAL_NETWORK_ACCESS;
@@ -28,10 +28,10 @@ index fee80a0e6036b3b73110ec495ac5546beca0585a..3a079619f770c628e882c7e5b587171e
break;
}
diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc
index b9590ecbb95da6858eac104fbf69df056ccbf449..61cdfa6549c539ec73437d221ffdd82fbef39e23 100644
index 80aa7a3056e275f1a54752e59df5a1c7eb316746..056a23bb485356cbe6795e69db9be33b75e26703 100644
--- a/content/browser/permissions/permission_controller_impl.cc
+++ b/content/browser/permissions/permission_controller_impl.cc
@@ -87,7 +87,15 @@ PermissionToSchedulingFeature(PermissionType permission_name) {
@@ -88,7 +88,15 @@ PermissionToSchedulingFeature(PermissionType permission_name) {
case PermissionType::AUTOMATIC_FULLSCREEN:
case PermissionType::WEB_APP_INSTALLATION:
case PermissionType::LOCAL_NETWORK_ACCESS:

View File

@@ -15,10 +15,10 @@ This CL removes these filters so the unresponsive event can still be
accessed from our JS event. The filtering is moved into Electron's code.
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 56a2bedb0f594d9ccd0dfb9046ef1da64e1fc72b..ecc3064977e60b136a37ff374043dfe82aded822 100644
index cae36228828a295d74f04d43fe2ed0aba94f716b..5f8b609c82de7a3ad3813a59f06399a2fb44fe06 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -10151,25 +10151,13 @@ void WebContentsImpl::RendererUnresponsive(
@@ -10204,25 +10204,13 @@ void WebContentsImpl::RendererUnresponsive(
base::RepeatingClosure hang_monitor_restarter) {
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive",
"render_widget_host", render_widget_host);

View File

@@ -8,10 +8,10 @@ respond to the first mouse click in their window, which is desirable for some
kinds of utility windows. Similarly for `disableAutoHideCursor`.
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
index 97e95c04030206d244766ee10df2640b32b519aa..8563eb9aa5b5dca04e45d55a3bdd32a135232f00 100644
index 068f395680bfe54ced74ac3406b56f2b09ebaccc..2d5cad5d7a4ab9292a5f966123687dee06f4512b 100644
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
@@ -171,6 +171,15 @@ void ExtractUnderlines(NSAttributedString* string,
@@ -167,6 +167,15 @@ void ExtractUnderlines(NSAttributedString* string,
} // namespace
@@ -27,7 +27,7 @@ index 97e95c04030206d244766ee10df2640b32b519aa..8563eb9aa5b5dca04e45d55a3bdd32a1
// RenderWidgetHostViewCocoa ---------------------------------------------------
// Private methods:
@@ -785,6 +794,9 @@ - (AcceptMouseEvents)acceptsMouseEventsOption {
@@ -781,6 +790,9 @@ - (AcceptMouseEvents)acceptsMouseEventsOption {
}
- (BOOL)acceptsFirstMouse:(NSEvent*)theEvent {
@@ -37,7 +37,7 @@ index 97e95c04030206d244766ee10df2640b32b519aa..8563eb9aa5b5dca04e45d55a3bdd32a1
// Enable "click-through" if mouse clicks are accepted in inactive windows.
return
[self acceptsMouseEventsOption] > AcceptMouseEvents::kWhenInActiveWindow;
@@ -937,6 +949,10 @@ - (BOOL)shouldIgnoreMouseEvent:(NSEvent*)theEvent {
@@ -933,6 +945,10 @@ - (BOOL)shouldIgnoreMouseEvent:(NSEvent*)theEvent {
// its parent view.
BOOL hitSelf = NO;
while (view) {
@@ -48,7 +48,7 @@ index 97e95c04030206d244766ee10df2640b32b519aa..8563eb9aa5b5dca04e45d55a3bdd32a1
if (view == self)
hitSelf = YES;
if ([view isKindOfClass:[self class]] && ![view isEqual:self] &&
@@ -1271,6 +1287,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv {
@@ -1267,6 +1283,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv {
eventType == NSEventTypeKeyDown &&
!(modifierFlags & NSEventModifierFlagCommand);

View File

@@ -52,10 +52,10 @@ Some alternatives to this patch:
None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index a3de9da4edab3b41ab9f104ec747911b3d9f4dee..58ab462a5bdb335a54a8f7d9f3d27e6f039c50cb 100644
index cfdf42197c0855b63680e60e4b01f4624b201383..2fb245ad4daabdf430be1f593e73b2da90504419 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -1533,7 +1533,7 @@ if (is_chrome_branded && !is_android) {
@@ -1539,7 +1539,7 @@ if (is_chrome_branded && !is_android) {
}
}
@@ -64,7 +64,7 @@ index a3de9da4edab3b41ab9f104ec747911b3d9f4dee..58ab462a5bdb335a54a8f7d9f3d27e6f
chrome_paks("packed_resources") {
if (is_mac) {
output_dir = "$root_gen_dir/repack"
@@ -1579,6 +1579,12 @@ repack("browser_tests_pak") {
@@ -1585,6 +1585,12 @@ repack("browser_tests_pak") {
deps = [ "//chrome/test/data/webui:resources" ]
}

View File

@@ -233,10 +233,10 @@ index d8167e854a3264b19a07544039fd01aba45e27a1..2e5a4ae715529e3b7b5c8fbb7195c7ce
}
diff --git a/content/common/features.cc b/content/common/features.cc
index b1a1752607def8f303e753fca0cd32b18bbb1969..fbbc5c4a7bd0e50a541e44020365dc60a549b652 100644
index c216266f801ad2079984efc198294d16142a7906..b351f23d1044615004c56fd165898ed26f6bb0ea 100644
--- a/content/common/features.cc
+++ b/content/common/features.cc
@@ -300,6 +300,14 @@ BASE_FEATURE(kIOSurfaceCapturer,
@@ -316,6 +316,14 @@ BASE_FEATURE(kIOSurfaceCapturer,
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
@@ -252,10 +252,10 @@ index b1a1752607def8f303e753fca0cd32b18bbb1969..fbbc5c4a7bd0e50a541e44020365dc60
BASE_FEATURE(kKeepChildProcessAfterIPCReset,
"KeepChildProcessAfterIPCReset",
diff --git a/content/common/features.h b/content/common/features.h
index 98899b6a81f7e93995ac6e49de2b20996a5b7ff5..149934a614970596ccdac5991cc7b35826f4a1d4 100644
index 7913d0ee9496d19908018398616e1c806d03ff09..99cfa89ead7cb84047f89f16646a6bfbe14a5d24 100644
--- a/content/common/features.h
+++ b/content/common/features.h
@@ -100,6 +100,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan);
@@ -101,6 +101,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan);
#if BUILDFLAG(IS_MAC)
CONTENT_EXPORT BASE_DECLARE_FEATURE(kIOSurfaceCapturer);
#endif

View File

@@ -6,10 +6,10 @@ Subject: Revert "Remove the AllowAggressiveThrottlingWithWebSocket feature."
This reverts commit 615c1810a187840ffeb04096087efff86edb37de.
diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
index 2db75aec183b43dfddbca2a113ccba88c0009cd5..eddef82560d4719107888e6ca8d828780dc609b0 100644
index b5dde9f0b46663db5c7cf072cc58e271f83995eb..88a503e23ea4fa787a91a2a7934dc1783264a700 100644
--- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
@@ -100,6 +100,17 @@ enum WebSocketOpCode {
@@ -101,6 +101,17 @@ enum WebSocketOpCode {
kOpCodeBinary = 0x2,
};
@@ -27,7 +27,7 @@ index 2db75aec183b43dfddbca2a113ccba88c0009cd5..eddef82560d4719107888e6ca8d82878
} // namespace
WebSocketChannelImpl::MessageDataDeleter::MessageDataDeleter(
@@ -293,7 +304,10 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
@@ -294,7 +305,10 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
// even if the `WebSocketChannel` is closed.
feature_handle_for_scheduler_ = scheduler->RegisterFeature(
SchedulingPolicy::Feature::kWebSocket,

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