153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)/*
253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * Copyright (C) 2006, 2007, 2011 Apple Inc. All rights reserved.
353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * Copyright (C) 2006, 2007 Samuel Weinig <sam@webkit.org>
453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) *
553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * This library is free software; you can redistribute it and/or
653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * modify it under the terms of the GNU Library General Public
753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * License as published by the Free Software Foundation; either
853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * version 2 of the License, or (at your option) any later version.
953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) *
1053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * This library is distributed in the hope that it will be useful,
1153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * but WITHOUT ANY WARRANTY; without even the implied warranty of
1253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * Library General Public License for more details.
1453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) *
1553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * You should have received a copy of the GNU Library General Public License
1653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * along with this library; see the file COPYING.LIB.  If not, write to
1753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
1853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) * Boston, MA 02110-1301, USA.
1953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) */
2053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
21521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)callback CustomElementConstructor = Element ();
22521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)
2353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)[
2453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    CustomToV8
2553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)] interface Document : Node {
2653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
2753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // DOM Level 1 Core
2853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute DocumentType doctype;
2953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute DOMImplementation implementation;
3053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute Element documentElement;
3153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
32e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Element createElement([TreatNullAs=NullString,Default=Undefined] optional DOMString tagName);
3353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    DocumentFragment   createDocumentFragment();
3453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [PerWorldBindings] Text createTextNode([Default=Undefined] optional DOMString data);
3553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    Comment createComment([Default=Undefined] optional DOMString data);
3653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [RaisesException] CDATASection createCDATASection([Default=Undefined] optional DOMString data);
3753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [RaisesException] ProcessingInstruction createProcessingInstruction([Default=Undefined] optional DOMString target,
3853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)                                                                                 [Default=Undefined] optional DOMString data);
3953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [RaisesException] Attr createAttribute([Default=Undefined] optional DOMString name);
4053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [PerWorldBindings] NodeList           getElementsByTagName([Default=Undefined] optional DOMString tagname);
4153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
4253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // Introduced in DOM Level 2:
4353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
44e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Node importNode([Default=Undefined] optional Node importedNode,
4553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)                    optional boolean deep);
46e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Element createElementNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
4753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)                            [TreatNullAs=NullString,Default=Undefined] optional DOMString qualifiedName);
4853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [RaisesException] Attr createAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
4953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)                                                                          [TreatNullAs=NullString,Default=Undefined] optional DOMString qualifiedName);
5053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)     NodeList getElementsByTagNameNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
5153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)                                                   [Default=Undefined] optional DOMString localName);
5253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [PerWorldBindings] Element            getElementById([Default=Undefined] optional DOMString elementId);
5353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
5453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // DOM Level 3 Core
5553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
5653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [TreatReturnedNullStringAs=Null] readonly attribute DOMString inputEncoding;
5753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
5853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [TreatReturnedNullStringAs=Null] readonly attribute DOMString xmlEncoding;
5953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)             [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, SetterRaisesException] attribute DOMString xmlVersion;
6053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)             [SetterRaisesException] attribute boolean xmlStandalone;
6153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
62e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [RaisesException, CustomElementCallbacks=Enable] Node               adoptNode([Default=Undefined] optional Node source);
6353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
6453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [TreatReturnedNullStringAs=Null] readonly attribute DOMString documentURI;
6553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
6653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // DOM Level 2 Events (DocumentEvents interface)
6753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
6853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [RaisesException] Event              createEvent([Default=Undefined] optional DOMString eventType);
6953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
70521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)    // DOM Level 2 Traversal and Range (DocumentRange interface)
7153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
7253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    Range              createRange();
7353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
74521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)    // DOM Level 2 Traversal and Range (DocumentTraversal interface)
75521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)    // In DOM4, the fourth argument |expandEntityReferences| is removed.
76521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)    // Historically, this argument was never implemented and has been ignored.
77521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)    // We still receive the argument to keep compatibility, but don't do anything if it's specified.
78521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)    [RaisesException] NodeIterator createNodeIterator(Node root,
79521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)                                                      optional unsigned long whatToShow,
80521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)                                                      optional NodeFilter filter,
81521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)                                                      optional boolean expandEntityReferences);
82521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)    [RaisesException] TreeWalker createTreeWalker(Node root,
83521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)                                                  optional unsigned long whatToShow,
84521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)                                                  optional NodeFilter filter,
85521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)                                                  optional boolean expandEntityReferences);
8653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
8753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // DOM Level 2 Abstract Views (DocumentView interface)
8853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
89521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)    readonly attribute Window defaultView;
9053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
9153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // DOM Level 2 Style (DocumentStyle interface)
9253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
9353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute StyleSheetList styleSheets;
9453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
9553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // DOM Level 2 Style (DocumentCSS interface)
9653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
9753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)     CSSStyleDeclaration getOverrideStyle([Default=Undefined] optional Element element,
9853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)                                                        [Default=Undefined] optional DOMString pseudoElement);
9953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
10053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // Common extensions
101e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [CustomElementCallbacks=Enable]
10253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    boolean            execCommand([Default=Undefined] optional DOMString command,
10353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)                                   [Default=Undefined] optional boolean userInterface,
10453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)                                   [TreatNullAs=NullString, TreatUndefinedAs=NullString,Default=Undefined] optional DOMString value);
10553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
10653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    boolean            queryCommandEnabled([Default=Undefined] optional DOMString command);
10753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    boolean            queryCommandIndeterm([Default=Undefined] optional DOMString command);
10853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    boolean            queryCommandState([Default=Undefined] optional DOMString command);
10953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    boolean            queryCommandSupported([Default=Undefined] optional DOMString command);
11053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    DOMString          queryCommandValue([Default=Undefined] optional DOMString command);
11153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
11253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // Moved down from HTMLDocument
11353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
114e6d4491e48613634a83c1957c72759da80987961Ben Murdoch             [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString title;
11553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute DOMString referrer;
11653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)             [TreatNullAs=NullString, SetterRaisesException] attribute DOMString domain;
11753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute DOMString URL;
11853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
11953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)             [TreatNullAs=NullString, GetterRaisesException, SetterRaisesException] attribute DOMString cookie;
12053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
121e6d4491e48613634a83c1957c72759da80987961Ben Murdoch             [SetterRaisesException, CustomElementCallbacks=Enable] attribute HTMLElement body;
12253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
12353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute HTMLHeadElement head;
12453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute HTMLCollection images;
12553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute HTMLCollection applets;
12653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute HTMLCollection links;
12753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute HTMLCollection forms;
12853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute HTMLCollection anchors;
12953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute DOMString lastModified;
13053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
13153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [PerWorldBindings] NodeList getElementsByName([Default=Undefined] optional DOMString elementName);
13253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
13381a5157921f1d2a7ff6aae115bfe3c139b38a5c8Torne (Richard Coles)    [Custom, Replaceable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] readonly attribute Location location;
13453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
13553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // IE extensions
13653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
13753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)             [TreatReturnedNullStringAs=Undefined, TreatNullAs=NullString] attribute DOMString charset;
13853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [TreatReturnedNullStringAs=Undefined] readonly attribute DOMString defaultCharset;
13953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [TreatReturnedNullStringAs=Undefined] readonly attribute DOMString readyState;
14053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
14153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    Element            elementFromPoint([Default=Undefined] optional long x,
14253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)                                        [Default=Undefined] optional long y);
14353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    Range              caretRangeFromPoint([Default=Undefined] optional long x,
14453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)                                           [Default=Undefined] optional long y);
14553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
14653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // Mozilla extensions
147e52495584422c5edb5b2944981473a2e208da323Torne (Richard Coles)    Selection          getSelection();
14853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [TreatReturnedNullStringAs=Null] readonly attribute DOMString characterSet;
14953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
15053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // WebKit extensions
15153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
15253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [TreatReturnedNullStringAs=Null] readonly attribute DOMString preferredStylesheetSet;
15353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)             [TreatReturnedNullStringAs=Null, TreatNullAs=NullString] attribute DOMString selectedStylesheetSet;
15453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
15553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    CanvasRenderingContext getCSSCanvasContext(DOMString contextId, DOMString name, long width, long height);
15653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
15753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // HTML 5
15853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    NodeList getElementsByClassName([Default=Undefined] optional DOMString tagname);
15953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
16053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute DOMString compatMode;
16153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
16253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // NodeSelector - Selector API
16353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [RaisesException] Element querySelector(DOMString selectors);
16453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [RaisesException] NodeList querySelectorAll(DOMString selectors);
16553e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
16653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    void webkitExitPointerLock();
16753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute Element webkitPointerLockElement;
16853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
169521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)    [EnabledAtRuntime=cssRegions] WebKitNamedFlowCollection webkitGetNamedFlows();
17053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
17153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [EnabledAtRuntime=fontLoadEvents] readonly attribute FontLoader fontloader;
17253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
17353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // Event handler DOM attributes
174e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onabort;
175e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onblur;
176e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onchange;
177e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onclick;
178e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler oncontextmenu;
179e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondblclick;
180e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondrag;
181e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragend;
182e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragenter;
183e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragleave;
184e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragover;
185e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragstart;
186e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondrop;
187e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onerror;
188e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onfocus;
189e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler oninput;
190e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler oninvalid;
191e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeydown;
192e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeypress;
193e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeyup;
194e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onload;
195e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousedown;
196e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseenter;
197e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseleave;
198e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousemove;
199e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseout;
200e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseover;
201e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseup;
202e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousewheel;
203e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onreadystatechange;
204e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onscroll;
205e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onselect;
206e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onsubmit;
207e6d4491e48613634a83c1957c72759da80987961Ben Murdoch
208e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler oncanplay;
209e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler oncanplaythrough;
210e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler ondurationchange;
211e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onemptied;
212e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onended;
213e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onloadeddata;
214e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onloadedmetadata;
215e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onloadstart;
216e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onpause;
217e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onplay;
218e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onplaying;
219e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onprogress;
220e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onratechange;
221e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onseeked;
222e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onseeking;
223e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onshow;
224e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onstalled;
225e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onsuspend;
226e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler ontimeupdate;
227e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onvolumechange;
228e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    // attribute [NotEnumerable] EventHandler onwaiting;
22953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
23053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // WebKit extensions
231e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onbeforecut;
232e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler oncut;
233e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onbeforecopy;
234e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler oncopy;
235e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onbeforepaste;
236e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onpaste;
237e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onreset;
238e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onsearch;
239e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onselectstart;
240e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onselectionchange;
241e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable,EnabledAtRuntime=touch] attribute EventHandler ontouchstart;
242e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable,EnabledAtRuntime=touch] attribute EventHandler ontouchmove;
243e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable,EnabledAtRuntime=touch] attribute EventHandler ontouchend;
244e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable,EnabledAtRuntime=touch] attribute EventHandler ontouchcancel;
245e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onwebkitfullscreenchange;
246e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onwebkitfullscreenerror;
247e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onwebkitpointerlockchange;
248e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable] attribute EventHandler onwebkitpointerlockerror;
249e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [NotEnumerable, EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] attribute EventHandler onsecuritypolicyviolation;
25053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
251521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)    [EnabledAtRuntime=touch] Touch createTouch([Default=Undefined] optional Window window,
25293ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)                                               [Default=Undefined] optional EventTarget target,
25393ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)                                               [Default=Undefined] optional long identifier,
25493ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)                                               [Default=Undefined] optional long pageX,
25593ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)                                               [Default=Undefined] optional long pageY,
25693ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)                                               [Default=Undefined] optional long screenX,
25793ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)                                               [Default=Undefined] optional long screenY,
25893ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)                                               [Default=Undefined] optional long webkitRadiusX,
25993ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)                                               [Default=Undefined] optional long webkitRadiusY,
26093ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)                                               [Default=Undefined] optional float webkitRotationAngle,
26193ac45cfc74041c8ae536ce58a9534d46db2024eTorne (Richard Coles)                                               [Default=Undefined] optional float webkitForce);
26253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    [EnabledAtRuntime=touch, Custom, RaisesException] TouchList createTouchList();
26353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
264e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [DeprecateAs=PrefixedDocumentRegister, EnabledAtRuntime=customDOMElements, ImplementedAs=registerElement, CallWith=ScriptState, CustomElementCallbacks=Enable, RaisesException] CustomElementConstructor webkitRegister(DOMString name, optional Dictionary options);
265e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [EnabledAtRuntime=customDOMElements, ImplementedAs=registerElement, CallWith=ScriptState, CustomElementCallbacks=Enable, RaisesException] CustomElementConstructor register(DOMString name, optional Dictionary options);
266e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Element createElement(DOMString localName, [TreatNullAs=NullString] DOMString typeExtension);
267e6d4491e48613634a83c1957c72759da80987961Ben Murdoch    [CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Element createElementNS([TreatNullAs=NullString] DOMString namespaceURI, DOMString qualifiedName,
26853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)                            [TreatNullAs=NullString] DOMString typeExtension);
26953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
27053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // Page visibility API.
27153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute DOMString webkitVisibilityState;
27253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    readonly attribute boolean webkitHidden;
27353e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
27453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)    // Security Policy API: http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-interfaces
275e52495584422c5edb5b2944981473a2e208da323Torne (Richard Coles)    [EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] readonly attribute SecurityPolicy securityPolicy;
27653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
277521d96ec04ace82590870fb04353ec4f82bb150fTorne (Richard Coles)    readonly attribute HTMLScriptElement currentScript;
27853e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)};
27953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)
280591b958dee2cf159d33a0b931e6231072eaf38d5Ben MurdochDocument implements ParentNode;
281591b958dee2cf159d33a0b931e6231072eaf38d5Ben Murdoch
282