Open mdittmer opened 6 years ago
This issue was mentioned in #204, and #201 is a special case of this issue.
We almost certainly want to consider Object.getOwnPropertySymbols
too in browsers that support it.
Anything omitted from that or getOwnPropertyNames
violates an ES spec invariant, right? Is there any way to workaround in general the Safari 9.1 issue, for example? (I don't think so, given it seems to be an issue with the bindings?)
I would agree that we should be checking Object.getOwnPropertySymbols
. AFAICT the only way to partially work around the bindings issue is to inject external information and attempt to access properties directly; e.g., trying webkitFoo
for all foo
s on CSSStyleDeclaration.prototype
, or poke around for known interface members after consulting something like imported Web IDL parse trees.
Umbrella bug for the following issue (example drawn from Safari 9 data):
More generally: current API discovery strategy misses any API that appears when accessed directly, but appears nowhere in
Object.getOwnPropertyNames()
along the object's prototype chain.