Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from electron:main #2

Merged
merged 152 commits into from
Aug 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
eb2efd4
docs: Update timeline for E15 alpha announcement (#30109)
sofianguy Jul 13, 2021
1897b14
chore: update releases to 8 weeks in CONTRIBUTING (#30115)
VerteDinde Jul 13, 2021
4d0475c
feat: expose location and modifiers on before-input-event (#29850)
nornagon Jul 14, 2021
637ba48
fix: pressing ESC should exit fullscreen from webview (#30063)
zcbenz Jul 14, 2021
c0995b8
docs: add <webview> 'did-attach' event documentation (#29899)
miniak Jul 14, 2021
75b4267
Update quick-start.md (#30064)
Davenury Jul 14, 2021
4db7221
Bump v15.0.0-nightly.20210714
electron-bot Jul 14, 2021
bec47f5
fix: use correct userData path when unbundled (#30113)
nornagon Jul 14, 2021
a855aa3
docs: fix fiddle path (#30139)
molant Jul 14, 2021
4931c05
spec: disable flaky fullscreen test (#30141)
deepak1556 Jul 14, 2021
b2da2f7
docs: add runtime.reload as supported extension api (#29925)
utkarsh-dixit Jul 14, 2021
4b780f9
docs: update supported versions to match new release cadence (#30121)
georgexu99 Jul 14, 2021
05ba635
feat: add signal option to dialog.showMessageBox (#26102)
zcbenz Jul 14, 2021
3f38681
fix: double traffic lights on exit fullscreen (#30114)
codebytere Jul 14, 2021
341b370
fix: handle redirects within registered protocols (#29796)
dsanders11 Jul 15, 2021
849a3b6
Bump v15.0.0-nightly.20210715
electron-bot Jul 15, 2021
063ac19
chore: bump node to v16.5.0 (main) (#30031)
electron-roller[bot] Jul 15, 2021
1bb689e
fix: BrowserWindow transparency not working (#30136)
codebytere Jul 15, 2021
0d9e6f2
fix: allow colored tray titles when font type is specified (#30146)
nornagon Jul 15, 2021
cfb2829
Bump v15.0.0-nightly.20210716
electron-bot Jul 16, 2021
d4b2f69
Bump v15.0.0-nightly.20210719
electron-bot Jul 19, 2021
9441ff7
docs: Ffx broken context isolation link in sandbox docs (#30177)
jota11 Jul 19, 2021
a329842
docs: update default branch for Electron Packager API links (#30175)
malept Jul 19, 2021
612361c
chore: remove unused getWebPreferences method (#30160)
nornagon Jul 19, 2021
c9ba0d0
feat: support crashpad on linux (#29719)
nornagon Jul 19, 2021
d35fb2a
docs: mention sandboxing in security docs (#30147)
nornagon Jul 19, 2021
deb75ce
build: update version-bumper to support alpha (#30165)
VerteDinde Jul 20, 2021
ea69da2
Bump v15.0.0-nightly.20210720
electron-bot Jul 20, 2021
9fe70c5
build: handle release failure by existing with code 1 (#30216)
MarshallOfSound Jul 21, 2021
adc3f39
Bump v15.0.0-nightly.20210721
electron-bot Jul 21, 2021
19820fc
chore: add additional crash key to gin::Wrappable (#30161)
VerteDinde Jul 21, 2021
eca1098
Bump v16.0.0-nightly.20210722
electron-bot Jul 22, 2021
b24cfe1
fix: process.exit crash in nativeWindowOpen (#30218)
codebytere Jul 22, 2021
e3fe80e
fix: increase stack size on windows x86 (#29474)
stephen9357 Jul 22, 2021
3cb0645
Bump v16.0.0-nightly.20210723
electron-bot Jul 23, 2021
62711e2
docs: update title of guide (#30205)
molant Jul 26, 2021
a6ab702
Bump v16.0.0-nightly.20210726
electron-bot Jul 26, 2021
64ba8fe
chore: bump chromium to 94.0.4584.0 (main) (#30030)
electron-roller[bot] Jul 26, 2021
385d0f5
refactor: remove base::Value from WebContentsPreferences (#30193)
nornagon Jul 26, 2021
d2989de
fix: update traffic lights position for macOS 11 (#30263)
zcbenz Jul 26, 2021
461db8f
fix: persist permission granted to serial ports (#30209)
jkleinsc Jul 26, 2021
a545cd3
fix: type internal APIs that can return null properly (#29852)
miniak Jul 27, 2021
10424c0
Bump v16.0.0-nightly.20210727
electron-bot Jul 27, 2021
cce27a0
chore: update publish to npm to use GitHub token (#30275)
jkleinsc Jul 27, 2021
ceebae1
feat: partially support chrome.tabs.update (#30069)
nornagon Jul 27, 2021
fc7ea75
refactor: move related code to makeWebPreferences in guest-view-manag…
miniak Jul 27, 2021
1c95d30
fix: Add missing items to menuItem.role documentation (#30217)
andersk Jul 28, 2021
d63980e
Bump v16.0.0-nightly.20210728
electron-bot Jul 28, 2021
fa46428
test: deflake crashReporter.getLastCrashReport test (#30276)
nornagon Jul 28, 2021
bd85b1d
docs: create documentation for browser api (#30071)
georgexu99 Jul 28, 2021
c3abbde
build: set the export goma auth fallback flag for the control process…
MarshallOfSound Jul 28, 2021
c5ad7ed
refactor: remove guestInstanceId from WebPreferences (#30280)
miniak Jul 28, 2021
4aa9455
Bump v16.0.0-nightly.20210729
electron-bot Jul 29, 2021
39c3ff5
fix: guard against missing native view (#30304)
codebytere Jul 29, 2021
3ee6326
fix: use contentAspectRatio not aspectRatio (#30305)
codebytere Jul 29, 2021
9cc1b55
chore: remove experimental from navigator.serial implementation (#30237)
jkleinsc Jul 29, 2021
639f039
fix: BrowserViews not painting their WebContents (#29919)
codebytere Jul 29, 2021
8651c5d
chore: update deps (#30339)
MarshallOfSound Jul 30, 2021
7b5deb2
Bump v16.0.0-nightly.20210730
electron-bot Jul 30, 2021
9a63d96
fix: respect LogJsConsoleMessages feature in InspectableWebContents::…
nornagon Jul 30, 2021
9693fb9
build: update build images to update npm and node (#30359)
MarshallOfSound Aug 2, 2021
ced2e87
feat: Allow detection of MITM HTTPS proxies like ZScaler (#30174)
poiru Aug 2, 2021
c0e72bd
docs: update to the use of arrow functions in line with the style gui…
flyme2bluemoon Aug 2, 2021
888ac65
fix: toggleDevTools menu role closes devtools window (#29922)
nornagon Aug 2, 2021
0cabff0
Bump v16.0.0-nightly.20210802
electron-bot Aug 2, 2021
2b897c8
fix: crash due to race between attach and destruction of webview (#24…
deepak1556 Aug 2, 2021
4519bc3
Bump v16.0.0-nightly.20210803
electron-bot Aug 3, 2021
6e43b0b
refactor: only create webContents after 'will-attach-webview' (#30311)
miniak Aug 3, 2021
40e76dc
feat: switch to crashpad on linux (#30278)
nornagon Aug 3, 2021
a17e480
fix: console window popping up when --enable-logging passed on window…
nornagon Aug 3, 2021
8179349
feat: enable sandbox by default in limited circumstances (#30197)
nornagon Aug 3, 2021
1c29734
build: fix building with enable_desktop_capturer = false (#30372)
miniak Aug 3, 2021
97929ea
fix: move window buttons in-place on macOS (#30322)
zcbenz Aug 4, 2021
acbd643
Bump v16.0.0-nightly.20210804
electron-bot Aug 4, 2021
481b774
docs: crashpad on linux lands in 16, not 15. (#30387)
nornagon Aug 4, 2021
4703dc0
build: bust the deps cache on windows (#30401)
MarshallOfSound Aug 4, 2021
4231727
Bump v16.0.0-nightly.20210805
electron-bot Aug 5, 2021
59ab794
build: rebase release branch before reverting bump (#30400)
MarshallOfSound Aug 5, 2021
320bea4
feat: add fuses for NODE_OPTIONS and --inspect (#30190)
MarshallOfSound Aug 5, 2021
8e1160f
build: use fully qualified path names for deps (#30414)
RaisinTen Aug 5, 2021
ec6cd00
chore: more crash-keys for gin::Wrappable debugging (#30404)
nornagon Aug 5, 2021
bc508c6
feat: add `electron.safeStorage` encryption API (#30020)
georgexu99 Aug 5, 2021
641260b
Bump v16.0.0-nightly.20210806
electron-bot Aug 6, 2021
d783e94
Revert "Bump v16.0.0-nightly.20210806"
electron-bot Aug 6, 2021
6a9cada
fix: build SetCrashKeyGW without tray on Windows (#30437)
VerteDinde Aug 6, 2021
66c458a
Bump v16.0.0-nightly.20210806
electron-bot Aug 6, 2021
08e9aea
Bump v16.0.0-nightly.20210809
electron-bot Aug 9, 2021
e223b4d
fix: respect image animation policy pref (#30403)
nornagon Aug 9, 2021
edb7413
fix: mouse doesn't work on frameless browserwindows (#30447)
ckerr Aug 10, 2021
590858a
docs: fix camelcase in menu example (#30341)
nibbleswap Aug 10, 2021
4f739d7
docs: add missing <webview> event documentation (#30450)
miniak Aug 10, 2021
f17e6ae
Bump v16.0.0-nightly.20210810
sudowoodo-release-bot[bot] Aug 10, 2021
69f1c1b
ci: cleanup keychain after tests on arm64 mac (#30472)
jkleinsc Aug 10, 2021
ac49e6a
repl: fix crash when SharedArrayBuffer disabled (#30456)
codebytere Aug 11, 2021
985f1b5
build(deps): bump path-parse from 1.0.6 to 1.0.7 (#30480)
dependabot[bot] Aug 11, 2021
42936b0
Bump v16.0.0-nightly.20210811
sudowoodo-release-bot[bot] Aug 11, 2021
41646d1
feat: enable windows control overlay on Windows (#29600)
mlaurencin Aug 11, 2021
e11953b
build: update remark (#30493)
MarshallOfSound Aug 11, 2021
60650ab
fix: explicitly define REFGUID from ::GUID&, not base::GUID (#30442)
VerteDinde Aug 11, 2021
c8f3324
ci: make arm64 macos test cleanup more resilient (#30495)
jkleinsc Aug 11, 2021
81c1433
chore: bump chromium to 94.0.4590.2 (main) (#30274)
electron-roller[bot] Aug 11, 2021
08ff1c2
Bump v16.0.0-nightly.20210812
sudowoodo-release-bot[bot] Aug 12, 2021
439e83d
refactor: remove all usages of the legacy request module (#30492)
MarshallOfSound Aug 12, 2021
7668507
Bump v16.0.0-nightly.20210813
sudowoodo-release-bot[bot] Aug 13, 2021
52890e9
Revert "Bump v16.0.0-nightly.20210813"
sudowoodo-release-bot[bot] Aug 13, 2021
c6267d9
Bump v16.0.0-nightly.20210813
sudowoodo-release-bot[bot] Aug 13, 2021
1761565
Revert "Bump v16.0.0-nightly.20210813"
sudowoodo-release-bot[bot] Aug 13, 2021
93b1d2d
build: fix release CI jobs start script (#30521)
MarshallOfSound Aug 13, 2021
6ad4732
Bump v16.0.0-nightly.20210813
sudowoodo-release-bot[bot] Aug 13, 2021
d313ddb
Revert "Bump v16.0.0-nightly.20210813"
sudowoodo-release-bot[bot] Aug 13, 2021
a48968c
build: do not pass undefined to Auth header in CI scripts
MarshallOfSound Aug 13, 2021
c5db7a9
Bump v16.0.0-nightly.20210813
sudowoodo-release-bot[bot] Aug 13, 2021
1e983e2
Revert "Bump v16.0.0-nightly.20210813"
sudowoodo-release-bot[bot] Aug 13, 2021
d1bd9af
build: use basic auth to trigger CI if either a username OR password …
MarshallOfSound Aug 13, 2021
7132f36
Bump v16.0.0-nightly.20210813
sudowoodo-release-bot[bot] Aug 13, 2021
61117a1
build: ensure getAssetContents is called in a async wrapper fn
MarshallOfSound Aug 13, 2021
fc9a197
build: do not excessively log response bodies
MarshallOfSound Aug 13, 2021
a11a234
fix: disable kWindowCaptureMacV2 for desktopCapturer (#30507)
VerteDinde Aug 13, 2021
0c1f762
build: fix publish-to-npm script post requests migration
MarshallOfSound Aug 13, 2021
8b9d009
build: manually pull 64bit dugite for 32bit tests (#30531)
MarshallOfSound Aug 14, 2021
94111c9
ci: update git on CI machines (#30526)
jkleinsc Aug 14, 2021
fcce2b1
fix: persist BrowserView background color when bounds offscreen (#30510)
codebytere Aug 16, 2021
740dcc5
docs: uniformize tutorial titles (#30527)
erickzhao Aug 16, 2021
6669abf
docs: clarify platform-specific usage of the acceptFirstMouse option…
erickzhao Aug 16, 2021
eaa5d37
Bump v16.0.0-nightly.20210816
sudowoodo-release-bot[bot] Aug 16, 2021
cd09a54
build: add basic codespaces configuration (#30528)
MarshallOfSound Aug 16, 2021
93d7968
build: fix gclient config file
MarshallOfSound Aug 16, 2021
7cdd132
fix: handle nullish WebContentsView in UpdateDraggableRegions (#30556)
MarshallOfSound Aug 17, 2021
a9a90fa
fix: {exit|enter}-html-fullscreen emitted after esc in webview (#30537)
codebytere Aug 17, 2021
ff128a3
Bump v16.0.0-nightly.20210817
sudowoodo-release-bot[bot] Aug 17, 2021
04aafcc
refactor: simplify <webview> event dispatch (#30458)
miniak Aug 17, 2021
db8644e
fix: media key globalShortcuts on macOS (#30552)
codebytere Aug 17, 2021
b62bbfd
fix: ensure web_contents() is alive before grabbing view (#30571)
MarshallOfSound Aug 17, 2021
f797159
Bump v16.0.0-nightly.20210818
sudowoodo-release-bot[bot] Aug 18, 2021
29749f3
chore: delete unused content_tracing.idl (#30554)
nornagon Aug 18, 2021
90b5ba3
fix: DCHECK on reload when forcefullyCrashRenderer() is called (#30544)
codebytere Aug 18, 2021
dd16d68
fix: cross-origin navigation disposing WebFrameMain instances (#30076)
samuelmaddock Aug 18, 2021
e92d92d
build: remove redundant --ignore_locks from appveyor (#30591)
codebytere Aug 18, 2021
ec13a0b
fix: documentEdited with non-default titlebarStyle (#30565)
codebytere Aug 18, 2021
8699124
refactor: dynamically search defines from node (#30563)
zcbenz Aug 18, 2021
cbeae20
fix: change gin_wrappable to scoped crash key (#30578)
VerteDinde Aug 18, 2021
655b614
docs: remove unused Desktop Environment Integration doc (#30577)
erickzhao Aug 18, 2021
ea889b4
docs: update Hazel information (#30517)
erickzhao Aug 18, 2021
11de995
docs: typo in launch-app-from-url-in-another-app.md (#30566)
LarryKlugerDS Aug 19, 2021
cb7c16c
fix: WebFrameMain mojo pipe not reset (#30629)
samuelmaddock Aug 19, 2021
4820dee
Bump v16.0.0-nightly.20210819
sudowoodo-release-bot[bot] Aug 19, 2021
2a28ca2
ci: drop with_tags with_branch_heads from sync on appveyor (#30601)
nornagon Aug 19, 2021
7093cd7
build: add nvmrc file (#30612)
MarshallOfSound Aug 19, 2021
aab5ea5
build: embed binary checksums in the npm package (#30611)
MarshallOfSound Aug 19, 2021
c83de75
Revert "fix: DCHECK on reload when forcefullyCrashRenderer() is calle…
MarshallOfSound Aug 19, 2021
517b174
Bump v16.0.0-nightly.20210820
sudowoodo-release-bot[bot] Aug 20, 2021
fb990ba
chore: bump node to v16.7.0 (main) (#30350)
electron-roller[bot] Aug 20, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 7 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ executors:
type: enum
enum: ["medium", "xlarge", "2xlarge+"]
docker:
- image: electron.azurecr.io/build:4fc81b50f9c0980699d329bc32062fac20a26701
- image: ghcr.io/electron/build:27db4a3e3512bfd2e47f58cea69922da0835f1d9
resource_class: << parameters.size >>

macos:
Expand Down Expand Up @@ -219,6 +219,8 @@ step-maybe-cleanup-arm64-mac: &step-maybe-cleanup-arm64-mac
killall Safari || echo "No Safari processes left running"
rm -rf ~/Library/Application\ Support/Electron*
rm -rf ~/Library/Application\ Support/electron*
security delete-generic-password -l "Chromium Safe Storage" || echo "✓ Keychain does not contain password from tests"
security delete-generic-password -l "Electron Test Main Safe Storage" || echo "✓ Keychain does not contain password from tests"
elif [ "$TARGET_ARCH" == "arm" ] || [ "$TARGET_ARCH" == "arm64" ]; then
XVFB=/usr/bin/Xvfb
/sbin/start-stop-daemon --stop --exec $XVFB || echo "Xvfb not running"
Expand Down Expand Up @@ -312,6 +314,7 @@ step-setup-goma-for-build: &step-setup-goma-for-build
npm install
mkdir third_party
node -e "require('./src/utils/goma.js').downloadAndPrepare({ gomaOneForAll: true })"
export GOMA_FALLBACK_ON_AUTH_FAILURE=true
third_party/goma/goma_ctl.py ensure_start
echo 'export GN_GOMA_FILE='`node -e "console.log(require('./src/utils/goma.js').gnFilePath)"` >> $BASH_ENV
echo 'export LOCAL_GOMA_DIR='`node -e "console.log(require('./src/utils/goma.js').dir)"` >> $BASH_ENV
Expand Down Expand Up @@ -1206,6 +1209,9 @@ steps-tests: &steps-tests
(cd electron && node script/yarn test --runners=main --trace-uncaught --enable-logging)
(cd electron && node script/yarn test --runners=remote --trace-uncaught --enable-logging)
else
if [ "$TARGET_ARCH" == "ia32" ]; then
npm_config_arch=x64 node electron/node_modules/dugite/script/download-git.js
fi
(cd electron && node script/yarn test --runners=main --trace-uncaught --enable-logging --files $(circleci tests glob spec-main/*-spec.ts | circleci tests split --split-by=timings))
(cd electron && node script/yarn test --runners=remote --trace-uncaught --enable-logging --files $(circleci tests glob spec/*-spec.js | circleci tests split --split-by=timings))
fi
Expand Down
59 changes: 59 additions & 0 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Electron Dev on Codespaces

Welcome to the Codespaces Electron Developer Environment.

## Quick Start

Upon creation of your codespace you should have [build tools](https://github.com/electron/build-tools) installed and an initialized gclient checkout of Electron. In order to build electron you'll need to run the following commands.

```bash
e sync -vv
e build
```

The initial sync will take approximately ~30 minutes and the build will take ~8 minutes. Incremental syncs and incremental builds are substantially quicker.

## Directory Structure

Codespaces doesn't lean very well into gclient based checkouts, the directory structure is slightly strange. There are two locations for the `electron` checkout that both map to the same files under the hood.

```graphql
# Primary gclient checkout container
/workspaces/gclient/*
└─ src/* - # Chromium checkout
└─ electron - # Electron checkout
# Symlinked Electron checkout (identical to the above)
/workspaces/electron
```

## Goma

If you are a maintainer [with Goma access](../docs/development/goma.md) it should be automatically configured and authenticated when you spin up a new codespaces instance. You can validate this by checking `e d goma_auth info` or by checking that your build-tools configuration has a goma mode of `cluster`.

## Running Electron

You can run Electron in a few ways. If you just want to see if it launches:

```bash
# Enter an interactive JS prompt headlessly
xvfb-run e start -i
```

But if you want to actually see Electron you will need to use the built-in VNC capability. If you click "Ports" in codespaces and then open the `VNC web client` forwarded port you should see a web based VNC portal in your browser. When you are asked for a password use `builduser`.

Once in the VNC UI you can open `Applications -> System -> XTerm` which will open a VNC based terminal app and then you can run `e start` like normal and Electron will open in your VNC session.

## Running Tests

You run tests via build-tools and `xvfb`.

```bash
# Run all tests
xvfb-run e test

# Run the main process tests
xvfb-run e test --runners=main

# Run the old remote tests
xvfb-run e test --runners=remote
```
43 changes: 43 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"dockerComposeFile": "docker-compose.yml",
"service": "buildtools",
"onCreateCommand": ".devcontainer/on-create-command.sh",
"workspaceFolder": "/workspaces/gclient/src/electron",
"extensions": [
"joeleinbinder.mojom-language",
"rafaelmaiolla.diff",
"surajbarkale.ninja",
"ms-vscode.cpptools",
"mutantdino.resourcemonitor",
"dbaeumer.vscode-eslint",
"shakram02.bash-beautify",
"marshallofsound.gnls-electron"
],
"settings": {
"[gn]": {
"editor.formatOnSave": true
},
"editor.tabSize": 2,
"bashBeautify.tabSize": 2
},
"forwardPorts": [8088, 6080, 5901],
"portsAttributes": {
"8088": {
"label": "Goma Control Panel",
"onAutoForward": "silent"
},
"6080": {
"label": "VNC web client (noVNC)",
"onAutoForward": "silent"
},
"5901": {
"label": "VNC TCP port",
"onAutoForward": "silent"
}
},
"hostRequirements": {
"storage": "32gb",
"cpus": 8
},
"remoteUser": "builduser"
}
19 changes: 19 additions & 0 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: '3'

services:
buildtools:
image: ghcr.io/electron/devcontainer:27db4a3e3512bfd2e47f58cea69922da0835f1d9

volumes:
- ..:/workspaces/gclient/src/electron:cached

- /var/run/docker.sock:/var/run/docker.sock

command: /bin/sh -c "while sleep 1000; do :; done"

user: builduser

cap_add:
- SYS_PTRACE
security_opt:
- seccomp:unconfined
74 changes: 74 additions & 0 deletions .devcontainer/on-create-command.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#!/bin/bash

set -eo pipefail

buildtools=$HOME/.electron_build_tools
gclient_root=/workspaces/gclient
buildtools_configs=/workspaces/buildtools-configs

export PATH="$PATH:$buildtools/src"

# Create the persisted buildtools config folder
mkdir -p $buildtools_configs
rm -f $buildtools/configs
ln -s $buildtools_configs $buildtools/configs

# Write the gclient config if it does not already exist
if [ ! -f $gclient_root/.gclient ]; then
echo "solutions = [
{ \"name\" : \"src/electron\",
\"url\" : \"https://github.com/electron/electron\",
\"deps_file\" : \"DEPS\",
\"managed\" : False,
\"custom_deps\" : {
},
\"custom_vars\": {},
},
]
" >$gclient_root/.gclient
fi

# Write the default buildtools config file if it does
# not already exist
if [ ! -f $buildtools/configs/evm.testing.json ]; then
write_config() {
echo "
{
\"root\": \"/workspaces/gclient\",
\"goma\": \"$1\",
\"gen\": {
\"args\": [
\"import(\\\"//electron/build/args/testing.gn\\\")\",
\"import(\\\"/home/builduser/.electron_build_tools/third_party/goma.gn\\\")\"
],
\"out\": \"Testing\"
},
\"env\": {
\"CHROMIUM_BUILDTOOLS_PATH\": \"/workspaces/gclient/src/buildtools\",
\"GIT_CACHE_PATH\": \"/workspaces/gclient/.git-cache\"
},
\"remotes\": {
\"electron\": {
\"origin\": \"https://github.com/electron/electron.git\"
}
}
}
" >$buildtools/configs/evm.testing.json
}

# Start out as cache only
write_config cache-only

e use testing

# Attempt to auth to the goma service via codespaces tokens
# if it works we can use the goma cluster
export NOTGOMA_CODESPACES_TOKEN=$GITHUB_TOKEN
if e d goma_auth login; then
write_config cluster
fi
else
# Even if the config file existed we still need to re-auth with the goma
# cluster
NOTGOMA_CODESPACES_TOKEN=$GITHUB_TOKEN e d goma_auth login || true
fi
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ compile_commands.json
# npm package
/npm/dist
/npm/path.txt
/npm/checksums.json

.npmrc

Expand Down
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
14
21 changes: 20 additions & 1 deletion BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,23 @@ action("electron_fuses") {
args = rebase_path(outputs)
}

action("electron_generate_node_defines") {
script = "build/generate_node_defines.py"

inputs = [
"//third_party/electron_node/src/tracing/trace_event_common.h",
"//third_party/electron_node/src/tracing/trace_event.h",
"//third_party/electron_node/src/util.h",
]

outputs = [
"$target_gen_dir/push_and_undef_node_defines.h",
"$target_gen_dir/pop_node_defines.h",
]

args = [ rebase_path(target_gen_dir) ] + rebase_path(inputs)
}

source_set("electron_lib") {
configs += [ "//v8:external_startup_data" ]
configs += [ "//third_party/electron_node:node_internals" ]
Expand All @@ -318,6 +335,7 @@ source_set("electron_lib") {

deps = [
":electron_fuses",
":electron_generate_node_defines",
":electron_js2c",
":electron_version_header",
":resources",
Expand Down Expand Up @@ -1404,7 +1422,8 @@ dist_zip("hunspell_dictionaries_zip") {
}

copy("libcxx_headers") {
sources = libcxx_headers + libcxx_licenses
sources = libcxx_headers + libcxx_licenses +
[ "//buildtools/third_party/libc++/__config_site" ]
outputs = [ "$target_gen_dir/electron_libcxx_include/{{source_root_relative_dir}}/{{source_file_part}}" ]
}

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Issues are created [here](https://github.com/electron/electron/issues/new).

### Issue Closure

Bug reports will be closed if the issue has been inactive and the latest affected version no longer receives support. At the moment, Electron maintains its three latest major versions, with a new major version being released every 12 weeks. (For more information on Electron's release cadence, see [this blog post](https://electronjs.org/blog/12-week-cadence).)
Bug reports will be closed if the issue has been inactive and the latest affected version no longer receives support. At the moment, Electron maintains its three latest major versions, with a new major version being released every 8 weeks. (For more information on Electron's release cadence, see [this blog post](https://electronjs.org/blog/8-week-cadence).)

_If an issue has been closed and you still feel it's relevant, feel free to ping a maintainer or add a comment!_

Expand Down
4 changes: 2 additions & 2 deletions DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ gclient_gn_args = [

vars = {
'chromium_version':
'93.0.4566.0',
'94.0.4590.2',
'node_version':
'v16.4.1',
'v16.7.0',
'nan_version':
# The following commit hash of NAN is v2.14.2 with *only* changes to the
# test suite. This should be updated to a specific tag when one becomes
Expand Down
2 changes: 1 addition & 1 deletion ELECTRON_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
15.0.0-nightly.20210713
16.0.0-nightly.20210820
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ build_script:
}
}
}
- if "%RUN_GCLIENT_SYNC%"=="true" ( gclient sync --with_branch_heads --with_tags --ignore_locks)
- if "%RUN_GCLIENT_SYNC%"=="true" ( gclient sync )
- ps: >-
if ($env:SAVE_GCLIENT_SRC -eq 'true') {
# archive current source for future use
Expand Down
31 changes: 28 additions & 3 deletions azure-pipelines-woa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,16 @@ steps:
env:
APPVEYOR_TOKEN: $(APPVEYOR_TOKEN)

- powershell: |
$localArtifactPath = "$pwd\src\pdb.zip"
$serverArtifactPath = "$env:APPVEYOR_URL/buildjobs/$env:APPVEYOR_JOB_ID/artifacts/pdb.zip"
Invoke-RestMethod -Method Get -Uri $serverArtifactPath -OutFile $localArtifactPath -Headers @{ "Authorization" = "Bearer $env:APPVEYOR_TOKEN" }
cd src
& "${env:ProgramFiles(x86)}\7-Zip\7z.exe" x -y pdb.zip
displayName: 'Download pdb files for detailed stacktraces'
env:
APPVEYOR_TOKEN: $(APPVEYOR_TOKEN)

- powershell: |
New-Item src\out\Default\gen\node_headers\Release -Type directory
Copy-Item -path src\out\Default\electron.lib -destination src\out\Default\gen\node_headers\Release\node.lib
Expand All @@ -63,15 +73,30 @@ steps:
set npm_config_nodedir=%cd%\out\Default\gen\node_headers
set npm_config_arch=arm64
cd electron
# CalculateNativeWinOcclusion is disabled due to https://bugs.chromium.org/p/chromium/issues/detail?id=1139022
node script/yarn test -- --enable-logging --verbose --disable-features=CalculateNativeWinOcclusion
displayName: 'Run Electron tests'
node script/yarn test --runners=main --runTestFilesSeperately --enable-logging --disable-features=CalculateNativeWinOcclusion
displayName: 'Run Electron Main process tests'
env:
ELECTRON_ENABLE_STACK_DUMPING: true
ELECTRON_OUT_DIR: Default
IGNORE_YARN_INSTALL_ERROR: 1
ELECTRON_TEST_RESULTS_DIR: junit
MOCHA_MULTI_REPORTERS: 'mocha-junit-reporter, tap'
MOCHA_REPORTER: mocha-multi-reporters

- script: |
cd src
set npm_config_nodedir=%cd%\out\Default\gen\node_headers
set npm_config_arch=arm64
cd electron
node script/yarn test --runners=remote --enable-logging --disable-features=CalculateNativeWinOcclusion
displayName: 'Run Electron Remote based tests'
env:
ELECTRON_OUT_DIR: Default
IGNORE_YARN_INSTALL_ERROR: 1
ELECTRON_TEST_RESULTS_DIR: junit
MOCHA_MULTI_REPORTERS: 'mocha-junit-reporter, tap'
MOCHA_REPORTER: mocha-multi-reporters
condition: always()

- task: PublishTestResults@2
displayName: 'Publish Test Results'
Expand Down
4 changes: 3 additions & 1 deletion build/fuses/fuses.json5
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,7 @@
"_schema": "0 == off, 1 == on, r == removed fuse",
"_version": 1,
"run_as_node": "1",
"cookie_encryption": "0"
"cookie_encryption": "0",
"node_options": "1",
"node_cli_inspect": "1"
}
Loading