[heycam/webidl] Define "implements" checks using internal slots (#654)

- Update the steps for instantiating a platform object, which everything
  theoretically calls into, and which sets the primary interface into a new
  internal slot [[PrimaryInterface]].
- Define the "implements" algorithm as checking the [[PrimaryInterface]]
  internal slot.

The algorithm here is roughly in correspondence with the V8 implementation,
where operation functions are allocated with a reference to a
FunctionTemplate object (which is in corresondence with WebIDL interfaces).
When checking the receiver of a method that came from WebIDL, the original
prototype chain is traversed by looking at the FunctionTemplate's parent.
The same FunctionTemplate is used in multiple JavaScript realms.

Fixes #97.
You can view, comment on, or merge this pull request online at:

  https://github.com/heycam/webidl/pull/654

-- Commit Summary --

  * Define "implements" checks using internal slots

-- File Changes --

    M index.bs (193)

-- Patch Links --

https://github.com/heycam/webidl/pull/654.patch
https://github.com/heycam/webidl/pull/654.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/pull/654

Received on Monday, 25 February 2019 15:07:27 UTC