* feat: allow all nonbreaking changes during beta
Changes the version policy: currently only nonbreaking bug/security
fixes are allowed during beta. This change would allow all nonbreaking
changes, e.g. new features, during beta.
* refactor: clarify criteria for changes during beta
* Update electron-versioning.md
* feat: deprecate default value of nodeIntegration
* Use DeprecationStatus::Stable as the default instead of shadowing
* change wording of deprecations
* chore: also deprecate kWebviewTag and kContextIsolation
* chore: do as we preach, lets be secure-by-default in the default app
* First commit
* Add Mac support (1st attempt)
* Add Mac support (2nd attempt)
* Simplify tests
* Restore window state !
* Looking at other tests, seems minimize, maximize, fullscreen are skipped when in CI
* Fix Mac tests
* Restore tests in CI
* Fix typo
* widget getRestoredBounds not working on Mac !!
* widget getRestoredBounds not working on Mac !!
* Add IsNormal function
* Add IsNormal
* IsNormal => isNormal
* Deactivate fullscreen on Mac. Do not receive leave-fullscreen event
* Set default original_frame_
* Set default original_frame_
* Fix Mac
* build: update-external-binaries fetches sccache
* build: add util.add_exec_bit in scripts/
* build: use util.add_exec_bit in create-dist
* build: use util.add_exec_bit in update-external-binaries
this is needed to work around a bug in python's zipfile module that doesn't preserve the exec bit
https://bugs.python.org/issue18262
* fix: linting errors
* build: vsts, circleci use patched sccache
* build: always look for the x64 sccache
as it's the only arch we have it on
* fix: windows-specific errors in updaste-external-binaries
* fix: tyop
* fix: set SCCACHE_BUCKET, SCCACHE_TWO_TIER on circleci
* fix: syntax error in circleci yaml
* fix: keep churning
* chore: add tracer to file downloader
* docs: add sccache instructions for GN builds
* build: pull down the darwin sccache on mas builds
* build: use gn sync verbosely on circleci and vsts
* docs: copyediting
* build: remove unnecessary cache-dir arg
* docs: fix shell quoting in gn build instructions
* fix: invoke gclient without -verbose in circleci
* refactor: remove debug tracer
* fix: invoke gclient without -verbose in appveyor
* fix: invoke gclient without -verbose in vsts
* fix: pull add_exec_bit from correct source
* fix: remove 'SCCACHE_TWO_TIER' from CI scripts
* refactor: remove SCCACHE_BUCKET from ci scripts
this environment variable will be set via the CI UI instead
* refactor: clarify log message
* fix: set SCCACHE_PATH correctly for Windows CI
* docs: chrome-command-line-switches.md: update proxy-server support
Per issue #12443, the proxy URL in proxy-server switch would not
support username and password authentication.
* docs: security.md: correct checklist #14 markdown
When running "npm run lint:docs" script, linting warning suggests
"Broken links: #13-disable-or-limit-creation-of-new-windows". Update
accordingly to #14.
The `url` module is not a constructor; change `require('url')` to
`require('url').URL`. Also, check the entire origin rather than just
the hostname, since otherwise `http://my-own-server.com` is allowed in
addition to `https://my-own-server.com`, in violation of point 1 (only
load secure content).
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
* build: add GIT_CACHE_PATH
The merge at https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1105473 was to specify git cache entirely from the environment variable [and] removal of the general --cache-dir option from gclient
* docs: document GIT_CACHE_PATH in GN build
* fix: try to fix appveyor-gn env syntax
* Add process creation time
* Making docs clear for process creation time
* Address comments for process creation time
* Add process info cc file
* fixing comments around documentation
* Update doc for return val
* Capitalize number in docs
* chore: bump electron-typescript-definitions
Updates the node upgrade doc to take path changes into account as well as to incorporate the new `get-patch` script which simplifies work significantly.
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
The new `will-resize` event can be used to prevent the resize from
happening before the native window is actually resized. This is in
contrast to the existing the `resize` event, which is sent *after* the
native window has already been resized. For apps with e.g. custom window
snapping logic, the `resize` event is not sufficient because it will
result in flickering between the dragged size and the snapped size.
`will-resize` is only emitted on macOS and Windows.
Devs can still locally override or add settings by adding lines after
the `import` statement in args.gn.
This will help make sure that everyone has a common set of build args,
and will allow us to update everyone's build args in git.
Fixes#12701 and supersedes #13131.
Ideally we would have added `setTitleBarStyle()`, but that is a
significantly more involved change. For example, consider the case where
we switch from `hidden` to `normal`. We would not only have to show the
traffic light buttons, we would also have to switch the window from a
frameless to a framed window and deal with various other window state.
Lets instead implement a simple solution for #12701.
* Introduce `net.{start|stop}Logging()`
- Slight regression right now as Electron won't automatically start logging net-logs at launch, will soon be fixed
- To implement callback for async controls
* Add `net.isLogging` & optional callback param for `net.stopLogging()`
* Fix small regression on --log-net-log
--log-net-log should work again
* Error on empty file path
* Only start with valid file path
* Remove unused var
* Allow setting log file path before URLRequestContextGetter starts logging
* Add net log tests
* Remove redundant checks
* Use brightray::NetLog
* Clean up code
* Should automatically stop listening
* 🎨 Attempt to fix styles
* Only run non-null callback
* Dump file to tmpdir
* Simplify net log spec
Spawned Electron process on Linux CI can fail to launch
* Separate netLog module
* Remove net logging test from net spec
* Add tests for netLog
* Fix header guard
* Clean up code
* Add netLog.currentlyLoggingPath
* Callback with filepath
* Add test for case when only .stopLogging() is called
* Add docs
* Reintroduce error on invalid arg
* Update copyright
* Update error message
* Juggle file path string types
* correct app-command name
* add compatibility with old app-command name
* add temporary compatibility with old app-command name
* add a comment saying that media-play_pause is deprecated
* fix lint
* 🔧 Add simple test script
* 📝 Add documentation
* 🔧 It works, use it
* 🔧 Make the linter happy
* 🔧 Check on bootstrap
* Trivial copyediting
s/operation system/operating system/
* Fix broken link
Link was producing a 404 error as the file no longer exists. Wasn't sure where this intended link used to go so took a guess at a appropriate target.
* Update quick-start.md
Since this method is mentioned in breaking-changes.md, we need
the docs to prevent create-typescript-definitions from failing with
"error TS2339: Property 'makeSingleInstance' does not exist on type 'App'."
The reinstated docs are marked with deprecation warnings
that refer the reader to the new API calls.