Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nodejs/node
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: addaleax/node
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 6 commits
  • 32 files changed
  • 1 contributor

Commits on Jun 13, 2020

  1. src: introduce BaseObject base FunctionTemplate

    PR-URL: #33772
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    addaleax committed Jun 13, 2020
    Configuration menu
    Copy the full SHA
    75b67fc View commit details
    Browse the repository at this point in the history
  2. worker: allow transferring/cloning generic BaseObjects

    Extend support for transferring objects Γ  la `MessagePort` to other
    types of `BaseObject` subclasses, as well as implement cloning
    support for cases in which destructive transferring is not needed
    or optional.
    
    PR-URL: #33772
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    addaleax committed Jun 13, 2020
    Configuration menu
    Copy the full SHA
    9f6caab View commit details
    Browse the repository at this point in the history
  3. src: add equality operators for BaseObjectPtr

    PR-URL: #33772
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    addaleax committed Jun 13, 2020
    Configuration menu
    Copy the full SHA
    f43384c View commit details
    Browse the repository at this point in the history
  4. worker: allow passing JS wrapper objects via postMessage

    Enable JS wrapper objects to be used as transferable or cloneable
    objects in `postMessage()` calls, by having them extend a C++-backed
    class.
    
    This requires a few internal changes:
    - This commit adds the possibility for transferred objects to
      read/write JS values at the end of the serialization/deserialization
      phases.
    - This commit adds the possibility for transferred objects to list
      sub-transferables, e.g. typically the public JS wrapper class
      would list its C++ handle in there.
    - This commit adds usage of `BaseObject` in a few more places, because
      now during deserialization weakly held objects can also be involved,
      in addition to `MessagePort`s.
    
    PR-URL: #33772
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    addaleax committed Jun 13, 2020
    Configuration menu
    Copy the full SHA
    a00bbcf View commit details
    Browse the repository at this point in the history
  5. worker,fs: make FileHandle transferable

    Allow passing `FileHandle` instances in the transfer list
    of a `.postMessage()` call.
    
    PR-URL: #33772
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    addaleax committed Jun 13, 2020
    Configuration menu
    Copy the full SHA
    808a70d View commit details
    Browse the repository at this point in the history
  6. worker: emit 'messagerror' events for failed deserialization

    This is much nicer than just treating exceptions as uncaught, and
    enables reporting of exceptions from the internal C++ deserialization
    machinery.
    
    PR-URL: #33772
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    addaleax committed Jun 13, 2020
    Configuration menu
    Copy the full SHA
    53f74c6 View commit details
    Browse the repository at this point in the history
Loading