[heycam/webidl] "platform object" for ECMAScript vs. IDL values (#680)

Originally pointed out by @annevk in https://github.com/whatwg/html/pull/4415#issuecomment-470543670.


It's not clear what value space "platform object" operates in. Concretely, is it OK to say "the relevant Realm for a platform object is ..." and then talk about the relevant Realm of an IDL value?

From one perspective, "platform object" is defined in the language-agnostic section of IDL. So, one could reasonably say that the predicate "is a platform object" only applies to values in the IDL type system.

From another perspective, the sentences following the definition of the term say

> In a browser, for example, the browser-implemented DOM objects (implementing interfaces such as Node and Document) that provide access to a web page’s contents to ECMAScript running in the page would be platform objects. These objects might be exotic objects, implemented in a language like C++, or they might be native ECMAScript objects. 

indicating that platform objects are ECMAScript objects. And the actual "[is a platform object](https://heycam.github.io/webidl/#is-a-platform-object)" algorithm states it applies to ECMAScript values.

My opinion is that we should be generally fuzzy about what value space we are in when it comes to object or any values. (I think there would be a lot more "convert from IDL value to ECMAScript value" and vice-versa sprinkled throughout the spec ecosystem, including in Web IDL itself, if we maintained a strict separation.) I think this applies to the notion of platform object too. But @annevk might have more concerns.

-- 
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/issues/680

Received on Thursday, 7 March 2019 16:32:49 UTC