* fix: always have head.headers available
* fix: use StringDataPipeProducer to write string
It can handle large strings correctly.
* fix: override RegisterNonNetworkSubresourceURLLoaderFactories
* fix: add dummy uninterceptProtocol implementation
* fix: jquery error handler can pass empty string
For some errors jquery would pass empty string in the error handler,
which makes tests pass when they should fail.
* chore: fix cpplint warnings
* fix: guard RegisterNonNetworkSubresourceURLLoaderFactories call
It may be called even when NetworkService is not enabled.
* test: disable protocol.interceptHttpProtocol test
* fix: ensure the inspector agent is shutdown before cleaning up the node env
* spec: add tests to ensure clean shutdown with connected inspector agent
* Update node_debugger.cc
* build: ensure consistent package-lock across multiple machines
* build: fix linting errors and use npm ci instead of npm install
* build: use a yarn.lock and yarn instead of package-lock and npm
* chore: replace package-lock.json files with yarn.lock
* chore: replace last instance of `npm install`
* fix: add boringssl backport to support node upgrade
* fix: Update node_includes.h, add DCHECK macros
* fix: Update node Debug Options parser usage
* fix: Fix asar setup
* fix: using v8Util in isolated context
* fix: make "process" available in preload scripts
* fix: use proper options parser and remove setting of _breakFirstLine
_breakFirstLine was being set on the process, but that has changed in node 12 and so is no longer needed. Node will handle it properly when --inspect-brk is provided
* chore: update node dep sha
* fix: process.binding => _linkedBinding in sandboxed isolated preload
* fix: make original-fs work with streams
* build: override node module version
* fix: use _linkedBinding in content_script/init.js
* chore: update node ref in DEPS
* build: node_module_version should be 73
* fix: make OSR work with viz compositor
* fix: update OSR patch
* fix: update patch again
* fix: update viz_osr.patch for macOS
* fix: gn check warnings
* chore: no need to change SoftwareOutputDeviceWinProxy
* chore: add check in case we missed something
* fix: consider scale factor when compare size
* fix: make GPU OSR work
* fix: autofill popups with OSR
* chore: use UNIX line ending for osr_video_consumer
* chore: code is already in defined(OS_MACOSX)
* fix: share same OSR implementation on macOS
This should also fix the crash when there is navigation on macOS.
* test: osr window should not crash after navigation
* fix: make osr work on Mac properly
* fix: software osr on windows
* fix: software osr on Linux
* fix: compilation error introduced with rebase
* fix: split local surface id allocation into two
* Update osr_host_display_client_mac.mm
* chore: update copyright year
* fix: update patch
* spec: clean up after a failed window count assertion
Previously when this assertion failed all tests that ran after the
failed assertion also failed. This ensure that the assertion fails for
the test that actually caused the issue but cleans up the left-over
windows so that future tests do not fail.
* fix: maintain a ref count for objects sent over remote
Previously there was a race condition where a GC could occur in the
renderer process between the main process sending a meta.id and the
renderer pulling the proxy out its weakmap to stop it being GC'ed.
This fixes that race condition by maintaining a "sent" ref count in the
object registry and a "received" ref count in the object cache on the
renderer side. The deref request now sends the number of refs the
renderer thinks it owns, if the number does not match the value in the
object registry it is assumed that there is an IPC message containing a
new reference in flight and this race condition was hit.
The browser side ref count is then reduced and we wait for the new deref
message. This guaruntees that an object will only be removed from the
registry if every reference we sent has been guarunteed to be unreffed.
* fix: match net module headers & http.IncomingMessage headers
* update net doc for cleanliness
* address feedback from review
* Update spec/api-net-spec.js
Co-Authored-By: codebytere <codebytere@github.com>
* add special cookie case
* spec: add tests for the autoUpdater on macOS that actually test if it works
* spec: add express as dep
* spec: add logic to auto-trust self-signed certificate and not run autoupdate specs on MAS
* build: fix the step name for importing the codesign cert
* chore: update updater spec PR as per feedback
* fix: s/atomBinding/electronBinding
* build: use spawn instead of exec
* test: add test for second-instance event parameter
* robustify getting data from child process
* fix test on windows
* fix lint
* Update api-app-spec.js
* fix package-lock.json
* feat: add support for content scripts 'all_frames' option
* merged content script tests
'all_frames' test now runs on all variants of sandbox/contentIsolation configurations :D
* Add content script injector to sandboxed renderer
* Fix 'getRenderProcessPreferences' binding to the wrong object
* Pass getRenderProcessPreferences to content-scripts-injector
* Emit document-start and document-end events in sandboxed renderer
* Use GetContext from RendererClientBase
* Prevent script context crash caused by lazily initialization
* Remove frame filtering logic for onExit callback
Since we're keeping track of which frames we've injected the bundle into, this logic is redundant.
* Add initial content script tests
* Add contextIsolation variants to content script tests
* Add set include
* Fix already loaded extension error
* Add tests for content scripts 'run_at' options
* Catch script injection eval error when CSP forbids it
This can occur in a rendered sandbox when a CSP is enabled. We'll need to switch to using isolated worlds to fix this.
* Fix content script tests not properly cleaning up extensions
* Fix lint and type errors
* chore: roll node
in particular, this picks up electron/node#70a78f07b, which fixes an issue with incorrect usage of the BN_bn2bin_padded API in boringssl
* fix tests
`powerMonitor.querySystemIdleState` and `powerMonitor.querySystemIdleTime` had async backing APIs in chromium (https://chromium-review.googlesource.com/c/chromium/src/+/1379183). However, that has changed in ch73. So, this PR deprecates the old async APIs and adds new sync APIs.
* chore: refactor browser IPC into typescript
* chore: refactor app.ts into Typescript
* Refactors app.dock into cpp
* Removes app.launcher which has not existed for 3 years
* Removes 2 deprecated APIs (that have been deprecated for more than one
major)
* Refactors deprecate.ts as well
* feat: promisify webContents.savePage()
* no need to make compatible w callbacks, we're breaking it
* fix promise resolve type
* address feedback from review
* fix promise return text
* update smoke test
Capturing window thmubnails is expensive as it actually uses the
window capturer and it records one full frame per window and then
downscale to the default size 150x150. When only interested in the
window names or the app icons we do not need all of this.
Underlying change is merged in chromium72 so this patch only modifies
the doc, see:
https://chromium.googlesource.com/chromium/src.git/+log/72.0.3626.52/chrome/browser/media/webrtc/native_desktop_media_list.cc
Example: desktopCapturer.getSources({thumbnailSize: {width: 0, height: 0}}, ...)
Also added a unit test in spec/api-desktop-capturer-spec.js that verifies
that the returned thumbails are of type NativeImage and empty,
when the user disable fetching thumbnails.
notes: Can disable fetching the thumbnails for the DesktopCapturer.
https://github.com/electron/electron/issues/14872
* fix: do not create native api::WebFrame in webFrame
When reloading a page without restarting renderer process (for example
sandbox mode), the blink::WebFrame is not destroyed, but api::WebFrame
is always recreated for the new page context. This leaves a leak of
api::WebFrame.
* fix: remove spell checker when page context is released