* feat: add support for validating asar archives on macOS
* chore: fix lint
* chore: update as per feedback
* feat: switch implementation to asar integrity hash checks
* feat: make ranged requests work with the asar file validator DataSourceFilter
* chore: fix lint
* chore: fix missing log include on non-darwin
* fix: do not pull block size out of missing optional
* fix: match ValidateOrDie symbol on non-darwin
* chore: fix up asar specs by repacking archives
* fix: maintain integrity chain, do not load file integrity if header integrity was not loaded
* debug test
* Update node-spec.ts
* fix: initialize header_validated_
* chore: update PR per feedback
* chore: update per feedback
* build: use final asar module
* Update fuses.json5
* chore: bump chromium in DEPS to 94.0.4604.0
* build: 3-way merge of chromium patches
* chore: bump chromium in DEPS to 94.0.4605.0
* build: 3-way merge of chromium patches
* 3076040: Reland Remove delete_children RemoveAllChildViews arg
Ref: 3076040
* 3069287: Remove the remaining uses and delete the deprecated API
Ref: 3069287
* 2297212: Replace RemoveWithoutPathExpansion(.*, nullptr) with Value::RemoveKey()
Refs: 2297212
Also: 3060296
* 3082756: Change transport_security_persister_path param to be a path to a file.
Refs: 3082756
> this CL intentionally changes the name of the parameter
> in the network context parameters and the order of the constructor
> parameters to ensure all callers update their code to pass a full
> file path rather than a path to a directory.
The 'path' in this diff is already an absolute path, coming from
`CHECK(base::PathService::Get(chrome::DIR_USER_DATA, &path_));` at
08ff1c2cbf/shell/browser/electron_browser_context.cc (L126)
* iwyu: network::mojom::HttpRawHeaderPair
* fixup! 3076040: Reland Remove delete_children RemoveAllChildViews arg
Missed one.
* 2999884: CodeHealth: Remove DictionaryValue::GetStringWithoutPathExpansion
Refs: 2999884
(example of replacing GetStringWithoutPathExpansion() w/FindStringKey())
Also: 3060296
(removal of DictionaryValue::GetStringWithoutPathExpansion)
* 3059260: Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
Refs: 3059260
We had both of these in a 'disable_features' list. Since these feature have
been removed upstream, remove them from our disable list, too.
IMPORTANT: this commit should not be backported to older branches that
still have these features, because doing so would un-disable them.
* 2920890: Load reroute_info from download in-progress and history db back into DownloadItem.
Refs: 2920890
* 3039323: [Clipboard API] Clipboard Custom Formats implementation Part 5.
Refs: 3039323
* chore: bump chromium in DEPS to 94.0.4606.0
* 3084502: Add a new PrintRasterizePdfDpi policy.
Refs: 3084502
* chore: update patches
* chore: bump chromium in DEPS to 94.0.4606.3
* chore: bump chromium in DEPS to 95.0.4608.0
* chore: bump chromium in DEPS to 95.0.4609.0
* [DevTools] Remove report_raw_headers from network::ResourceRequest
2856099
* Remove content::WebContentsObserver::OnInterfaceRequestFromFrame
3092665
* Disable kDesktopCaptureMacV2
3069272
* Add a new PrintRasterizePdfDpi policy.
3084502
* chore: update patches
* chore: bump chromium in DEPS to 95.0.4609.3
* disable `use_lld` for macos
* chore: update patches
* Linux: use chrome_crashpad_handler instead of crashpad_handler
3054290
* chore: fix lint
* Revert "[DevTools] Remove report_raw_headers from network::ResourceRequest"
This reverts commit 28f4da1582d046e96cb58f3cbb590503e89dfd0d.
* [DevTools] Remove report_raw_headers from network::ResourceRequest (Attempt #2)
2856099
* DCHECK that predictor always has a non-empty NetworkIsolationKey.
3067698
* Remove --no-untrusted-code-mitigations from //content and //gin
3096585
* fixup! Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
3059260
* fixup! Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
* Convert PrintManager to RenderFrameHostReceiverSet.
3072019
* chore: bump chromium in DEPS to 95.0.4612.5
* chore: disable v8 oilpan
* [Compiler] Remove untrusted code mitigations.
3045704
* Remove most FTP logic from services/network.
3076119
* Rename scale_factor.h -> resource_scale_factor.h
3057113
* [GURL -> SiteForCookies] extensions/
3100825
* breadcrumbs: add desktop entry point
3021746
* Move args_ to private in ExtensionFunction
3076261
* chore: iwyu
* fixup! Remove kSameSiteByDefaultCookies and kCookiesWithoutSameSiteMustBeSecure
* Disable kDesktopCaptureMacV2
3069272
* fixup! [Compiler] Remove untrusted code mitigations.
* fixup! Disable kDesktopCaptureMacV2
* Revert "chore: disable v8 oilpan"
This reverts commit 5d255cf1d8e8efbb906047937a713279e5f800d0.
* Reland "chore: disable v8 oilpan"
This reverts commit 1c252765b07a205560e7b5eed06de2605336e2d8.
The previous revert was to test on which platforms did the
heapsnapshot test actually fail.
* [Clipboard API] Clipboard Custom Formats implementation Part 5.
3039323
* Convert ExtensionFrameHost to RenderFrameHostReceiverSet.
3063358
* Convert PDFWebContentsHelper to RenderFrameHostReceiverSet.
3049751
* [Underscore Migration] Migrate ui/legacy
3093160
* chore: remove unknown permission error
* chore: fix lint
* chore: ignore -Wunreachable-code-return for node deps/
* fixup! chore: ignore -Wunreachable-code-return for node deps/
* fix: windows build
* fix: build dependency
Dependency was missed in cbeae20438
* 3108669: arm,dsp: Fix 8bpp Dct64_NEON().
3108669
* chore: revert libgav1 roll
* Revert "3108669: arm,dsp: Fix 8bpp Dct64_NEON()."
This reverts commit 7ed31323127aac8ba2eaff9cae6c9be9a4954f33.
* Revert "chore: revert libgav1 roll"
This reverts commit 084a490d298811267316c786762fe7aa91b6318d.
* chore: revert clang roll
* chore: Fix -Wunreachable-code-aggressive warnings in arm and arm64 code
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: mlaurencin <mlaurencin@electronjs.org>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* rebase "feat: enable windows control overlay on Windows"
* correct compilation error
* fix linting errors
* modify includes and build file
* change `hidden` option to `overlay`
* add patch to fix visual layout
* add button background color parameter
* add button text color parameter
* modify `overlay` in docs and modify button hover/press transition color
* change `text` to `symbol`
* remove todo and fix `text` replacement
* add new titleBarOverlay property and remove titleBarStyle `overlay`
* update browser and frameless window docs
* remove chromium patches
* chore: update patches
* change button hover color, update trailing `_`, update test file
* add dchecks, update title bar drawing checks, update test file
* modify for mac and linux builds
* update docs with overlayColor and overlaySymbolColor
* add corner and side hit test info
* modify docs and copyright info
* modify `titlebar_overlay_` as boolean or object
* move `title_bar_style_ to `NativeWindow`
* update docs with boolean and object titlebar_overlay_
* add `IsEmpty` checks
* move get options for boolean and object checks
* fix linting error
* disable `use_lld` for macos
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Apply docs suggestions from code review
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* modify `true` option description `titleBarOverlay`
* ci: cleanup keychain after tests on arm64 mac (#30472)
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* feat: Allow detection of MITM HTTPS proxies like ZScaler
For security purposes, Figma heavily restrics the origins that are
allowed to load within our Electron app. Unfortunately some corporate
environments use MITM proxies like ZScaler, which intercepts our
connection to `https://www.figma.com` and serves a redirect to e.g.
`https://gateway.zscloud.net` before finally redirecting back to
`https://www.figma.com`.
In order to detect this situation and handle it gracefully, we need to
be able to know whether or not the certificate for our own origin
(`https://www.figma.com`) is chained to a known root. We do this by
exposesing `CertVerifyResult::is_issued_by_known_root`.
If the certification verification passed without the certificate being
tied to a known root, we can safely assume that we are dealing with a
MITM proxy that has its root CA installed locally on the machine. This
means that HTTPS can't be trusted so we might as well make life easier
for corporate users by loosening our origin restrictions without any
manual steps.
* Tweak docs wording
* mac: add dialog.closeMessageBox API
* win: Implement dialog.closeMessageBox
* mac: Return cancelId with closeMessageBox
* gtk: Implement dialog.closeMessageBox
* win: Fix 32bit build
* win: Reduce the scope of lock
* fix: Build error after rebase
* feat: Use AbortSignal to close message box
* chore: silently handle duplicate ID
* win: Add more notes about the threads
* chore: apply reviews
* fix: base::NoDestructor should be warpped in function
* chore: fix style on windows
* fix: microtasks policy in CreateEnvironment
Microtasks policy should not be updated for the renderer because
`NodeBindings::CreateEnvironment` might be entered with or without
`UvRunOnce()` on stack. One of the examples of such calls is
`window.open()` which is possible to invoke while `uv_run()` is still
running (e.g. with `setImmediate()`).
All in all, it doesn't matter that much which policy we use since
`v8::MicrotasksScope` has a check for the policy in its destructor and
no commits will be made if the policy is `kExplicit`. It is important,
however, to not change the policy in the middle of `UvRunOnce()` so we
should respect whatever we currently have and move on.
Fix: #29463
* Move test to a better place
* Update spec-main/fixtures/crash-cases/setimmediate-window-open-crash/index.html
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* Update spec-main/fixtures/crash-cases/setimmediate-window-open-crash/index.html
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* simplify crash-case
* comment
* fix comment
Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Fedor Indutny <indutny@signal.org>
* refactor: use PathProvider for user-data-dir and others
* consolidate logic for DIR_RECENT and DIR_APP_LOGS into path provider
* fix bad include
* remove debugging code
* fix build on mac
* fix build on win
* create app logs dir on both mac and non-mac
* chore: bump chromium in DEPS to 92.0.4512.6
* 2887336: [CaptureHandle][#2] Propagate CaptureHandleConfig in browser process
2887336
* refactor: base::Optional -> absl::optional
* chore: fixup patch indices
* chore: bump chromium in DEPS to 92.0.4514.0
* 2899417: Make build work when enable_pdf is set to false.
2899417
* 2904731: use BrowserContext instead of Profile in PreconnectManager
2904731
* 2295749: fix: check IsSecureEventInputEnabled in constructor before setting SetPasswordInputEnabled to true
2295749
* 2893803: Add a GetWebView to RenderFrame.
2893803
* 2892345: Implement WebContents::ForEachRenderFrameHost
2892345
* chore: fixup patch indices
* 2892048: Real instance methods for BrowserContext: remaining 5 methods.
2892048
* 2902821: [mojo] Don't require full header includes for referenced interfaces
2902821
* 2496500: Remove last deprecated extension Event ctor.
2496500
* chore: fixup malformed pepper support patch
* chore: bump chromium in DEPS to 92.0.4515.0
* 2908461: Add CreateEmptyPrintPagesParamsPtr() inside print_view_manager_base.cc.
2908461
* 2880838: viz: add optional HDRMetadata to TransferableResource
2880838
* chore: fixup patch indices
* chore: bump chromium in DEPS to 92.0.4515.5
* chore: update patches
* chore: bump chromium in DEPS to 92.0.4515.7
* chore: bump chromium in DEPS to 92.0.4515.9
* chore: bump chromium in DEPS to 93.0.4522.0
* chore: bump chromium in DEPS to 93.0.4523.0
* chore: bump chromium in DEPS to 93.0.4524.0
* chore: update patches
* chore: enable_pak_file_integrity_checks was reverted
* chore: update patches
* refactor: base/optional was replaced with absl::optional
Refs: 2910202
* refactor: replace all usages of base::nullopt with absl::nullopt
Refs: 2910202
* chore: add missing base::Contains include
Refs: 2910202
* refactor: replace all usages of base::make_optional with
absl::make_optional
Refs: 2910202
* refactor: replace WorldScriptContext() with GetScriptContextFromWorldId
Refs: 2893213
* chore: clean up left over opening namespace
Refs: 95bfe6d08f
* chore: add missing base::Contains include
Refs: 2910202
* refactor: replace GetCurrentDisplayIterator with the hard checker
GetCurrentDisplay
This code looks suspicious but if the iterator was invalid before it
will also be invalid now.
Refs: 2893191
* refactor: headers are now passed directly in extensions client
Refs: 2918906
* refactor: base::DictionaryValue::empty() has been removed
Refs: 2912424
* chore: add missing includes for network URLLoaderFactory
Refs: unknown, probably a side effect of header changes
* refactor: make convenience wrapper around AppendArg
There is no converter FromV8 for base::StringPiece (apparently its not
possible). So we now take in an std::string and use the construct for
StringPiece to do implicit conversion.
Refs: 2905544
* chore: add patch
* chore: bump chromium in DEPS to 93.0.4525.0
* chore: update patches
* refactor: CanResize has been de-virtualized
Refs: 2485774
* chore: update resource integrity patch
* chore: add character encoding idl patch
* chore: bump chromium in DEPS to 93.0.4526.0
* chore: update patches
* chore: bump chromium in DEPS to 93.0.4527.0
* chore: bump chromium in DEPS to 93.0.4528.0
* chore: update patches
* chore: update idl encoding patch
* chore: bump chromium in DEPS to 93.0.4529.0
* chore: update patches
* chore: bump chromium in DEPS to 93.0.4530.0
* chore: update patches
* fix: only SetCanResize after the widget has been initialized
* chore: add patch for vr on windows gn gen
* spec: fix focus related tests on linux due to delay in focus swap
* chore: remove new usages of base::Optional from main
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Samuel Attard <sattard@slack-corp.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* fix: correctly handle shifted char in accelerator
* test: use actual accelerator of NSMenuItem
* chore: simplify KeyboardCodeFromStr
* chore: GetAcceleratorTextAt is testing only