Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add a new contextBridge module #20789

Merged
merged 6 commits into from Nov 4, 2019
Merged

Commits on Oct 28, 2019

  1. feat: add a new contextBridge module (#20307)

    * feat: add a new contextBridge module
    
    * chore: fix docs linting
    
    * feat: add support for function arguments being proxied
    
    * chore: ensure that contextBridge can only be used when contextIsolation is enabled
    
    * docs: getReverseBinding can be null
    
    * docs: fix broken links in md file
    
    * feat: add support for promises in function parameters
    
    * fix: linting failure for explicit constructor
    
    * Update atom_api_context_bridge.cc
    
    * chore: update docs and API design as per feedback
    
    * refactor: remove reverse bindings and handle GC'able functions across the bridge
    
    * chore: only expose debugGC in testing builds
    
    * fix: do not proxy promises as objects
    
    * spec: add complete spec coverage for contextBridge
    
    * spec: add tests for null/undefined and the anti-overwrite logic
    
    * chore: fix linting
    
    * spec: add complex nested back-and-forth function calling
    
    * fix: expose contextBridge in sandboxed renderers
    
    * refactor: improve security of default_app using the new contextBridge module
    
    * s/bindAPIInMainWorld/exposeInMainWorld
    
    * chore: sorry for this commit, its a big one, I fixed like everything and refactored a lot
    
    * chore: remove PassedValueCache as it is unused now
    
    Values transferred from context A to context B are now cachde in the RenderFramePersistenceStore
    
    * chore: move to anonymous namespace
    
    * refactor: remove PassValueToOtherContextWithCache
    
    * chore: remove commented unused code blocks
    
    * chore: remove .only
    
    * chore: remote commented code
    
    * refactor: extract RenderFramePersistenceStore
    
    * spec: ensure it works with numbered keys
    
    * fix: handle number keys correctly
    
    * fix: sort out the linter
    
    * spec: update default_app asar spec for removed file
    
    * refactor: change signatures to return v8 objects directly rather than the mate dictionary handle
    
    * refactor: use the v8 serializer to support cloneable buffers and other object types
    
    * chore: fix linting
    
    * fix: handle hash collisions with a linked list in the map
    
    * fix: enforce a recursion limit on the context bridge
    
    * chore: fix linting
    
    * chore: remove TODO
    
    * chore: adapt for PR feedback
    
    * chore: remove .only
    
    * chore: clean up docs and clean up the proxy map when objects are released
    
    * chore: ensure we cache object values that are cloned through the V8 serializer
    MarshallOfSound committed Oct 28, 2019
    Configuration menu
    Copy the full SHA
    7606a5c View commit details
    Browse the repository at this point in the history
  2. docs: mark contextBridge as experimental (#20638)

    * docs: mark contextBridge as experimental
    
    This commit didn't make it to the original PR, quick addition here
    
    * Update context-bridge.md
    MarshallOfSound committed Oct 28, 2019
    Configuration menu
    Copy the full SHA
    433ba57 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ca816fc View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2019

  1. Configuration menu
    Copy the full SHA
    c3ea81b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b7e729f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    03fa94a View commit details
    Browse the repository at this point in the history