* refactor: use v8 serialization for ipc
* cloning process.env doesn't work
* serialize host objects by enumerating key/values
* new serialization can handle NaN, Infinity, and undefined correctly
* can't allocate v8 objects during GC
* backport microtasks fix
* fix compile
* fix node_stream_loader reentrancy
* update subframe spec to expect undefined instead of null
* write undefined instead of crashing when serializing host objects
* fix webview spec
* fix download spec
* buffers are transformed into uint8arrays
* can't serialize promises
* fix chrome.i18n.getMessage
* fix devtools tests
* fix zoom test
* fix debug build
* fix lint
* update ipcRenderer tests
* fix printToPDF test
* update patch
* remove accidentally re-added remote-side spec
* wip
* don't attempt to serialize host objects
* jump through different hoops to set options.webContents sometimes
* whoops
* fix lint
* clean up error-handling logic
* fix memory leak
* fix lint
* convert host objects using old base::Value serialization
* fix lint more
* fall back to base::Value-based serialization
* remove commented-out code
* add docs to breaking-changes.md
* Update breaking-changes.md
* update ipcRenderer and WebContents docs
* lint
* use named values for format tag
* save a memcpy for ~30% speedup
* get rid of calls to ShallowClone
* extra debugging for paranoia
* d'oh, use the correct named tags
* apparently msstl doesn't like this DCHECK
* funny story about that DCHECK
* disable remote-related functions when enable_remote_module = false
* nits
* use EnableIf to disable remote methods in mojom
* fix include
* review comments
* chore: bump chromium in DEPS to 675d7dc9f3334b15c3ec28c27db3dc19b26bd12e
* chore: update patches
* chore: bump chromium in DEPS to dce3562696f165a324273fcb6893f0e1fef42ab1
* chore: const interfaces are being removed from //content
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1631749
Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=908139
* chore: update patches
* chore: blink::MediaStreamType is now consistent and deduplicated
* chore: update patches and printing code for ref -> uniq
* chore: bridge_impl() --> GetInProcessNSWindowBridge
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1642988
* fixme: TotalMarkedObjectSize has been removed
* chore: fix linting
* chore: bump chromium in DEPS to 9503e1a2fcbf17db08094d8caae3e1407e918af3
* chore: fix slightly broken printing patch
* chore: update patches for SiteInstanceImpl changes
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1612025
* chore: update patches for SiteInstanceImpl changes
* chore: bump chromium in DEPS to 6801e6c1ddd1b7b73e594e97157ddd539ca335d7
* chore: update patches
* chore: bump chromium in DEPS to 27e198912d7c1767052ec785c22e2e88b2cb4d8b
* chore: remove system_request_context
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1647172
* chore: creation of FtpProtocolHandler needs an auth cache
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1639683
* fixme: disable marked spec
* chore: bump chromium in DEPS to 3dcd7fe453ad13a22b114b95f05590eba74c5471
* chore: bump chromium in DEPS to bdc24128b75008743d819e298557a53205706e7c
* chore: bump chromium in DEPS to 7da330b58fbe0ba94b9b94abbb8085bead220228
* update patches
* remove TotalMarkedObjectSize
https://chromium-review.googlesource.com/c/chromium/src/+/1631708
* add libvulkan.so to dist zip manifest on linux
* chore: bump chromium in DEPS to 1e85d0f45b52649efd0010cc9dab6d2804f24443
* update patches
* add angle features to gpuinfo
https://chromium-review.googlesource.com/c/chromium/src/+/1638658
* mark 'marked' property as deprecated
* disable webview resize test
* FIXME: disable vulkan on 32-bit arm
* chore: bump chromium in DEPS to cd0297c6a83fdd2b1f6bc312e7d5acca736a3c56
* Revert "FIXME: disable vulkan on 32-bit arm"
This reverts commit 5c1e0ef302a6db1e72231d4e823f91bb08e281af.
* backport from upstream: fix swiftshader build on arm
https://swiftshader-review.googlesource.com/c/SwiftShader/+/32768/
* update patches
* viz: update OutputDeviceWin to new shared memory api
https://chromium-review.googlesource.com/c/chromium/src/+/1649574
* base::Contains{Key,Value} => base::Contains
https://chromium-review.googlesource.com/c/chromium/src/+/1649478
* fixup! viz: update OutputDeviceWin to new shared memory api
* stub out StatusIconLinuxDbus-related delegate methods
https://chromium-review.googlesource.com/c/chromium/src/+/1638180
* chore: bump chromium in DEPS to 964ea3fd4bdc006d62533f5755043076220181f1
* Remove the BrowserContext methods to create URLRequestContexts for main/media partitions when a partition_domain is specified
https://chromium-review.googlesource.com/c/chromium/src/+/1655087
* fixup! stub out StatusIconLinuxDbus-related delegate methods
* add remote_cocoa to chromium_src deps
https://chromium-review.googlesource.com/c/chromium/src/+/1657068
* fixup! stub out StatusIconLinuxDbus-related delegate methods
* attempt at fix linux-debug build
* add swiftshader/libvulkan.so to arm manifest
* chore: bump chromium in DEPS to 28688f76afef27c36631aa274691e333ddecdc22
* update patches
* chore: bump chromium in DEPS to fe7450e1578a9584189f87d59d0d1a8548bf6b90
* chore: bump chromium in DEPS to f304dfd682dc86a755a6c49a16ee6876e0db45fb
* chore: bump chromium in DEPS to f0fd4d6c365aad9edd83bdfff9954c47d271b75c
* Update patches
* Remove no longer needed WOA patch
* Put back IOThread in BrowserProcess
We need this until we enable the network service.
* move atom.ico to inputs
* Update to latest LKGR to fix no template named 'bitset' in namespace 'std'
* fixup! Put back IOThread in BrowserProcess
* chore: bump chromium in DEPS to dcf9662dc9a896a175d791001350324167b1cad3
* Update patches
content_allow_embedder_to_prevent_locking_scheme_registry.patch is no longer necessary as it was upstreamed via https://chromium-review.googlesource.com/c/chromium/src/+/1637040
* Fix renamed enum
* Use newer docker container
Contains updated dependencies
* Try to track down arm test failures
* Fix arm tests
* chore: bump chromium in DEPS to 8cbceef57b37ee14b9c4c3405a3f7663922c5b5d
* Update patches
* Add needed dependencies for testing 32-bit linux
* Remove arm debugging.
* Remove additional debugging
* Fix compiler errors
* Handle new macOS helper
* Fix compile error on Linux
* chore: bump chromium in DEPS to 66a93991ddaff6a9f1b13d110959947cb03a1860
* Add new helper files to manifests
* fix BUILD.gn for macOS
* Fix compile errors
* Add patch to put back colors needed for autofill/datalist
* chore: bump chromium in DEPS to e89617079f11e33f33cdb3924f719a579c73704b
* Updated patches
* Remove no longer needed patch
* Remove no longer needed patch
* Fix compile error with patch
* Really fix the patch
* chore: bump chromium in DEPS to c70f12476a45840408f1d5ff5968e7f7ceaad9d4
* chore: bump chromium in DEPS to 06d2dd7a8933b41545a7c26349c802f570563fd5
* chore: bump chromium in DEPS to b0b9ff8f727deb519ccbec7cf1c8d9ed543d88ab
* Update patches
* Fix compiler errors
* Fix removed ChromeNetLog
* Revert "Fix removed ChromeNetLog"
This reverts commit 426dfd90b5ab0a9c1df415d71c88e8aed2bd5bbe.
* Remove ChromeNetLog.
https://chromium-review.googlesource.com/c/chromium/src/+/1663846
* chore: bump chromium in DEPS to fefcc4926d58dccd59ac95be65eab3a4ebfe2f29
* Update patches
* Update v8 patches
* Fix lint error
* Fix compile errors
* chore: bump chromium in DEPS to 4de815ef92ef2eef515506fe09bdc466526a8fd9
* Use custom protocol to test baseURLForDataURL
* Use newer SDK (10.0.18362) for Windows
* Update patches
* Update arm manifest since swiftshader reenabled.
* Don't delete dir that isn't ever there.
* Fix compile errors.
* Need src dir created
* Update for removed InspectorFrontendAPI.addExtensions
* Revert "Use newer SDK (10.0.18362) for Windows"
This reverts commit 68763a0c88cdc44b971462e49662aecc167d3d99.
* Revert "Need src dir created"
This reverts commit 7daedc29d0844316d4097648dde7f40f1a3848fb.
* Revert "Don't delete dir that isn't ever there."
This reverts commit bf424bc30ffcb23b1d9a634d4df410342536640e.
* chore: bump chromium in DEPS to 97dab6b0124ea53244caf123921b5d14893bcca7
* chore: bump chromium in DEPS to c87d16d49a85dc7122781f6c979d354c20f7f78b
* chore: bump chromium in DEPS to 004bcee2ea336687cedfda8f8a151806ac757d15
* chore: bump chromium in DEPS to 24428b26a9d15a013b2a253e1084ec3cb54b660b
* chore: bump chromium in DEPS to fd25914e875237df88035a6abf89a70bf1360b57
* Update patches
* Update node to fix build error
* Fix compile errors
* chore: bump chromium in DEPS to 3062b7cf090f1d9522c04ca8fa0a906f88ababe9
* chore: update node ref for pushed tags
* chore: update patches for new chromium
* chore: fix printing patches
* Use new (10.0.18362) Windows SDK
* roll node to fix v8 build issues in debug build
* Add support for plugin helper
* fix: add patch to fix gpu info enumeration
Can be removed once CL lands upstream.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1685993
* spec: navigator.requestMIDIAccess now requires a secure origin
This test requires a secure origin so we fake one.
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/1657952
* FIXME: temporarily disable SharedWorker tests
* use released version of node-abstractsocket
* fix abstract-socket
* 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
* feat: add support for node / preloads in subframes
This feature has delibrately been built / implemented in such a way
that it has minimum impact on existing apps / code-paths.
Without enabling the new "nodeSupportInSubFrames" option basically none of this
new code will be hit.
The things that I believe need extra scrutiny are:
* Introduction of `event.reply` for IPC events and usage of `event.reply` instead of `event.sender.send()`
* Usage of `node::FreeEnvironment(env)` when the new option is enabled in order to avoid memory leaks. I have tested this quite a bit and haven't managed to cause a crash but it is still feature flagged behind the "nodeSupportInSubFrames" flag to avoid potential impact.
Closes#10569Closes#10401Closes#11868Closes#12505Closes#14035
* feat: add support preloads in subframes for sandboxed renderers
* spec: add tests for new nodeSupportInSubFrames option
* spec: fix specs for .reply and ._replyInternal for internal messages
* chore: revert change to use flag instead of environment set size
* chore: clean up subframe impl
* chore: apply suggestions from code review
Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>
* chore: clean up reply usage
* chore: fix TS docs generation
* chore: cleanup after rebase
* chore: rename wrap to add in event fns
* Fix loading of devtools extensions on startup
The persisted DevTools Extensions were not being loaded correctly at startup. The `addDevToolsExtension` function was not defined when it was being called. An error was being thrown and ignored, so the whole thing would fail silently. I moved the code to load the extensions to the end of the event handler, so now it works.
* fixup: remove trailing spaces to unblock CI
* fixup: add logging when the Electron Enable Logging env var is set
* Fix linter error on undefined srcDirectory
* fixup: catch exception when loading extension
* Revert "fixup: catch exception when loading extension"
This reverts commit 42c2cf95bcaab8abfc5fbecbe4365d3adfe36d5b.
- introduce API BrowserWindow#[add,remove,get]Extension
- make [add,remove, get]DevToolsExtension use newly introduced API
- make the app persist only the extensions added via
#addDevToolsExtension
The sandbox option allows multiple webContents in one renderer process, so using
the only the renderer id to identify WebContents instances is no longer an
option.
WebContents::GetID now returns a 64-bit integer, which is composed of both the
process id(high 32), and the RenderViewHost routing id(low 32). Also add a
`GetProcessID` that retrieves the renderer process id, a requirement in some of
our javascript code.