* feat: add transparent option to WebContents
* feat: add transparent attribute to webview
* test: add tests for webview transparent attribute
* docs: add transparent attribute to webview docs
* fix: run tests on macOS only
* refactor: remove unneeded html tag
* fix: only apply transparent option to guests
* refactor: correct comment
* refactor: use opaque instead
Retains current webview behaviour by default.
* fix: correct variable name to guest_opaque_
* refactor: use transparent webpreference
* docs: remove unused web preference
* fix: uncomment condition for transparency test
* docs: converted to list format and linked to MDN
* fix: make webviews transparent by default again
* fix: rebase error
---------
Co-authored-by: Cheng Zhao <zcbenz@gmail.com>
* feat: add blinkUtils module with getPathForFile method
This is designed to replace the File.path augmentation
we currently have in place to allow apps to get the filesystem
path for a file that blink has a representation of.
File.path is non-standard and messes with certain websites, using
a method like this is effectively 0-cost and removes one of the final
deviations we have with web standards.
* add error
* refactor: update per PR feedback
* chore: update patches
* oops
* chore: update patches
* chore: update patches
* feat: add blinkUtils module with getPathForFile method
This is designed to replace the File.path augmentation
we currently have in place to allow apps to get the filesystem
path for a file that blink has a representation of.
File.path is non-standard and messes with certain websites, using
a method like this is effectively 0-cost and removes one of the final
deviations we have with web standards.
* add error
* refactor: update per PR feedback
* chore: update patches
* oops
* chore: update patches
* chore: update patches
* chore: update patches
* fix: provide isolate to WebBlob::FromV8Value
* chore: add tests
* build: fix depshash mismatch on arm64 macOS
---------
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
* feat: add will-navigate-in-frame event to webContents
* docs: add documentation for webview will-frame-navigate event
* feat: Eliminate isInPlace argument from will-frame-navigate event
* fix: Fire will-frame-navigate before will-navigate
* feat: send will-frame-navigate with a WebFrameMain in the event details
* docs: Update WebContents docs for new API signature
* feat: Add custom event forwarding for <webview> will-frame-navigate
* fix: wrap WebFrameMain so it can be sent as an event
* test: update webContents and <webview> tests to match new signatures
* chore: undo unnecessary change
* fix: don't switch will-navigate to use EmitNavigationEventDetails
* test: clean up will-navigate and will-frame-navigate tests for <webview>
* chore: apply lint fixes
* chore: move GetRenderFrameHost helper into anonymous namespace
* docs: auto-generate WillFrameNavigateDetails rather than defining it manually
* test: Update <webview> tests to actually pass under new spec runner
* docs: Add section explaining relationship between various nav events
* test: Add some tests to ensure navigation event order doesn't silently change
* test: Always monitor all nav events to ensure unexpected ones don't fire
* test: Add test to verify in-page navigation event order
* feat: Change to new style where extra params are exposed as event props
* fix: Remove unused EmitNavigationEventDetails
* fix: Update tests to use new async helpers
* docs: Rename and reorder sections documenting navigation events
---------
Co-authored-by: Milan Burda <milan.burda@gmail.com>
* test: drop the now-empty remote runner from CI
* move fixtures to spec-main
* remove remote runner
* fix stuff
* remove global-paths hack
* move ts-smoke to spec/
* fix test after merge
* rename spec-main to spec
* no need to ignore spec/node_modules twice
* simplify spec-runner a little
* no need to hash pj/yl twice
* undo lint change to verify-mksnapshot.py
* excessive ..
* update electron_woa_testing.yml
* don't search for test-results-remote.xml
it is never produced now
* feat: enable context isolation by default
* chore: set default in ctx iso getter
* spec: make all specs work with the new contextIsolation default
* spec: fix affinity specs
* spec: update tests for new ctx iso default
* spec: update tests for new ctx iso default
* spec: update tests for new ctx iso default
* spec: update tests for new ctx iso default
* chore: move stray prod deps to dev deps
* spec: update tests for new ctx iso default
* turn off contextIsolation for visibility tests
* turn off contextIsolation for <webview> tag nodeintegration attribute loads native modules when navigation happens
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* feat: add worldSafe flag for executeJS results
* chore: do not log warning for webContents.executeJS
* Apply suggestions from code review
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* chore: apply PR feedback
* chore: split logic a bit
* chore: allow primitives through the world safe checl
* chore: clean up per PR feedback
* chore: flip boolean logic
* chore: update per PR feedback
* chore: fix typo
* chore: fix spec
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* refactor: port window.open and window.opener to use ctx bridge instead of hole punching
* refactor: only run the isolated init bundle when webview is enabled
* fix: restore parts of original ResourceRequestBody V8 conversion
Restore some of the original conversion logic in order to fix target=_blank post form submissions.
* test: add test for POST form submission
* fix: explicitly resize the contents when exiting html fullscreen while in OS fullscreen
* test: ensure HTML fullscreen toggles while in OS fullscreen
* 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