* Disable nodeIntegration
* Enable contextIsolation
* Re-implement the CSP security check to handle running in
contextIsolation
* Disable bad DCHECKS for the promise helper
* Remove the unused "-d" flag for the electron binary
* Added a way to hide the default help output for electron devs who
don't want to see it every time
* fix: remove 'shell=True' when calling 'git diff'
Calling subprocess.Popen() with a list of args and shell=True causes
the args to be ignored, so ['git', 'diff', '--name-only', '--staged']
was turning into just 'git'. Instead of getting a list of changed
files, we got the --help message.
Two possible fixes: change it from a list to a single string, or remove
'shell=True'. The shell doesn't seem to be needed, so I chose that.
More reading: https://stackoverflow.com/questions/26417658/subprocess-call-arguments-ignored-when-using-shell-true-w-list
* fix: remove 'shell=True' when calling clang-format
Same problem / rationale as previous commit.
* fix: re-add shell=True for win; use different fix
* perf: use an internal module resolver instead of relative requires
* perf: memoize the results of getting exported Electron properties
* perf: make internal module changes consistent across sandboxed / bundled files
I think there's more to do here, and I'll continue to add to & update this documentation as I go through the process of upgrading node in the context of the GN build.
* refactor: use one script to launch py, js, cc linters
* lint changed files as precommit hook
* fix py linter in GN build
* add overlooked files to linter search path
* chore: fix lint warnings
* chore: another try at python import errors
Looks like the problem is that dbus_mock.py is running as
a script but living in the `lib/` directory where it's part of a
module. Moving it up into the `script/` directory seems to
solve the issue.
* chore: replace standard with eslint-config-standard
This adds support for --cache so linting JS only takes ~1 second and only lints things that changed
It also allows us to add custom linting rules
* chore: add eslint-plugin-mocha and enable the no-exclusive-tests rule
This will block anyone from pushing / merging a `.only` test or describe
* feat: add will-redirect to allow people to prevent 30X redirects
* spec: add tests for the will-redirect event
* refactor: implement will-redirect using NavigationThrottle instead of PostTask
This avoids a potential race condition and immediately cancels the
navigation
* docs: add docs for did-redirect-navigation
* refactor: move AtomNavigationThrottle out of net folder
* refactor: update header guard for atom_navigation_throttle.h
* refactor: fix chromium style errors in the GN build
* refactor: update throttle impl to NOTREACHED and std::make_unqique
* build: remove common/icu/no_inline_default_constructor.patch
It was added in https://github.com/electron/libchromiumcontent/pull/207,
the issue is no longer valid in the GN build.
* build: remove common/icu/build_gn.patch
In GN release build all code including node are linked
statically in a single binary, the workaround is no longer valid.
* build: remove ununsed patches
* build: remove is_electron_gn_build arg
* build: remove component mode crt config patch
* build: remove executable config patch for character_data_generator
* build: remove latency_info.patch
* build: remove exec_script_whitelist patch
* build: update patches/common/v8/build_gn.patch
* build: remove common/chromium/fix-arm64-linking-error.patch
It was added in a1df18ca36
to workaround a linker issue.
* build: remove common/chromium/protobuf_build_gn.patch
It was added to workaround a VS linker bug, it has been fixed
in Update 1
* build: remove common/chromium/disable-recursive-surface-sync.patch
It was added in 6bc6626e2c
to fix dcheck on macOS, it no longer appears to be an issue.