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 #20639

Merged
merged 8 commits into from
Oct 21, 2019
Merged

Commits on Oct 18, 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 18, 2019
    Configuration menu
    Copy the full SHA
    548051b 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 18, 2019
    Configuration menu
    Copy the full SHA
    b98d9da View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ce2113d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    98af3fe View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fa7b4b1 View commit details
    Browse the repository at this point in the history
  6. chore: fixup tests

    MarshallOfSound committed Oct 18, 2019
    Configuration menu
    Copy the full SHA
    aef68c4 View commit details
    Browse the repository at this point in the history
  7. chore: fix linting

    MarshallOfSound committed Oct 18, 2019
    Configuration menu
    Copy the full SHA
    8cfd7d1 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1689cd8 View commit details
    Browse the repository at this point in the history