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 EventTargetPrototype]

[object NodePrototype]

[object DocumentPrototype]

[object HTMLDocumentPrototype]

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

[object Object]

[object EventTargetPrototype]

[object NodePrototype]

[object ElementPrototype]

[object HTMLElementPrototype]

[object HTMLDivElementPrototype]

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

[object Object]

[object EventTargetPrototype]

[object NodePrototype]

[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]


