* 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>
* docs: remove unused Desktop Environment Integration doc
* Update docs/api/app.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/api/app.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* 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>
* docs: fix camelcase in menu example and add hint to deal with TS error
hideothers -> hideOthers (the TS compiler caught this)
The TypeScript compiler also did not like the pattern used to
switch between platforms for submenus was loosing the type information
of the literal constants and generalized them as strings which
conflicts with the type definition of MenuItemConstructorOptions.
* docs: Fix spelling, added hint to TypeScript
Without explicitly stating the type for the const template TypeScript does not create a
with the correct shape due to generalization to strings.
* remove ts hints
Co-authored-by: a <a@b>
Co-authored-by: Cheng Zhao <github@zcbenz.com>
* 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
* feat: add MenuItem.userAccelerator property
This allows folks to read the user-assigned accelerator that macOS users can provide in system preferences. Useful for showing in-app shortcut help dialogs, you need to know if the accelerator you provided is not being used in favor of a user assigned one.
* chore: update syntax
* chore: add safety check for command index being -1
* fix: ensure the typescript definitions only export correct value types
In typescript there are two main types of "types" you can export, value types (class, const) and definition types (type, interface). The typescript compiler will let anything declared via const or class be used as a value. Unfortunately we were exporting a bunch of things (see the diff) as class/const when they weren't actually exported values. This lead to typescript being happy but the runtime throwing errors (not something we want).
This change passes "exported-in" context through our docs, to the parser and then to the definitions generator to ensure we only mark things as exported in the ts defs that we actually export.
Fixes#22167
* chore: update typescript-defs
* chore: update typescript-defs
* chore: fix bad typescript in IPC test
* docs: test rendering of new syntax
* chore: update per feedback, use same syntax but with 'this is not exportedd' line
* feat: add new runningUnderARM64Translation property to detect x64 translated apps running on Windows ARM
* docs: add documentation for the new runningUnderARM64Translation property
* refactor: clean up `IsRunningUnderARM64Translation` Windows implementation
* Return false if IsWow64Process2 doesn't exist
* Emit deprecation warning in runningUnderRosettaTranslation
* feat: emit resize edge with will-resize event
fix: wparam type
fix: private member usage on mac
docs: will-resize event edge option
refactor: 'info' -> 'details' for better type gen
* Update docs/api/browser-window.md
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* Update docs/api/browser-window.md
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
All the other argument headers were h3 (`###`) but `--force-fieldtrials` was h2 (`##`) for some reason.
I changed it to make it consistent with the others.