This page prints out the prototype chains of select DOM objects. Older versions of WebCore didn't properly implement prototype chaining for these objects.

NOTE: This test will start failing if you change the layout of a related prototype chain in WebCore. That does not necessarily mean that you have done something wrong; you may just need to check in new results.

----- [object HTMLDocument] (5 prototypes) -----

[object Object]

[object NodePrototype]

[object EventTargetNodePrototype]

[object DocumentPrototype]

[object HTMLDocumentPrototype]

----- [object HTMLDivElement] (6 prototypes) -----

[object Object]

[object NodePrototype]

[object EventTargetNodePrototype]

[object ElementPrototype]

[object HTMLElementPrototype]

[object HTMLDivElementPrototype]

----- [object HTMLFormElement] (6 prototypes) -----

[object Object]

[object NodePrototype]

[object EventTargetNodePrototype]

[object ElementPrototype]

[object HTMLElementPrototype]

[object HTMLFormElementPrototype]

----- [object UIEvent] (3 prototypes) -----

[object Object]

[object EventPrototype]

[object UIEventPrototype]

----- [object MouseEvent] (4 prototypes) -----

[object Object]

[object EventPrototype]

[object UIEventPrototype]

[object MouseEventPrototype]

----- [object KeyboardEvent] (4 prototypes) -----

[object Object]

[object EventPrototype]

[object UIEventPrototype]

[object KeyboardEventPrototype]


