Commit graph

689 commits

Author SHA1 Message Date
George Xu
bc508c6113
feat: add electron.safeStorage encryption API (#30020)
* feat: add SafeStorage api; first commit

* chore: rename files to fit semantically

* chore: add linkedBindings

* chore: fix function signatures

* chore: refactor eisCookieEncryptionEnabled() fuse

* chore: create test file

* chore: add tests and documentation

* chore: add copyright and lint

* chore: add additional tests

* chore: fix constructor

* chore: commit for pair programming

* wip: commit for keeley pairing

* chore: docs change and code cleanup

* chore: add linux import

* chore: add description to documentation

* chore: fixing tests

* chore: modify behaviour to not allow unencrypted strings as decyption input

* fix add patch for enabling default v11 encryption on Linux

* chore: remove file after each test

* chore: fix patch

* chore: remove chromium patch

* chore: add linux specific tests

* chore: fix path

* chore: add checker for linuux file deletion

* chore: add dcheck back

* chore: remove reference to headless mode

* chore: remove tests for linux

* chore: edit commit message

* chore: refactor safeStorage to not be a class

* chore: remove static variable from header

* chore:  spec file remove settimeout

Co-authored-by: VerteDinde <keeleymhammond@gmail.com>
2021-08-05 15:12:54 -07:00
Cheng Zhao
97929eab5f
fix: move window buttons in-place on macOS (#30322) 2021-08-04 09:31:12 +09:00
Jeremy Rose
8179349625
feat: enable sandbox by default in limited circumstances (#30197) 2021-08-03 15:07:03 -07:00
Jeremy Rose
40e76dca07
feat: switch to crashpad on linux (#30278) 2021-08-03 14:01:12 -07:00
Biru Mohanathas
ced2e8779f
feat: Allow detection of MITM HTTPS proxies like ZScaler (#30174)
* 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
2021-08-02 10:24:58 +09:00
John Kleinschmidt
9cc1b55663
chore: remove experimental from navigator.serial implementation (#30237) 2021-07-30 08:57:22 +09:00
Jeremy Rose
fa464286ee
test: deflake crashReporter.getLastCrashReport test (#30276) 2021-07-28 08:56:15 -07:00
Jeremy Rose
ceebae170e
feat: partially support chrome.tabs.update (#30069) 2021-07-27 13:36:22 -07:00
Milan Burda
a545cd3790
fix: type internal APIs that can return null properly (#29852) 2021-07-27 14:48:12 +09:00
Jeremy Rose
385d0f590f
refactor: remove base::Value from WebContentsPreferences (#30193) 2021-07-26 09:04:09 -07:00
stephen9357
e3fe80e0e8
fix: increase stack size on windows x86 (#29474)
* fix: increace main thread stack size on windows x86

* chore: improve quit-on-crashed-event spec

* chore: add debug logs

* Revert "chore: add debug logs"

This reverts commit 0be81ae07c85095ac2c920436b97557c95c1c524.

* chore: use a reliable crash endpoint

Co-authored-by: Stephen Wang <wangwenqiang.wwq@bytedance.com>
Co-authored-by: Deepak Mohan <hop2deep@gmail.com>
2021-07-22 12:49:21 -07:00
Shelley Vohr
b24cfe17bc
fix: process.exit crash in nativeWindowOpen (#30218) 2021-07-22 15:38:11 +02:00
Keeley Hammond
deb75ceaa5
build: update version-bumper to support alpha (#30165)
* build: update version-bumper to support alpha

* build: seperate alpha bump version tests

For easier deletion. If we want to continue supporting an alpha channel,
they can be reintegrated with main tests.

* chore: fix regex

Co-authored-by: Samuel Attard <sam@electronjs.org>

Co-authored-by: Samuel Attard <sam@electronjs.org>
2021-07-19 17:58:15 -07:00
Jeremy Rose
c9ba0d02d7
feat: support crashpad on linux (#29719) 2021-07-19 10:11:10 -07:00
Jeremy Rose
612361c4da
chore: remove unused getWebPreferences method (#30160) 2021-07-19 09:29:23 -07:00
David Sanders
341b370213
fix: handle redirects within registered protocols (#29796) 2021-07-15 20:14:46 +09:00
Cheng Zhao
05ba6359d0
feat: add signal option to dialog.showMessageBox (#26102)
* 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
2021-07-15 07:59:27 +09:00
George Xu
4b780f9770
docs: update supported versions to match new release cadence (#30121) 2021-07-14 15:38:28 -07:00
Robo
4931c055a9
spec: disable flaky fullscreen test (#30141) 2021-07-14 15:26:09 -07:00
Jeremy Rose
bec47f54f4
fix: use correct userData path when unbundled (#30113) 2021-07-14 13:10:37 -07:00
Milan Burda
c0995b8dff
docs: add <webview> 'did-attach' event documentation (#29899) 2021-07-14 20:59:20 +09:00
Cheng Zhao
637ba48b42
fix: pressing ESC should exit fullscreen from webview (#30063) 2021-07-14 20:51:26 +09:00
Milan Burda
9959f01e4c
spec: fix check for electron_common_testing binding in logging-spec.ts (#30086) 2021-07-12 22:11:19 -07:00
Robo
36079b822a
chore: disable fullscreen test on mac arm (#30083) 2021-07-12 08:53:35 -07:00
Robo
c806184bfe
chore: fix flaky fullscreen inheritance test (#30081) 2021-07-11 23:19:30 -07:00
Robo
ccfde6c9d4
fix: window ordering on mac (#29857) 2021-07-09 13:38:25 -07:00
Shelley Vohr
af991123f1
fix: self.module.paths not working in web workers (#29955)
* fix: global.module.paths in workers

* spec: add a regression test
2021-07-05 08:48:46 +09:00
Cheng Zhao
6eff9231b8
fix: webview should maximize on requestFullscreen (#29952) 2021-07-01 20:56:29 -04:00
John Kleinschmidt
1f8a46c9c6
feat: enable window controls overlay on macOS (#29253)
* feat: enable windows control overlay on macOS

* address review feedback

* chore: address review feedback

* Address review feedback

* update doc per review

* only enable WCO when titleBarStyle is overlay

* Revert "only enable WCO when titleBarStyle is overlay"

This reverts commit 1b58b5b1fcb8f091880a4e5d1f8855399c44afad.

* Add new titleBarOverlay property to manage feature

* spelling fix

* Update docs/api/frameless-window.md

Co-authored-by: Samuel Attard <sam@electronjs.org>

* Update shell/browser/api/electron_api_browser_window.cc

Co-authored-by: Samuel Attard <sam@electronjs.org>

* update per review feedback

Co-authored-by: Samuel Attard <sam@electronjs.org>
2021-07-01 15:25:40 -04:00
Jeremy Rose
a8b3c22518
fix: correctly propagate title updates for window with no navigation entries (#29946) 2021-06-30 10:53:10 -07:00
Robo
522b19e2d8
fix: crash when clicking links with target=_blank from webview (#29874) 2021-06-29 18:10:18 -07:00
Jeremy Rose
0f16575eee
fix: stop window.open from hanging when prevented (#29851) 2021-06-24 08:50:48 -07:00
Jeremy Rose
2c01deae03
fix: deny instead of canceling when certificate-error passes false (#29826) 2021-06-23 16:40:51 -07:00
Shelley Vohr
129f92e1fa
fix: child window alwaysOnTop level persistence (#29813)
* fix: child window alwaysOnTop level

* chore: add undocumented getAlwaysOnTopLevel

* test: add test for level persistence

* Address feedback from review
2021-06-23 15:09:09 +09:00
electron-roller[bot]
b8261f1591
chore: bump chromium to 93.0.4550.0 (main) (#29751) 2021-06-22 12:17:16 -07:00
David Sanders
bc8cb75e4e
fix: properly handle optional requestHeaders with onBeforeSendHeaders (#29798) 2021-06-22 15:08:52 +09:00
Fedor Indutny
d4a1b41129
fix: microtasks policy in CreateEnvironment (#29531)
* 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>
2021-06-21 14:06:17 +09:00
Darshan Sen
cfc846a337
fix: relax app.getLocaleCountryCode() test (#29679)
If the app is run with LC_ALL=C on Linux, the test would fail as
app.getLocaleCountryCode() would return "".

Signed-off-by: Darshan Sen <raisinten@gmail.com>
2021-06-21 14:05:28 +09:00
Samuel Maddock
ef2ce9dd67
fix: flakey extension bg page test (#29744) 2021-06-21 10:11:40 +09:00
dependabot[bot]
cef4e434cb
build(deps-dev): bump ws from 7.2.1 to 7.4.6 in /spec-main (#29421)
Bumps [ws](https://github.com/websockets/ws) from 7.2.1 to 7.4.6.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.2.1...7.4.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-18 14:20:29 -07:00
John Kleinschmidt
6b4c59b8d8
ci: run linux arm tests on CircleCI (#29714) 2021-06-17 18:38:25 -04:00
Charles Kerr
8ccab4ce91
feat: bring --enable-logging functionality in line with Chromium (#25089)
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2021-06-17 14:17:25 -07:00
Shelley Vohr
542abcd6fd
chore: bump Node.js to v16.2.0 (#29244) 2021-06-17 08:50:56 +02:00
Shelley Vohr
2ae7e04598
fix: potential crash when setting vibrancy (#29677) 2021-06-16 15:39:20 +09:00
Samuel Attard
81795744cf
fix: ensure the typescript definitions only export correct value types (#28712)
* 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
2021-06-15 13:50:31 -07:00
David Sanders
214fcfc46d
test: re-enable some skipped tests (#29655)
* test: re-enable some skipped tests

* test: enable more tests
2021-06-15 10:55:08 +09:00
David Sanders
fed5ad5303
fix: use correct spelling of attachment with Content-Disposition header (#29621) 2021-06-14 11:05:16 +09:00
Samuel Attard
fa0323a3db
fix: Revert "fix: don't propagate GDK_BACKEND to subprocs (#28898)" (#29610)
This reverts commit 7b169c2884.
2021-06-09 08:28:52 -07:00
Shelley Vohr
7b169c2884
fix: don't propagate GDK_BACKEND to subprocs (#28898) 2021-06-08 16:10:27 +02:00
Shelley Vohr
a4decffe9a
fix: improper wrapping of fs.promises.readFile (#29528) 2021-06-07 21:19:39 +02:00