[Bug 25495] Behavior of no [Exposed] on interface members is weird

https://www.w3.org/Bugs/Public/show_bug.cgi?id=25495

--- Comment #7 from Boris Zbarsky <bzbarsky@mit.edu> ---
The simplest way to describe that is probably as follows:

1)  Every interface member has a set of globals where it's exposed.  If it has
an [Exposed] extended attribute this is the set specified in that extended
attribute.  Otherwise, if the interface or partial interface it was originally
defined on has an [Exposed] extended attribute it is the set specified in that
extended attribute.  Otherwise, this set is { "Window" } (though I think ms2ger
would prefer to nix this defaulting behavior and just make it an error to not
have [Exposed] on an interface).

2)  Every interface that is not [NoInterfaceObject] has a set of globals where
it its interface object is a property of the global.  This is given by the
[Exposed] extended attribute on the interface, or { "Window" } if there is no
such extended attribute.

3)  Optionally, make it an error to have a member of an interface, or one of
its consequential interfaces, that is exposed in a global the interface itself
is not exposed in.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Received on Tuesday, 29 July 2014 02:48:22 UTC