18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
25f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met:
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer.
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer in the
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    documentation and/or other materials provided with the distribution.
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectmodule window {
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    interface [
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CheckDomainSecurity,
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CustomDefineGetter,
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CustomDefineSetter,
328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CustomDeleteProperty,
338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CustomGetOwnPropertySlot,
348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CustomGetPropertyNames,
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CustomLookupGetter,
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CustomLookupSetter,
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CustomMarkFunction,
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CustomNativeConverter,
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CustomPutFunction,
40231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        EventTarget,
41d0825bca7fe65beaee391d30da42e937db621564Steve Block        ExtendsDOMGlobalObject,
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        GenerateNativeConverter,
43cad810f21b803229eb11403f9209855525a25d57Steve Block        ReplaceableConstructor,
448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        LegacyParent=JSDOMWindowBase
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ] DOMWindow {
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // DOM Level 0
475abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick        attribute [Replaceable] Screen screen;
485f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        readonly attribute [DoNotCheckDomainSecurity, JSCCustomGetter] History history;
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] BarInfo locationbar;
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] BarInfo menubar;
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] BarInfo personalbar;
528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] BarInfo scrollbars;
538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] BarInfo statusbar;
548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] BarInfo toolbar;
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] Navigator navigator;
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] Navigator clientInformation;
572fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        readonly attribute Crypto crypto;
5806ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen        attribute [DoNotCheckDomainSecurity, JSCCustom, V8CustomSetter, V8DisallowShadowing, CPPCustom] Location location;
595f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
60231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        attribute [Replaceable, CustomGetter, V8CustomSetter] Event event;
615f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        DOMSelection getSelection();
648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        readonly attribute [CheckNodeSecurity] Element frameElement;
668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [DoNotCheckDomainSecurity] void focus();
688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [DoNotCheckDomainSecurity] void blur();
6935d2bd6c7e3a089eb4a8d6e074f53a13f471289eCary Clark        [DoNotCheckDomainSecurity, CallWith=ScriptExecutionContext] void close();
708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void print();
728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void stop();
738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
745f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        [Custom] DOMWindow open(in DOMString url,
755f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian                                in DOMString name,
765f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian                                in [Optional] DOMString options);
775f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
78231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        [Custom] DOMObject showModalDialog(in DOMString url,
795f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian                                           in [Optional] DOMObject dialogArgs,
805f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian                                           in [Optional] DOMString featureArgs);
815f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        void alert(in DOMString message);
838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        boolean confirm(in DOMString message);
848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [ConvertNullStringTo=Null] DOMString prompt(in DOMString message,
858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                                                    in [ConvertUndefinedOrNullToNullString] DOMString defaultValue);
868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        boolean find(in DOMString string,
888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                     in boolean caseSensitive,
898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                     in boolean backwards,
908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                     in boolean wrap,
918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                     in boolean wholeWord,
928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                     in boolean searchInFrames,
938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                     in boolean showDialog);
948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] boolean offscreenBuffering;
968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] long outerHeight;
988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] long outerWidth;
998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] long innerHeight;
1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] long innerWidth;
1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] long screenX;
1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] long screenY;
1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] long screenLeft;
1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] long screenTop;
1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] long scrollX;
1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] long scrollY;
1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        readonly attribute long pageXOffset;
1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        readonly attribute long pageYOffset;
1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [RequiresAllArguments] void scrollBy(in long x, in long y);
1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [RequiresAllArguments] void scrollTo(in long x, in long y);
1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [RequiresAllArguments] void scroll(in long x, in long y);
1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [RequiresAllArguments] void moveBy(in float x, in float y); // FIXME: this should take longs not floats.
1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [RequiresAllArguments] void moveTo(in float x, in float y); // FIXME: this should take longs not floats.
1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [RequiresAllArguments] void resizeBy(in float x, in float y); // FIXME: this should take longs not floats.
1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [RequiresAllArguments] void resizeTo(in float width, in float height); // FIXME: this should take longs not floats.
1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        readonly attribute [DoNotCheckDomainSecurity] boolean closed;
1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable, DoNotCheckDomainSecurityOnGet] unsigned long length;
1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute DOMString name;
1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute DOMString status;
1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute DOMString defaultStatus;
1265f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // This attribute is an alias of defaultStatus and is necessary for legacy uses.
1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute DOMString defaultstatus;
1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // Self referential attributes
1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable, DoNotCheckDomainSecurityOnGet] DOMWindow self;
1338f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        readonly attribute [DoNotCheckDomainSecurity, V8DisallowShadowing] DOMWindow window;
1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable, DoNotCheckDomainSecurityOnGet] DOMWindow frames;
1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1368f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        attribute [Replaceable, DoNotCheckDomainSecurityOnGet, V8CustomSetter] DOMWindow opener;
1370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        attribute [Replaceable, DoNotCheckDomainSecurityOnGet] DOMWindow parent;
1380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        attribute [Replaceable, DoNotCheckDomainSecurityOnGet, V8DisallowShadowing, V8ReadOnly] DOMWindow top;
1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // DOM Level 2 AbstractView Interface
1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        readonly attribute Document document;
1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        // CSSOM View Module
1444576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang        MediaQueryList matchMedia(in DOMString query);
1454576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang
1464576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang        // styleMedia has been removed from the CSSOM View specification.
14721939df44de1705786c545cd1bf519d47250322dBen Murdoch        readonly attribute StyleMedia styleMedia;
1480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // DOM Level 2 Style Interface
1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CSSStyleDeclaration getComputedStyle(in Element element,
1516b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner                                             in [ConvertUndefinedOrNullToNullString] DOMString pseudoElement);
1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // WebKit extensions
154e14391e94c850b8bd03680c23b38978db68687a8John Reck#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        CSSRuleList getMatchedCSSRules(in Element element,
156e14391e94c850b8bd03680c23b38978db68687a8John Reck                                       in DOMString pseudoElement);
157e14391e94c850b8bd03680c23b38978db68687a8John Reck#endif
158e14391e94c850b8bd03680c23b38978db68687a8John Reck
1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute [Replaceable] double devicePixelRatio;
1608f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian
1618f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        WebKitPoint webkitConvertPointFromPageToNode(in Node node, in WebKitPoint p);
1628f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        WebKitPoint webkitConvertPointFromNodeToPage(in Node node, in WebKitPoint p);
1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1645f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(ENABLE_OFFLINE_WEB_APPLICATIONS) && ENABLE_OFFLINE_WEB_APPLICATIONS
165643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        readonly attribute [EnabledAtRuntime] DOMApplicationCache applicationCache;
1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
1675f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(ENABLE_DATABASE) && ENABLE_DATABASE
168dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        [EnabledAtRuntime, RequiresAllArguments=Raise] Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize, in [Callback, Optional] DatabaseCallback creationCallback)
1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            raises(DOMException);
1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
1715f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
17221939df44de1705786c545cd1bf519d47250322dBen Murdoch        readonly attribute [EnabledAtRuntime] Storage sessionStorage
17321939df44de1705786c545cd1bf519d47250322dBen Murdoch            getter raises(DOMException);
174dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        readonly attribute [EnabledAtRuntime] Storage localStorage
175dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block            getter raises(DOMException);
1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
177231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#if defined(ENABLE_NOTIFICATIONS) && ENABLE_NOTIFICATIONS
178cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        readonly attribute [EnabledAtRuntime] NotificationCenter webkitNotifications;
179231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
180d0825bca7fe65beaee391d30da42e937db621564Steve Block#if defined(ENABLE_INDEXED_DATABASE) && ENABLE_INDEXED_DATABASE
181a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch        readonly attribute [EnabledAtRuntime] IDBFactory webkitIndexedDB;
182a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch
183a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch        attribute [EnabledAtRuntime] IDBCursorConstructor webkitIDBCursor;
184a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch        attribute [EnabledAtRuntime] IDBDatabaseConstructor webkitIDBDatabase;
185a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch        attribute [EnabledAtRuntime] IDBDatabaseErrorConstructor webkitIDBDatabaseError;
186a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch        attribute [EnabledAtRuntime] IDBDatabaseExceptionConstructor webkitIDBDatabaseException;
187a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch        attribute [EnabledAtRuntime] IDBFactoryConstructor webkitIDBFactory;
188a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch        attribute [EnabledAtRuntime] IDBIndexConstructor webkitIDBIndex;
189a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch        attribute [EnabledAtRuntime] IDBKeyRangeConstructor webkitIDBKeyRange;
190a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch        attribute [EnabledAtRuntime] IDBObjectStoreConstructor webkitIDBObjectStore;
191a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch        attribute [EnabledAtRuntime] IDBRequestConstructor webkitIDBRequest;
192a94275402997c11dd2e778633dacf4b7e630a35dBen Murdoch        attribute [EnabledAtRuntime] IDBTransactionConstructor webkitIDBTransaction;
193d0825bca7fe65beaee391d30da42e937db621564Steve Block#endif
1945ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#if defined(ENABLE_FILE_SYSTEM) && ENABLE_FILE_SYSTEM
1955ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        const unsigned short TEMPORARY = 0;
1965ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen        const unsigned short PERSISTENT = 1;
1972daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        [EnabledAtRuntime=FileSystem] void webkitRequestFileSystem(in unsigned short type, in long long size, in [Callback, Optional] FileSystemCallback successCallback, in [Callback, Optional] ErrorCallback errorCallback);
1982daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        [EnabledAtRuntime=FileSystem] void webkitResolveLocalFileSystemURL(in DOMString url, in [Callback, Optional] EntryCallback successCallback, in [Callback, Optional] ErrorCallback errorCallback);
19968513a70bcd92384395513322f1b801e7bf9c729Steve Block
2002daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        attribute [EnabledAtRuntime=FileSystem] WebKitFlagsConstructor WebKitFlags;
2015ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen#endif
202231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
203231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#if defined(ENABLE_ORIENTATION_EVENTS) && ENABLE_ORIENTATION_EVENTS
204231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        // This is the interface orientation in degrees. Some examples are:
205231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        //  0 is straight up; -90 is when the device is rotated 90 clockwise;
206231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        //  90 is when rotated counter clockwise.
207231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        readonly attribute long orientation;
208231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                 attribute [Replaceable] Console console;
2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // cross-document messaging
213231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
214231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        [DoNotCheckDomainSecurity, Custom] void postMessage(in SerializedScriptValue message, in [Optional] Array messagePorts, in DOMString targetOrigin)
2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            raises(DOMException);
216231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#else
217231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        // There's no good way to expose an array via the ObjC bindings, so for now just allow passing in a single port.
218231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        [DoNotCheckDomainSecurity, Custom] void postMessage(in SerializedScriptValue message, in [Optional] MessagePort messagePort, in DOMString targetOrigin)
219231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block            raises(DOMException);
220231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
222ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block#if defined(ENABLE_WEB_TIMING) && ENABLE_WEB_TIMING
223cad810f21b803229eb11403f9209855525a25d57Steve Block        attribute [Replaceable] Performance performance;
224ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block#endif
225ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block
2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // Timers
2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [Custom] long setTimeout(in TimeoutHandler handler, in long timeout);
2285f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        // [Custom] long setTimeout(in TimeoutHandler handler, in long timeout, arguments...);
2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // [Custom] long setTimeout(in DOMString code, in long timeout);
2305f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        void clearTimeout(in long handle);
2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        [Custom] long setInterval(in TimeoutHandler handler, in long timeout);
2325f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        // [Custom] long setInterval(in TimeoutHandler handler, in long timeout, arguments...);
2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // [Custom] long setInterval(in DOMString code, in long timeout);
2345f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        void clearInterval(in long handle);
2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
236ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch#if defined(ENABLE_REQUEST_ANIMATION_FRAME)
237ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        // WebKit animation extensions
238ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        long webkitRequestAnimationFrame(in [Callback] RequestAnimationFrameCallback callback, in Element element);
239ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        void webkitCancelRequestAnimationFrame(in long id);
240ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch#endif
241ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch
2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // Base64
243dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        DOMString atob(in [ConvertNullToNullString] DOMString string)
2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            raises(DOMException);
245dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        DOMString btoa(in [ConvertNullToNullString] DOMString string)
2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project            raises(DOMException);
2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // Events
2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2505f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onabort;
2515f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onbeforeunload;
2525f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onblur;
2535f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener oncanplay;
2545f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener oncanplaythrough;
2555f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onchange;
2565f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onclick;
2575f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener oncontextmenu;
2585f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener ondblclick;
2595f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener ondrag;
2605f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener ondragend;
2615f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener ondragenter;
2625f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener ondragleave;
2635f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener ondragover;
2645f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener ondragstart;
2655f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener ondrop;
2665f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener ondurationchange;
2675f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onemptied;
2685f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onended;
2695f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onerror;
2705f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onfocus;
271231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        attribute EventListener onhashchange;
2725f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener oninput;
273231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        attribute EventListener oninvalid;
2745f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onkeydown;
2755f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onkeypress;
2765f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onkeyup;
2775f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onload;
2785f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onloadeddata;
2795f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onloadedmetadata;
2805f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onloadstart;
2815f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onmessage;
2825f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onmousedown;
2835f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onmousemove;
2845f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onmouseout;
2855f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onmouseover;
2865f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onmouseup;
2875f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onmousewheel;
2885f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onoffline;
2895f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener ononline;
290231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        attribute EventListener onpagehide;
291231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        attribute EventListener onpageshow;
2925f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onpause;
2935f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onplay;
2945f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onplaying;
295643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        attribute EventListener onpopstate;
2965f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onprogress;
2975f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onratechange;
2985f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onresize;
2995f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onscroll;
3005f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onseeked;
3015f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onseeking;
3025f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onselect;
3035f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onstalled;
3045f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onstorage;
3055f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onsubmit;
3065f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onsuspend;
3075f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener ontimeupdate;
3085f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onunload;
3095f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onvolumechange;
3105f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onwaiting;
3115f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
3125f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        // Not implemented yet.
3135f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        // attribute EventListener onafterprint;
3145f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        // attribute EventListener onbeforeprint;
3155f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        // attribute EventListener onreadystatechange;
3165f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        // attribute EventListener onredo;
3175f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        // attribute EventListener onshow;
3185f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        // attribute EventListener onundo;
3195f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
3205f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        // Webkit extensions
3215f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onreset;
3225f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onsearch;
3235f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onwebkitanimationend;
3245f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onwebkitanimationiteration;
3255f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onwebkitanimationstart;
3265f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute EventListener onwebkittransitionend;
327231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#if defined(ENABLE_ORIENTATION_EVENTS) && ENABLE_ORIENTATION_EVENTS
328231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        attribute EventListener onorientationchange;
329231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
330e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block        attribute [Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchstart;
331e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block        attribute [Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchmove;
332e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block        attribute [Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchend;
333e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block        attribute [Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchcancel;
334e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block
335dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        attribute [Conditional=DEVICE_ORIENTATION,EnabledAtRuntime] DeviceMotionEventConstructor DeviceMotionEvent;
336dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        attribute [Conditional=DEVICE_ORIENTATION,EnabledAtRuntime] EventListener ondevicemotion;
337dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        attribute [Conditional=DEVICE_ORIENTATION,EnabledAtRuntime] DeviceOrientationEventConstructor DeviceOrientationEvent;
338dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        attribute [Conditional=DEVICE_ORIENTATION,EnabledAtRuntime] EventListener ondeviceorientation;
3398f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian
3408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // EventTarget interface
3418f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        [Custom] void addEventListener(in DOMString type,
3428f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian                                      in EventListener listener,
3438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                                      in boolean useCapture);
3448f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        [Custom] void removeEventListener(in DOMString type,
3458f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian                                          in EventListener listener,
3468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                                          in boolean useCapture);
3475f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        boolean dispatchEvent(in Event evt)
3485f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian            raises(EventException);
3495f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
3505f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        [V8Custom=DOMWindowNOP] void captureEvents(/*in long eventFlags*/);
3515f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        [V8Custom=DOMWindowNOP] void releaseEvents(/*in long eventFlags*/);
3528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3535f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
3548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // Global constructors
3558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute StyleSheetConstructor StyleSheet;
3568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSStyleSheetConstructor CSSStyleSheet;
3578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSValueConstructor CSSValue;
3598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSPrimitiveValueConstructor CSSPrimitiveValue;
3608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSValueListConstructor CSSValueList;
361635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        attribute WebKitCSSTransformValueConstructor WebKitCSSTransformValue;
3628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSRuleConstructor CSSRule;
3648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSCharsetRuleConstructor CSSCharsetRule;
3658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSFontFaceRuleConstructor CSSFontFaceRule;
3668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSImportRuleConstructor CSSImportRule;
3678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSMediaRuleConstructor CSSMediaRule;
3688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSPageRuleConstructor CSSPageRule;
3698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSStyleRuleConstructor CSSStyleRule;
3708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSStyleDeclarationConstructor CSSStyleDeclaration;
3728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute MediaListConstructor MediaList;
3738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CounterConstructor Counter;
3748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CSSRuleListConstructor CSSRuleList;
3758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute RectConstructor Rect;
3760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        attribute RGBColorConstructor RGBColor;
3778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute StyleSheetListConstructor StyleSheetList;
3788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // FIXME: Implement the commented-out global constructors for interfaces listed in DOM Level 3 Core specification.
3808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute DOMCoreExceptionConstructor DOMException;
381e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block        attribute DOMStringListConstructor DOMStringList;
3828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//        attribute NameListConstructor NameList;
3838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//        attribute DOMImplementationListConstructor DOMImplementationList;
3848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//        attribute DOMImplementationSourceConstructor DOMImplementationSource;
3858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute DOMImplementationConstructor DOMImplementation;
386e14391e94c850b8bd03680c23b38978db68687a8John Reck        attribute DOMSettableTokenListConstructor DOMSettableTokenList;
387bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen        attribute DOMTokenListConstructor DOMTokenList;
3888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute DocumentFragmentConstructor DocumentFragment;
3898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute DocumentConstructor Document;
3908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute NodeConstructor Node;
3918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute NodeListConstructor NodeList;
3928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute NamedNodeMapConstructor NamedNodeMap;
3938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CharacterDataConstructor CharacterData;
3948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute AttrConstructor Attr;
3958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute ElementConstructor Element;
3968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute TextConstructor Text;
3978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CommentConstructor Comment;
3988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//        attribute TypeInfoConstructor TypeInfo;
3998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//        attribute UserDataHandlerConstructor UserDataHandler;
4008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//        attribute DOMErrorConstructor DOMError;
4018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//        attribute DOMErrorHandlerConstructor DOMErrorHandler
4028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//        attribute DOMLocatorConstructor DOMLocator;
4038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//        attribute DOMConfigurationConstructor DOMConfiguration;
4048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CDATASectionConstructor CDATASection;
4058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute DocumentTypeConstructor DocumentType;
4068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute NotationConstructor Notation;
4078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute EntityConstructor Entity;
4088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute EntityReferenceConstructor EntityReference;
4098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute ProcessingInstructionConstructor ProcessingInstruction;
4108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLDocumentConstructor HTMLDocument;
4128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLElementConstructor HTMLElement;
4148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLAnchorElementConstructor HTMLAnchorElement;
4158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLAppletElementConstructor HTMLAppletElement;
4168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLAreaElementConstructor HTMLAreaElement;
4178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLBRElementConstructor HTMLBRElement;
4188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLBaseElementConstructor HTMLBaseElement;
4198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLBaseFontElementConstructor HTMLBaseFontElement;
4208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLBlockquoteElementConstructor HTMLBlockquoteElement;
4218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLBodyElementConstructor HTMLBodyElement;
4228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLButtonElementConstructor HTMLButtonElement;
4238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLCanvasElementConstructor HTMLCanvasElement;
4240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        attribute [Conditional=DATAGRID] HTMLDataGridElementConstructor HTMLDataGridElement;
4250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        attribute [Conditional=DATAGRID] HTMLDataGridCellElementConstructor HTMLDataGridCellElement;
4260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        attribute [Conditional=DATAGRID] HTMLDataGridColElementConstructor HTMLDataGridColElement;
4278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLDListElementConstructor HTMLDListElement;
4288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLDirectoryElementConstructor HTMLDirectoryElement;
4298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLDivElementConstructor HTMLDivElement;
4308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLEmbedElementConstructor HTMLEmbedElement;
4318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLFieldSetElementConstructor HTMLFieldSetElement;
4328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLFontElementConstructor HTMLFontElement;
4338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLFormElementConstructor HTMLFormElement;
4348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLFrameElementConstructor HTMLFrameElement;
4358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLFrameSetElementConstructor HTMLFrameSetElement;
4368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLHRElementConstructor HTMLHRElement;
4378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLHeadElementConstructor HTMLHeadElement;
4388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLHeadingElementConstructor HTMLHeadingElement;
4398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLHtmlElementConstructor HTMLHtmlElement;
4408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLIFrameElementConstructor HTMLIFrameElement;
4418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLImageElementConstructor HTMLImageElement;
4428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLInputElementConstructor HTMLInputElement;
4438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLIsIndexElementConstructor HTMLIsIndexElement;
444ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        attribute HTMLKeygenElementConstructor HTMLKeygenElement;
4458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLLIElementConstructor HTMLLIElement;
4468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLLabelElementConstructor HTMLLabelElement;
4478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLLegendElementConstructor HTMLLegendElement;
4488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLLinkElementConstructor HTMLLinkElement;
4498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLMapElementConstructor HTMLMapElement;
4508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLMarqueeElementConstructor HTMLMarqueeElement;
4518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLMenuElementConstructor HTMLMenuElement;
4528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLMetaElementConstructor HTMLMetaElement;
4536c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#if defined(ENABLE_METER_TAG) && ENABLE_METER_TAG
4546c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen        attribute HTMLMeterElementConstructor HTMLMeterElement;
4556c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen#endif
4568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLModElementConstructor HTMLModElement;
4578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLOListElementConstructor HTMLOListElement;
4588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLObjectElementConstructor HTMLObjectElement;
4598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLOptGroupElementConstructor HTMLOptGroupElement;
4608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLOptionElementConstructor HTMLOptionElement;
46128040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu        attribute HTMLOutputElementConstructor HTMLOutputElement;
4628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLParagraphElementConstructor HTMLParagraphElement;
4638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLParamElementConstructor HTMLParamElement;
4648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLPreElementConstructor HTMLPreElement;
465dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#if defined(ENABLE_PROGRESS_TAG) && ENABLE_PROGRESS_TAG
466dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        attribute HTMLProgressElementConstructor HTMLProgressElement;
467dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif
4688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLQuoteElementConstructor HTMLQuoteElement;
4698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLScriptElementConstructor HTMLScriptElement;
4708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLSelectElementConstructor HTMLSelectElement;
4718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLStyleElementConstructor HTMLStyleElement;
4728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLTableCaptionElementConstructor HTMLTableCaptionElement;
4738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLTableCellElementConstructor HTMLTableCellElement;
4748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLTableColElementConstructor HTMLTableColElement;
4758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLTableElementConstructor HTMLTableElement;
4768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLTableRowElementConstructor HTMLTableRowElement;
4778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLTableSectionElementConstructor HTMLTableSectionElement;
4788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLTextAreaElementConstructor HTMLTextAreaElement;
4798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLTitleElementConstructor HTMLTitleElement;
4808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLUListElementConstructor HTMLUListElement;
4818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute HTMLCollectionConstructor HTMLCollection;
483cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        attribute HTMLAllCollectionConstructor HTMLAllCollection;
4848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4855f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute [CustomGetter] HTMLImageElementConstructor Image; // Usable with new operator
4865f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute [CustomGetter] HTMLOptionElementConstructor Option; // Usable with new operator
4875f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
488545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch        attribute CanvasPatternConstructor CanvasPattern;
489545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch        attribute CanvasGradientConstructor CanvasGradient;
4908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute CanvasRenderingContext2DConstructor CanvasRenderingContext2D;
4918a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block        attribute ImageDataConstructor ImageData;
4922bde8e466a4451c7319e3a072d118917957d6554Steve Block        attribute [Conditional=WEBGL] WebGLActiveInfoConstructor WebGLActiveInfo;
4932bde8e466a4451c7319e3a072d118917957d6554Steve Block        attribute [Conditional=WEBGL] WebGLBufferConstructor WebGLBuffer;
4942bde8e466a4451c7319e3a072d118917957d6554Steve Block        attribute [Conditional=WEBGL] WebGLFramebufferConstructor WebGLFramebuffer;
4952bde8e466a4451c7319e3a072d118917957d6554Steve Block        attribute [Conditional=WEBGL] WebGLProgramConstructor WebGLProgram;
4962bde8e466a4451c7319e3a072d118917957d6554Steve Block        attribute [Conditional=WEBGL] WebGLRenderbufferConstructor WebGLRenderbuffer;
4972bde8e466a4451c7319e3a072d118917957d6554Steve Block        attribute [Conditional=WEBGL] WebGLRenderingContextConstructor WebGLRenderingContext;
4982bde8e466a4451c7319e3a072d118917957d6554Steve Block        attribute [Conditional=WEBGL] WebGLShaderConstructor WebGLShader;
4992bde8e466a4451c7319e3a072d118917957d6554Steve Block        attribute [Conditional=WEBGL] WebGLTextureConstructor WebGLTexture;
5002bde8e466a4451c7319e3a072d118917957d6554Steve Block        attribute [Conditional=WEBGL] WebGLUniformLocationConstructor WebGLUniformLocation;
5018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute TextMetricsConstructor TextMetrics;
5028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
503ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block        attribute DOMStringMapConstructor DOMStringMap;
504ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block
5052fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        attribute [JSCCustomGetter] ArrayBufferConstructor ArrayBuffer; // Usable with new operator
5062fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        attribute [JSCCustomGetter] Int8ArrayConstructor Int8Array; // Usable with new operator
5072fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        attribute [JSCCustomGetter] Uint8ArrayConstructor Uint8Array; // Usable with new operator
5082fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        attribute [JSCCustomGetter] Int16ArrayConstructor Int16Array; // Usable with new operator
5092fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        attribute [JSCCustomGetter] Uint16ArrayConstructor Uint16Array; // Usable with new operator
5102fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        attribute [JSCCustomGetter] Int32ArrayConstructor Int32Array; // Usable with new operator
5112fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        attribute [JSCCustomGetter] Uint32ArrayConstructor Uint32Array; // Usable with new operator
5122fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        attribute [JSCCustomGetter] Float32ArrayConstructor Float32Array; // Usable with new operator
51337da970a4978c0729b6a37c13d0ebc6a17c6d573Ben Murdoch        attribute [JSCCustomGetter] Float64ArrayConstructor Float64Array; // Usable with new operator
5142fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        attribute [JSCCustomGetter] DataViewConstructor DataView; // Usable with new operator
5156c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen
516ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch        attribute [JSCCustomGetter,Conditional=WEB_AUDIO,EnabledAtRuntime] AudioContextConstructor webkitAudioContext; // Usable with new operator
517f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch        attribute [Conditional=WEB_AUDIO] AudioPannerNodeConstructor webkitAudioPannerNode; // Needed for panning model constants
518f05b935882198ccf7d81675736e3aeb089c5113aBen Murdoch
5198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute EventConstructor Event;
520231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        attribute BeforeLoadEventConstructor BeforeLoadEvent;
52168513a70bcd92384395513322f1b801e7bf9c729Steve Block        attribute HashChangeEventConstructor HashChangeEvent;
5228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute KeyboardEventConstructor KeyboardEvent;
5238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute MouseEventConstructor MouseEvent;
5248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute MutationEventConstructor MutationEvent;
5258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute OverflowEventConstructor OverflowEvent;
526231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        attribute PageTransitionEventConstructor PageTransitionEvent;
5278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute ProgressEventConstructor ProgressEvent;
5288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute TextEventConstructor TextEvent;
5298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute UIEventConstructor UIEvent;
530635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        attribute WebKitAnimationEventConstructor WebKitAnimationEvent;
531635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        attribute WebKitTransitionEventConstructor WebKitTransitionEvent;
5328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute WheelEventConstructor WheelEvent;
5338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute MessageEventConstructor MessageEvent;
5348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute EventExceptionConstructor EventException;
5358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
536635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        attribute WebKitCSSKeyframeRuleConstructor WebKitCSSKeyframeRule;
537635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project        attribute WebKitCSSKeyframesRuleConstructor WebKitCSSKeyframesRule;
538635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
5395f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute [JSCCustomGetter] WebKitCSSMatrixConstructor WebKitCSSMatrix; // Usable with the new operator
5405f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
5415f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute [JSCCustomGetter] WebKitPointConstructor WebKitPoint; // Usable with new the operator
5428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute ClipboardConstructor Clipboard;
5448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute FileConstructor File;
5468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute FileListConstructor FileList;
547d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute BlobConstructor Blob;
5488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute NodeFilterConstructor NodeFilter;
5508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute RangeConstructor Range;
5518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute RangeExceptionConstructor RangeException;
5528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
553231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#if ENABLE_EVENTSOURCE
554231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        attribute [JSCCustomGetter] EventSourceConstructor EventSource; // Usable with new the operator
555231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
556231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
5578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // Mozilla has a separate XMLDocument object for XML documents.
5588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        // We just use Document for this.
5598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute DocumentConstructor XMLDocument;
5608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute DOMParserConstructor DOMParser;
5628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute XMLSerializerConstructor XMLSerializer;
5638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5645f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute [JSCCustomGetter] XMLHttpRequestConstructor XMLHttpRequest; // Usable with the new operator
5658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute XMLHttpRequestUploadConstructor XMLHttpRequestUpload;
5668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute XMLHttpRequestExceptionConstructor XMLHttpRequestException;
5675f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
568231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        attribute [JSCCustomGetter,Conditional=XSLT] XSLTProcessorConstructor XSLTProcessor; // Usable with the new operator
5695f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
5705f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(ENABLE_CHANNEL_MESSAGING) && ENABLE_CHANNEL_MESSAGING
5715f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute MessagePortConstructor MessagePort;
5725f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute [JSCCustomGetter] MessageChannelConstructor MessageChannel; // Usable with the new operator
573109a58c31072b14f5b2c0493ed6c5a1855f82fd7Feng Qian#endif
5745f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian
5755f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(ENABLE_WORKERS) && ENABLE_WORKERS
5765f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        attribute [JSCCustomGetter] WorkerConstructor Worker; // Usable with the new operator
5778f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian#endif
5788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#if defined(ENABLE_SHARED_WORKERS) && ENABLE_SHARED_WORKERS
580cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        attribute [JSCCustomGetter, EnabledAtRuntime] SharedWorkerConstructor SharedWorker; // Usable with the new operator
5810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#endif
5820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
583231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#if defined(ENABLE_WEB_SOCKETS) && ENABLE_WEB_SOCKETS
584cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        attribute [JSCCustomGetter,EnabledAtRuntime] WebSocketConstructor WebSocket; // Usable with the new operator
585231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif
586231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
587e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke        attribute DOMPluginConstructor Plugin;
588e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke        attribute DOMPluginArrayConstructor PluginArray;
589635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
590e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke        attribute DOMMimeTypeConstructor MimeType;
591e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke        attribute DOMMimeTypeArrayConstructor MimeTypeArray;
592635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
5938f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        attribute ClientRectConstructor ClientRect;
5948f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian        attribute ClientRectListConstructor ClientRectList;
5958f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian
5965f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
5978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute StorageConstructor Storage;
5988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute StorageEventConstructor StorageEvent;
5998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
6008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
601cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        attribute [CustomGetter, Conditional=VIDEO, EnabledAtRuntime] HTMLAudioElementConstructor Audio; // Usable with the new operator
602cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        attribute [Conditional=VIDEO, EnabledAtRuntime] HTMLAudioElementConstructor HTMLAudioElement;
603cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        attribute [Conditional=VIDEO, EnabledAtRuntime] HTMLMediaElementConstructor HTMLMediaElement;
604cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        attribute [Conditional=VIDEO, EnabledAtRuntime] HTMLVideoElementConstructor HTMLVideoElement;
605cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        attribute [Conditional=VIDEO, EnabledAtRuntime] MediaErrorConstructor MediaError;
606e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke        attribute [Conditional=VIDEO, EnabledAtRuntime] TimeRangesConstructor TimeRanges;
6078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6082bde8e466a4451c7319e3a072d118917957d6554Steve Block        attribute WebKitAnimationConstructor WebKitAnimation;
6092bde8e466a4451c7319e3a072d118917957d6554Steve Block        attribute WebKitAnimationListConstructor WebKitAnimationList;
6102bde8e466a4451c7319e3a072d118917957d6554Steve Block
6115f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(ENABLE_XPATH) && ENABLE_XPATH
6128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute XPathEvaluatorConstructor XPathEvaluator;
6138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute XPathResultConstructor XPathResult;
6148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute XPathExceptionConstructor XPathException;
6158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
6168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6175f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(ENABLE_SVG) && ENABLE_SVG
618d0825bca7fe65beaee391d30da42e937db621564Steve Block        // Expose all implemented SVG 1.1 interfaces, excluding the SVG MI interfaces:
619d0825bca7fe65beaee391d30da42e937db621564Steve Block        // SVGAnimatedPathData, SVGAnimatedPoints, SVGExternalResourcesRequired,
620d0825bca7fe65beaee391d30da42e937db621564Steve Block        // SVGFilterPrimitiveStandardAttributes, SVGFitToViewBox, SVGLangSpace, SVGLocatable
621d0825bca7fe65beaee391d30da42e937db621564Steve Block        // SVGStylable, SVGTests, SVGTransformable, SVGURIReference, SVGZoomAndPan
622d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAElementConstructor SVGAElement;
6238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGAngleConstructor SVGAngle;
624d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedAngleConstructor SVGAnimatedAngle;
625d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedBooleanConstructor SVGAnimatedBoolean;
626d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedEnumerationConstructor SVGAnimatedEnumeration;
627d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedIntegerConstructor SVGAnimatedInteger;
628d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedLengthConstructor SVGAnimatedLength;
629d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedLengthListConstructor SVGAnimatedLengthList;
630d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedNumberConstructor SVGAnimatedNumber;
631d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedNumberListConstructor SVGAnimatedNumberList;
632d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedPreserveAspectRatioConstructor SVGAnimatedPreserveAspectRatio;
633d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedRectConstructor SVGAnimatedRect;
634d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedStringConstructor SVGAnimatedString;
635d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimatedTransformListConstructor SVGAnimatedTransformList;
636d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGCircleElementConstructor SVGCircleElement;
637d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGClipPathElementConstructor SVGClipPathElement;
6388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGColorConstructor SVGColor;
639d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGCursorElementConstructor SVGCursorElement;
6408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//      attribute SVGCSSRuleConstructor SVGCSSRule;
641d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGDefsElementConstructor SVGDefsElement;
642d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGDescElementConstructor SVGDescElement;
643d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGDocumentConstructor SVGDocument;
644d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGElementConstructor SVGElement;
645d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGElementInstanceConstructor SVGElementInstance;
646d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGElementInstanceListConstructor SVGElementInstanceList;
647d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGEllipseElementConstructor SVGEllipseElement;
6488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGExceptionConstructor SVGException;
649d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGGElementConstructor SVGGElement;
6508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGGradientElementConstructor SVGGradientElement;
651d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGImageElementConstructor SVGImageElement;
6528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGLengthConstructor SVGLength;
653d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGLengthListConstructor SVGLengthList;
654d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGLinearGradientElementConstructor SVGLinearGradientElement;
655d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGLineElementConstructor SVGLineElement;
6568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGMarkerElementConstructor SVGMarkerElement;
657d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGMaskElementConstructor SVGMaskElement;
658d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGMatrixConstructor SVGMatrix;
659d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGMetadataElementConstructor SVGMetadataElement;
660d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGNumberConstructor SVGNumber;
661d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGNumberListConstructor SVGNumberList;
6628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGPaintConstructor SVGPaint;
663d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathElementConstructor SVGPathElement;
6648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGPathSegConstructor SVGPathSeg;
665d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegArcAbsConstructor SVGPathSegArcAbs;
666d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegArcRelConstructor SVGPathSegArcRel;
667d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegClosePathConstructor SVGPathSegClosePath;
668d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegCurvetoCubicAbsConstructor SVGPathSegCurvetoCubicAbs;
669d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegCurvetoCubicRelConstructor SVGPathSegCurvetoCubicRel;
670d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegCurvetoCubicSmoothAbsConstructor SVGPathSegCurvetoCubicSmoothAbs;
671d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegCurvetoCubicSmoothRelConstructor SVGPathSegCurvetoCubicSmoothRel;
672d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegCurvetoQuadraticAbsConstructor SVGPathSegCurvetoQuadraticAbs;
673d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegCurvetoQuadraticRelConstructor SVGPathSegCurvetoQuadraticRel;
674d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegCurvetoQuadraticSmoothAbsConstructor SVGPathSegCurvetoQuadraticSmoothAbs;
675d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegCurvetoQuadraticSmoothRelConstructor SVGPathSegCurvetoQuadraticSmoothRel;
676d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegLinetoAbsConstructor SVGPathSegLinetoAbs;
677d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegLinetoHorizontalAbsConstructor SVGPathSegLinetoHorizontalAbs;
678d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegLinetoHorizontalRelConstructor SVGPathSegLinetoHorizontalRel;
679d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegLinetoRelConstructor SVGPathSegLinetoRel;
680d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegLinetoVerticalAbsConstructor SVGPathSegLinetoVerticalAbs;
681d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegLinetoVerticalRelConstructor SVGPathSegLinetoVerticalRel;
682d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegListConstructor SVGPathSegList;
683d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegMovetoAbsConstructor SVGPathSegMovetoAbs;
684d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPathSegMovetoRelConstructor SVGPathSegMovetoRel;
685d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPatternElementConstructor SVGPatternElement;
686d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPointConstructor SVGPoint;
687d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPointListConstructor SVGPointList;
688d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPolygonElementConstructor SVGPolygonElement;
689d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGPolylineElementConstructor SVGPolylineElement;
6908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGPreserveAspectRatioConstructor SVGPreserveAspectRatio;
691d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGRadialGradientElementConstructor SVGRadialGradientElement;
692d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGRectConstructor SVGRect;
693d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGRectElementConstructor SVGRectElement;
6948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGRenderingIntentConstructor SVGRenderingIntent;
695d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGScriptElementConstructor SVGScriptElement;
696d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGStopElementConstructor SVGStopElement;
697d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGStringListConstructor SVGStringList;
698d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGStyleElementConstructor SVGStyleElement;
699d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGSVGElementConstructor SVGSVGElement;
700d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGSwitchElementConstructor SVGSwitchElement;
701d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGSymbolElementConstructor SVGSymbolElement;
7028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGTextContentElementConstructor SVGTextContentElement;
703d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGTextElementConstructor SVGTextElement;
7048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGTextPathElementConstructor SVGTextPathElement;
705d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGTextPositioningElementConstructor SVGTextPositioningElement;
706d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGTitleElementConstructor SVGTitleElement;
7078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGTransformConstructor SVGTransform;
708d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGTransformListConstructor SVGTransformList;
709d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGTRefElementConstructor SVGTRefElement;
710d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGTSpanElementConstructor SVGTSpanElement;
7118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGUnitTypesConstructor SVGUnitTypes;
712d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGUseElementConstructor SVGUseElement;
713d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGViewElementConstructor SVGViewElement;
714d0825bca7fe65beaee391d30da42e937db621564Steve Block//      attribute SVGViewSpecConstructor SVGViewSpec;
715d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGZoomEventConstructor SVGZoomEvent;
716d0825bca7fe65beaee391d30da42e937db621564Steve Block
717d0825bca7fe65beaee391d30da42e937db621564Steve Block#if defined(ENABLE_SVG_ANIMATION) && ENABLE_SVG_ANIMATION
718d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimateColorElementConstructor SVGAnimateColorElement;
719d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimateElementConstructor SVGAnimateElement;
720d0825bca7fe65beaee391d30da42e937db621564Steve Block//      attribute SVGAnimateMotionElementConstructor SVGAnimateMotionElement;
721d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAnimateTransformElementConstructor SVGAnimateTransformElement;
722d0825bca7fe65beaee391d30da42e937db621564Steve Block//      attribute SVGMPathElementConstructor SVGMPathElement;
723d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGSetElementConstructor SVGSetElement;
724d0825bca7fe65beaee391d30da42e937db621564Steve Block#endif
725d0825bca7fe65beaee391d30da42e937db621564Steve Block
7262bde8e466a4451c7319e3a072d118917957d6554Steve Block#if defined(ENABLE_SVG_FONTS) && ENABLE_SVG_FONTS
727d0825bca7fe65beaee391d30da42e937db621564Steve Block//      attribute SVGAltGlyphDefElementConstructor SVGAltGlyphDefElement;
728d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGAltGlyphElementConstructor SVGAltGlyphElement;
729d0825bca7fe65beaee391d30da42e937db621564Steve Block//      attribute SVGAltGlyphItemElementConstructor SVGAltGlyphItemElement;
730d0825bca7fe65beaee391d30da42e937db621564Steve Block//      attribute SVGDefinitionSrcElementConstructor SVGDefinitionSrcElement;
731d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFontElementConstructor SVGFontElement;
732d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFontFaceElementConstructor SVGFontFaceElement;
733d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFontFaceFormatElementConstructor SVGFontFaceFormatElement;
734d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFontFaceNameElementConstructor SVGFontFaceNameElement;
735d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFontFaceSrcElementConstructor SVGFontFaceSrcElement;
736d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFontFaceUriElementConstructor SVGFontFaceUriElement;
737d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGGlyphElementConstructor SVGGlyphElement;
738d0825bca7fe65beaee391d30da42e937db621564Steve Block//      attribute SVGGlyphRefElementConstructor SVGGlyphRefElement;
7396c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen        attribute SVGHKernElementConstructor SVGHKernElement;
740d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGMissingGlyphElementConstructor SVGMissingGlyphElement;
7416c2af9490927c3c5959b5cb07461b646f8b32f6cKristian Monsen        attribute SVGVKernElementConstructor SVGVKernElement;
742d0825bca7fe65beaee391d30da42e937db621564Steve Block#endif
743d0825bca7fe65beaee391d30da42e937db621564Steve Block
744d0825bca7fe65beaee391d30da42e937db621564Steve Block#if defined(ENABLE_SVG_FOREIGN_OBJECT) && ENABLE_SVG_FOREIGN_OBJECT
745d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGForeignObjectElementConstructor SVGForeignObjectElement;
746d0825bca7fe65beaee391d30da42e937db621564Steve Block#endif
7478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7485f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(ENABLE_FILTERS) && ENABLE_FILTERS
7498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGComponentTransferFunctionElementConstructor SVGComponentTransferFunctionElement;
7508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGFEBlendElementConstructor SVGFEBlendElement;
7518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGFEColorMatrixElementConstructor SVGFEColorMatrixElement;
752d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEComponentTransferElementConstructor SVGFEComponentTransferElement;
7538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGFECompositeElementConstructor SVGFECompositeElement;
754ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block        attribute SVGFEConvolveMatrixElementConstructor SVGFEConvolveMatrixElement;
755d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEDiffuseLightingElementConstructor SVGFEDiffuseLightingElement;
7568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGFEDisplacementMapElementConstructor SVGFEDisplacementMapElement;
757d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEDistantLightElementConstructor SVGFEDistantLightElement;
758d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEFloodElementConstructor SVGFEFloodElement;
759d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEFuncAElementConstructor SVGFEFuncAElement;
760d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEFuncBElementConstructor SVGFEFuncBElement;
761d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEFuncGElementConstructor SVGFEFuncGElement;
762d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEFuncRElementConstructor SVGFEFuncRElement;
763d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEGaussianBlurElementConstructor SVGFEGaussianBlurElement;
764d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEImageElementConstructor SVGFEImageElement;
765d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEMergeElementConstructor SVGFEMergeElement;
766d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEMergeNodeElementConstructor SVGFEMergeNodeElement;
767cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        attribute SVGFEMorphologyElementConstructor SVGFEMorphologyElement;
768d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEOffsetElementConstructor SVGFEOffsetElement;
769d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFEPointLightElementConstructor SVGFEPointLightElement;
770d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFESpecularLightingElementConstructor SVGFESpecularLightingElement;
771d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFESpotLightElementConstructor SVGFESpotLightElement;
772d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFETileElementConstructor SVGFETileElement;
7738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        attribute SVGFETurbulenceElementConstructor SVGFETurbulenceElement;
774d0825bca7fe65beaee391d30da42e937db621564Steve Block        attribute SVGFilterElementConstructor SVGFilterElement;
7758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
7765f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#endif
7778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7780617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        attribute [Conditional=DATABASE] SQLExceptionConstructor SQLException;
77906ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen
780dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        attribute [Conditional=TOUCH_EVENTS] TouchEventConstructor TouchEvent;
781dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
782dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        attribute DOMFormDataConstructor FormData;
783f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch
78468513a70bcd92384395513322f1b801e7bf9c729Steve Block        attribute [Conditional=BLOB|FILE_SYSTEM] FileErrorConstructor FileError;
785dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch        attribute [Conditional=BLOB] FileReaderConstructor FileReader;
78621939df44de1705786c545cd1bf519d47250322dBen Murdoch
7872daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        attribute [Conditional=BLOB] WebKitBlobBuilderConstructor WebKitBlobBuilder;
78806ea8e899e48f1f2f396b70e63fae369f2f23232Kristian Monsen
78965f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch        readonly attribute [Conditional=BLOB] DOMURL webkitURL;
7905ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen
7912daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#if defined(ENABLE_QUOTA) && ENABLE_QUOTA
7922daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        readonly attribute [EnabledAtRuntime=Quota] StorageInfo webkitStorageInfo;
7932daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch#endif
7942daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch
7958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif // defined(LANGUAGE_JAVASCRIPT)
7968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7975f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian#if defined(V8_BINDING) && V8_BINDING
7985f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        // window.toString() requires special handling in V8
7995f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian        [V8DoNotCheckSignature, DoNotCheckDomainSecurity, Custom, DontEnum] DOMString toString();
8008f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian#endif // defined(V8_BINDING)
8015f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian    };
8028f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian
8035f1ab04193ad0130ca8204aadaceae083aca9881Feng Qian}
804ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block
805