Closed Bug 789020 Opened 12 years ago Closed 12 years ago

Interface prototype object should stringify to [object FooPrototype], not [object Object]

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
minor

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: ayg, Unassigned)

References

Details

Test-case:

data:text/html,<!doctype html>
<script>
document.documentElement.textContent = NodeList.prototype;
</script>

Recent nightly, as well as Chrome 22 dev: [object Object]
IE10 Developer Preview, Opera 12.50 internal: [object NodeListPrototype]

Spec:

"""
The class string of an interface prototype object is the concatenation of the interface’s identifier and the string “Prototype”.
"""
http://dev.w3.org/2006/webapi/WebIDL/#interface-prototype-object

I believe this was discussed on the W3C bug tracker at some point, and it was decided in favor of IE's behavior.
This causes a test failure at:

http://w3c-test.org/webapps/DOMCore/tests/approved/interfaces.html

which is already at dom/imptests/webapps/DOMCore/tests/approved/test_interfaces.html, so no new test should be needed.  I'm happy to take this if someone points out where to look.
Flags: in-testsuite+
The NodeList case is the sInterfacePrototypeClass in js/xpconnect/src/dombindings.cpp

For now.  Until we switch NodeList to Paris bindings.  I don't see an obvious tracking bug for this, but I assume once bug 788532 lands it's pretty straightforward.  Peter, _do_ we have a tracking bug there?

Note that this will not affect non-list-binding DOM interfaces, of course.
Depends on: 788532
Works for XHR, with Paris bindings -- we get "[object XMLHttpRequestPrototype]".
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.