- From: Timothy Gu <notifications@github.com>
- Date: Thu, 21 Dec 2017 20:34:39 +0000 (UTC)
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <heycam/webidl/pull/494/review/85175310@github.com>
TimothyGu commented on this pull request.
> + \[[Configurable]]: <emu-val>true</emu-val>}.
+ 1. Perform [=!=] <a abstract-op>DefinePropertyOrThrow</a>(|interfaceProtoObj|, {{@@unscopables}}, |desc|).
+ 1. [=list/For each=] [=exposed=] [=member=] |member| of |interface|
+ that is declared with the [{{Unscopable}}] [=extended attribute=]:
+ 1. Let |id| be |member|'s [=identifier=].
+ 1. Perform [=!=] <a abstract-op>CreateDataProperty</a>(|unscopableObject|, |id|,
+ <emu-val>true</emu-val>).
+ 1. [=Expose the regular attributes=] of |interface| on |interfaceProtoObj| given |realm|.
+ 1. [=list/For each=] [=exposed=] [=regular operation=] |op| that is a [=member=] of |interface|:
+ 1. Let |method| be the result of [=creating an operation function|creating an operation function=]
+ given |op|, |interface|, and |realm|.
+ 1. Let |modifiable| be <emu-val>false</emu-val> if |op| is [=unforgeable=]
+ and <emu-val>true</emu-val> otherwise.
+ 1. Let |desc| be the PropertyDescriptor{\[[Value]]: |method|,
+ \[[Writable]]: |modifiable|, \[[Enumerable]]: <emu-val>true</emu-val>,
+ \[[Configurable]]: |modifiable|}.
Not all platform objects are created through the interface object though. We might need to extend https://heycam.github.io/webidl/#es-platform-objects instead.
--
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/494#discussion_r158372376
Received on Thursday, 21 December 2017 20:35:02 UTC