Update IDL to Chrome 32
TBR=blois@google.com,efortuna@google.com
Review URL: https://codereview.chromium.org//126143003
git-svn-id: http://dart.googlecode.com/svn/third_party/WebCore@31553 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/core/README b/core/README
index 031dfa4..8f88f7d 100644
--- a/core/README
+++ b/core/README
@@ -5,5 +5,5 @@
using the script: $DART_ROOT/sdk/lib/html/scripts/idlsync.py
The current version corresponds to:
-URL: http://src.chromium.org/multivm/trunk/webkit
-Current revision: 1467
+URL: http://src.chromium.org/blink/branches/dart/1700
+Current revision: 164530
diff --git a/core/css/CSSFontFaceLoadEvent.idl b/core/css/CSSFontFaceLoadEvent.idl
index 7ab2522..b77706c 100644
--- a/core/css/CSSFontFaceLoadEvent.idl
+++ b/core/css/CSSFontFaceLoadEvent.idl
@@ -31,7 +31,7 @@
// FIXME: Make this constructable from Javascript
[
NoInterfaceObject,
- EnabledAtRuntime=FontLoadEvents,
+ RuntimeEnabled=FontLoadEvents,
] interface CSSFontFaceLoadEvent : Event {
readonly attribute FontFace[] fontfaces;
};
diff --git a/core/css/CSSRule.idl b/core/css/CSSRule.idl
index 94ce538..2489d2d 100644
--- a/core/css/CSSRule.idl
+++ b/core/css/CSSRule.idl
@@ -37,8 +37,8 @@
const unsigned short KEYFRAME_RULE = 8;
const unsigned short WEBKIT_KEYFRAME_RULE = 8;
const unsigned short SUPPORTS_RULE = 12;
- [EnabledAtRuntime=CSSViewport] const unsigned short VIEWPORT_RULE = 15;
- [EnabledAtRuntime=CSSRegions] const unsigned short WEBKIT_REGION_RULE = 16;
+ [RuntimeEnabled=CSSViewport] const unsigned short VIEWPORT_RULE = 15;
+ [RuntimeEnabled=CSSRegions] const unsigned short WEBKIT_REGION_RULE = 16;
const unsigned short WEBKIT_FILTER_RULE = 17;
const unsigned short HOST_RULE = 1001;
diff --git a/core/css/CSSStyleDeclaration.idl b/core/css/CSSStyleDeclaration.idl
index 4f1bdf6..649a579 100644
--- a/core/css/CSSStyleDeclaration.idl
+++ b/core/css/CSSStyleDeclaration.idl
@@ -37,6 +37,6 @@
[Custom, CustomEnumerateProperty] getter (DOMString or float) (DOMString name);
[Custom] setter void (DOMString propertyName, [TreatNullAs=NullString] DOMString propertyValue);
readonly attribute CSSRule parentRule;
- [EnabledAtRuntime=CSSVariables] readonly attribute CSSVariablesMap var;
+ [RuntimeEnabled=CSSVariables] readonly attribute CSSVariablesMap var;
};
diff --git a/core/css/CSSStyleSheet.idl b/core/css/CSSStyleSheet.idl
index 986303a..06ca95b 100644
--- a/core/css/CSSStyleSheet.idl
+++ b/core/css/CSSStyleSheet.idl
@@ -25,7 +25,7 @@
readonly attribute CSSRule ownerRule;
readonly attribute CSSRuleList cssRules;
- [RaisesException] unsigned long insertRule(DOMString rule, unsigned long index);
+ [RaisesException] unsigned long insertRule(DOMString rule, optional unsigned long index);
[RaisesException] void deleteRule(unsigned long index);
// IE Extensions
diff --git a/core/css/CSSVariablesMap.idl b/core/css/CSSVariablesMap.idl
index b6ab78a..3c88025 100644
--- a/core/css/CSSVariablesMap.idl
+++ b/core/css/CSSVariablesMap.idl
@@ -32,4 +32,5 @@
[RaisesException] void set(DOMString name, DOMString value);
[ImplementedAs=remove] boolean delete(DOMString name);
[RaisesException] void clear();
+ void forEach(CSSVariablesMapForEachCallback callback, optional any thisArg);
};
diff --git a/core/dom/ErrorEvent.idl b/core/css/CSSVariablesMapForEachCallback.idl
similarity index 64%
copy from core/dom/ErrorEvent.idl
copy to core/css/CSSVariablesMapForEachCallback.idl
index 33f0239..d66eb61 100644
--- a/core/dom/ErrorEvent.idl
+++ b/core/css/CSSVariablesMapForEachCallback.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2013 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -11,9 +11,6 @@
* copyright notice, this list of conditions and the following disclaimer
* in the documentation and/or other materials provided with the
* distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
@@ -28,13 +25,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-[
- ConstructorTemplate=Event
-] interface ErrorEvent : Event {
- [InitializedByEventConstructor] readonly attribute DOMString message;
- [InitializedByEventConstructor] readonly attribute DOMString filename;
- [InitializedByEventConstructor] readonly attribute unsigned long lineno;
- [InitializedByEventConstructor] readonly attribute unsigned long colno;
- [InitializedByEventConstructor, Custom, Unserializable] readonly attribute any error;
+callback interface CSSVariablesMapForEachCallback {
+ [CallWith=ThisValue] boolean handleItem(DOMString value, DOMString name, CSSVariablesMap map);
+ boolean handleItem(DOMString value, DOMString name, CSSVariablesMap map);
};
-
diff --git a/core/dom/ErrorEvent.idl b/core/css/DocumentFontFaceSet.idl
similarity index 74%
copy from core/dom/ErrorEvent.idl
copy to core/css/DocumentFontFaceSet.idl
index 33f0239..820fdc8 100644
--- a/core/dom/ErrorEvent.idl
+++ b/core/css/DocumentFontFaceSet.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2013 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -28,13 +28,6 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-[
- ConstructorTemplate=Event
-] interface ErrorEvent : Event {
- [InitializedByEventConstructor] readonly attribute DOMString message;
- [InitializedByEventConstructor] readonly attribute DOMString filename;
- [InitializedByEventConstructor] readonly attribute unsigned long lineno;
- [InitializedByEventConstructor] readonly attribute unsigned long colno;
- [InitializedByEventConstructor, Custom, Unserializable] readonly attribute any error;
+partial interface Document {
+ [RuntimeEnabled=FontLoadEvents] readonly attribute FontFaceSet fonts;
};
-
diff --git a/core/css/FontFace.idl b/core/css/FontFace.idl
index a66872b..874872f 100644
--- a/core/css/FontFace.idl
+++ b/core/css/FontFace.idl
@@ -36,7 +36,7 @@
};
[
- EnabledAtRuntime=FontLoadEvents,
+ RuntimeEnabled=FontLoadEvents,
Constructor(DOMString family, DOMString source, Dictionary descriptors),
ConstructorRaisesException
] interface FontFace {
diff --git a/core/css/FontFaceSet.idl b/core/css/FontFaceSet.idl
index 9fe5d56..daa2e8e 100644
--- a/core/css/FontFaceSet.idl
+++ b/core/css/FontFaceSet.idl
@@ -32,7 +32,7 @@
[
NoInterfaceObject,
- EnabledAtRuntime=FontLoadEvents,
+ RuntimeEnabled=FontLoadEvents,
ActiveDOMObject,
GenerateIsReachable=document
] interface FontFaceSet : EventTarget {
@@ -43,8 +43,8 @@
[RaisesException] sequence<FontFace> match(DOMString font, [Default=NullString] optional DOMString text);
[RaisesException] boolean check(DOMString font, [Default=NullString] optional DOMString text);
- [EnabledAtRuntime=Promise, RaisesException] Promise load(DOMString font, [Default=NullString] optional DOMString text);
- [EnabledAtRuntime=Promise] Promise ready();
+ [RaisesException] Promise load(DOMString font, [Default=NullString] optional DOMString text);
+ Promise ready();
readonly attribute FontFaceSetLoadStatus status;
};
diff --git a/core/css/WebKitCSSRegionRule.idl b/core/css/WebKitCSSRegionRule.idl
index ad91ce0..6811344 100644
--- a/core/css/WebKitCSSRegionRule.idl
+++ b/core/css/WebKitCSSRegionRule.idl
@@ -28,7 +28,7 @@
*/
[
- EnabledAtRuntime=CSSRegions,
+ RuntimeEnabled=CSSRegions,
ImplementedAs=CSSRegionRule
] interface WebKitCSSRegionRule : CSSRule {
readonly attribute CSSRuleList cssRules;
diff --git a/core/dom/Attr.idl b/core/dom/Attr.idl
index 0dcdb02..8494da4 100644
--- a/core/dom/Attr.idl
+++ b/core/dom/Attr.idl
@@ -24,17 +24,17 @@
[TreatReturnedNullStringAs=Null] readonly attribute DOMString name;
- readonly attribute boolean specified;
+ [MeasureAs=AttributeSpecified] readonly attribute boolean specified;
- [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, SetterRaisesException, CustomElementCallbacks=Enable] attribute DOMString value;
+ [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, SetterRaisesException, CustomElementCallbacks] attribute DOMString value;
// DOM Level 2
- readonly attribute Element ownerElement;
+ [MeasureAs=AttributeOwnerElement] readonly attribute Element ownerElement;
// DOM Level 3
- readonly attribute boolean isId;
+ [MeasureAs=AttributeIsId] readonly attribute boolean isId;
// DOM 4
diff --git a/core/dom/ChildNode.idl b/core/dom/ChildNode.idl
index 8a0be4d..21441f6 100644
--- a/core/dom/ChildNode.idl
+++ b/core/dom/ChildNode.idl
@@ -26,6 +26,6 @@
] interface ChildNode {
[PerWorldBindings] readonly attribute Element previousElementSibling;
[PerWorldBindings] readonly attribute Element nextElementSibling;
- [RaisesException, CustomElementCallbacks=Enable] void remove();
+ [RaisesException, CustomElementCallbacks] void remove();
};
diff --git a/core/dom/Clipboard.idl b/core/dom/Clipboard.idl
index 82453c7..695f70d 100644
--- a/core/dom/Clipboard.idl
+++ b/core/dom/Clipboard.idl
@@ -30,13 +30,13 @@
] interface Clipboard {
[TreatReturnedNullStringAs=Undefined] attribute DOMString dropEffect;
[TreatReturnedNullStringAs=Undefined] attribute DOMString effectAllowed;
- [CustomGetter] readonly attribute Array types;
+ readonly attribute DOMString[] types;
readonly attribute FileList files;
- [Custom, RaisesException] void clearData(optional DOMString type);
+ void clearData(optional DOMString type);
DOMString getData(DOMString type);
boolean setData(DOMString type, DOMString data);
- [Custom, RaisesException] void setDragImage(HTMLImageElement image, long x, long y);
+ [RaisesException] void setDragImage(Element image, long x, long y);
readonly attribute DataTransferItemList items;
};
diff --git a/core/dom/DOMTokenList.idl b/core/dom/DOMTokenList.idl
index 3f16677..9aef382 100644
--- a/core/dom/DOMTokenList.idl
+++ b/core/dom/DOMTokenList.idl
@@ -28,9 +28,9 @@
readonly attribute unsigned long length;
[TreatReturnedNullStringAs=Null] getter DOMString item(unsigned long index);
[RaisesException] boolean contains(DOMString token);
- [RaisesException, CustomElementCallbacks=Enable] void add(DOMString... tokens);
- [RaisesException, CustomElementCallbacks=Enable] void remove(DOMString... tokens);
- [RaisesException, CustomElementCallbacks=Enable] boolean toggle(DOMString token, optional boolean force);
+ [RaisesException, CustomElementCallbacks] void add(DOMString... tokens);
+ [RaisesException, CustomElementCallbacks] void remove(DOMString... tokens);
+ [RaisesException, CustomElementCallbacks] boolean toggle(DOMString token, optional boolean force);
[NotEnumerable] DOMString toString();
};
diff --git a/core/dom/DataTransferItem.idl b/core/dom/DataTransferItem.idl
index 7a3327f..8499652 100644
--- a/core/dom/DataTransferItem.idl
+++ b/core/dom/DataTransferItem.idl
@@ -34,7 +34,7 @@
readonly attribute DOMString kind;
readonly attribute DOMString type;
- void getAsString(StringCallback? callback);
+ [CallWith=ExecutionContext] void getAsString(StringCallback? callback);
Blob getAsFile();
};
diff --git a/core/dom/Document.idl b/core/dom/Document.idl
index a18606d..ba1e205 100644
--- a/core/dom/Document.idl
+++ b/core/dom/Document.idl
@@ -21,7 +21,7 @@
callback CustomElementConstructor = Element ();
[
- CustomToV8
+ SpecialWrapFor=HTMLDocument|SVGDocument
] interface Document : Node {
// DOM Level 1 Core
@@ -29,7 +29,7 @@
readonly attribute DOMImplementation implementation;
readonly attribute Element documentElement;
- [CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Element createElement([TreatNullAs=NullString,Default=Undefined] optional DOMString tagName);
+ [CustomElementCallbacks, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, RaisesException] Element createElement([TreatNullAs=NullString,Default=Undefined] optional DOMString tagName);
DocumentFragment createDocumentFragment();
[PerWorldBindings] Text createTextNode([Default=Undefined] optional DOMString data);
Comment createComment([Default=Undefined] optional DOMString data);
@@ -41,9 +41,9 @@
// Introduced in DOM Level 2:
- [CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Node importNode([Default=Undefined] optional Node importedNode,
+ [CustomElementCallbacks, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, RaisesException] Node importNode([Default=Undefined] optional Node importedNode,
optional boolean deep);
- [CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Element createElementNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [CustomElementCallbacks, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, RaisesException] Element createElementNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
[TreatNullAs=NullString,Default=Undefined] optional DOMString qualifiedName);
[RaisesException, MeasureAs=DocumentCreateAttributeNS] Attr createAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
[TreatNullAs=NullString,Default=Undefined] optional DOMString qualifiedName); // Removed from DOM4.
@@ -59,7 +59,7 @@
[TreatReturnedNullStringAs=Null, TreatNullAs=NullString, SetterRaisesException, MeasureAs=DocumentXMLVersion] attribute DOMString xmlVersion; // Removed from DOM4.
[SetterRaisesException, MeasureAs=DocumentXMLStandalone] attribute boolean xmlStandalone; // Removed from DOM4.
- [RaisesException, CustomElementCallbacks=Enable] Node adoptNode([Default=Undefined] optional Node source);
+ [RaisesException, CustomElementCallbacks] Node adoptNode([Default=Undefined] optional Node source);
[TreatReturnedNullStringAs=Null] readonly attribute DOMString documentURI;
@@ -86,7 +86,7 @@
// DOM Level 2 Abstract Views (DocumentView interface)
- readonly attribute Window defaultView;
+ [ImplementedAs=domWindow] readonly attribute Window defaultView;
// DOM Level 2 Style (DocumentStyle interface)
@@ -98,7 +98,7 @@
[Default=Undefined] optional DOMString pseudoElement);
// Common extensions
- [CustomElementCallbacks=Enable]
+ [CustomElementCallbacks]
boolean execCommand([Default=Undefined] optional DOMString command,
[Default=Undefined] optional boolean userInterface,
[TreatNullAs=NullString, TreatUndefinedAs=NullString,Default=Undefined] optional DOMString value);
@@ -111,14 +111,14 @@
// Moved down from HTMLDocument
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString title;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString title;
readonly attribute DOMString referrer;
[TreatNullAs=NullString, SetterRaisesException] attribute DOMString domain;
readonly attribute DOMString URL;
[TreatNullAs=NullString, GetterRaisesException, SetterRaisesException] attribute DOMString cookie;
- [SetterRaisesException, CustomElementCallbacks=Enable] attribute HTMLElement body;
+ [SetterRaisesException, CustomElementCallbacks] attribute HTMLElement body;
readonly attribute HTMLHeadElement head;
readonly attribute HTMLCollection images;
@@ -130,7 +130,7 @@
[PerWorldBindings] NodeList getElementsByName([Default=Undefined] optional DOMString elementName);
- [Custom, Replaceable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] readonly attribute Location location;
+ [PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, PutForwards=href] readonly attribute Location location;
// IE extensions
[MeasureAs=DocumentCharset, TreatReturnedNullStringAs=Undefined, TreatNullAs=NullString] attribute DOMString charset;
@@ -165,90 +165,31 @@
void webkitExitPointerLock();
readonly attribute Element webkitPointerLockElement;
- [EnabledAtRuntime=CSSRegions] WebKitNamedFlowCollection webkitGetNamedFlows();
+ [RuntimeEnabled=CSSRegions] WebKitNamedFlowCollection webkitGetNamedFlows();
- [EnabledAtRuntime=FontLoadEvents] readonly attribute FontFaceSet fonts;
+ // Event handler attributes
+ attribute EventHandler onbeforecopy;
+ attribute EventHandler onbeforecut;
+ attribute EventHandler onbeforepaste;
+ attribute EventHandler oncopy;
+ attribute EventHandler oncut;
+ attribute EventHandler onpaste;
+ attribute EventHandler onreadystatechange;
+ attribute EventHandler onsearch;
+ [RuntimeEnabled=ExperimentalContentSecurityPolicyFeatures] attribute EventHandler onsecuritypolicyviolation;
+ attribute EventHandler onselectionchange;
+ attribute EventHandler onselectstart;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchcancel;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchend;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchmove;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchstart;
+ attribute EventHandler onwebkitfullscreenchange;
+ attribute EventHandler onwebkitfullscreenerror;
+ attribute EventHandler onwebkitpointerlockchange;
+ attribute EventHandler onwebkitpointerlockerror;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onwheel;
- // Event handler DOM attributes
- [NotEnumerable] attribute EventHandler onabort;
- [NotEnumerable] attribute EventHandler onblur;
- [NotEnumerable] attribute EventHandler onchange;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onclick;
- [NotEnumerable] attribute EventHandler oncontextmenu;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondblclick;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondrag;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragend;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragenter;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragleave;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragover;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragstart;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondrop;
- [NotEnumerable] attribute EventHandler onerror;
- [NotEnumerable] attribute EventHandler onfocus;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler oninput;
- [NotEnumerable] attribute EventHandler oninvalid;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeydown;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeypress;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeyup;
- [NotEnumerable] attribute EventHandler onload;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousedown;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseenter;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseleave;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousemove;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseout;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseover;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseup;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousewheel; // Deprecated in favor of onwheel.
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onwheel;
- [NotEnumerable] attribute EventHandler onreadystatechange;
- [NotEnumerable] attribute EventHandler onscroll;
- [NotEnumerable] attribute EventHandler onselect;
- [NotEnumerable] attribute EventHandler onsubmit;
-
- // attribute [NotEnumerable] EventHandler oncanplay;
- // attribute [NotEnumerable] EventHandler oncanplaythrough;
- // attribute [NotEnumerable] EventHandler ondurationchange;
- // attribute [NotEnumerable] EventHandler onemptied;
- // attribute [NotEnumerable] EventHandler onended;
- // attribute [NotEnumerable] EventHandler onloadeddata;
- // attribute [NotEnumerable] EventHandler onloadedmetadata;
- // attribute [NotEnumerable] EventHandler onloadstart;
- // attribute [NotEnumerable] EventHandler onpause;
- // attribute [NotEnumerable] EventHandler onplay;
- // attribute [NotEnumerable] EventHandler onplaying;
- // attribute [NotEnumerable] EventHandler onprogress;
- // attribute [NotEnumerable] EventHandler onratechange;
- // attribute [NotEnumerable] EventHandler onseeked;
- // attribute [NotEnumerable] EventHandler onseeking;
- // attribute [NotEnumerable] EventHandler onshow;
- // attribute [NotEnumerable] EventHandler onstalled;
- // attribute [NotEnumerable] EventHandler onsuspend;
- // attribute [NotEnumerable] EventHandler ontimeupdate;
- // attribute [NotEnumerable] EventHandler onvolumechange;
- // attribute [NotEnumerable] EventHandler onwaiting;
-
- // WebKit extensions
- [NotEnumerable] attribute EventHandler onbeforecut;
- [NotEnumerable] attribute EventHandler oncut;
- [NotEnumerable] attribute EventHandler onbeforecopy;
- [NotEnumerable] attribute EventHandler oncopy;
- [NotEnumerable] attribute EventHandler onbeforepaste;
- [NotEnumerable] attribute EventHandler onpaste;
- [NotEnumerable] attribute EventHandler onreset;
- [NotEnumerable] attribute EventHandler onsearch;
- [NotEnumerable] attribute EventHandler onselectstart;
- [NotEnumerable] attribute EventHandler onselectionchange;
- [NotEnumerable, EnabledAtRuntime=Touch] attribute EventHandler ontouchstart;
- [NotEnumerable, EnabledAtRuntime=Touch] attribute EventHandler ontouchmove;
- [NotEnumerable, EnabledAtRuntime=Touch] attribute EventHandler ontouchend;
- [NotEnumerable, EnabledAtRuntime=Touch] attribute EventHandler ontouchcancel;
- [NotEnumerable] attribute EventHandler onwebkitfullscreenchange;
- [NotEnumerable] attribute EventHandler onwebkitfullscreenerror;
- [NotEnumerable] attribute EventHandler onwebkitpointerlockchange;
- [NotEnumerable] attribute EventHandler onwebkitpointerlockerror;
- [NotEnumerable, EnabledAtRuntime=ExperimentalContentSecurityPolicyFeatures] attribute EventHandler onsecuritypolicyviolation;
-
- [EnabledAtRuntime=Touch] Touch createTouch([Default=Undefined] optional Window window,
+ [RuntimeEnabled=Touch] Touch createTouch([Default=Undefined] optional Window window,
[Default=Undefined] optional EventTarget target,
[Default=Undefined] optional long identifier,
[Default=Undefined] optional long pageX,
@@ -259,12 +200,12 @@
[Default=Undefined] optional long webkitRadiusY,
[Default=Undefined] optional float webkitRotationAngle,
[Default=Undefined] optional float webkitForce);
- [EnabledAtRuntime=Touch] TouchList createTouchList(Touch... touches);
+ [RuntimeEnabled=Touch] TouchList createTouchList(Touch... touches);
- [DeprecateAs=PrefixedDocumentRegister, EnabledAtRuntime=CustomElements, ImplementedAs=registerElement, CallWith=ScriptState, CustomElementCallbacks=Enable, RaisesException] CustomElementConstructor webkitRegister(DOMString name, optional Dictionary options);
- [EnabledAtRuntime=CustomElements, ImplementedAs=registerElement, CallWith=ScriptState, CustomElementCallbacks=Enable, RaisesException] CustomElementConstructor register(DOMString name, optional Dictionary options);
- [CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Element createElement(DOMString localName, [TreatNullAs=NullString] DOMString typeExtension);
- [CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Element createElementNS([TreatNullAs=NullString] DOMString namespaceURI, DOMString qualifiedName,
+ [DeprecateAs=PrefixedDocumentRegister, RuntimeEnabled=CustomElements, ImplementedAs=registerElement, CallWith=ScriptState, CustomElementCallbacks, RaisesException] CustomElementConstructor webkitRegister(DOMString name, optional Dictionary options);
+ [RuntimeEnabled=CustomElements, ImplementedAs=registerElement, CallWith=ScriptState, CustomElementCallbacks, RaisesException] CustomElementConstructor register(DOMString name, optional Dictionary options);
+ [CustomElementCallbacks, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, RaisesException] Element createElement(DOMString localName, [TreatNullAs=NullString] DOMString typeExtension);
+ [CustomElementCallbacks, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, RaisesException] Element createElementNS([TreatNullAs=NullString] DOMString namespaceURI, DOMString qualifiedName,
[TreatNullAs=NullString] DOMString typeExtension);
// Page visibility API.
@@ -272,10 +213,10 @@
readonly attribute boolean webkitHidden;
// Security Policy API: http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-interfaces
- [EnabledAtRuntime=ExperimentalContentSecurityPolicyFeatures] readonly attribute SecurityPolicy securityPolicy;
+ [RuntimeEnabled=ExperimentalContentSecurityPolicyFeatures] readonly attribute SecurityPolicy securityPolicy;
readonly attribute HTMLScriptElement currentScript;
};
+Document implements GlobalEventHandlers;
Document implements ParentNode;
-
diff --git a/core/dom/DocumentFullscreen.idl b/core/dom/DocumentFullscreen.idl
index 3081eac..561ad80 100644
--- a/core/dom/DocumentFullscreen.idl
+++ b/core/dom/DocumentFullscreen.idl
@@ -20,13 +20,13 @@
*/
partial interface Document {
// Mozilla version
- [EnabledAtRuntime=Fullscreen] readonly attribute boolean webkitIsFullScreen;
- [EnabledAtRuntime=Fullscreen] readonly attribute boolean webkitFullScreenKeyboardInputAllowed;
- [EnabledAtRuntime=Fullscreen] readonly attribute Element webkitCurrentFullScreenElement;
- [EnabledAtRuntime=Fullscreen] void webkitCancelFullScreen();
+ [RuntimeEnabled=Fullscreen] readonly attribute boolean webkitIsFullScreen;
+ [RuntimeEnabled=Fullscreen] readonly attribute boolean webkitFullScreenKeyboardInputAllowed;
+ [RuntimeEnabled=Fullscreen] readonly attribute Element webkitCurrentFullScreenElement;
+ [RuntimeEnabled=Fullscreen] void webkitCancelFullScreen();
// W3C version
- [EnabledAtRuntime=Fullscreen] readonly attribute boolean webkitFullscreenEnabled;
- [EnabledAtRuntime=Fullscreen] readonly attribute Element webkitFullscreenElement;
- [EnabledAtRuntime=Fullscreen] void webkitExitFullscreen();
+ [RuntimeEnabled=Fullscreen] readonly attribute boolean webkitFullscreenEnabled;
+ [RuntimeEnabled=Fullscreen] readonly attribute Element webkitFullscreenElement;
+ [RuntimeEnabled=Fullscreen] void webkitExitFullscreen();
};
diff --git a/core/dom/Element.idl b/core/dom/Element.idl
index 55df834..3a8d2ba 100644
--- a/core/dom/Element.idl
+++ b/core/dom/Element.idl
@@ -19,7 +19,7 @@
*/
[
- CustomToV8
+ SpecialWrapFor=HTMLElement|SVGElement
] interface Element : Node {
// DOM Level 1 Core
@@ -27,12 +27,11 @@
[TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMString tagName;
[TreatReturnedNullStringAs=Null] DOMString getAttribute([Default=Undefined] optional DOMString name);
- [RaisesException, CustomElementCallbacks=Enable] void setAttribute([Default=Undefined] optional DOMString name,
- [Default=Undefined] optional DOMString value);
- [CustomElementCallbacks=Enable] void removeAttribute([Default=Undefined] optional DOMString name);
+ [RaisesException, CustomElementCallbacks] void setAttribute([Default=Undefined] optional DOMString name, [Default=Undefined] optional DOMString value);
+ [CustomElementCallbacks] void removeAttribute([Default=Undefined] optional DOMString name);
[MeasureAs=ElementGetAttributeNode] Attr getAttributeNode([Default=Undefined] optional DOMString name); // Removed from DOM4.
- [RaisesException, CustomElementCallbacks=Enable, MeasureAs=ElementSetAttributeNode] Attr setAttributeNode([Default=Undefined, StrictTypeChecking] optional Attr newAttr); // Removed from DOM4.
- [RaisesException, CustomElementCallbacks=Enable, MeasureAs=ElementRemoveAttributeNode] Attr removeAttributeNode([Default=Undefined, StrictTypeChecking] optional Attr oldAttr); // Removed from DOM4.
+ [RaisesException, CustomElementCallbacks, MeasureAs=ElementSetAttributeNode] Attr setAttributeNode([Default=Undefined, StrictTypeChecking] optional Attr newAttr); // Removed from DOM4.
+ [RaisesException, CustomElementCallbacks, MeasureAs=ElementRemoveAttributeNode] Attr removeAttributeNode([Default=Undefined, StrictTypeChecking] optional Attr oldAttr); // Removed from DOM4.
[PerWorldBindings] NodeList getElementsByTagName([Default=Undefined] optional DOMString name);
[PerWorldBindings] readonly attribute NamedNodeMap attributes;
@@ -40,28 +39,27 @@
// DOM Level 2 Core
- DOMString getAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
- [Default=Undefined] optional DOMString localName);
- [RaisesException, CustomElementCallbacks=Enable] void setAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
- [Default=Undefined] optional DOMString qualifiedName,
- [Default=Undefined] optional DOMString value);
- [CustomElementCallbacks=Enable] void removeAttributeNS([TreatNullAs=NullString] DOMString namespaceURI,
- DOMString localName);
- NodeList getElementsByTagNameNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
- [Default=Undefined] optional DOMString localName);
- [MeasureAs=ElementGetAttributeNodeNS] Attr getAttributeNodeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
- [Default=Undefined] optional DOMString localName); // Removed from DOM4.
- [RaisesException, CustomElementCallbacks=Enable] Attr setAttributeNodeNS([Default=Undefined, StrictTypeChecking] optional Attr newAttr);
+ DOMString getAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [Default=Undefined] optional DOMString localName);
+ [RaisesException, CustomElementCallbacks] void setAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [Default=Undefined] optional DOMString qualifiedName,
+ [Default=Undefined] optional DOMString value);
+ [CustomElementCallbacks] void removeAttributeNS([TreatNullAs=NullString] DOMString namespaceURI, DOMString localName);
+ NodeList getElementsByTagNameNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [Default=Undefined] optional DOMString localName);
+ [MeasureAs=ElementGetAttributeNodeNS] Attr getAttributeNodeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [Default=Undefined] optional DOMString localName); // Removed from DOM4.
+ [RaisesException, CustomElementCallbacks] Attr setAttributeNodeNS([Default=Undefined, StrictTypeChecking] optional Attr newAttr);
boolean hasAttribute(DOMString name);
- boolean hasAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
- [Default=Undefined] optional DOMString localName);
+ boolean hasAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [Default=Undefined] optional DOMString localName);
[PerWorldBindings] readonly attribute CSSStyleDeclaration style;
// DOM4
// iht.com relies on id returning the empty string when no id is present.
// Other browsers do this as well. So we don't convert null to JS null.
- [Reflect] attribute DOMString id;
+ [Reflect, TreatNullAs=NullString] attribute DOMString id;
[TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMString namespaceURI;
[TreatReturnedNullStringAs=Null, TreatNullAs=NullString, PerWorldBindings, SetterRaisesException] attribute DOMString prefix;
[TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMString localName;
@@ -77,8 +75,8 @@
[PerWorldBindings] readonly attribute long clientTop;
[PerWorldBindings] readonly attribute long clientWidth;
[PerWorldBindings] readonly attribute long clientHeight;
- [PerWorldBindings] attribute long scrollLeft;
- [PerWorldBindings] attribute long scrollTop;
+ [PerWorldBindings] attribute long scrollLeft;
+ [PerWorldBindings] attribute long scrollTop;
[PerWorldBindings] readonly attribute long scrollWidth;
[PerWorldBindings] readonly attribute long scrollHeight;
@@ -94,8 +92,10 @@
// HTML 5
NodeList getElementsByClassName([Default=Undefined] optional DOMString name);
+ [TreatNullAs=NullString, CustomElementCallbacks, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds, SetterRaisesException] attribute DOMString innerHTML;
+ [TreatNullAs=NullString, CustomElementCallbacks, SetterRaisesException] attribute DOMString outerHTML;
- [Reflect=class, PerWorldBindings] attribute DOMString className;
+ [Reflect=class, TreatNullAs=NullString, PerWorldBindings] attribute DOMString className;
[PerWorldBindings] readonly attribute DOMTokenList classList;
[PerWorldBindings] readonly attribute DOMStringMap dataset;
@@ -108,13 +108,13 @@
[RaisesException] boolean webkitMatchesSelector([Default=Undefined] optional DOMString selectors);
// Shadow DOM API
- [EnabledAtRuntime=ShadowDOM, Reflect, PerWorldBindings] attribute DOMString pseudo;
- [EnabledAtRuntime=ShadowDOM, RaisesException] ShadowRoot createShadowRoot();
- [EnabledAtRuntime=ShadowDOM, PerWorldBindings] readonly attribute ShadowRoot shadowRoot;
- [EnabledAtRuntime=ShadowDOM, PerWorldBindings] NodeList getDestinationInsertionPoints();
+ [RuntimeEnabled=ShadowDOM, Reflect, TreatNullAs=NullString, PerWorldBindings] attribute DOMString pseudo;
+ [RuntimeEnabled=ShadowDOM, RaisesException] ShadowRoot createShadowRoot();
+ [RuntimeEnabled=ShadowDOM, PerWorldBindings] readonly attribute ShadowRoot shadowRoot;
+ [RuntimeEnabled=ShadowDOM, PerWorldBindings] NodeList getDestinationInsertionPoints();
// To-be-deprecated prefixed Shadow DOM API
- [Reflect=pseudo, ImplementedAs=pseudo, PerWorldBindings, MeasureAs=ShadowDOMPrefixedPseudo] attribute DOMString webkitPseudo;
+ [Reflect=pseudo, TreatNullAs=NullString, ImplementedAs=pseudo, PerWorldBindings, MeasureAs=ShadowDOMPrefixedPseudo] attribute DOMString webkitPseudo;
[ImplementedAs=createShadowRoot, RaisesException, MeasureAs=ShadowDOMPrefixedCreateShadowRoot] ShadowRoot webkitCreateShadowRoot();
[ImplementedAs=shadowRoot, PerWorldBindings, MeasureAs=ShadowDOMPrefixedShadowRoot] readonly attribute ShadowRoot webkitShadowRoot;
@@ -124,91 +124,33 @@
// Mozilla version
const unsigned short ALLOW_KEYBOARD_INPUT = 1;
- [EnabledAtRuntime=Fullscreen, PerWorldBindings, ActivityLog=Access] void webkitRequestFullScreen([Default=Undefined] optional unsigned short flags);
+ [RuntimeEnabled=Fullscreen, PerWorldBindings, ActivityLogging=AccessForAllWorlds, MeasureAs=PrefixedElementRequestFullScreen] void webkitRequestFullScreen([Default=Undefined] optional unsigned short flags);
// W3C version
- [EnabledAtRuntime=Fullscreen, PerWorldBindings, ActivityLog=Access] void webkitRequestFullscreen();
+ [RuntimeEnabled=Fullscreen, PerWorldBindings, ActivityLogging=AccessForAllWorlds, MeasureAs=PrefixedElementRequestFullscreen] void webkitRequestFullscreen();
void webkitRequestPointerLock();
// CSS Regions API
- [EnabledAtRuntime=CSSRegions, PerWorldBindings] readonly attribute DOMString webkitRegionOverset;
- [EnabledAtRuntime=CSSRegions] sequence<Range> webkitGetRegionFlowRanges();
+ [RuntimeEnabled=CSSRegions, PerWorldBindings] readonly attribute DOMString webkitRegionOverset;
+ [RuntimeEnabled=CSSRegions] sequence<Range> webkitGetRegionFlowRanges();
- // Event handler DOM attributes
- [NotEnumerable, PerWorldBindings] attribute EventHandler onabort;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onblur;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onchange;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onclick;
- [NotEnumerable, PerWorldBindings] attribute EventHandler oncontextmenu;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondblclick;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondrag;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragend;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragenter;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragleave;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragover;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragstart;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondrop;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onerror;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onfocus;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler oninput;
- [NotEnumerable, PerWorldBindings] attribute EventHandler oninvalid;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeydown;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeypress;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeyup;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onload;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousedown;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseenter;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseleave;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousemove;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseout;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseover;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseup;
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousewheel; // Deprecated in favor of onwheel.
- [NotEnumerable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onwheel;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onscroll;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onselect;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onsubmit;
-
- // attribute [NotEnumerable] EventHandler oncanplay;
- // attribute [NotEnumerable] EventHandler oncanplaythrough;
- // attribute [NotEnumerable] EventHandler ondurationchange;
- // attribute [NotEnumerable] EventHandler onemptied;
- // attribute [NotEnumerable] EventHandler onended;
- // attribute [NotEnumerable] EventHandler onloadeddata;
- // attribute [NotEnumerable] EventHandler onloadedmetadata;
- // attribute [NotEnumerable] EventHandler onloadstart;
- // attribute [NotEnumerable] EventHandler onpause;
- // attribute [NotEnumerable] EventHandler onplay;
- // attribute [NotEnumerable] EventHandler onplaying;
- // attribute [NotEnumerable] EventHandler onprogress;
- // attribute [NotEnumerable] EventHandler onratechange;
- // attribute [NotEnumerable] EventHandler onreadystatechange;
- // attribute [NotEnumerable] EventHandler onseeked;
- // attribute [NotEnumerable] EventHandler onseeking;
- // attribute [NotEnumerable] EventHandler onshow;
- // attribute [NotEnumerable] EventHandler onstalled;
- // attribute [NotEnumerable] EventHandler onsuspend;
- // attribute [NotEnumerable] EventHandler ontimeupdate;
- // attribute [NotEnumerable] EventHandler onvolumechange;
- // attribute [NotEnumerable] EventHandler onwaiting;
-
- // WebKit extensions
- [NotEnumerable, PerWorldBindings] attribute EventHandler onbeforecut;
- [NotEnumerable, PerWorldBindings] attribute EventHandler oncut;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onbeforecopy;
- [NotEnumerable, PerWorldBindings] attribute EventHandler oncopy;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onbeforepaste;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onpaste;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onreset;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onsearch;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onselectstart;
- [NotEnumerable, EnabledAtRuntime=Touch, PerWorldBindings] attribute EventHandler ontouchstart;
- [NotEnumerable, EnabledAtRuntime=Touch, PerWorldBindings] attribute EventHandler ontouchmove;
- [NotEnumerable, EnabledAtRuntime=Touch, PerWorldBindings] attribute EventHandler ontouchend;
- [NotEnumerable, EnabledAtRuntime=Touch, PerWorldBindings] attribute EventHandler ontouchcancel;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onwebkitfullscreenchange;
- [NotEnumerable, PerWorldBindings] attribute EventHandler onwebkitfullscreenerror;
+ // Event handler attributes
+ attribute EventHandler onbeforecopy;
+ attribute EventHandler onbeforecut;
+ attribute EventHandler onbeforepaste;
+ attribute EventHandler oncopy;
+ attribute EventHandler oncut;
+ attribute EventHandler onpaste;
+ attribute EventHandler onsearch;
+ attribute EventHandler onselectstart;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchcancel;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchend;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchmove;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchstart;
+ attribute EventHandler onwebkitfullscreenchange;
+ attribute EventHandler onwebkitfullscreenerror;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onwheel;
};
Element implements ParentNode;
diff --git a/core/dom/GlobalEventHandlers.idl b/core/dom/GlobalEventHandlers.idl
new file mode 100644
index 0000000..6666780
--- /dev/null
+++ b/core/dom/GlobalEventHandlers.idl
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2013, Opera Software ASA. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Opera Software ASA nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+ NoInterfaceObject
+] interface GlobalEventHandlers {
+ attribute EventHandler onabort;
+ attribute EventHandler onblur;
+ attribute EventHandler oncancel;
+ attribute EventHandler oncanplay;
+ attribute EventHandler oncanplaythrough;
+ attribute EventHandler onchange;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onclick;
+ attribute EventHandler onclose;
+ attribute EventHandler oncontextmenu;
+ attribute EventHandler oncuechange;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler ondblclick;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler ondrag;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler ondragend;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler ondragenter;
+ //[ActivityLogging=SetterForAllWorlds] attribute EventHandler ondragexit;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler ondragleave;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler ondragover;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler ondragstart;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler ondrop;
+ attribute EventHandler ondurationchange;
+ attribute EventHandler onemptied;
+ attribute EventHandler onended;
+ attribute EventHandler onerror;
+ attribute EventHandler onfocus;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler oninput;
+ attribute EventHandler oninvalid;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onkeydown;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onkeypress;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onkeyup;
+ attribute EventHandler onload;
+ attribute EventHandler onloadeddata;
+ attribute EventHandler onloadedmetadata;
+ attribute EventHandler onloadstart;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onmousedown;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onmouseenter;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onmouseleave;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onmousemove;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onmouseout;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onmouseover;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onmouseup;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onmousewheel;
+ attribute EventHandler onpause;
+ attribute EventHandler onplay;
+ attribute EventHandler onplaying;
+ attribute EventHandler onprogress;
+ attribute EventHandler onratechange;
+ attribute EventHandler onreset;
+ attribute EventHandler onscroll;
+ attribute EventHandler onseeked;
+ attribute EventHandler onseeking;
+ attribute EventHandler onselect;
+ attribute EventHandler onshow;
+ //attribute EventHandler onsort;
+ attribute EventHandler onstalled;
+ attribute EventHandler onsubmit;
+ attribute EventHandler onsuspend;
+ attribute EventHandler ontimeupdate;
+ attribute EventHandler onvolumechange;
+ attribute EventHandler onwaiting;
+};
diff --git a/core/dom/NamedNodeMap.idl b/core/dom/NamedNodeMap.idl
index 6169b7a..9c687b7 100644
--- a/core/dom/NamedNodeMap.idl
+++ b/core/dom/NamedNodeMap.idl
@@ -25,9 +25,9 @@
Node getNamedItem([Default=Undefined] optional DOMString name);
[NotEnumerable, ImplementedAs=getNamedItem] getter Node ([Default=Undefined] optional DOMString name);
- [RaisesException, CustomElementCallbacks=Enable] Node setNamedItem([Default=Undefined] optional Node node);
+ [RaisesException, CustomElementCallbacks] Node setNamedItem([Default=Undefined] optional Node node);
- [RaisesException, CustomElementCallbacks=Enable] Node removeNamedItem([Default=Undefined] optional DOMString name);
+ [RaisesException, CustomElementCallbacks] Node removeNamedItem([Default=Undefined] optional DOMString name);
getter Node item([Default=Undefined] optional unsigned long index);
@@ -40,9 +40,9 @@
/*[RaisesException]*/ Node getNamedItemNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
[Default=Undefined] optional DOMString localName);
- [RaisesException, CustomElementCallbacks=Enable] Node setNamedItemNS([Default=Undefined] optional Node node);
+ [RaisesException, CustomElementCallbacks] Node setNamedItemNS([Default=Undefined] optional Node node);
- [RaisesException, CustomElementCallbacks=Enable] Node removeNamedItemNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
+ [RaisesException, CustomElementCallbacks] Node removeNamedItemNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI,
[Default=Undefined] optional DOMString localName);
};
diff --git a/core/dom/Node.idl b/core/dom/Node.idl
index 3d774a2..3e3ec70 100644
--- a/core/dom/Node.idl
+++ b/core/dom/Node.idl
@@ -39,7 +39,7 @@
[TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMString nodeName;
// FIXME: the spec says this can also raise on retrieval.
- [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, PerWorldBindings, CustomElementCallbacks=Enable] attribute DOMString nodeValue;
+ [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, PerWorldBindings, CustomElementCallbacks] attribute DOMString nodeValue;
[PerWorldBindings] readonly attribute unsigned short nodeType;
[PerWorldBindings] readonly attribute Node parentNode;
@@ -50,15 +50,15 @@
[PerWorldBindings] readonly attribute Node nextSibling;
[PerWorldBindings] readonly attribute Document ownerDocument;
- [Custom, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Node insertBefore(Node newChild, Node refChild);
- [Custom, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Node replaceChild(Node newChild, Node oldChild);
- [Custom, PerWorldBindings, RaisesException] Node removeChild(Node oldChild);
- [Custom, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Node appendChild(Node newChild);
+ [Custom, CustomElementCallbacks, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, RaisesException] Node insertBefore(Node newChild, Node refChild);
+ [Custom, CustomElementCallbacks, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, RaisesException] Node replaceChild(Node newChild, Node oldChild);
+ [Custom, CustomElementCallbacks, PerWorldBindings, RaisesException] Node removeChild(Node oldChild);
+ [Custom, CustomElementCallbacks, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, RaisesException] Node appendChild(Node newChild);
boolean hasChildNodes();
- [CustomElementCallbacks=Enable, PerWorldBindings]
+ [CustomElementCallbacks, PerWorldBindings]
Node cloneNode(optional boolean deep);
- [CustomElementCallbacks=Enable] void normalize();
+ [CustomElementCallbacks] void normalize();
// Introduced in DOM Level 2:
[MeasureAs=NodeIsSupported] boolean isSupported([Default=Undefined] optional DOMString feature,
@@ -72,7 +72,7 @@
[TreatReturnedNullStringAs=Null, PerWorldBindings] readonly attribute DOMString baseURI;
// FIXME: the spec says this can also raise on retrieval.
- [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, PerWorldBindings, SetterRaisesException, CustomElementCallbacks=Enable] attribute DOMString textContent;
+ [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, PerWorldBindings, SetterRaisesException, CustomElementCallbacks] attribute DOMString textContent;
[MeasureAs=NodeIsSameNode] boolean isSameNode([Default=Undefined] optional Node other); // Removed in DOM4.
boolean isEqualNode([Default=Undefined] optional Node other);
diff --git a/core/dom/NodeFilter.idl b/core/dom/NodeFilter.idl
index 989099f..58ac22e 100644
--- a/core/dom/NodeFilter.idl
+++ b/core/dom/NodeFilter.idl
@@ -19,6 +19,7 @@
*/
[
+ DependentLifetime
] interface NodeFilter {
// Constants returned by acceptNode
const short FILTER_ACCEPT = 1;
diff --git a/core/dom/NodeIterator.idl b/core/dom/NodeIterator.idl
index 5e52661..9c636c4 100644
--- a/core/dom/NodeIterator.idl
+++ b/core/dom/NodeIterator.idl
@@ -20,7 +20,7 @@
// Introduced in DOM Level 2:
[
- CustomToV8
+ SetReference(NodeFilter filter)
] interface NodeIterator {
readonly attribute Node root;
readonly attribute unsigned long whatToShow;
diff --git a/core/dom/Promise.idl b/core/dom/Promise.idl
index f7fb7ba..77b3976 100644
--- a/core/dom/Promise.idl
+++ b/core/dom/Promise.idl
@@ -33,7 +33,6 @@
[
GlobalContext=Window&WorkerGlobalScope,
CustomConstructor(PromiseInit init),
- EnabledAtRuntime=Promise
] interface Promise {
[Custom] Promise then(optional AnyCallback fulfillCallback, optional AnyCallback rejectCallback);
[Custom] Promise catch(optional AnyCallback rejectCallback);
@@ -41,6 +40,7 @@
[Custom] static Promise resolve(any value);
[Custom] static Promise reject(any value);
- [Custom] static Promise _any(any... values);
- [Custom] static Promise every(any... values);
+ [Custom] static Promise cast(any value);
+ [Custom] static Promise race(any iterable);
+ [Custom] static Promise all(any iterable);
};
diff --git a/core/dom/Range.idl b/core/dom/Range.idl
index 32edd56..42ca334 100644
--- a/core/dom/Range.idl
+++ b/core/dom/Range.idl
@@ -52,11 +52,11 @@
[RaisesException] short compareBoundaryPoints([Default=Undefined] optional CompareHow how,
[Default=Undefined] optional Range sourceRange);
- [RaisesException, CustomElementCallbacks=Enable] void deleteContents();
- [RaisesException, CustomElementCallbacks=Enable] DocumentFragment extractContents();
- [RaisesException, CustomElementCallbacks=Enable] DocumentFragment cloneContents();
- [RaisesException, CustomElementCallbacks=Enable] void insertNode([Default=Undefined] optional Node newNode);
- [RaisesException, CustomElementCallbacks=Enable] void surroundContents([Default=Undefined] optional Node newParent);
+ [RaisesException, CustomElementCallbacks] void deleteContents();
+ [RaisesException, CustomElementCallbacks] DocumentFragment extractContents();
+ [RaisesException, CustomElementCallbacks] DocumentFragment cloneContents();
+ [RaisesException, CustomElementCallbacks] void insertNode([Default=Undefined] optional Node newNode);
+ [RaisesException, CustomElementCallbacks] void surroundContents([Default=Undefined] optional Node newParent);
[RaisesException] Range cloneRange();
[RaisesException] DOMString toString();
@@ -69,7 +69,7 @@
// extensions
- [RaisesException, CustomElementCallbacks=Enable] DocumentFragment createContextualFragment([Default=Undefined] optional DOMString html);
+ [RaisesException, CustomElementCallbacks] DocumentFragment createContextualFragment([Default=Undefined] optional DOMString html);
// WebKit extensions
diff --git a/core/dom/Text.idl b/core/dom/Text.idl
index af7360a..0ee791b 100644
--- a/core/dom/Text.idl
+++ b/core/dom/Text.idl
@@ -30,5 +30,5 @@
[MeasureAs=TextReplaceWholeText] Text replaceWholeText(DOMString content); // Removed from DOM4.
// Shadow DOM API
- [EnabledAtRuntime=ShadowDOM, PerWorldBindings] NodeList getDestinationInsertionPoints();
+ [RuntimeEnabled=ShadowDOM, PerWorldBindings] NodeList getDestinationInsertionPoints();
};
diff --git a/core/dom/TreeWalker.idl b/core/dom/TreeWalker.idl
index dd545b8..ac04ba0 100644
--- a/core/dom/TreeWalker.idl
+++ b/core/dom/TreeWalker.idl
@@ -20,7 +20,7 @@
// Introduced in DOM Level 2:
[
- CustomToV8
+ SetReference(NodeFilter filter)
] interface TreeWalker {
readonly attribute Node root;
readonly attribute unsigned long whatToShow;
diff --git a/core/html/URL.idl b/core/dom/URL.idl
similarity index 78%
rename from core/html/URL.idl
rename to core/dom/URL.idl
index 265f371..37e2a90 100644
--- a/core/html/URL.idl
+++ b/core/dom/URL.idl
@@ -26,9 +26,15 @@
[
GlobalContext=Window&WorkerGlobalScope,
- Constructor,
+ ConstructorRaisesException,
+ Constructor(DOMString url),
+ Constructor(DOMString url, URL base),
+ Constructor(DOMString url, DOMString base),
ImplementedAs=DOMURL
] interface URL {
- [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(Blob? blob);
- [CallWith=ScriptExecutionContext] static void revokeObjectURL(DOMString url);
+ [CallWith=ExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(Blob? blob);
+ [CallWith=ExecutionContext] static void revokeObjectURL(DOMString url);
};
+
+// Force rebuild: crbug.com/307023
+URL implements URLUtils;
diff --git a/core/page/History.idl b/core/dom/URLUtils.idl
similarity index 62%
copy from core/page/History.idl
copy to core/dom/URLUtils.idl
index d20cc89..b4c3e67 100644
--- a/core/page/History.idl
+++ b/core/dom/URLUtils.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2013 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,14 +23,29 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-interface History {
- readonly attribute unsigned long length;
- [Custom] readonly attribute SerializedScriptValue state;
+[
+ NoInterfaceObject,
+ ImplementedAs=DOMURLUtils
+] interface URLUtils {
+ // Special case null for backwards compat with HTMLAnchorElement href.
+ // https://code.google.com/p/chromium/issues/detail?id=304959
+ [TreatNullAs=NullString] attribute DOMString href;
- [CallWith=ScriptExecutionContext] void back();
- [CallWith=ScriptExecutionContext] void forward();
- [CallWith=ScriptExecutionContext] void go([Default=Undefined] optional long distance);
+ [NotEnumerable, ImplementedAs=href] DOMString toString();
- [Custom, EnabledPerContext=pushState, RaisesException] void pushState(any data, DOMString title, optional DOMString url);
- [Custom, EnabledPerContext=pushState, RaisesException] void replaceState(any data, DOMString title, optional DOMString url);
+ readonly attribute DOMString origin;
+ attribute DOMString protocol;
+ attribute DOMString username;
+ attribute DOMString password;
+ attribute DOMString host;
+ attribute DOMString hostname;
+ attribute DOMString port;
+ attribute DOMString pathname;
+ attribute DOMString search;
+
+ // Not yet implemented.
+ // attribute URLQuery? query;
+
+ attribute DOMString hash;
};
+
diff --git a/core/html/track/TextTrackRegionList.idl b/core/dom/URLUtilsReadOnly.idl
similarity index 71%
copy from core/html/track/TextTrackRegionList.idl
copy to core/dom/URLUtilsReadOnly.idl
index 844cd9d..0d36b46 100644
--- a/core/html/track/TextTrackRegionList.idl
+++ b/core/dom/URLUtilsReadOnly.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Google Inc. All rights reserved.
+ * Copyright (C) 2013 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -25,11 +25,17 @@
[
NoInterfaceObject,
- Conditional=WEBVTT_REGIONS,
- EnabledAtRuntime=VideoTrack
-] interface TextTrackRegionList {
- readonly attribute unsigned long length;
- getter TextTrackRegion item(unsigned long index);
- TextTrackRegion getRegionById(DOMString id);
-};
+ ImplementedAs=DOMURLUtilsReadOnly
+] interface URLUtilsReadOnly {
+ readonly attribute DOMString href;
+ [NotEnumerable, ImplementedAs=href] DOMString toString();
+
+ readonly attribute DOMString protocol;
+ readonly attribute DOMString host;
+ readonly attribute DOMString hostname;
+ readonly attribute DOMString port;
+ readonly attribute DOMString pathname;
+ readonly attribute DOMString search;
+ readonly attribute DOMString hash;
+};
diff --git a/core/dom/WebKitNamedFlow.idl b/core/dom/WebKitNamedFlow.idl
index 33cff65..f1185b4 100644
--- a/core/dom/WebKitNamedFlow.idl
+++ b/core/dom/WebKitNamedFlow.idl
@@ -29,7 +29,7 @@
[
NoInterfaceObject,
- EnabledAtRuntime=CSSRegions,
+ RuntimeEnabled=CSSRegions,
ImplementedAs=NamedFlow,
GenerateIsReachable=ownerNode
] interface WebKitNamedFlow : EventTarget {
diff --git a/core/dom/WebKitNamedFlowCollection.idl b/core/dom/WebKitNamedFlowCollection.idl
index 92aec8e..4744e06 100644
--- a/core/dom/WebKitNamedFlowCollection.idl
+++ b/core/dom/WebKitNamedFlowCollection.idl
@@ -29,7 +29,7 @@
[
NoInterfaceObject,
- EnabledAtRuntime=CSSRegions,
+ RuntimeEnabled=CSSRegions,
ImplementedAs=DOMNamedFlowCollection
] interface WebKitNamedFlowCollection {
readonly attribute unsigned long length;
diff --git a/core/dom/shadow/ShadowRoot.idl b/core/dom/shadow/ShadowRoot.idl
index 105c008..fd06913 100644
--- a/core/dom/shadow/ShadowRoot.idl
+++ b/core/dom/shadow/ShadowRoot.idl
@@ -30,9 +30,9 @@
readonly attribute Element activeElement;
attribute boolean applyAuthorStyles;
attribute boolean resetStyleInheritance;
- [EnabledAtRuntime=ShadowDOM, ImplementedAs=bindingsOlderShadowRoot] readonly attribute ShadowRoot olderShadowRoot;
+ [RuntimeEnabled=ShadowDOM, ImplementedAs=bindingsOlderShadowRoot] readonly attribute ShadowRoot olderShadowRoot;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds, SetterRaisesException] attribute DOMString innerHTML;
+ [TreatNullAs=NullString, CustomElementCallbacks, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds, SetterRaisesException] attribute DOMString innerHTML;
[RaisesException] Node cloneNode([Default=Undefined] optional boolean deep);
Selection getSelection();
@@ -44,4 +44,7 @@
Element elementFromPoint([Default=Undefined] optional long x,
[Default=Undefined] optional long y);
+
+ [RuntimeEnabled=ShadowDOM] readonly attribute StyleSheetList styleSheets;
+ [RuntimeEnabled=ShadowDOM] readonly attribute Element host;
};
diff --git a/core/dom/AutocompleteErrorEvent.idl b/core/events/AutocompleteErrorEvent.idl
similarity index 100%
rename from core/dom/AutocompleteErrorEvent.idl
rename to core/events/AutocompleteErrorEvent.idl
diff --git a/core/dom/BeforeLoadEvent.idl b/core/events/BeforeLoadEvent.idl
similarity index 100%
rename from core/dom/BeforeLoadEvent.idl
rename to core/events/BeforeLoadEvent.idl
diff --git a/core/dom/BeforeUnloadEvent.idl b/core/events/BeforeUnloadEvent.idl
similarity index 100%
rename from core/dom/BeforeUnloadEvent.idl
rename to core/events/BeforeUnloadEvent.idl
diff --git a/core/dom/CompositionEvent.idl b/core/events/CompositionEvent.idl
similarity index 100%
rename from core/dom/CompositionEvent.idl
rename to core/events/CompositionEvent.idl
diff --git a/core/dom/CustomEvent.idl b/core/events/CustomEvent.idl
similarity index 95%
rename from core/dom/CustomEvent.idl
rename to core/events/CustomEvent.idl
index 12edaa5..0afe8fe 100644
--- a/core/dom/CustomEvent.idl
+++ b/core/events/CustomEvent.idl
@@ -26,7 +26,7 @@
[
ConstructorTemplate=Event
] interface CustomEvent : Event {
- [InitializedByEventConstructor, Custom] readonly attribute any detail;
+ [CustomGetter, InitializedByEventConstructor] readonly attribute any detail;
[Custom] void initCustomEvent([Default=Undefined] optional DOMString typeArg,
[Default=Undefined] optional boolean canBubbleArg,
diff --git a/core/dom/ErrorEvent.idl b/core/events/ErrorEvent.idl
similarity index 94%
rename from core/dom/ErrorEvent.idl
rename to core/events/ErrorEvent.idl
index 33f0239..1a5d21a 100644
--- a/core/dom/ErrorEvent.idl
+++ b/core/events/ErrorEvent.idl
@@ -35,6 +35,6 @@
[InitializedByEventConstructor] readonly attribute DOMString filename;
[InitializedByEventConstructor] readonly attribute unsigned long lineno;
[InitializedByEventConstructor] readonly attribute unsigned long colno;
- [InitializedByEventConstructor, Custom, Unserializable] readonly attribute any error;
+ [CustomGetter, InitializedByEventConstructor, Unserializable] readonly attribute any error;
};
diff --git a/core/dom/Event.idl b/core/events/Event.idl
similarity index 88%
rename from core/dom/Event.idl
rename to core/events/Event.idl
index 88d704f..49b4914 100644
--- a/core/dom/Event.idl
+++ b/core/events/Event.idl
@@ -59,9 +59,9 @@
void stopPropagation();
void preventDefault();
- void initEvent([Default=Undefined] optional DOMString eventTypeArg,
- [Default=Undefined] optional boolean canBubbleArg,
- [Default=Undefined] optional boolean cancelableArg);
+ void initEvent([Default=Undefined] optional DOMString eventTypeArg,
+ [Default=Undefined] optional boolean canBubbleArg,
+ [Default=Undefined] optional boolean cancelableArg);
// DOM Level 3 Additions.
readonly attribute boolean defaultPrevented;
@@ -72,8 +72,7 @@
[ImplementedAs=legacyReturnValue, DeprecateAs=EventReturnValue] attribute boolean returnValue;
attribute boolean cancelBubble;
- [EnabledAtRuntime=ShadowDOM] readonly attribute NodeList path;
+ [RuntimeEnabled=ShadowDOM] readonly attribute NodeList path;
- [Custom] readonly attribute Clipboard clipboardData;
+ [CustomGetter] readonly attribute Clipboard clipboardData;
};
-
diff --git a/core/dom/EventListener.idl b/core/events/EventListener.idl
similarity index 100%
rename from core/dom/EventListener.idl
rename to core/events/EventListener.idl
diff --git a/core/dom/EventTarget.idl b/core/events/EventTarget.idl
similarity index 100%
rename from core/dom/EventTarget.idl
rename to core/events/EventTarget.idl
diff --git a/core/dom/FocusEvent.idl b/core/events/FocusEvent.idl
similarity index 100%
rename from core/dom/FocusEvent.idl
rename to core/events/FocusEvent.idl
diff --git a/core/dom/HashChangeEvent.idl b/core/events/HashChangeEvent.idl
similarity index 96%
rename from core/dom/HashChangeEvent.idl
rename to core/events/HashChangeEvent.idl
index 470a208..13c83b4 100644
--- a/core/dom/HashChangeEvent.idl
+++ b/core/events/HashChangeEvent.idl
@@ -17,7 +17,7 @@
* Boston, MA 02110-1301, USA.
*/
-// Introduced in http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#event-hashchange
+// Introduced in http://www.whatwg.org/specs/web-apps/current-work/multiframe/History.html#event-hashchange
[
ConstructorTemplate=Event
] interface HashChangeEvent : Event {
diff --git a/core/dom/KeyboardEvent.idl b/core/events/KeyboardEvent.idl
similarity index 96%
rename from core/dom/KeyboardEvent.idl
rename to core/events/KeyboardEvent.idl
index 62dd799..4d980ae 100644
--- a/core/dom/KeyboardEvent.idl
+++ b/core/events/KeyboardEvent.idl
@@ -33,6 +33,7 @@
[InitializedByEventConstructor] readonly attribute boolean shiftKey;
[InitializedByEventConstructor] readonly attribute boolean altKey;
[InitializedByEventConstructor] readonly attribute boolean metaKey;
+ [InitializedByEventConstructor] readonly attribute boolean repeat;
readonly attribute boolean altGraphKey;
boolean getModifierState(DOMString keyArgument);
diff --git a/core/dom/MessageEvent.idl b/core/events/MessageEvent.idl
similarity index 100%
rename from core/dom/MessageEvent.idl
rename to core/events/MessageEvent.idl
diff --git a/core/dom/MouseEvent.idl b/core/events/MouseEvent.idl
similarity index 100%
rename from core/dom/MouseEvent.idl
rename to core/events/MouseEvent.idl
diff --git a/core/dom/MutationEvent.idl b/core/events/MutationEvent.idl
similarity index 100%
rename from core/dom/MutationEvent.idl
rename to core/events/MutationEvent.idl
diff --git a/core/dom/ErrorEvent.idl b/core/events/NavigatorEvents.idl
similarity index 74%
copy from core/dom/ErrorEvent.idl
copy to core/events/NavigatorEvents.idl
index 33f0239..fe899fc 100644
--- a/core/dom/ErrorEvent.idl
+++ b/core/events/NavigatorEvents.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2013 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -28,13 +28,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-[
- ConstructorTemplate=Event
-] interface ErrorEvent : Event {
- [InitializedByEventConstructor] readonly attribute DOMString message;
- [InitializedByEventConstructor] readonly attribute DOMString filename;
- [InitializedByEventConstructor] readonly attribute unsigned long lineno;
- [InitializedByEventConstructor] readonly attribute unsigned long colno;
- [InitializedByEventConstructor, Custom, Unserializable] readonly attribute any error;
-};
-
+partial interface Navigator {
+ [RuntimeEnabled=PointerEventsMaxTouchPoints]
+ readonly attribute long maxTouchPoints;
+};
\ No newline at end of file
diff --git a/core/dom/OverflowEvent.idl b/core/events/OverflowEvent.idl
similarity index 100%
rename from core/dom/OverflowEvent.idl
rename to core/events/OverflowEvent.idl
diff --git a/core/dom/PageTransitionEvent.idl b/core/events/PageTransitionEvent.idl
similarity index 100%
rename from core/dom/PageTransitionEvent.idl
rename to core/events/PageTransitionEvent.idl
diff --git a/core/dom/PopStateEvent.idl b/core/events/PopStateEvent.idl
similarity index 100%
rename from core/dom/PopStateEvent.idl
rename to core/events/PopStateEvent.idl
diff --git a/core/dom/ProgressEvent.idl b/core/events/ProgressEvent.idl
similarity index 100%
rename from core/dom/ProgressEvent.idl
rename to core/events/ProgressEvent.idl
diff --git a/core/dom/ResourceProgressEvent.idl b/core/events/ResourceProgressEvent.idl
similarity index 100%
rename from core/dom/ResourceProgressEvent.idl
rename to core/events/ResourceProgressEvent.idl
diff --git a/core/dom/SecurityPolicyViolationEvent.idl b/core/events/SecurityPolicyViolationEvent.idl
similarity index 96%
rename from core/dom/SecurityPolicyViolationEvent.idl
rename to core/events/SecurityPolicyViolationEvent.idl
index d067fab..a5de4dc 100644
--- a/core/dom/SecurityPolicyViolationEvent.idl
+++ b/core/events/SecurityPolicyViolationEvent.idl
@@ -23,7 +23,7 @@
*/
[
- EnabledAtRuntime=ExperimentalContentSecurityPolicyFeatures,
+ RuntimeEnabled=ExperimentalContentSecurityPolicyFeatures,
ConstructorTemplate=Event
] interface SecurityPolicyViolationEvent : Event {
[InitializedByEventConstructor] readonly attribute DOMString documentURI;
diff --git a/core/dom/TextEvent.idl b/core/events/TextEvent.idl
similarity index 100%
rename from core/dom/TextEvent.idl
rename to core/events/TextEvent.idl
diff --git a/core/dom/TouchEvent.idl b/core/events/TouchEvent.idl
similarity index 100%
rename from core/dom/TouchEvent.idl
rename to core/events/TouchEvent.idl
diff --git a/core/dom/TransitionEvent.idl b/core/events/TransitionEvent.idl
similarity index 100%
rename from core/dom/TransitionEvent.idl
rename to core/events/TransitionEvent.idl
diff --git a/core/dom/UIEvent.idl b/core/events/UIEvent.idl
similarity index 100%
rename from core/dom/UIEvent.idl
rename to core/events/UIEvent.idl
diff --git a/core/dom/WebKitAnimationEvent.idl b/core/events/WebKitAnimationEvent.idl
similarity index 100%
rename from core/dom/WebKitAnimationEvent.idl
rename to core/events/WebKitAnimationEvent.idl
diff --git a/core/dom/WheelEvent.idl b/core/events/WheelEvent.idl
similarity index 100%
rename from core/dom/WheelEvent.idl
rename to core/events/WheelEvent.idl
diff --git a/core/fileapi/Blob.idl b/core/fileapi/Blob.idl
index 8dddc35..814a2fc 100644
--- a/core/fileapi/Blob.idl
+++ b/core/fileapi/Blob.idl
@@ -30,7 +30,7 @@
[
GlobalContext=Window&WorkerGlobalScope,
- CustomToV8,
+ SpecialWrapFor=File,
CustomConstructor,
CustomConstructor(sequence<any> blobParts, optional BlobPropertyBag options)
] interface Blob {
diff --git a/core/fileapi/File.idl b/core/fileapi/File.idl
index 2d2ea18..56be7fc 100644
--- a/core/fileapi/File.idl
+++ b/core/fileapi/File.idl
@@ -26,6 +26,6 @@
interface File : Blob {
readonly attribute DOMString name;
readonly attribute Date lastModifiedDate;
- [EnabledAtRuntime=DirectoryUpload] readonly attribute DOMString webkitRelativePath;
+ [RuntimeEnabled=DirectoryUpload] readonly attribute DOMString webkitRelativePath;
};
diff --git a/core/fileapi/FileReader.idl b/core/fileapi/FileReader.idl
index d43e34e..eb26da7 100644
--- a/core/fileapi/FileReader.idl
+++ b/core/fileapi/FileReader.idl
@@ -33,7 +33,7 @@
GlobalContext=Window&WorkerGlobalScope,
ActiveDOMObject,
Constructor,
- ConstructorCallWith=ScriptExecutionContext
+ ConstructorCallWith=ExecutionContext
] interface FileReader : EventTarget {
// ready states
const unsigned short EMPTY = 0;
@@ -50,7 +50,7 @@
void abort();
// file data
- [Custom] readonly attribute any result;
+ [CustomGetter] readonly attribute any result;
readonly attribute FileError error;
diff --git a/core/fileapi/FileReaderSync.idl b/core/fileapi/FileReaderSync.idl
index 4930687..125e002 100644
--- a/core/fileapi/FileReaderSync.idl
+++ b/core/fileapi/FileReaderSync.idl
@@ -32,8 +32,8 @@
GlobalContext=WorkerGlobalScope,
Constructor
] interface FileReaderSync {
- [CallWith=ScriptExecutionContext, RaisesException] ArrayBuffer readAsArrayBuffer(Blob blob);
- [CallWith=ScriptExecutionContext, RaisesException] DOMString readAsBinaryString(Blob blob);
- [CallWith=ScriptExecutionContext, RaisesException] DOMString readAsText(Blob blob, optional DOMString encoding);
- [CallWith=ScriptExecutionContext, RaisesException] DOMString readAsDataURL(Blob blob);
+ [CallWith=ExecutionContext, RaisesException] ArrayBuffer readAsArrayBuffer(Blob blob);
+ [CallWith=ExecutionContext, RaisesException] DOMString readAsBinaryString(Blob blob);
+ [CallWith=ExecutionContext, RaisesException] DOMString readAsText(Blob blob, optional DOMString encoding);
+ [CallWith=ExecutionContext, RaisesException] DOMString readAsDataURL(Blob blob);
};
diff --git a/core/fileapi/Stream.idl b/core/fileapi/Stream.idl
index 6ead757..1406b7b 100644
--- a/core/fileapi/Stream.idl
+++ b/core/fileapi/Stream.idl
@@ -37,7 +37,8 @@
// FIXME: Make the Blob a subclass of the Stream.
[
- EnabledAtRuntime=Stream
+ RuntimeEnabled=Stream,
+ ActiveDOMObject
] interface Stream {
readonly attribute DOMString type;
};
diff --git a/core/page/BarProp.idl b/core/frame/BarProp.idl
similarity index 100%
rename from core/page/BarProp.idl
rename to core/frame/BarProp.idl
diff --git a/core/page/Console.idl b/core/frame/Console.idl
similarity index 100%
rename from core/page/Console.idl
rename to core/frame/Console.idl
diff --git a/core/page/ConsoleBase.idl b/core/frame/ConsoleBase.idl
similarity index 100%
rename from core/page/ConsoleBase.idl
rename to core/frame/ConsoleBase.idl
diff --git a/core/page/History.idl b/core/frame/History.idl
similarity index 79%
rename from core/page/History.idl
rename to core/frame/History.idl
index d20cc89..2b8cce4 100644
--- a/core/page/History.idl
+++ b/core/frame/History.idl
@@ -25,12 +25,12 @@
interface History {
readonly attribute unsigned long length;
- [Custom] readonly attribute SerializedScriptValue state;
+ [CustomGetter] readonly attribute SerializedScriptValue state;
- [CallWith=ScriptExecutionContext] void back();
- [CallWith=ScriptExecutionContext] void forward();
- [CallWith=ScriptExecutionContext] void go([Default=Undefined] optional long distance);
+ [CallWith=ExecutionContext] void back();
+ [CallWith=ExecutionContext] void forward();
+ [CallWith=ExecutionContext] void go([Default=Undefined] optional long distance);
- [Custom, EnabledPerContext=pushState, RaisesException] void pushState(any data, DOMString title, optional DOMString url);
- [Custom, EnabledPerContext=pushState, RaisesException] void replaceState(any data, DOMString title, optional DOMString url);
+ [Custom, PerContextEnabled=PushState, RaisesException] void pushState(any data, DOMString title, optional DOMString url);
+ [Custom, PerContextEnabled=PushState, RaisesException] void replaceState(any data, DOMString title, optional DOMString url);
};
diff --git a/core/page/ImageBitmap.idl b/core/frame/ImageBitmap.idl
similarity index 100%
rename from core/page/ImageBitmap.idl
rename to core/frame/ImageBitmap.idl
diff --git a/core/page/Location.idl b/core/frame/Location.idl
similarity index 90%
rename from core/page/Location.idl
rename to core/frame/Location.idl
index 77778e1..1d1c893 100644
--- a/core/page/Location.idl
+++ b/core/frame/Location.idl
@@ -31,8 +31,8 @@
] interface Location {
[SetterCallWith=ActiveWindow&FirstWindow, DoNotCheckSecurityOnSetter, Unforgeable] attribute DOMString href;
- [CallWith=ActiveWindow&FirstWindow, DoNotCheckSecurity, Unforgeable, ReadOnly, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] void assign([Default=Undefined] optional DOMString url);
- [CallWith=ActiveWindow&FirstWindow, DoNotCheckSecurity, Unforgeable, ReadOnly, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] void replace([Default=Undefined] optional DOMString url);
+ [CallWith=ActiveWindow&FirstWindow, DoNotCheckSecurity, Unforgeable, ReadOnly, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds] void assign([Default=Undefined] optional DOMString url);
+ [CallWith=ActiveWindow&FirstWindow, DoNotCheckSecurity, Unforgeable, ReadOnly, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds] void replace([Default=Undefined] optional DOMString url);
[CallWith=ActiveWindow, Unforgeable, ReadOnly] void reload();
// URI decomposition attributes
diff --git a/core/page/Navigator.idl b/core/frame/Navigator.idl
similarity index 100%
rename from core/page/Navigator.idl
rename to core/frame/Navigator.idl
diff --git a/core/page/NavigatorID.idl b/core/frame/NavigatorID.idl
similarity index 100%
rename from core/page/NavigatorID.idl
rename to core/frame/NavigatorID.idl
diff --git a/core/page/NavigatorOnLine.idl b/core/frame/NavigatorOnLine.idl
similarity index 100%
rename from core/page/NavigatorOnLine.idl
rename to core/frame/NavigatorOnLine.idl
diff --git a/core/page/Screen.idl b/core/frame/Screen.idl
similarity index 100%
rename from core/page/Screen.idl
rename to core/frame/Screen.idl
diff --git a/core/page/SecurityPolicy.idl b/core/frame/SecurityPolicy.idl
similarity index 100%
rename from core/page/SecurityPolicy.idl
rename to core/frame/SecurityPolicy.idl
diff --git a/core/page/WebKitPoint.idl b/core/frame/WebKitPoint.idl
similarity index 100%
rename from core/page/WebKitPoint.idl
rename to core/frame/WebKitPoint.idl
diff --git a/core/page/Window.idl b/core/frame/Window.idl
similarity index 60%
rename from core/page/Window.idl
rename to core/frame/Window.idl
index c720658..86dd8e0 100644
--- a/core/page/Window.idl
+++ b/core/frame/Window.idl
@@ -24,6 +24,8 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+// HTML 5 draft spec:
+// http://www.w3.org/html/wg/drafts/html/master/browsers.html#window
[
CheckSecurity,
CustomToV8,
@@ -39,18 +41,18 @@
[Replaceable] readonly attribute BarProp scrollbars;
[Replaceable] readonly attribute BarProp statusbar;
[Replaceable] readonly attribute BarProp toolbar;
- [Replaceable, PerWorldBindings, ActivityLog=GetterForIsolatedWorlds] readonly attribute Navigator navigator;
+ [Replaceable, PerWorldBindings, ActivityLogging=GetterForIsolatedWorlds] readonly attribute Navigator navigator;
[Replaceable] readonly attribute Navigator clientInformation;
- [DoNotCheckSecurity, CustomSetter, Unforgeable, Replaceable, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] readonly attribute Location location;
- [MeasureAs=WindowEvent, NotEnumerable, Replaceable, CustomGetter, CustomSetter] readonly attribute Event event;
+ [DoNotCheckSecurity, Unforgeable, Replaceable, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, PutForwards=href] readonly attribute Location location;
+ [Custom, MeasureAs=WindowEvent, NotEnumerable] attribute Event event;
Selection getSelection();
[CheckSecurityForNode] readonly attribute Element frameElement;
- [DoNotCheckSecurity, CallWith=ScriptExecutionContext] void focus();
+ [DoNotCheckSecurity, CallWith=ExecutionContext] void focus();
[DoNotCheckSecurity] void blur();
- [DoNotCheckSecurity, CallWith=ScriptExecutionContext] void close();
+ [DoNotCheckSecurity, CallWith=ExecutionContext] void close();
void print();
void stop();
@@ -115,7 +117,7 @@
[DoNotCheckSecurity, Unforgeable] readonly attribute Window window;
[Replaceable, DoNotCheckSecurityOnGetter] readonly attribute Window frames;
- [Replaceable, DoNotCheckSecurityOnGetter, CustomSetter] readonly attribute Window opener;
+ [DoNotCheckSecurityOnGetter, CustomSetter] attribute Window opener;
[Replaceable, DoNotCheckSecurityOnGetter] readonly attribute Window parent;
[DoNotCheckSecurityOnGetter, Unforgeable] readonly attribute Window top;
@@ -143,10 +145,10 @@
WebKitPoint webkitConvertPointFromNodeToPage([Default=Undefined] optional Node node,
[Default=Undefined] optional WebKitPoint p);
- [EnabledAtRuntime=ApplicationCache, PerWorldBindings, ActivityLog=GetterForIsolatedWorlds] readonly attribute ApplicationCache applicationCache;
+ [RuntimeEnabled=ApplicationCache, PerWorldBindings, ActivityLogging=GetterForIsolatedWorlds] readonly attribute ApplicationCache applicationCache;
- [EnabledAtRuntime=SessionStorage, PerWorldBindings, ActivityLog=GetterForIsolatedWorlds, GetterRaisesException] readonly attribute Storage sessionStorage;
- [EnabledAtRuntime=LocalStorage, PerWorldBindings, ActivityLog=GetterForIsolatedWorlds, GetterRaisesException] readonly attribute Storage localStorage;
+ [RuntimeEnabled=SessionStorage, PerWorldBindings, ActivityLogging=GetterForIsolatedWorlds, GetterRaisesException] readonly attribute Storage sessionStorage;
+ [RuntimeEnabled=LocalStorage, PerWorldBindings, ActivityLogging=GetterForIsolatedWorlds, GetterRaisesException] readonly attribute Storage localStorage;
// This is the interface orientation in degrees. Some examples are:
// 0 is straight up; -90 is when the device is rotated 90 clockwise;
@@ -168,107 +170,31 @@
[Replaceable] readonly attribute CSS CSS;
- // Events
- attribute EventHandler onabort;
- attribute EventHandler onbeforeunload;
- attribute EventHandler onblur;
- attribute EventHandler oncanplay;
- attribute EventHandler oncanplaythrough;
- attribute EventHandler onchange;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onclick;
- attribute EventHandler oncontextmenu;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondblclick;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondrag;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragend;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragenter;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragleave;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragover;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondragstart;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler ondrop;
- attribute EventHandler ondurationchange;
- attribute EventHandler onemptied;
- attribute EventHandler onended;
- attribute EventHandler onerror;
- attribute EventHandler onfocus;
- attribute EventHandler onhashchange;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler oninput;
- attribute EventHandler oninvalid;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeydown;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeypress;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onkeyup;
- attribute EventHandler onload;
- attribute EventHandler onloadeddata;
- attribute EventHandler onloadedmetadata;
- attribute EventHandler onloadstart;
- attribute EventHandler onmessage;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousedown;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseenter;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseleave;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousemove;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseout;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseover;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmouseup;
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onmousewheel; // Deprecated in favor of onwheel.
- [PerWorldBindings, ActivityLog=SetterForIsolatedWorlds] attribute EventHandler onwheel;
- attribute EventHandler onoffline;
- attribute EventHandler ononline;
- attribute EventHandler onpagehide;
- attribute EventHandler onpageshow;
- attribute EventHandler onpause;
- attribute EventHandler onplay;
- attribute EventHandler onplaying;
- attribute EventHandler onpopstate;
- attribute EventHandler onprogress;
- attribute EventHandler onratechange;
- attribute EventHandler onresize;
- attribute EventHandler onscroll;
- attribute EventHandler onseeked;
- attribute EventHandler onseeking;
- attribute EventHandler onselect;
- attribute EventHandler onstalled;
- attribute EventHandler onstorage;
- attribute EventHandler onsubmit;
- attribute EventHandler onsuspend;
- attribute EventHandler ontimeupdate;
- attribute EventHandler onunload;
- attribute EventHandler onvolumechange;
- attribute EventHandler onwaiting;
-
- // Not implemented yet.
- // attribute EventHandler onafterprint;
- // attribute EventHandler onbeforeprint;
- // attribute EventHandler onreadystatechange;
- // attribute EventHandler onredo;
- // attribute EventHandler onshow;
- // attribute EventHandler onundo;
-
- // Webkit extensions
- attribute EventHandler onreset;
+ // Event handler attributes
+ [RuntimeEnabled=CSSAnimationUnprefixed] attribute EventHandler onanimationend;
+ [RuntimeEnabled=CSSAnimationUnprefixed] attribute EventHandler onanimationiteration;
+ [RuntimeEnabled=CSSAnimationUnprefixed] attribute EventHandler onanimationstart;
+ [RuntimeEnabled=DeviceMotion] attribute EventHandler ondevicemotion;
+ [RuntimeEnabled=DeviceOrientation] attribute EventHandler ondeviceorientation;
+ [Conditional=ORIENTATION_EVENTS] attribute EventHandler onorientationchange;
attribute EventHandler onsearch;
- [EnabledAtRuntime=CSSAnimationUnprefixed] attribute EventHandler onanimationend;
- [EnabledAtRuntime=CSSAnimationUnprefixed] attribute EventHandler onanimationiteration;
- [EnabledAtRuntime=CSSAnimationUnprefixed] attribute EventHandler onanimationstart;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchcancel;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchend;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchmove;
+ [RuntimeEnabled=Touch] attribute EventHandler ontouchstart;
+ attribute EventHandler ontransitionend;
attribute EventHandler onwebkitanimationend;
attribute EventHandler onwebkitanimationiteration;
attribute EventHandler onwebkitanimationstart;
attribute EventHandler onwebkittransitionend;
- attribute EventHandler ontransitionend;
- [Conditional=ORIENTATION_EVENTS] attribute EventHandler onorientationchange;
- [EnabledAtRuntime=Touch] attribute EventHandler ontouchstart;
- [EnabledAtRuntime=Touch] attribute EventHandler ontouchmove;
- [EnabledAtRuntime=Touch] attribute EventHandler ontouchend;
- [EnabledAtRuntime=Touch] attribute EventHandler ontouchcancel;
-
- [EnabledAtRuntime=DeviceMotion] attribute EventHandler ondevicemotion;
- [EnabledAtRuntime=DeviceOrientation] attribute EventHandler ondeviceorientation;
+ [ActivityLogging=SetterForAllWorlds] attribute EventHandler onwheel;
[DeprecateAs=CaptureEvents] void captureEvents();
[DeprecateAs=ReleaseEvents] void releaseEvents();
// Additional constructors.
attribute TransitionEventConstructor WebKitTransitionEvent;
- [EnabledAtRuntime=CSSAnimationUnprefixed] attribute WebKitAnimationEventConstructor AnimationEvent;
- [CustomConstructor] attribute HTMLImageElementConstructorConstructor Image; // Usable with new operator
+ [RuntimeEnabled=CSSAnimationUnprefixed] attribute WebKitAnimationEventConstructor AnimationEvent;
// Mozilla has a separate XMLDocument object for XML documents.
// We just use Document for this.
attribute DocumentConstructor XMLDocument;
@@ -285,22 +211,22 @@
// Constructors whose name does not match the interface name.
// FIXME: Remove these once [ImplementedAs] is used and once constructor names match interface names.
- [EnabledAtRuntime=MediaStream] attribute MediaStreamConstructor webkitMediaStream;
- [Conditional=WEB_AUDIO, EnabledAtRuntime=WebAudio] attribute AudioContextConstructor webkitAudioContext;
- [Conditional=WEB_AUDIO, EnabledAtRuntime=WebAudio] attribute OfflineAudioContextConstructor webkitOfflineAudioContext;
- [EnabledAtRuntime=PeerConnection] attribute RTCPeerConnectionConstructor webkitRTCPeerConnection;
- [EnabledAtRuntime=ScriptedSpeech] attribute SpeechGrammarConstructor webkitSpeechGrammar;
- [EnabledAtRuntime=ScriptedSpeech] attribute SpeechGrammarListConstructor webkitSpeechGrammarList;
- [EnabledAtRuntime=ScriptedSpeech] attribute SpeechRecognitionConstructor webkitSpeechRecognition;
- [EnabledAtRuntime=ScriptedSpeech] attribute SpeechRecognitionErrorConstructor webkitSpeechRecognitionError;
- [EnabledAtRuntime=ScriptedSpeech] attribute SpeechRecognitionEventConstructor webkitSpeechRecognitionEvent;
+ [RuntimeEnabled=MediaStream] attribute MediaStreamConstructor webkitMediaStream;
+ [Conditional=WEB_AUDIO, RuntimeEnabled=WebAudio] attribute AudioContextConstructor webkitAudioContext;
+ [Conditional=WEB_AUDIO, RuntimeEnabled=WebAudio] attribute OfflineAudioContextConstructor webkitOfflineAudioContext;
+ [RuntimeEnabled=PeerConnection] attribute RTCPeerConnectionConstructor webkitRTCPeerConnection;
+ [RuntimeEnabled=ScriptedSpeech] attribute SpeechGrammarConstructor webkitSpeechGrammar;
+ [RuntimeEnabled=ScriptedSpeech] attribute SpeechGrammarListConstructor webkitSpeechGrammarList;
+ [RuntimeEnabled=ScriptedSpeech] attribute SpeechRecognitionConstructor webkitSpeechRecognition;
+ [RuntimeEnabled=ScriptedSpeech] attribute SpeechRecognitionErrorConstructor webkitSpeechRecognitionError;
+ [RuntimeEnabled=ScriptedSpeech] attribute SpeechRecognitionEventConstructor webkitSpeechRecognitionEvent;
[Conditional=WEB_AUDIO] attribute PannerNodeConstructor webkitAudioPannerNode;
// Prefixed ShadowRoot constructor should be phased out eventually, but for the moment it must be always exposed.
// Unprefixed ShadowRoot constructor should be visible when the feature flag is enabled.
// FIXME: When it's ready to remove WebKitShadowRoot, get rid of both constructors from Window.idl and remove
// [NoInterfaceObject] from ShadowRoot interface definition.
- [EnabledAtRuntime=ShadowDOM] attribute ShadowRootConstructor ShadowRoot;
+ [RuntimeEnabled=ShadowDOM] attribute ShadowRootConstructor ShadowRoot;
[MeasureAs=PrefixedShadowRootConstructor] attribute ShadowRootConstructor WebKitShadowRoot;
// window.toString() requires special handling in V8
@@ -310,6 +236,8 @@
[Custom, NotEnumerable] getter Window (DOMString name);
};
+Window implements GlobalEventHandlers;
Window implements ImageBitmapFactories;
-Window implements WindowTimers;
Window implements WindowBase64;
+Window implements WindowEventHandlers;
+Window implements WindowTimers;
diff --git a/core/page/WindowBase64.idl b/core/frame/WindowBase64.idl
similarity index 100%
rename from core/page/WindowBase64.idl
rename to core/frame/WindowBase64.idl
diff --git a/core/frame/WindowEventHandlers.idl b/core/frame/WindowEventHandlers.idl
new file mode 100644
index 0000000..b7634ae
--- /dev/null
+++ b/core/frame/WindowEventHandlers.idl
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2013, Opera Software ASA. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Opera Software ASA nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+[
+ NoInterfaceObject,
+ ImplementedAs=DOMWindowEventHandlers
+] interface WindowEventHandlers {
+ //attribute EventHandler onafterprint;
+ //attribute EventHandler onbeforeprint;
+ attribute EventHandler onbeforeunload;
+ attribute EventHandler onhashchange;
+ attribute EventHandler onmessage;
+ attribute EventHandler onoffline;
+ attribute EventHandler ononline;
+ attribute EventHandler onpagehide;
+ attribute EventHandler onpageshow;
+ attribute EventHandler onpopstate;
+ attribute EventHandler onresize;
+ attribute EventHandler onstorage;
+ attribute EventHandler onunload;
+};
diff --git a/core/page/WindowTimers.idl b/core/frame/WindowTimers.idl
similarity index 100%
rename from core/page/WindowTimers.idl
rename to core/frame/WindowTimers.idl
diff --git a/core/html/HTMLAnchorElement.idl b/core/html/HTMLAnchorElement.idl
index e0c7068..88cf2d4 100644
--- a/core/html/HTMLAnchorElement.idl
+++ b/core/html/HTMLAnchorElement.idl
@@ -19,31 +19,20 @@
*/
interface HTMLAnchorElement : HTMLElement {
- [Reflect] attribute DOMString charset;
- [Reflect] attribute DOMString coords;
- [Reflect] attribute DOMString download;
- [Reflect, URL] attribute DOMString href;
- [Reflect] attribute DOMString hreflang;
- [Reflect] attribute DOMString name;
- [Reflect] attribute DOMString ping;
- [Reflect] attribute DOMString rel;
- [Reflect] attribute DOMString rev;
- [Reflect] attribute DOMString shape;
- [Reflect] attribute DOMString target;
- [Reflect] attribute DOMString type;
-
- [TreatNullAs=NullString] attribute DOMString hash;
- [TreatNullAs=NullString] attribute DOMString host;
- [TreatNullAs=NullString] attribute DOMString hostname;
- [TreatNullAs=NullString] attribute DOMString pathname;
- [TreatNullAs=NullString] attribute DOMString port;
- [TreatNullAs=NullString] attribute DOMString protocol;
- [TreatNullAs=NullString] attribute DOMString search;
-
- [TreatNullAs=NullString] readonly attribute DOMString origin;
+ [Reflect, TreatNullAs=NullString] attribute DOMString charset;
+ [Reflect, TreatNullAs=NullString] attribute DOMString coords;
+ [Reflect, TreatNullAs=NullString] attribute DOMString download;
+ [Reflect, TreatNullAs=NullString] attribute DOMString hreflang;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString ping;
+ [Reflect, TreatNullAs=NullString] attribute DOMString rel;
+ [Reflect, TreatNullAs=NullString] attribute DOMString rev;
+ [Reflect, TreatNullAs=NullString] attribute DOMString shape;
+ [Reflect, TreatNullAs=NullString] attribute DOMString target;
+ [Reflect, TreatNullAs=NullString] attribute DOMString type;
readonly attribute DOMString text;
-
- [NotEnumerable] DOMString toString();
};
+// Force rebuild: crbug.com/307023
+HTMLAnchorElement implements URLUtils;
diff --git a/core/html/HTMLAppletElement.idl b/core/html/HTMLAppletElement.idl
index efb2855..655cd07 100644
--- a/core/html/HTMLAppletElement.idl
+++ b/core/html/HTMLAppletElement.idl
@@ -21,17 +21,17 @@
[
CustomLegacyCall
] interface HTMLAppletElement : HTMLElement {
- [Reflect] attribute DOMString align;
- [Reflect] attribute DOMString alt;
- [Reflect] attribute DOMString archive;
- [Reflect] attribute DOMString code;
- [Reflect] attribute DOMString codeBase;
- [Reflect] attribute DOMString height;
- [Reflect] attribute DOMString hspace;
- [Reflect] attribute DOMString name;
- [Reflect] attribute DOMString _object; // "object" is a reserved word
- [Reflect] attribute DOMString vspace;
- [Reflect] attribute DOMString width;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString alt;
+ [Reflect, TreatNullAs=NullString] attribute DOMString archive;
+ [Reflect, TreatNullAs=NullString] attribute DOMString code;
+ [Reflect, TreatNullAs=NullString] attribute DOMString codeBase;
+ [Reflect, TreatNullAs=NullString] attribute DOMString height;
+ [Reflect, TreatNullAs=NullString] attribute DOMString hspace;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString _object; // "object" is a reserved word
+ [Reflect, TreatNullAs=NullString] attribute DOMString vspace;
+ [Reflect, TreatNullAs=NullString] attribute DOMString width;
[Custom, NotEnumerable] getter boolean (unsigned long index);
[Custom] setter boolean (unsigned long index, Node value);
[Custom, NotEnumerable] getter Node (DOMString name);
diff --git a/core/html/HTMLAreaElement.idl b/core/html/HTMLAreaElement.idl
index a9c1fa7..1175ec1 100644
--- a/core/html/HTMLAreaElement.idl
+++ b/core/html/HTMLAreaElement.idl
@@ -19,21 +19,13 @@
*/
interface HTMLAreaElement : HTMLElement {
- [Reflect] attribute DOMString alt;
- [Reflect] attribute DOMString coords;
- [Reflect, URL] attribute DOMString href;
+ [Reflect, TreatNullAs=NullString] attribute DOMString alt;
+ [Reflect, TreatNullAs=NullString] attribute DOMString coords;
[Reflect] attribute boolean noHref;
- [Reflect] attribute DOMString ping;
- [Reflect] attribute DOMString shape;
- [Reflect] attribute DOMString target;
-
- // IE Extensions
- readonly attribute DOMString hash;
- readonly attribute DOMString host;
- readonly attribute DOMString hostname;
- readonly attribute DOMString pathname;
- readonly attribute DOMString port;
- readonly attribute DOMString protocol;
- readonly attribute DOMString search;
+ [Reflect, TreatNullAs=NullString] attribute DOMString ping;
+ [Reflect, TreatNullAs=NullString] attribute DOMString shape;
+ [Reflect, TreatNullAs=NullString] attribute DOMString target;
};
+// Force rebuild: crbug.com/307023
+HTMLAreaElement implements URLUtils;
diff --git a/core/html/HTMLAudioElement.idl b/core/html/HTMLAudioElement.idl
index cbed9d6..ffb4769 100644
--- a/core/html/HTMLAudioElement.idl
+++ b/core/html/HTMLAudioElement.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=Media,
+ RuntimeEnabled=Media,
NamedConstructor=Audio([Default=NullString] optional DOMString src)
] interface HTMLAudioElement : HTMLMediaElement {
};
diff --git a/core/html/HTMLBRElement.idl b/core/html/HTMLBRElement.idl
index c909dc1..7c31dfb 100644
--- a/core/html/HTMLBRElement.idl
+++ b/core/html/HTMLBRElement.idl
@@ -18,6 +18,6 @@
*/
interface HTMLBRElement : HTMLElement {
- [Reflect] attribute DOMString clear;
+ [Reflect, TreatNullAs=NullString] attribute DOMString clear;
};
diff --git a/core/html/HTMLBaseElement.idl b/core/html/HTMLBaseElement.idl
index 4d9d39f..408e129 100644
--- a/core/html/HTMLBaseElement.idl
+++ b/core/html/HTMLBaseElement.idl
@@ -19,5 +19,5 @@
interface HTMLBaseElement : HTMLElement {
[TreatNullAs=NullString] attribute DOMString href;
- [Reflect] attribute DOMString target;
+ [Reflect, TreatNullAs=NullString] attribute DOMString target;
};
diff --git a/core/html/HTMLBaseFontElement.idl b/core/html/HTMLBaseFontElement.idl
index b885a05..a4910e8 100644
--- a/core/html/HTMLBaseFontElement.idl
+++ b/core/html/HTMLBaseFontElement.idl
@@ -18,7 +18,7 @@
*/
interface HTMLBaseFontElement : HTMLElement {
- [Reflect] attribute DOMString color;
- [Reflect] attribute DOMString face;
+ [Reflect, TreatNullAs=NullString] attribute DOMString color;
+ [Reflect, TreatNullAs=NullString] attribute DOMString face;
[Reflect] attribute long size;
};
diff --git a/core/html/HTMLBodyElement.idl b/core/html/HTMLBodyElement.idl
index dfbd907..3ce7850 100644
--- a/core/html/HTMLBodyElement.idl
+++ b/core/html/HTMLBodyElement.idl
@@ -19,36 +19,21 @@
*/
interface HTMLBodyElement : HTMLElement {
- [Reflect] attribute DOMString aLink;
- [Reflect] attribute DOMString background;
- [Reflect] attribute DOMString bgColor;
- [Reflect] attribute DOMString link;
- [Reflect] attribute DOMString text;
- [Reflect] attribute DOMString vLink;
+ [Reflect, TreatNullAs=NullString] attribute DOMString aLink;
+ [Reflect, TreatNullAs=NullString] attribute DOMString background;
+ [Reflect, TreatNullAs=NullString] attribute DOMString bgColor;
+ [Reflect, TreatNullAs=NullString] attribute DOMString link;
+ [Reflect, TreatNullAs=NullString] attribute DOMString text;
+ [Reflect, TreatNullAs=NullString] attribute DOMString vLink;
- // Event handler attributes
- [NotEnumerable] attribute EventHandler onbeforeunload;
- [NotEnumerable] attribute EventHandler onhashchange;
- [NotEnumerable] attribute EventHandler onmessage;
- [NotEnumerable] attribute EventHandler onoffline;
- [NotEnumerable] attribute EventHandler ononline;
- [NotEnumerable] attribute EventHandler onpopstate;
- [NotEnumerable] attribute EventHandler onresize;
- [NotEnumerable] attribute EventHandler onstorage;
- [NotEnumerable] attribute EventHandler onunload;
+ [Conditional=ORIENTATION_EVENTS] attribute EventHandler onorientationchange;
- [Conditional=ORIENTATION_EVENTS, NotEnumerable] attribute EventHandler onorientationchange;
-
- // Overrides of Element attributes (with different implementation in bindings).
- [NotEnumerable] attribute EventHandler onblur;
- [NotEnumerable] attribute EventHandler onerror;
- [NotEnumerable] attribute EventHandler onfocus;
- [NotEnumerable] attribute EventHandler onload;
-
- // Not implemented yet.
- // attribute [NotEnumerable] EventHandler onafterprint;
- // attribute [NotEnumerable] EventHandler onbeforeprint;
- // attribute [NotEnumerable] EventHandler onredo;
- // attribute [NotEnumerable] EventHandler onundo;
+ // Overrides of GlobalEventHandler attributes
+ attribute EventHandler onblur;
+ attribute EventHandler onerror;
+ attribute EventHandler onfocus;
+ attribute EventHandler onload;
+ attribute EventHandler onscroll;
};
+HTMLBodyElement implements WindowEventHandlers;
diff --git a/core/html/HTMLButtonElement.idl b/core/html/HTMLButtonElement.idl
index eb3832f..0fef161 100644
--- a/core/html/HTMLButtonElement.idl
+++ b/core/html/HTMLButtonElement.idl
@@ -22,14 +22,14 @@
[Reflect] attribute boolean autofocus;
[Reflect] attribute boolean disabled;
readonly attribute HTMLFormElement form;
- [Reflect, URL] attribute DOMString formAction;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString formAction;
[TreatNullAs=NullString] attribute DOMString formEnctype;
[TreatNullAs=NullString] attribute DOMString formMethod;
[Reflect] attribute boolean formNoValidate;
- [Reflect] attribute DOMString formTarget;
- [Reflect] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString formTarget;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
[TreatNullAs=NullString] attribute DOMString type;
- [Reflect] attribute DOMString value;
+ [Reflect, TreatNullAs=NullString] attribute DOMString value;
readonly attribute boolean willValidate;
readonly attribute ValidityState validity;
diff --git a/core/html/HTMLCanvasElement.idl b/core/html/HTMLCanvasElement.idl
index c095796..78ada4d 100644
--- a/core/html/HTMLCanvasElement.idl
+++ b/core/html/HTMLCanvasElement.idl
@@ -32,6 +32,6 @@
[Custom, RaisesException] DOMString toDataURL([TreatNullAs=NullString, TreatUndefinedAs=NullString,Default=Undefined] optional DOMString type);
// The custom binding is needed to handle context creation attributes.
- [Custom, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] any getContext([Default=Undefined] optional DOMString contextId);
+ [Custom, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds] any getContext([Default=Undefined] optional DOMString contextId);
};
diff --git a/core/html/HTMLDataListElement.idl b/core/html/HTMLDataListElement.idl
index f87df9a..93c8663 100644
--- a/core/html/HTMLDataListElement.idl
+++ b/core/html/HTMLDataListElement.idl
@@ -29,7 +29,7 @@
*/
[
- EnabledAtRuntime=DataListElement
+ RuntimeEnabled=DataListElement
] interface HTMLDataListElement : HTMLElement {
readonly attribute HTMLCollection options;
};
diff --git a/core/html/HTMLDialogElement.idl b/core/html/HTMLDialogElement.idl
index 41732ab..6c2d0c8 100644
--- a/core/html/HTMLDialogElement.idl
+++ b/core/html/HTMLDialogElement.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=DialogElement
+ RuntimeEnabled=DialogElement
] interface HTMLDialogElement : HTMLElement {
[Reflect] attribute boolean open;
attribute DOMString returnValue;
diff --git a/core/html/HTMLDivElement.idl b/core/html/HTMLDivElement.idl
index 5793564..b2eeb3d 100644
--- a/core/html/HTMLDivElement.idl
+++ b/core/html/HTMLDivElement.idl
@@ -19,6 +19,6 @@
[
] interface HTMLDivElement : HTMLElement {
- [Reflect] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
};
diff --git a/core/html/HTMLDocument.idl b/core/html/HTMLDocument.idl
index e44baee..764f1af 100644
--- a/core/html/HTMLDocument.idl
+++ b/core/html/HTMLDocument.idl
@@ -18,13 +18,11 @@
* Boston, MA 02110-1301, USA.
*/
-[
- CustomToV8
-] interface HTMLDocument : Document {
- [Custom, CustomElementCallbacks=Enable] void open();
+interface HTMLDocument : Document {
+ [Custom, CustomElementCallbacks] void open();
void close();
- [Custom, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, CustomElementCallbacks=Enable] void write([Default=Undefined] optional DOMString text);
- [Custom, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, CustomElementCallbacks=Enable] void writeln([Default=Undefined] optional DOMString text);
+ [Custom, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, CustomElementCallbacks] void write([Default=Undefined] optional DOMString text);
+ [Custom, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, CustomElementCallbacks] void writeln([Default=Undefined] optional DOMString text);
readonly attribute HTMLCollection embeds;
readonly attribute HTMLCollection plugins;
@@ -39,18 +37,18 @@
[DeprecateAs=CaptureEvents] void captureEvents();
[DeprecateAs=ReleaseEvents] void releaseEvents();
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString dir;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString designMode;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString dir;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString designMode;
readonly attribute DOMString compatMode;
readonly attribute Element activeElement;
boolean hasFocus();
// Deprecated attributes
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString bgColor;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString fgColor;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString alinkColor;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString linkColor;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString vlinkColor;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString bgColor;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString fgColor;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString alinkColor;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString linkColor;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString vlinkColor;
};
diff --git a/core/html/HTMLElement.idl b/core/html/HTMLElement.idl
index d65a413..c5640d5 100644
--- a/core/html/HTMLElement.idl
+++ b/core/html/HTMLElement.idl
@@ -21,33 +21,31 @@
[
CustomToV8
] interface HTMLElement : Element {
- [Reflect] attribute DOMString title;
- [Reflect] attribute DOMString lang;
- attribute boolean translate;
- [Reflect] attribute DOMString dir;
+ [Reflect, TreatNullAs=NullString] attribute DOMString title;
+ [Reflect, TreatNullAs=NullString] attribute DOMString lang;
+ attribute boolean translate;
+ [Reflect, TreatNullAs=NullString] attribute DOMString dir;
- [CustomElementCallbacks=Enable] attribute long tabIndex;
- [CustomElementCallbacks=Enable] attribute boolean draggable;
- [Reflect] attribute DOMString webkitdropzone;
- [Reflect] attribute boolean hidden;
- [Reflect] attribute DOMString accessKey;
+ [CustomElementCallbacks] attribute long tabIndex;
+ [CustomElementCallbacks] attribute boolean draggable;
+ [Reflect, TreatNullAs=NullString] attribute DOMString webkitdropzone;
+ [Reflect] attribute boolean hidden;
+ [Reflect, TreatNullAs=NullString] attribute DOMString accessKey;
// Extensions
- [TreatNullAs=NullString, CustomElementCallbacks=Enable, PerWorldBindings, ActivityLog=SetterForIsolatedWorlds, SetterRaisesException] attribute DOMString innerHTML;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable, SetterRaisesException] attribute DOMString innerText;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable, SetterRaisesException] attribute DOMString outerHTML;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable, SetterRaisesException] attribute DOMString outerText;
+ [TreatNullAs=NullString, CustomElementCallbacks, SetterRaisesException] attribute DOMString innerText;
+ [TreatNullAs=NullString, CustomElementCallbacks, SetterRaisesException] attribute DOMString outerText;
- [RaisesException, CustomElementCallbacks=Enable, MeasureAs=InsertAdjacentElement] Element insertAdjacentElement([Default=Undefined] optional DOMString where,
+ [RaisesException, CustomElementCallbacks, MeasureAs=InsertAdjacentElement] Element insertAdjacentElement([Default=Undefined] optional DOMString where,
[Default=Undefined] optional Element element);
- [CustomElementCallbacks=Enable, RaisesException] void insertAdjacentHTML([Default=Undefined] optional DOMString where,
+ [CustomElementCallbacks, RaisesException] void insertAdjacentHTML([Default=Undefined] optional DOMString where,
[Default=Undefined] optional DOMString html);
[RaisesException, MeasureAs=InsertAdjacentText] void insertAdjacentText([Default=Undefined] optional DOMString where,
[Default=Undefined] optional DOMString text);
- [EnabledAtRuntime=IMEAPI] readonly attribute InputMethodContext inputMethodContext;
+ [RuntimeEnabled=IMEAPI] readonly attribute InputMethodContext inputMethodContext;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable, SetterRaisesException] attribute DOMString contentEditable;
+ [TreatNullAs=NullString, CustomElementCallbacks, SetterRaisesException] attribute DOMString contentEditable;
readonly attribute boolean isContentEditable;
attribute boolean spellcheck;
@@ -55,3 +53,4 @@
void click();
};
+HTMLElement implements GlobalEventHandlers;
diff --git a/core/html/HTMLEmbedElement.idl b/core/html/HTMLEmbedElement.idl
index 98dc854..163ce7d 100644
--- a/core/html/HTMLEmbedElement.idl
+++ b/core/html/HTMLEmbedElement.idl
@@ -21,12 +21,12 @@
[
CustomLegacyCall,
] interface HTMLEmbedElement : HTMLElement {
-[Reflect] attribute DOMString align;
-[Reflect] attribute DOMString height;
-[Reflect] attribute DOMString name;
-[Reflect, URL] attribute DOMString src;
-[Reflect] attribute DOMString type;
-[Reflect] attribute DOMString width;
+[Reflect, TreatNullAs=NullString] attribute DOMString align;
+[Reflect, TreatNullAs=NullString] attribute DOMString height;
+[Reflect, TreatNullAs=NullString] attribute DOMString name;
+[Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString src;
+[Reflect, TreatNullAs=NullString] attribute DOMString type;
+[Reflect, TreatNullAs=NullString] attribute DOMString width;
[Custom, NotEnumerable] getter boolean (unsigned long index);
[Custom] setter boolean (unsigned long index, Node value);
[Custom, NotEnumerable] getter Node (DOMString name);
diff --git a/core/html/HTMLFieldSetElement.idl b/core/html/HTMLFieldSetElement.idl
index 4e77da9..4fc3409 100644
--- a/core/html/HTMLFieldSetElement.idl
+++ b/core/html/HTMLFieldSetElement.idl
@@ -20,7 +20,7 @@
interface HTMLFieldSetElement : HTMLElement {
[Reflect] attribute boolean disabled;
readonly attribute HTMLFormElement form;
- [Reflect] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
readonly attribute DOMString type;
diff --git a/core/html/HTMLFontElement.idl b/core/html/HTMLFontElement.idl
index d2da3a9..cdfd429 100644
--- a/core/html/HTMLFontElement.idl
+++ b/core/html/HTMLFontElement.idl
@@ -18,8 +18,8 @@
*/
interface HTMLFontElement : HTMLElement {
- [Reflect] attribute DOMString color;
- [Reflect] attribute DOMString face;
- [Reflect] attribute DOMString size;
+ [Reflect, TreatNullAs=NullString] attribute DOMString color;
+ [Reflect, TreatNullAs=NullString] attribute DOMString face;
+ [Reflect, TreatNullAs=NullString] attribute DOMString size;
};
diff --git a/core/html/HTMLFormElement.idl b/core/html/HTMLFormElement.idl
index f1bcb0e..29a319e 100644
--- a/core/html/HTMLFormElement.idl
+++ b/core/html/HTMLFormElement.idl
@@ -19,26 +19,26 @@
*/
interface HTMLFormElement : HTMLElement {
- [Reflect=accept_charset] attribute DOMString acceptCharset;
- [Reflect, URL] attribute DOMString action;
- [Reflect] attribute DOMString autocomplete;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString enctype;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString encoding;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString method;
- [Reflect] attribute DOMString name;
+ [Reflect=accept_charset, TreatNullAs=NullString] attribute DOMString acceptCharset;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString action;
+ [Reflect, TreatNullAs=NullString] attribute DOMString autocomplete;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString enctype;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString encoding;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString method;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
[Reflect] attribute boolean noValidate;
- [Reflect] attribute DOMString target;
+ [Reflect, TreatNullAs=NullString] attribute DOMString target;
readonly attribute HTMLCollection elements;
readonly attribute long length;
[ImplementedAs=item] getter Node(unsigned long index);
[ImplementedAs=anonymousNamedGetter, OverrideBuiltins, NotEnumerable] getter (NodeList or Node)(DOMString name);
- [ImplementedAs=submitFromJavaScript] void submit();
- [CustomElementCallbacks=Enable] void reset();
+ [ImplementedAs=submitFromJavaScript, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] void submit();
+ [CustomElementCallbacks] void reset();
boolean checkValidity();
- [EnabledAtRuntime=RequestAutocomplete] void requestAutocomplete();
- [EnabledAtRuntime=RequestAutocomplete, NotEnumerable] attribute EventHandler onautocomplete;
- [EnabledAtRuntime=RequestAutocomplete, NotEnumerable] attribute EventHandler onautocompleteerror;
+ [RuntimeEnabled=RequestAutocomplete] void requestAutocomplete();
+ [RuntimeEnabled=RequestAutocomplete] attribute EventHandler onautocomplete;
+ [RuntimeEnabled=RequestAutocomplete] attribute EventHandler onautocompleteerror;
};
diff --git a/core/html/HTMLFrameElement.idl b/core/html/HTMLFrameElement.idl
index c702fd6..ff93b07 100644
--- a/core/html/HTMLFrameElement.idl
+++ b/core/html/HTMLFrameElement.idl
@@ -20,14 +20,14 @@
interface HTMLFrameElement : HTMLElement {
- [Reflect] attribute DOMString frameBorder;
- [Reflect] attribute DOMString longDesc;
- [Reflect] attribute DOMString marginHeight;
- [Reflect] attribute DOMString marginWidth;
- [Reflect] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString frameBorder;
+ [Reflect, TreatNullAs=NullString] attribute DOMString longDesc;
+ [Reflect, TreatNullAs=NullString] attribute DOMString marginHeight;
+ [Reflect, TreatNullAs=NullString] attribute DOMString marginWidth;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
[Reflect] attribute boolean noResize;
- [Reflect] attribute DOMString scrolling;
- [Reflect, URL] attribute DOMString src;
+ [Reflect, TreatNullAs=NullString] attribute DOMString scrolling;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString src;
// Introduced in DOM Level 2:
[CheckSecurityForNode] readonly attribute Document contentDocument;
diff --git a/core/html/HTMLFrameSetElement.idl b/core/html/HTMLFrameSetElement.idl
index 0a35684..b1ec56f 100644
--- a/core/html/HTMLFrameSetElement.idl
+++ b/core/html/HTMLFrameSetElement.idl
@@ -20,32 +20,17 @@
interface HTMLFrameSetElement : HTMLElement {
[ImplementedAs=anonymousNamedGetter, OverrideBuiltins, NotEnumerable] getter Window (DOMString name);
- [Reflect] attribute DOMString cols;
- [Reflect] attribute DOMString rows;
+ [Reflect, TreatNullAs=NullString] attribute DOMString cols;
+ [Reflect, TreatNullAs=NullString] attribute DOMString rows;
- // Event handler attributes
- [NotEnumerable] attribute EventHandler onbeforeunload;
- [NotEnumerable] attribute EventHandler onhashchange;
- [NotEnumerable] attribute EventHandler onmessage;
- [NotEnumerable] attribute EventHandler onoffline;
- [NotEnumerable] attribute EventHandler ononline;
- [NotEnumerable] attribute EventHandler onpopstate;
- [NotEnumerable] attribute EventHandler onresize;
- [NotEnumerable] attribute EventHandler onstorage;
- [NotEnumerable] attribute EventHandler onunload;
+ [Conditional=ORIENTATION_EVENTS] attribute EventHandler onorientationchange;
- [Conditional=ORIENTATION_EVENTS, NotEnumerable] attribute EventHandler onorientationchange;
-
- // Overrides of Element attributes (with different implementation in bindings).
- [NotEnumerable] attribute EventHandler onblur;
- [NotEnumerable] attribute EventHandler onerror;
- [NotEnumerable] attribute EventHandler onfocus;
- [NotEnumerable] attribute EventHandler onload;
-
- // Not implemented yet.
- // attribute [NotEnumerable] EventHandler onafterprint;
- // attribute [NotEnumerable] EventHandler onbeforeprint;
- // attribute [NotEnumerable] EventHandler onredo;
- // attribute [NotEnumerable] EventHandler onundo;
+ // Overrides of GlobalEventHandler attributes
+ attribute EventHandler onblur;
+ attribute EventHandler onerror;
+ attribute EventHandler onfocus;
+ attribute EventHandler onload;
+ attribute EventHandler onscroll;
};
+HTMLFrameSetElement implements WindowEventHandlers;
diff --git a/core/html/HTMLHRElement.idl b/core/html/HTMLHRElement.idl
index babe467..302f7e9 100644
--- a/core/html/HTMLHRElement.idl
+++ b/core/html/HTMLHRElement.idl
@@ -18,9 +18,9 @@
*/
interface HTMLHRElement : HTMLElement {
- [Reflect] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
[Reflect] attribute boolean noShade;
- [Reflect] attribute DOMString size;
- [Reflect] attribute DOMString width;
+ [Reflect, TreatNullAs=NullString] attribute DOMString size;
+ [Reflect, TreatNullAs=NullString] attribute DOMString width;
};
diff --git a/core/html/HTMLHeadElement.idl b/core/html/HTMLHeadElement.idl
index 6a784bd..5d17741 100644
--- a/core/html/HTMLHeadElement.idl
+++ b/core/html/HTMLHeadElement.idl
@@ -18,6 +18,6 @@
*/
interface HTMLHeadElement : HTMLElement {
- [Reflect] attribute DOMString profile;
+ [Reflect, TreatNullAs=NullString] attribute DOMString profile;
};
diff --git a/core/html/HTMLHeadingElement.idl b/core/html/HTMLHeadingElement.idl
index 288f439..e339d6e 100644
--- a/core/html/HTMLHeadingElement.idl
+++ b/core/html/HTMLHeadingElement.idl
@@ -18,6 +18,6 @@
*/
interface HTMLHeadingElement : HTMLElement {
- [Reflect] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
};
diff --git a/core/html/HTMLHtmlElement.idl b/core/html/HTMLHtmlElement.idl
index 430cdc6..294ad79 100644
--- a/core/html/HTMLHtmlElement.idl
+++ b/core/html/HTMLHtmlElement.idl
@@ -18,7 +18,7 @@
*/
interface HTMLHtmlElement : HTMLElement {
- [Reflect] attribute DOMString version;
- [Reflect, URL] attribute DOMString manifest;
+ [Reflect, TreatNullAs=NullString] attribute DOMString version;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString manifest;
};
diff --git a/core/html/HTMLIFrameElement.idl b/core/html/HTMLIFrameElement.idl
index d47b1b7..9fcf3a9 100644
--- a/core/html/HTMLIFrameElement.idl
+++ b/core/html/HTMLIFrameElement.idl
@@ -19,19 +19,19 @@
*/
interface HTMLIFrameElement : HTMLElement {
- [Reflect] attribute DOMString align;
- [Reflect] attribute DOMString frameBorder;
- [Reflect] attribute DOMString height;
- [Reflect] attribute DOMString longDesc;
- [Reflect] attribute DOMString marginHeight;
- [Reflect] attribute DOMString marginWidth;
- [Reflect] attribute DOMString name;
- [Reflect] attribute DOMString sandbox;
- [Reflect, EnabledAtRuntime=SeamlessIFrames] attribute boolean seamless;
- [Reflect] attribute DOMString scrolling;
- [Reflect, URL] attribute DOMString src;
- [Reflect] attribute DOMString srcdoc;
- [Reflect] attribute DOMString width;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString frameBorder;
+ [Reflect, TreatNullAs=NullString] attribute DOMString height;
+ [Reflect, TreatNullAs=NullString] attribute DOMString longDesc;
+ [Reflect, TreatNullAs=NullString] attribute DOMString marginHeight;
+ [Reflect, TreatNullAs=NullString] attribute DOMString marginWidth;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString sandbox;
+ [Reflect, RuntimeEnabled=SeamlessIFrames] attribute boolean seamless;
+ [Reflect, TreatNullAs=NullString] attribute DOMString scrolling;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString src;
+ [Reflect, TreatNullAs=NullString] attribute DOMString srcdoc;
+ [Reflect, TreatNullAs=NullString] attribute DOMString width;
// Introduced in DOM Level 2:
[CheckSecurityForNode] readonly attribute Document contentDocument;
diff --git a/core/html/HTMLImageElement.idl b/core/html/HTMLImageElement.idl
index efd1c6a..1ef0e50 100644
--- a/core/html/HTMLImageElement.idl
+++ b/core/html/HTMLImageElement.idl
@@ -18,29 +18,32 @@
* Boston, MA 02110-1301, USA.
*/
+// FIXME: NamedConstructor does not support optional without Default. Fortunately using Undefined makes
+// us use 0 which happens to be the default width and height anyway.
[
+ // FIXME(MERGE_DARTIUM): Breaks Dart code gen for Chrome 32 / 1700 roll.
+ // NamedConstructor=Image([Default=Undefined] optional long width, [Default=Undefined] optional long height)
] interface HTMLImageElement : HTMLElement {
- [Reflect] attribute DOMString name;
- [Reflect] attribute DOMString align;
- [Reflect] attribute DOMString alt;
- [Reflect] attribute DOMString border;
- [Reflect] attribute DOMString crossOrigin;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString alt;
+ [Reflect, TreatNullAs=NullString] attribute DOMString border;
+ [Reflect, TreatNullAs=NullString] attribute DOMString crossOrigin;
attribute long height;
[Reflect] attribute long hspace;
[Reflect] attribute boolean isMap;
- [Reflect, URL] attribute DOMString longDesc;
- [Reflect, URL] attribute DOMString src;
- [Reflect, EnabledAtRuntime=Srcset] attribute DOMString srcset;
- [Reflect] attribute DOMString useMap;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString longDesc;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString src;
+ [Reflect, TreatNullAs=NullString, RuntimeEnabled=Srcset] attribute DOMString srcset;
+ [Reflect, TreatNullAs=NullString] attribute DOMString useMap;
[Reflect] attribute long vspace;
attribute long width;
// Extensions
readonly attribute boolean complete;
- [Reflect,URL] attribute DOMString lowsrc;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString lowsrc;
readonly attribute long naturalHeight;
readonly attribute long naturalWidth;
readonly attribute long x;
readonly attribute long y;
};
-
diff --git a/core/html/HTMLInputElement.idl b/core/html/HTMLInputElement.idl
index fd6151d..9782e01 100644
--- a/core/html/HTMLInputElement.idl
+++ b/core/html/HTMLInputElement.idl
@@ -21,50 +21,50 @@
[
] interface HTMLInputElement : HTMLElement {
- [Reflect] attribute DOMString accept;
- [Reflect] attribute DOMString alt;
- [Reflect] attribute DOMString autocomplete;
+ [Reflect, TreatNullAs=NullString] attribute DOMString accept;
+ [Reflect, TreatNullAs=NullString] attribute DOMString alt;
+ [Reflect, TreatNullAs=NullString] attribute DOMString autocomplete;
[Reflect] attribute boolean autofocus;
[Reflect=checked] attribute boolean defaultChecked;
attribute boolean checked;
- [Reflect] attribute DOMString dirName;
+ [Reflect, TreatNullAs=NullString] attribute DOMString dirName;
[Reflect] attribute boolean disabled;
readonly attribute HTMLFormElement form;
// The 'files' attribute is intentionally not readonly.
// https://www.w3.org/Bugs/Public/show_bug.cgi?id=22682
attribute FileList files;
- [Reflect, URL] attribute DOMString formAction;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString formEnctype;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString formMethod;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString formAction;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString formEnctype;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString formMethod;
[Reflect] attribute boolean formNoValidate;
- [Reflect] attribute DOMString formTarget;
- [CustomElementCallbacks=Enable] attribute unsigned long height;
+ [Reflect, TreatNullAs=NullString] attribute DOMString formTarget;
+ [CustomElementCallbacks] attribute unsigned long height;
attribute boolean indeterminate;
- [EnabledAtRuntime=DataListElement] readonly attribute HTMLElement list;
- [Reflect] attribute DOMString max;
- [SetterRaisesException, CustomElementCallbacks=Enable] attribute long maxLength;
- [Reflect] attribute DOMString min;
+ [RuntimeEnabled=DataListElement] readonly attribute HTMLElement list;
+ [Reflect, TreatNullAs=NullString] attribute DOMString max;
+ [SetterRaisesException, CustomElementCallbacks] attribute long maxLength;
+ [Reflect, TreatNullAs=NullString] attribute DOMString min;
[Reflect] attribute boolean multiple;
- [Reflect] attribute DOMString name;
- [Reflect] attribute DOMString pattern;
- [Reflect] attribute DOMString placeholder;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString pattern;
+ [Reflect, TreatNullAs=NullString] attribute DOMString placeholder;
[Reflect] attribute boolean readOnly;
[Reflect] attribute boolean required;
- [SetterRaisesException, CustomElementCallbacks=Enable] attribute unsigned long size; // Changed string -> long -> unsigned long
- [Reflect, URL] attribute DOMString src;
- [Reflect] attribute DOMString step;
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString type; // readonly dropped as part of DOM level 2
- [TreatNullAs=NullString, CustomElementCallbacks=Enable] attribute DOMString defaultValue;
+ [SetterRaisesException, CustomElementCallbacks] attribute unsigned long size; // Changed string -> long -> unsigned long
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString src;
+ [Reflect, TreatNullAs=NullString] attribute DOMString step;
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString type; // readonly dropped as part of DOM level 2
+ [TreatNullAs=NullString, CustomElementCallbacks] attribute DOMString defaultValue;
// See the discussion in https://bugs.webkit.org/show_bug.cgi?id=100085
- [TreatNullAs=NullString, SetterRaisesException, CustomElementCallbacks=Enable] attribute DOMString value;
- [SetterRaisesException, CustomElementCallbacks=Enable] attribute Date valueAsDate;
- [SetterRaisesException, CustomElementCallbacks=Enable] attribute double valueAsNumber;
- [EnabledAtRuntime=InputModeAttribute, Reflect] attribute DOMString inputMode;
+ [TreatNullAs=NullString, SetterRaisesException, CustomElementCallbacks] attribute DOMString value;
+ [SetterRaisesException, CustomElementCallbacks] attribute Date valueAsDate;
+ [SetterRaisesException, CustomElementCallbacks] attribute double valueAsNumber;
+ [RuntimeEnabled=InputModeAttribute, Reflect, TreatNullAs=NullString] attribute DOMString inputMode;
- [RaisesException, CustomElementCallbacks=Enable] void stepUp(optional long n);
- [RaisesException, CustomElementCallbacks=Enable] void stepDown(optional long n);
+ [RaisesException, CustomElementCallbacks] void stepUp(optional long n);
+ [RaisesException, CustomElementCallbacks] void stepDown(optional long n);
- [CustomElementCallbacks=Enable] attribute unsigned long width;
+ [CustomElementCallbacks] attribute unsigned long width;
readonly attribute boolean willValidate;
readonly attribute ValidityState validity;
readonly attribute DOMString validationMessage;
@@ -90,13 +90,13 @@
optional DOMString direction);
// Non-standard attributes
- [Reflect] attribute DOMString align;
- [Reflect, EnabledAtRuntime=DirectoryUpload] attribute boolean webkitdirectory;
- [Reflect] attribute DOMString useMap;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
+ [Reflect, RuntimeEnabled=DirectoryUpload] attribute boolean webkitdirectory;
+ [Reflect, TreatNullAs=NullString] attribute DOMString useMap;
[Reflect] attribute boolean incremental;
- [Conditional=INPUT_SPEECH, Reflect, EnabledAtRuntime=SpeechInput] attribute boolean webkitSpeech;
- [Conditional=INPUT_SPEECH, Reflect, EnabledAtRuntime=SpeechInput] attribute boolean webkitGrammar;
- [Conditional=INPUT_SPEECH, NotEnumerable] attribute EventHandler onwebkitspeechchange;
+ [Conditional=INPUT_SPEECH, Reflect, RuntimeEnabled=SpeechInput] attribute boolean webkitSpeech;
+ [Conditional=INPUT_SPEECH, Reflect, RuntimeEnabled=SpeechInput] attribute boolean webkitGrammar;
+ [Conditional=INPUT_SPEECH] attribute EventHandler onwebkitspeechchange;
// See http://www.w3.org/TR/html-media-capture/
[Conditional=MEDIA_CAPTURE, Reflect] attribute boolean capture;
diff --git a/core/html/HTMLKeygenElement.idl b/core/html/HTMLKeygenElement.idl
index c8361d8..b4d67df 100644
--- a/core/html/HTMLKeygenElement.idl
+++ b/core/html/HTMLKeygenElement.idl
@@ -30,11 +30,11 @@
interface HTMLKeygenElement : HTMLElement {
[Reflect] attribute boolean autofocus;
- [Reflect] attribute DOMString challenge;
+ [Reflect, TreatNullAs=NullString] attribute DOMString challenge;
[Reflect] attribute boolean disabled;
readonly attribute HTMLFormElement form;
- [Reflect] attribute DOMString keytype;
- [Reflect] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString keytype;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
readonly attribute DOMString type;
diff --git a/core/html/HTMLLIElement.idl b/core/html/HTMLLIElement.idl
index f79f1cb..9d03749 100644
--- a/core/html/HTMLLIElement.idl
+++ b/core/html/HTMLLIElement.idl
@@ -18,7 +18,7 @@
*/
interface HTMLLIElement : HTMLElement {
- [Reflect] attribute DOMString type;
+ [Reflect, TreatNullAs=NullString] attribute DOMString type;
[Reflect] attribute long value;
};
diff --git a/core/html/HTMLLabelElement.idl b/core/html/HTMLLabelElement.idl
index fa37360..d249897 100644
--- a/core/html/HTMLLabelElement.idl
+++ b/core/html/HTMLLabelElement.idl
@@ -20,7 +20,7 @@
interface HTMLLabelElement : HTMLElement {
readonly attribute HTMLFormElement form;
- [Reflect=for] attribute DOMString htmlFor;
+ [Reflect=for, TreatNullAs=NullString] attribute DOMString htmlFor;
readonly attribute HTMLElement control;
};
diff --git a/core/html/HTMLLegendElement.idl b/core/html/HTMLLegendElement.idl
index e8e8871..0e89ec0 100644
--- a/core/html/HTMLLegendElement.idl
+++ b/core/html/HTMLLegendElement.idl
@@ -20,6 +20,6 @@
interface HTMLLegendElement : HTMLElement {
readonly attribute HTMLFormElement form;
- [Reflect] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
};
diff --git a/core/html/HTMLLinkElement.idl b/core/html/HTMLLinkElement.idl
index 25e900a..6bcce34 100644
--- a/core/html/HTMLLinkElement.idl
+++ b/core/html/HTMLLinkElement.idl
@@ -21,19 +21,19 @@
interface HTMLLinkElement : HTMLElement {
[Reflect] attribute boolean disabled;
- [Reflect] attribute DOMString charset;
- [Reflect, URL] attribute DOMString href;
- [Reflect] attribute DOMString hreflang;
- [Reflect] attribute DOMString media;
- [Reflect] attribute DOMString rel;
- [Reflect] attribute DOMString rev;
- [CustomSetter] attribute DOMSettableTokenList sizes;
- [Reflect] attribute DOMString target;
- [Reflect] attribute DOMString type;
+ [Reflect, TreatNullAs=NullString] attribute DOMString charset;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString href;
+ [Reflect, TreatNullAs=NullString] attribute DOMString hreflang;
+ [Reflect, TreatNullAs=NullString] attribute DOMString media;
+ [Reflect, TreatNullAs=NullString] attribute DOMString rel;
+ [Reflect, TreatNullAs=NullString] attribute DOMString rev;
+ [PutForwards=value] readonly attribute DOMSettableTokenList sizes;
+ [Reflect, TreatNullAs=NullString] attribute DOMString target;
+ [Reflect, TreatNullAs=NullString] attribute DOMString type;
// DOM Level 2 Style
readonly attribute StyleSheet sheet;
- [EnabledAtRuntime=HTMLImports] readonly attribute Document import;
+ [RuntimeEnabled=HTMLImports] readonly attribute Document import;
};
diff --git a/core/html/HTMLMapElement.idl b/core/html/HTMLMapElement.idl
index 01dcae0..2eb6f29 100644
--- a/core/html/HTMLMapElement.idl
+++ b/core/html/HTMLMapElement.idl
@@ -20,6 +20,6 @@
interface HTMLMapElement : HTMLElement {
readonly attribute HTMLCollection areas;
- [Reflect] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
};
diff --git a/core/html/HTMLMarqueeElement.idl b/core/html/HTMLMarqueeElement.idl
index b5bda0c..827da3e 100644
--- a/core/html/HTMLMarqueeElement.idl
+++ b/core/html/HTMLMarqueeElement.idl
@@ -21,17 +21,17 @@
void start();
void stop();
- [Reflect] attribute DOMString behavior;
- [Reflect] attribute DOMString bgColor;
- [Reflect] attribute DOMString direction;
- [Reflect] attribute DOMString height;
+ [Reflect, TreatNullAs=NullString] attribute DOMString behavior;
+ [Reflect, TreatNullAs=NullString] attribute DOMString bgColor;
+ [Reflect, TreatNullAs=NullString] attribute DOMString direction;
+ [Reflect, TreatNullAs=NullString] attribute DOMString height;
[Reflect] attribute unsigned long hspace;
[SetterRaisesException] attribute long loop;
[SetterRaisesException] attribute long scrollAmount;
[SetterRaisesException] attribute long scrollDelay;
[Reflect] attribute boolean trueSpeed;
[Reflect] attribute unsigned long vspace;
- [Reflect] attribute DOMString width;
+ [Reflect, TreatNullAs=NullString] attribute DOMString width;
// FIXME: Implement the following event handler attributes
// https://bugs.webkit.org/show_bug.cgi?id=49788
diff --git a/core/html/HTMLMediaElement.idl b/core/html/HTMLMediaElement.idl
index 873aeeb..a30598b 100644
--- a/core/html/HTMLMediaElement.idl
+++ b/core/html/HTMLMediaElement.idl
@@ -24,84 +24,80 @@
*/
[
- EnabledAtRuntime=Media,
+ RuntimeEnabled=Media,
ActiveDOMObject
] interface HTMLMediaElement : HTMLElement {
-// error state
-readonly attribute MediaError error;
+ // error state
+ readonly attribute MediaError error;
-// network state
-[Reflect, URL] attribute DOMString src;
-[URL] readonly attribute DOMString currentSrc;
+ // network state
+ [Reflect, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString src;
+ [URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] readonly attribute DOMString currentSrc;
-const unsigned short NETWORK_EMPTY = 0;
-const unsigned short NETWORK_IDLE = 1;
-const unsigned short NETWORK_LOADING = 2;
-const unsigned short NETWORK_NO_SOURCE = 3;
-readonly attribute unsigned short networkState;
-attribute DOMString preload;
+ const unsigned short NETWORK_EMPTY = 0;
+ const unsigned short NETWORK_IDLE = 1;
+ const unsigned short NETWORK_LOADING = 2;
+ const unsigned short NETWORK_NO_SOURCE = 3;
+ readonly attribute unsigned short networkState;
+ attribute DOMString preload;
-readonly attribute TimeRanges buffered;
-void load();
+ readonly attribute TimeRanges buffered;
+ void load();
DOMString canPlayType([Default=Undefined] optional DOMString type, [Default=Undefined, TreatNullAs=NullString, TreatUndefinedAs=NullString] optional DOMString keySystem);
-// ready state
-const unsigned short HAVE_NOTHING = 0;
-const unsigned short HAVE_METADATA = 1;
-const unsigned short HAVE_CURRENT_DATA = 2;
-const unsigned short HAVE_FUTURE_DATA = 3;
-const unsigned short HAVE_ENOUGH_DATA = 4;
-readonly attribute unsigned short readyState;
-readonly attribute boolean seeking;
+ // ready state
+ const unsigned short HAVE_NOTHING = 0;
+ const unsigned short HAVE_METADATA = 1;
+ const unsigned short HAVE_CURRENT_DATA = 2;
+ const unsigned short HAVE_FUTURE_DATA = 3;
+ const unsigned short HAVE_ENOUGH_DATA = 4;
+ readonly attribute unsigned short readyState;
+ readonly attribute boolean seeking;
-// playback state
-[SetterRaisesException] attribute double currentTime;
-readonly attribute double initialTime;
-readonly attribute double startTime;
-readonly attribute double duration;
-readonly attribute boolean paused;
-attribute double defaultPlaybackRate;
-attribute double playbackRate;
-readonly attribute TimeRanges played;
-readonly attribute TimeRanges seekable;
-readonly attribute boolean ended;
-[Reflect] attribute boolean autoplay;
-[Reflect] attribute boolean loop;
-void play();
-void pause();
+ // playback state
+ [SetterRaisesException] attribute double currentTime;
+ readonly attribute double duration;
+ readonly attribute boolean paused;
+ attribute double defaultPlaybackRate;
+ attribute double playbackRate;
+ readonly attribute TimeRanges played;
+ readonly attribute TimeRanges seekable;
+ readonly attribute boolean ended;
+ [Reflect] attribute boolean autoplay;
+ [Reflect] attribute boolean loop;
+ void play();
+ void pause();
-// controls
-attribute boolean controls;
-[SetterRaisesException] attribute double volume;
-attribute boolean muted;
-[Reflect=muted] attribute boolean defaultMuted;
+ // media controller
+ [Reflect] attribute DOMString mediaGroup;
+ [CustomSetter] attribute MediaController controller;
-// WebKit extensions
-attribute boolean webkitPreservesPitch;
+ // controls
+ attribute boolean controls;
+ [SetterRaisesException] attribute double volume;
+ attribute boolean muted;
+ [Reflect=muted] attribute boolean defaultMuted;
-readonly attribute boolean webkitHasClosedCaptions;
-attribute boolean webkitClosedCaptionsVisible;
+ // tracks
+ [RuntimeEnabled=VideoTrack] readonly attribute TextTrackList textTracks;
+ [RuntimeEnabled=VideoTrack, RaisesException] TextTrack addTextTrack(DOMString kind, optional DOMString label, optional DOMString language);
-// The number of bytes consumed by the media decoder.
-readonly attribute unsigned long webkitAudioDecodedByteCount;
-readonly attribute unsigned long webkitVideoDecodedByteCount;
+ // WebKit extensions
-// FIXME: add DeprecateAs=PrefixedMediaGenerateKeyRequest when MediaKeys is ready.
-[EnabledAtRuntime=LegacyEncryptedMedia, RaisesException] void webkitGenerateKeyRequest([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, optional Uint8Array initData);
-[EnabledAtRuntime=LegacyEncryptedMedia, RaisesException] void webkitAddKey([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, Uint8Array key, optional Uint8Array initData, [Default=NullString] optional DOMString sessionId);
-[EnabledAtRuntime=LegacyEncryptedMedia, RaisesException] void webkitCancelKeyRequest([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, [Default=NullString] optional DOMString sessionId);
+ // The number of bytes consumed by the media decoder.
+ [MeasureAs=PrefixedAudioDecodedByteCount] readonly attribute unsigned long webkitAudioDecodedByteCount;
+ [MeasureAs=PrefixedVideoDecodedByteCount] readonly attribute unsigned long webkitVideoDecodedByteCount;
-[EnabledAtRuntime=LegacyEncryptedMedia] attribute EventHandler onwebkitkeyadded;
-[EnabledAtRuntime=LegacyEncryptedMedia] attribute EventHandler onwebkitkeyerror;
-[EnabledAtRuntime=LegacyEncryptedMedia] attribute EventHandler onwebkitkeymessage;
-[EnabledAtRuntime=LegacyEncryptedMedia] attribute EventHandler onwebkitneedkey;
+ // FIXME: add DeprecateAs=PrefixedMediaGenerateKeyRequest when MediaKeys is ready.
+ [RuntimeEnabled=PrefixedEncryptedMedia, RaisesException] void webkitGenerateKeyRequest([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, optional Uint8Array initData);
+ [RuntimeEnabled=PrefixedEncryptedMedia, RaisesException] void webkitAddKey([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, Uint8Array key, optional Uint8Array initData, [Default=NullString] optional DOMString sessionId);
+ [RuntimeEnabled=PrefixedEncryptedMedia, RaisesException] void webkitCancelKeyRequest([TreatNullAs=NullString, TreatUndefinedAs=NullString] DOMString keySystem, [Default=NullString] optional DOMString sessionId);
-[EnabledAtRuntime=EncryptedMedia, Conditional=ENCRYPTED_MEDIA_V2] attribute MediaKeys mediaKeys;
+ [RuntimeEnabled=PrefixedEncryptedMedia] attribute EventHandler onwebkitkeyadded;
+ [RuntimeEnabled=PrefixedEncryptedMedia] attribute EventHandler onwebkitkeyerror;
+ [RuntimeEnabled=PrefixedEncryptedMedia] attribute EventHandler onwebkitkeymessage;
+ [RuntimeEnabled=PrefixedEncryptedMedia] attribute EventHandler onwebkitneedkey;
-[EnabledAtRuntime=VideoTrack, RaisesException] TextTrack addTextTrack(DOMString kind, optional DOMString label, optional DOMString language);
-[EnabledAtRuntime=VideoTrack] readonly attribute TextTrackList textTracks;
-
-[Reflect, TreatNullAs=NullString] attribute DOMString mediaGroup;
-[CustomSetter] attribute MediaController controller;
+ [RuntimeEnabled=EncryptedMedia, Conditional=ENCRYPTED_MEDIA_V2] attribute MediaKeys mediaKeys;
};
diff --git a/core/html/HTMLMetaElement.idl b/core/html/HTMLMetaElement.idl
index 4f7e9cd..8149993 100644
--- a/core/html/HTMLMetaElement.idl
+++ b/core/html/HTMLMetaElement.idl
@@ -18,9 +18,9 @@
*/
interface HTMLMetaElement : HTMLElement {
- [Reflect] attribute DOMString content;
- [Reflect=http_equiv] attribute DOMString httpEquiv;
- [Reflect] attribute DOMString name;
- [Reflect] attribute DOMString scheme;
+ [Reflect, TreatNullAs=NullString] attribute DOMString content;
+ [Reflect=http_equiv, TreatNullAs=NullString] attribute DOMString httpEquiv;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString scheme;
};
diff --git a/core/html/HTMLModElement.idl b/core/html/HTMLModElement.idl
index ccb8da4..e5866d3 100644
--- a/core/html/HTMLModElement.idl
+++ b/core/html/HTMLModElement.idl
@@ -18,7 +18,7 @@
*/
interface HTMLModElement : HTMLElement {
- [Reflect, URL] attribute DOMString cite;
- [Reflect] attribute DOMString dateTime;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString cite;
+ [Reflect, TreatNullAs=NullString] attribute DOMString dateTime;
};
diff --git a/core/html/HTMLOListElement.idl b/core/html/HTMLOListElement.idl
index 1e51615..0168f6d 100644
--- a/core/html/HTMLOListElement.idl
+++ b/core/html/HTMLOListElement.idl
@@ -21,6 +21,6 @@
[Reflect] attribute boolean compact;
attribute long start;
[Reflect] attribute boolean reversed;
- [Reflect] attribute DOMString type;
+ [Reflect, TreatNullAs=NullString] attribute DOMString type;
};
diff --git a/core/html/HTMLObjectElement.idl b/core/html/HTMLObjectElement.idl
index 8c33b24..02b1a80 100644
--- a/core/html/HTMLObjectElement.idl
+++ b/core/html/HTMLObjectElement.idl
@@ -22,22 +22,22 @@
CustomLegacyCall
] interface HTMLObjectElement : HTMLElement {
readonly attribute HTMLFormElement form;
- [Reflect] attribute DOMString code;
- [Reflect] attribute DOMString align;
- [Reflect] attribute DOMString archive;
- [Reflect] attribute DOMString border;
- [Reflect] attribute DOMString codeBase;
- [Reflect] attribute DOMString codeType;
- [Reflect, URL] attribute DOMString data;
+ [Reflect, TreatNullAs=NullString] attribute DOMString code;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString archive;
+ [Reflect, TreatNullAs=NullString] attribute DOMString border;
+ [Reflect, TreatNullAs=NullString] attribute DOMString codeBase;
+ [Reflect, TreatNullAs=NullString] attribute DOMString codeType;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString data;
[Reflect] attribute boolean declare;
- [Reflect] attribute DOMString height;
+ [Reflect, TreatNullAs=NullString] attribute DOMString height;
[Reflect] attribute long hspace;
- [Reflect] attribute DOMString name;
- [Reflect] attribute DOMString standby;
- [Reflect] attribute DOMString type;
- [Reflect] attribute DOMString useMap;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString standby;
+ [Reflect, TreatNullAs=NullString] attribute DOMString type;
+ [Reflect, TreatNullAs=NullString] attribute DOMString useMap;
[Reflect] attribute long vspace;
- [Reflect] attribute DOMString width;
+ [Reflect, TreatNullAs=NullString] attribute DOMString width;
readonly attribute boolean willValidate;
readonly attribute ValidityState validity;
readonly attribute DOMString validationMessage;
diff --git a/core/html/HTMLOptGroupElement.idl b/core/html/HTMLOptGroupElement.idl
index 26a782f..d95f738 100644
--- a/core/html/HTMLOptGroupElement.idl
+++ b/core/html/HTMLOptGroupElement.idl
@@ -19,6 +19,6 @@
interface HTMLOptGroupElement : HTMLElement {
[Reflect] attribute boolean disabled;
- [Reflect] attribute DOMString label;
+ [Reflect, TreatNullAs=NullString] attribute DOMString label;
};
diff --git a/core/html/HTMLOutputElement.idl b/core/html/HTMLOutputElement.idl
index 7edaca2..caebd48 100644
--- a/core/html/HTMLOutputElement.idl
+++ b/core/html/HTMLOutputElement.idl
@@ -23,9 +23,9 @@
*/
interface HTMLOutputElement : HTMLElement {
- readonly attribute DOMSettableTokenList htmlFor;
+ [PutForwards=value] readonly attribute DOMSettableTokenList htmlFor;
readonly attribute HTMLFormElement form;
- [Reflect] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
readonly attribute DOMString type;
[TreatNullAs=NullString] attribute DOMString defaultValue;
diff --git a/core/html/HTMLParagraphElement.idl b/core/html/HTMLParagraphElement.idl
index e6bd9e8..55787c3 100644
--- a/core/html/HTMLParagraphElement.idl
+++ b/core/html/HTMLParagraphElement.idl
@@ -18,6 +18,6 @@
*/
interface HTMLParagraphElement : HTMLElement {
- [Reflect] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
};
diff --git a/core/html/HTMLParamElement.idl b/core/html/HTMLParamElement.idl
index fea2594..2de4b20 100644
--- a/core/html/HTMLParamElement.idl
+++ b/core/html/HTMLParamElement.idl
@@ -18,9 +18,9 @@
*/
interface HTMLParamElement : HTMLElement {
- [Reflect] attribute DOMString name;
- [Reflect] attribute DOMString type;
- [Reflect] attribute DOMString value;
- [Reflect] attribute DOMString valueType;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString type;
+ [Reflect, TreatNullAs=NullString] attribute DOMString value;
+ [Reflect, TreatNullAs=NullString] attribute DOMString valueType;
};
diff --git a/core/html/HTMLQuoteElement.idl b/core/html/HTMLQuoteElement.idl
index c53a1a2..464fd0a 100644
--- a/core/html/HTMLQuoteElement.idl
+++ b/core/html/HTMLQuoteElement.idl
@@ -18,5 +18,5 @@
*/
interface HTMLQuoteElement : HTMLElement {
- [Reflect, URL] attribute DOMString cite;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString cite;
};
diff --git a/core/html/HTMLScriptElement.idl b/core/html/HTMLScriptElement.idl
index ef68a4d..ea4275d 100644
--- a/core/html/HTMLScriptElement.idl
+++ b/core/html/HTMLScriptElement.idl
@@ -19,13 +19,13 @@
interface HTMLScriptElement : HTMLElement {
[TreatNullAs=NullString] attribute DOMString text;
- [Reflect=for] attribute DOMString htmlFor;
- [Reflect] attribute DOMString event;
- [Reflect] attribute DOMString charset;
+ [Reflect=for, TreatNullAs=NullString] attribute DOMString htmlFor;
+ [Reflect, TreatNullAs=NullString] attribute DOMString event;
+ [Reflect, TreatNullAs=NullString] attribute DOMString charset;
attribute boolean async;
[Reflect] attribute boolean defer;
- [Reflect, URL] attribute DOMString src;
- [Reflect] attribute DOMString type;
- [Reflect] attribute DOMString crossOrigin;
- [Reflect, EnabledAtRuntime=ExperimentalContentSecurityPolicyFeatures] attribute DOMString nonce;
+ [Reflect, TreatNullAs=NullString, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString src;
+ [Reflect, TreatNullAs=NullString] attribute DOMString type;
+ [Reflect, TreatNullAs=NullString] attribute DOMString crossOrigin;
+ [Reflect, TreatNullAs=NullString, RuntimeEnabled=ExperimentalContentSecurityPolicyFeatures] attribute DOMString nonce;
};
diff --git a/core/html/HTMLSelectElement.idl b/core/html/HTMLSelectElement.idl
index 8c92af5..477af63 100644
--- a/core/html/HTMLSelectElement.idl
+++ b/core/html/HTMLSelectElement.idl
@@ -24,7 +24,7 @@
[Reflect] attribute boolean disabled;
readonly attribute HTMLFormElement form;
attribute boolean multiple;
- [Reflect] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
[Reflect] attribute boolean required;
attribute long size;
diff --git a/core/html/HTMLSourceElement.idl b/core/html/HTMLSourceElement.idl
index 5adb052..4e10349 100644
--- a/core/html/HTMLSourceElement.idl
+++ b/core/html/HTMLSourceElement.idl
@@ -24,9 +24,9 @@
*/
[
- EnabledAtRuntime=Media
+ RuntimeEnabled=Media
] interface HTMLSourceElement : HTMLElement {
-[Reflect, URL] attribute DOMString src;
+ [Reflect, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString src;
attribute DOMString type;
attribute DOMString media;
};
diff --git a/core/html/HTMLStyleElement.idl b/core/html/HTMLStyleElement.idl
index a5fd4f3..55d12f2 100644
--- a/core/html/HTMLStyleElement.idl
+++ b/core/html/HTMLStyleElement.idl
@@ -20,9 +20,9 @@
interface HTMLStyleElement : HTMLElement {
attribute boolean disabled;
- [EnabledAtRuntime=StyleScoped] attribute boolean scoped;
- [Reflect] attribute DOMString media;
- [Reflect] attribute DOMString type;
+ [RuntimeEnabled=StyleScoped] attribute boolean scoped;
+ [Reflect, TreatNullAs=NullString] attribute DOMString media;
+ [Reflect, TreatNullAs=NullString] attribute DOMString type;
// DOM Level 2 Style
readonly attribute StyleSheet sheet;
diff --git a/core/html/HTMLTableCaptionElement.idl b/core/html/HTMLTableCaptionElement.idl
index e29f097..b7b55d7 100644
--- a/core/html/HTMLTableCaptionElement.idl
+++ b/core/html/HTMLTableCaptionElement.idl
@@ -19,6 +19,6 @@
*/
interface HTMLTableCaptionElement : HTMLElement {
- [Reflect] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
};
diff --git a/core/html/HTMLTableCellElement.idl b/core/html/HTMLTableCellElement.idl
index 3b949f3..a52f05c 100644
--- a/core/html/HTMLTableCellElement.idl
+++ b/core/html/HTMLTableCellElement.idl
@@ -20,19 +20,19 @@
interface HTMLTableCellElement : HTMLElement {
readonly attribute long cellIndex;
- [Reflect] attribute DOMString abbr;
- [Reflect] attribute DOMString align;
- [Reflect] attribute DOMString axis;
- [Reflect] attribute DOMString bgColor;
- [Reflect=char] attribute DOMString ch;
- [Reflect=charoff] attribute DOMString chOff;
+ [Reflect, TreatNullAs=NullString] attribute DOMString abbr;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString axis;
+ [Reflect, TreatNullAs=NullString] attribute DOMString bgColor;
+ [Reflect=char, TreatNullAs=NullString] attribute DOMString ch;
+ [Reflect=charoff, TreatNullAs=NullString] attribute DOMString chOff;
attribute long colSpan;
- [Reflect] attribute DOMString headers;
- [Reflect] attribute DOMString height;
+ [Reflect, TreatNullAs=NullString] attribute DOMString headers;
+ [Reflect, TreatNullAs=NullString] attribute DOMString height;
[Reflect] attribute boolean noWrap;
attribute long rowSpan;
- [Reflect] attribute DOMString scope;
- [Reflect] attribute DOMString vAlign;
- [Reflect] attribute DOMString width;
+ [Reflect, TreatNullAs=NullString] attribute DOMString scope;
+ [Reflect, TreatNullAs=NullString] attribute DOMString vAlign;
+ [Reflect, TreatNullAs=NullString] attribute DOMString width;
};
diff --git a/core/html/HTMLTableColElement.idl b/core/html/HTMLTableColElement.idl
index 725e05d..748711f 100644
--- a/core/html/HTMLTableColElement.idl
+++ b/core/html/HTMLTableColElement.idl
@@ -19,11 +19,11 @@
*/
interface HTMLTableColElement : HTMLElement {
- [Reflect] attribute DOMString align;
- [Reflect=char] attribute DOMString ch;
- [Reflect=charoff] attribute DOMString chOff;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
+ [Reflect=char, TreatNullAs=NullString] attribute DOMString ch;
+ [Reflect=charoff, TreatNullAs=NullString] attribute DOMString chOff;
attribute long span;
- [Reflect] attribute DOMString vAlign;
- [Reflect] attribute DOMString width;
+ [Reflect, TreatNullAs=NullString] attribute DOMString vAlign;
+ [Reflect, TreatNullAs=NullString] attribute DOMString width;
};
diff --git a/core/html/HTMLTableElement.idl b/core/html/HTMLTableElement.idl
index 1881de3..cd247d6 100644
--- a/core/html/HTMLTableElement.idl
+++ b/core/html/HTMLTableElement.idl
@@ -25,17 +25,17 @@
readonly attribute HTMLCollection rows;
readonly attribute HTMLCollection tBodies;
- [Reflect] attribute DOMString align;
- [Reflect] attribute DOMString bgColor;
- [Reflect] attribute DOMString border;
- [Reflect] attribute DOMString cellPadding;
- [Reflect] attribute DOMString cellSpacing;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString bgColor;
+ [Reflect, TreatNullAs=NullString] attribute DOMString border;
+ [Reflect, TreatNullAs=NullString] attribute DOMString cellPadding;
+ [Reflect, TreatNullAs=NullString] attribute DOMString cellSpacing;
- [Reflect] attribute DOMString frame;
+ [Reflect, TreatNullAs=NullString] attribute DOMString frame;
- [Reflect] attribute DOMString rules;
- [Reflect] attribute DOMString summary;
- [Reflect] attribute DOMString width;
+ [Reflect, TreatNullAs=NullString] attribute DOMString rules;
+ [Reflect, TreatNullAs=NullString] attribute DOMString summary;
+ [Reflect, TreatNullAs=NullString] attribute DOMString width;
HTMLElement createTHead();
void deleteTHead();
diff --git a/core/html/HTMLTableRowElement.idl b/core/html/HTMLTableRowElement.idl
index a56f70a..1b2d27d 100644
--- a/core/html/HTMLTableRowElement.idl
+++ b/core/html/HTMLTableRowElement.idl
@@ -22,11 +22,11 @@
readonly attribute long rowIndex;
readonly attribute long sectionRowIndex;
readonly attribute HTMLCollection cells;
- [Reflect] attribute DOMString align;
- [Reflect] attribute DOMString bgColor;
- [Reflect=char] attribute DOMString ch;
- [Reflect=charoff] attribute DOMString chOff;
- [Reflect] attribute DOMString vAlign;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
+ [Reflect, TreatNullAs=NullString] attribute DOMString bgColor;
+ [Reflect=char, TreatNullAs=NullString] attribute DOMString ch;
+ [Reflect=charoff, TreatNullAs=NullString] attribute DOMString chOff;
+ [Reflect, TreatNullAs=NullString] attribute DOMString vAlign;
[RaisesException] HTMLElement insertCell([Default=Undefined] optional long index);
[RaisesException] void deleteCell([Default=Undefined] optional long index);
};
diff --git a/core/html/HTMLTableSectionElement.idl b/core/html/HTMLTableSectionElement.idl
index 3126d77..c46e724 100644
--- a/core/html/HTMLTableSectionElement.idl
+++ b/core/html/HTMLTableSectionElement.idl
@@ -19,10 +19,10 @@
*/
interface HTMLTableSectionElement : HTMLElement {
- [Reflect] attribute DOMString align;
- [Reflect=char] attribute DOMString ch;
- [Reflect=charoff] attribute DOMString chOff;
- [Reflect] attribute DOMString vAlign;
+ [Reflect, TreatNullAs=NullString] attribute DOMString align;
+ [Reflect=char, TreatNullAs=NullString] attribute DOMString ch;
+ [Reflect=charoff, TreatNullAs=NullString] attribute DOMString chOff;
+ [Reflect, TreatNullAs=NullString] attribute DOMString vAlign;
readonly attribute HTMLCollection rows;
[RaisesException] HTMLElement insertRow([Default=Undefined] optional long index);
[RaisesException] void deleteRow([Default=Undefined] optional long index);
diff --git a/core/html/HTMLTextAreaElement.idl b/core/html/HTMLTextAreaElement.idl
index 51c8419..fc3b1ff 100644
--- a/core/html/HTMLTextAreaElement.idl
+++ b/core/html/HTMLTextAreaElement.idl
@@ -22,17 +22,17 @@
interface HTMLTextAreaElement : HTMLElement {
[Reflect] attribute boolean autofocus;
attribute long cols;
- [Reflect] attribute DOMString dirName;
+ [Reflect, TreatNullAs=NullString] attribute DOMString dirName;
[Reflect] attribute boolean disabled;
readonly attribute HTMLFormElement form;
[SetterRaisesException] attribute long maxLength;
- [Reflect] attribute DOMString name;
- [Reflect] attribute DOMString placeholder;
+ [Reflect, TreatNullAs=NullString] attribute DOMString name;
+ [Reflect, TreatNullAs=NullString] attribute DOMString placeholder;
[Reflect] attribute boolean readOnly;
[Reflect] attribute boolean required;
attribute long rows;
- [Reflect] attribute DOMString wrap;
- [EnabledAtRuntime=InputModeAttribute, Reflect] attribute DOMString inputMode;
+ [Reflect, TreatNullAs=NullString] attribute DOMString wrap;
+ [RuntimeEnabled=InputModeAttribute, Reflect, TreatNullAs=NullString] attribute DOMString inputMode;
readonly attribute DOMString type;
[TreatNullAs=NullString] attribute DOMString defaultValue;
diff --git a/core/html/HTMLTrackElement.idl b/core/html/HTMLTrackElement.idl
index 9c4e1bf..4127db6 100644
--- a/core/html/HTMLTrackElement.idl
+++ b/core/html/HTMLTrackElement.idl
@@ -24,10 +24,10 @@
*/
[
- EnabledAtRuntime=VideoTrack
+ RuntimeEnabled=VideoTrack
] interface HTMLTrackElement : HTMLElement {
attribute DOMString kind;
- [Reflect, URL] attribute DOMString src;
+ [Reflect, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString src;
attribute DOMString srclang;
attribute DOMString label;
[Reflect] attribute boolean default;
diff --git a/core/html/HTMLUListElement.idl b/core/html/HTMLUListElement.idl
index e40350d..1dc6b6d 100644
--- a/core/html/HTMLUListElement.idl
+++ b/core/html/HTMLUListElement.idl
@@ -19,6 +19,6 @@
interface HTMLUListElement : HTMLElement {
[Reflect] attribute boolean compact;
- [Reflect] attribute DOMString type;
+ [Reflect, TreatNullAs=NullString] attribute DOMString type;
};
diff --git a/core/html/HTMLVideoElement.idl b/core/html/HTMLVideoElement.idl
index 2b2ab0d..96fc5bf 100644
--- a/core/html/HTMLVideoElement.idl
+++ b/core/html/HTMLVideoElement.idl
@@ -24,29 +24,29 @@
*/
[
- EnabledAtRuntime=Media
+ RuntimeEnabled=Media
] interface HTMLVideoElement : HTMLMediaElement {
[Reflect] attribute unsigned long width;
[Reflect] attribute unsigned long height;
readonly attribute unsigned long videoWidth;
readonly attribute unsigned long videoHeight;
- [Reflect, URL] attribute DOMString poster;
+ [Reflect, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString poster;
- readonly attribute boolean webkitSupportsFullscreen;
- readonly attribute boolean webkitDisplayingFullscreen;
+ [MeasureAs=PrefixedVideoSupportsFullscreen] readonly attribute boolean webkitSupportsFullscreen;
+ [MeasureAs=PrefixedVideoDisplayingFullscreen] readonly attribute boolean webkitDisplayingFullscreen;
- [RaisesException, PerWorldBindings, ActivityLog=Access] void webkitEnterFullscreen();
- void webkitExitFullscreen();
+ [MeasureAs=PrefixedVideoEnterFullscreen, RaisesException, PerWorldBindings, ActivityLogging=AccessForAllWorlds] void webkitEnterFullscreen();
+ [MeasureAs=PrefixedVideoExitFullscreen] void webkitExitFullscreen();
// Note the different capitalization of the "S" in FullScreen.
- [RaisesException, PerWorldBindings, ActivityLog=Access] void webkitEnterFullScreen();
- void webkitExitFullScreen();
+ [MeasureAs=PrefixedVideoEnterFullScreen, ImplementedAs=webkitEnterFullscreen, RaisesException, PerWorldBindings, ActivityLogging=AccessForAllWorlds] void webkitEnterFullScreen();
+ [MeasureAs=PrefixedVideoExitFullScreen, ImplementedAs=webkitExitFullscreen] void webkitExitFullScreen();
// The number of frames that have been decoded and made available for
// playback.
- readonly attribute unsigned long webkitDecodedFrameCount;
+ [MeasureAs=PrefixedVideoDecodedFrameCount] readonly attribute unsigned long webkitDecodedFrameCount;
// The number of decoded frames that have been dropped by the player
// for performance reasons during playback.
- readonly attribute unsigned long webkitDroppedFrameCount;
+ [MeasureAs=PrefixedVideoDroppedFrameCount] readonly attribute unsigned long webkitDroppedFrameCount;
};
diff --git a/core/html/MediaController.idl b/core/html/MediaController.idl
index 81171ec..254bbc2 100644
--- a/core/html/MediaController.idl
+++ b/core/html/MediaController.idl
@@ -24,9 +24,9 @@
*/
[
- EnabledAtRuntime=Media,
+ RuntimeEnabled=Media,
Constructor,
- ConstructorCallWith=ScriptExecutionContext
+ ConstructorCallWith=ExecutionContext
] interface MediaController : EventTarget {
readonly attribute TimeRanges buffered;
readonly attribute TimeRanges seekable;
diff --git a/core/html/MediaError.idl b/core/html/MediaError.idl
index 376159d..4cf13ed 100644
--- a/core/html/MediaError.idl
+++ b/core/html/MediaError.idl
@@ -24,12 +24,12 @@
*/
[
- EnabledAtRuntime=Media
+ RuntimeEnabled=Media
] interface MediaError {
- const unsigned short MEDIA_ERR_ABORTED = 1;
- const unsigned short MEDIA_ERR_NETWORK = 2;
- const unsigned short MEDIA_ERR_DECODE = 3;
- const unsigned short MEDIA_ERR_SRC_NOT_SUPPORTED = 4;
- const unsigned short MEDIA_ERR_ENCRYPTED = 5;
- readonly attribute unsigned short code;
+ const unsigned short MEDIA_ERR_ABORTED = 1;
+ const unsigned short MEDIA_ERR_NETWORK = 2;
+ const unsigned short MEDIA_ERR_DECODE = 3;
+ const unsigned short MEDIA_ERR_SRC_NOT_SUPPORTED = 4;
+ [RuntimeEnabled=EncryptedMediaAnyVersion] const unsigned short MEDIA_ERR_ENCRYPTED = 5;
+ readonly attribute unsigned short code;
};
diff --git a/core/html/MediaKeyError.idl b/core/html/MediaKeyError.idl
index ea442f8..58fddc8 100644
--- a/core/html/MediaKeyError.idl
+++ b/core/html/MediaKeyError.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=EncryptedMediaAnyVersion
+ RuntimeEnabled=EncryptedMediaAnyVersion
] interface MediaKeyError {
const unsigned short MEDIA_KEYERR_UNKNOWN = 1;
const unsigned short MEDIA_KEYERR_CLIENT = 2;
@@ -33,5 +33,5 @@
const unsigned short MEDIA_KEYERR_HARDWARECHANGE = 5;
const unsigned short MEDIA_KEYERR_DOMAIN = 6;
readonly attribute unsigned short code;
- [Conditional=ENCRYPTED_MEDIA_V2, EnabledAtRuntime=EncryptedMedia] readonly attribute unsigned long systemCode;
+ [Conditional=ENCRYPTED_MEDIA_V2, RuntimeEnabled=EncryptedMedia] readonly attribute unsigned long systemCode;
};
diff --git a/core/html/MediaKeyEvent.idl b/core/html/MediaKeyEvent.idl
index 297eabe..c1e08c2 100644
--- a/core/html/MediaKeyEvent.idl
+++ b/core/html/MediaKeyEvent.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=LegacyEncryptedMedia,
+ RuntimeEnabled=PrefixedEncryptedMedia,
ConstructorTemplate=Event
] interface MediaKeyEvent : Event {
[InitializedByEventConstructor] readonly attribute DOMString keySystem;
diff --git a/core/html/TimeRanges.idl b/core/html/TimeRanges.idl
index 3aa6b88..e6e6e95 100644
--- a/core/html/TimeRanges.idl
+++ b/core/html/TimeRanges.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=Media
+ RuntimeEnabled=Media
] interface TimeRanges {
readonly attribute unsigned long length;
[RaisesException] double start(unsigned long index);
diff --git a/core/html/canvas/Canvas2DContextAttributes.idl b/core/html/canvas/Canvas2DContextAttributes.idl
index f756bda..72e0191 100644
--- a/core/html/canvas/Canvas2DContextAttributes.idl
+++ b/core/html/canvas/Canvas2DContextAttributes.idl
@@ -25,8 +25,7 @@
*/
[
- NoInterfaceObject,
- EnabledAtRuntime=ExperimentalCanvasFeatures
+ NoInterfaceObject
] interface Canvas2DContextAttributes {
attribute boolean alpha;
};
diff --git a/core/html/canvas/CanvasRenderingContext2D.idl b/core/html/canvas/CanvasRenderingContext2D.idl
index 69a3ffa..52b20e2 100644
--- a/core/html/canvas/CanvasRenderingContext2D.idl
+++ b/core/html/canvas/CanvasRenderingContext2D.idl
@@ -30,6 +30,7 @@
void save();
void restore();
+ [RuntimeEnabled=ExperimentalCanvasFeatures, Immutable] attribute SVGMatrix currentTransform;
void scale(float sx, float sy);
void rotate(float angle);
void translate(float tx, float ty);
@@ -128,9 +129,9 @@
[RaisesException] void drawImage(HTMLVideoElement? video, float x, float y);
[RaisesException] void drawImage(HTMLVideoElement? video, float x, float y, float width, float height);
[RaisesException] void drawImage(HTMLVideoElement? video, float sx, float sy, float sw, float sh, float dx, float dy, float dw, float dh);
- [EnabledAtRuntime=ExperimentalCanvasFeatures, RaisesException] void drawImage(ImageBitmap? imageBitmap, float x, float y);
- [EnabledAtRuntime=ExperimentalCanvasFeatures, RaisesException] void drawImage(ImageBitmap? imageBitmap, float x, float y, float width, float height);
- [EnabledAtRuntime=ExperimentalCanvasFeatures, RaisesException] void drawImage(ImageBitmap? imageBitmap, float sx, float sy, float sw, float sh, float dx, float dy, float dw, float dh);
+ [RuntimeEnabled=ExperimentalCanvasFeatures, RaisesException] void drawImage(ImageBitmap? imageBitmap, float x, float y);
+ [RuntimeEnabled=ExperimentalCanvasFeatures, RaisesException] void drawImage(ImageBitmap? imageBitmap, float x, float y, float width, float height);
+ [RuntimeEnabled=ExperimentalCanvasFeatures, RaisesException] void drawImage(ImageBitmap? imageBitmap, float sx, float sy, float sw, float sh, float dx, float dy, float dw, float dh);
void drawImageFromRect(HTMLImageElement image,
optional float sx, optional float sy, optional float sw, optional float sh,
@@ -162,14 +163,14 @@
[RaisesException] ImageData webkitGetImageDataHD(float sx, float sy, float sw, float sh);
// Focus rings
- [EnabledAtRuntime=ExperimentalCanvasFeatures] void drawSystemFocusRing(Element element);
- [EnabledAtRuntime=ExperimentalCanvasFeatures] boolean drawCustomFocusRing(Element element);
+ [RuntimeEnabled=ExperimentalCanvasFeatures] void drawSystemFocusRing(Element element);
+ [RuntimeEnabled=ExperimentalCanvasFeatures] boolean drawCustomFocusRing(Element element);
readonly attribute float webkitBackingStorePixelRatio;
[ImplementedAs=imageSmoothingEnabled] attribute boolean webkitImageSmoothingEnabled;
attribute boolean imageSmoothingEnabled;
- [EnabledAtRuntime=ExperimentalCanvasFeatures] Canvas2DContextAttributes getContextAttributes();
+ Canvas2DContextAttributes getContextAttributes();
};
diff --git a/core/html/canvas/Path.idl b/core/html/canvas/Path.idl
index ce19874..66435a5 100644
--- a/core/html/canvas/Path.idl
+++ b/core/html/canvas/Path.idl
@@ -27,7 +27,7 @@
*/
[
- EnabledAtRuntime=ExperimentalCanvasFeatures,
+ RuntimeEnabled=ExperimentalCanvasFeatures,
Constructor,
Constructor(Path path),
Constructor(DOMString text),
diff --git a/core/html/ime/InputMethodContext.idl b/core/html/ime/InputMethodContext.idl
index 2ad97b9..1c70178 100644
--- a/core/html/ime/InputMethodContext.idl
+++ b/core/html/ime/InputMethodContext.idl
@@ -29,12 +29,14 @@
*/
// http://www.w3.org/TR/ime-api/
-[
-] interface InputMethodContext {
+interface InputMethodContext : EventTarget {
readonly attribute Composition composition;
readonly attribute DOMString locale;
readonly attribute HTMLElement target;
void confirmComposition();
void setCaretRectangle(Node anchor, long x, long y, long w, long h);
- void setExclusionRectangle(Node anchor, long x, long y, long w, long h);
+
+ attribute EventHandler oncandidatewindowshow;
+ attribute EventHandler oncandidatewindowupdate;
+ attribute EventHandler oncandidatewindowhide;
};
diff --git a/core/html/shadow/HTMLContentElement.idl b/core/html/shadow/HTMLContentElement.idl
index 77095c2..ab59342 100644
--- a/core/html/shadow/HTMLContentElement.idl
+++ b/core/html/shadow/HTMLContentElement.idl
@@ -26,7 +26,7 @@
[
] interface HTMLContentElement : HTMLElement {
- [Reflect] attribute DOMString select;
+ [Reflect, TreatNullAs=NullString] attribute DOMString select;
attribute boolean resetStyleInheritance;
NodeList getDistributedNodes();
};
diff --git a/core/html/shadow/HTMLShadowElement.idl b/core/html/shadow/HTMLShadowElement.idl
index 3b6351b..faceace 100644
--- a/core/html/shadow/HTMLShadowElement.idl
+++ b/core/html/shadow/HTMLShadowElement.idl
@@ -31,4 +31,5 @@
interface HTMLShadowElement : HTMLElement {
attribute boolean resetStyleInheritance;
[DeprecateAs=HTMLShadowElementOlderShadowRoot] readonly attribute ShadowRoot olderShadowRoot;
+ [RuntimeEnabled=ShadowDOM] NodeList getDistributedNodes();
};
diff --git a/core/html/track/TextTrack.idl b/core/html/track/TextTrack.idl
index 1067901..1b9eadd 100644
--- a/core/html/track/TextTrack.idl
+++ b/core/html/track/TextTrack.idl
@@ -23,23 +23,27 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+enum TextTrackMode { "disabled", "hidden", "showing" };
+enum TextTrackKind { "subtitles", "captions", "descriptions", "chapters", "metadata" };
+
[
- EnabledAtRuntime=VideoTrack
+ RuntimeEnabled=VideoTrack
] interface TextTrack : EventTarget {
- readonly attribute DOMString kind;
+ readonly attribute TextTrackKind kind;
readonly attribute DOMString label;
readonly attribute DOMString language;
- attribute DOMString mode;
+ attribute TextTrackMode mode;
readonly attribute TextTrackCueList cues;
readonly attribute TextTrackCueList activeCues;
- attribute EventHandler oncuechange;
void addCue(TextTrackCue cue);
[RaisesException] void removeCue(TextTrackCue cue);
- [Conditional=WEBVTT_REGIONS] readonly attribute TextTrackRegionList regions;
- [Conditional=WEBVTT_REGIONS] void addRegion(TextTrackRegion region);
- [RaisesException, Conditional=WEBVTT_REGIONS] void removeRegion(TextTrackRegion region);
+ attribute EventHandler oncuechange;
+
+ [RuntimeEnabled=WebVTTRegions] readonly attribute VTTRegionList regions;
+ [RuntimeEnabled=WebVTTRegions] void addRegion(VTTRegion region);
+ [RaisesException, RuntimeEnabled=WebVTTRegions] void removeRegion(VTTRegion region);
};
diff --git a/core/html/track/TextTrackCue.idl b/core/html/track/TextTrackCue.idl
index e64d8a3..db7112a 100644
--- a/core/html/track/TextTrackCue.idl
+++ b/core/html/track/TextTrackCue.idl
@@ -24,9 +24,9 @@
*/
[
- EnabledAtRuntime=VideoTrack,
+ RuntimeEnabled=VideoTrack,
Constructor(double startTime, double endTime, DOMString text),
- ConstructorCallWith=ScriptExecutionContext
+ ConstructorCallWith=Document
] interface TextTrackCue : EventTarget {
readonly attribute TextTrack track;
@@ -48,6 +48,6 @@
attribute EventHandler onenter;
attribute EventHandler onexit;
- [Conditional=WEBVTT_REGIONS] attribute DOMString regionId;
+ [RuntimeEnabled=WebVTTRegions] attribute DOMString regionId;
};
diff --git a/core/html/track/TextTrackCueList.idl b/core/html/track/TextTrackCueList.idl
index 4f28935..a71d687 100644
--- a/core/html/track/TextTrackCueList.idl
+++ b/core/html/track/TextTrackCueList.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=VideoTrack
+ RuntimeEnabled=VideoTrack
] interface TextTrackCueList {
readonly attribute unsigned long length;
getter TextTrackCue item(unsigned long index);
diff --git a/core/html/track/TextTrackList.idl b/core/html/track/TextTrackList.idl
index bdfcc74..236029e 100644
--- a/core/html/track/TextTrackList.idl
+++ b/core/html/track/TextTrackList.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=VideoTrack,
+ RuntimeEnabled=VideoTrack,
GenerateIsReachable=owner
] interface TextTrackList : EventTarget {
readonly attribute unsigned long length;
diff --git a/core/html/track/TrackEvent.idl b/core/html/track/TrackEvent.idl
index c1dc03e..3a164cd 100644
--- a/core/html/track/TrackEvent.idl
+++ b/core/html/track/TrackEvent.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=VideoTrack,
+ RuntimeEnabled=VideoTrack,
ConstructorTemplate=Event
] interface TrackEvent : Event {
[InitializedByEventConstructor, CustomGetter] readonly attribute object track;
diff --git a/core/html/track/TextTrackRegion.idl b/core/html/track/VTTRegion.idl
similarity index 92%
rename from core/html/track/TextTrackRegion.idl
rename to core/html/track/VTTRegion.idl
index 62ca08e..d3793af 100644
--- a/core/html/track/TextTrackRegion.idl
+++ b/core/html/track/VTTRegion.idl
@@ -24,11 +24,9 @@
*/
[
- Conditional=WEBVTT_REGIONS,
Constructor(),
- EnabledAtRuntime=VideoTrack,
- ConstructorCallWith=ScriptExecutionContext
-] interface TextTrackRegion {
+ RuntimeEnabled=WebVTTRegions
+] interface VTTRegion {
readonly attribute TextTrack track;
attribute DOMString id;
diff --git a/core/html/track/TextTrackRegionList.idl b/core/html/track/VTTRegionList.idl
similarity index 86%
rename from core/html/track/TextTrackRegionList.idl
rename to core/html/track/VTTRegionList.idl
index 844cd9d..4a06653 100644
--- a/core/html/track/TextTrackRegionList.idl
+++ b/core/html/track/VTTRegionList.idl
@@ -24,12 +24,10 @@
*/
[
- NoInterfaceObject,
- Conditional=WEBVTT_REGIONS,
- EnabledAtRuntime=VideoTrack
-] interface TextTrackRegionList {
+ RuntimeEnabled=WebVTTRegions
+] interface VTTRegionList {
readonly attribute unsigned long length;
- getter TextTrackRegion item(unsigned long index);
- TextTrackRegion getRegionById(DOMString id);
+ getter VTTRegion item(unsigned long index);
+ VTTRegion getRegionById(DOMString id);
};
diff --git a/core/inspector/CodeGeneratorInspector.py b/core/inspector/CodeGeneratorInspector.py
index 20122e6..163ce99 100755
--- a/core/inspector/CodeGeneratorInspector.py
+++ b/core/inspector/CodeGeneratorInspector.py
@@ -1281,8 +1281,8 @@
for prop_data in resolve_data.main_properties + resolve_data.optional_properties:
prop_name = prop_data.p["name"]
prop_field_name = Capitalizer.lower_camel_case_to_upper(prop_name)
- writer.newline(" static const char* %s;\n" % (prop_field_name))
- cpp_writer.newline("const char* %s%s::%s = \"%s\";\n" % (helper.full_name_prefix_for_impl, class_name, prop_field_name, prop_name))
+ writer.newline(" static const char %s[];\n" % (prop_field_name))
+ cpp_writer.newline("const char %s%s::%s[] = \"%s\";\n" % (helper.full_name_prefix_for_impl, class_name, prop_field_name, prop_name))
writer.newline("};\n\n")
@@ -1773,6 +1773,8 @@
backend_method_declaration_list = []
backend_method_implementation_list = []
backend_method_name_declaration_list = []
+ backend_method_name_declaration_index_list = []
+ backend_method_name_declaration_current_index = 0
method_handler_list = []
frontend_method_list = []
@@ -1796,6 +1798,7 @@
Generator.backend_method_declaration_list,
Generator.backend_method_implementation_list,
Generator.backend_method_name_declaration_list,
+ Generator.backend_method_name_declaration_index_list,
Generator.backend_agent_interface_list,
Generator.frontend_class_field_lines,
Generator.frontend_constructor_init_list,
@@ -1921,9 +1924,11 @@
if "parameters" in json_command:
json_params = json_command["parameters"]
- method_in_code += Templates.param_container_access_code
request_message_param = " requestMessageObject"
+ if json_params:
+ method_in_code += Templates.param_container_access_code
+
for json_parameter in json_params:
json_param_name = json_parameter["name"]
param_raw_type = resolve_param_raw_type(json_parameter, domain_name)
@@ -2063,7 +2068,10 @@
responseCook=normal_response_cook_text,
errorCook=error_response_cook_text,
commandNameIndex=cmd_enum_name))
- Generator.backend_method_name_declaration_list.append(" \"%s.%s\"," % (domain_name, json_command_name))
+ declaration_command_name = "%s.%s\\0" % (domain_name, json_command_name)
+ Generator.backend_method_name_declaration_list.append(" \"%s\"" % declaration_command_name)
+ Generator.backend_method_name_declaration_index_list.append(" %d," % Generator.backend_method_name_declaration_current_index)
+ Generator.backend_method_name_declaration_current_index += len(declaration_command_name) - 1
Generator.backend_agent_interface_list.append(") = 0;\n")
@@ -2307,6 +2315,7 @@
setters="\n".join(Generator.backend_setters_list),
fieldDeclarations="\n".join(Generator.backend_field_list),
methodNameDeclarations="\n".join(Generator.backend_method_name_declaration_list),
+ methodNameDeclarationsIndex="\n".join(Generator.backend_method_name_declaration_index_list),
methods="\n".join(Generator.backend_method_implementation_list),
methodDeclarations="\n".join(Generator.backend_method_declaration_list),
messageHandlers="\n".join(Generator.method_handler_list)))
diff --git a/core/inspector/CodeGeneratorInspectorStrings.py b/core/inspector/CodeGeneratorInspectorStrings.py
index b7e7422..bc3bb73 100644
--- a/core/inspector/CodeGeneratorInspectorStrings.py
+++ b/core/inspector/CodeGeneratorInspectorStrings.py
@@ -60,7 +60,7 @@
$errorCook${responseCook}
}
- sendResponse(callId, result, commandNames[$commandNameIndex], protocolErrors, error, resultErrorData);
+ sendResponse(callId, result, commandName($commandNameIndex), protocolErrors, error, resultErrorData);
}
""")
@@ -101,7 +101,7 @@
#define InspectorFrontend_h
#include "InspectorTypeBuilder.h"
-#include "core/platform/JSONValues.h"
+#include "platform/JSONValues.h"
#include "wtf/PassRefPtr.h"
#include "wtf/text/WTFString.h"
@@ -196,7 +196,11 @@
kMethodNamesEnumSize
};
- static const char* commandNames[];
+ static const char* commandName(MethodNames);
+
+private:
+ static const char commandNames[];
+ static const size_t commandNamesIndex[];
};
} // namespace WebCore
@@ -214,16 +218,24 @@
#include "core/inspector/InspectorAgent.h"
#include "core/inspector/InspectorFrontendChannel.h"
#include "core/inspector/JSONParser.h"
-#include "core/platform/JSONValues.h"
+#include "platform/JSONValues.h"
#include "wtf/text/CString.h"
#include "wtf/text/WTFString.h"
namespace WebCore {
-const char* InspectorBackendDispatcher::commandNames[] = {
+const char InspectorBackendDispatcher::commandNames[] = {
$methodNameDeclarations
};
+const size_t InspectorBackendDispatcher::commandNamesIndex[] = {
+$methodNameDeclarationsIndex
+};
+
+const char* InspectorBackendDispatcher::commandName(MethodNames index) {
+ COMPILE_ASSERT(static_cast<int>(kMethodNamesEnumSize) == WTF_ARRAY_LENGTH(commandNamesIndex), command_name_array_problem);
+ return commandNames + commandNamesIndex[index];
+}
class InspectorBackendDispatcherImpl : public InspectorBackendDispatcher {
public:
@@ -281,9 +293,8 @@
static CallHandler handlers[] = {
$messageHandlers
};
- size_t length = WTF_ARRAY_LENGTH(commandNames);
- for (size_t i = 0; i < length; ++i)
- dispatchMap.add(commandNames[i], handlers[i]);
+ for (size_t i = 0; i < kMethodNamesEnumSize; ++i)
+ dispatchMap.add(commandName(static_cast<MethodNames>(i)), handlers[i]);
}
RefPtr<JSONValue> parsedMessage = parseJSON(message);
@@ -503,8 +514,6 @@
m_alreadySent = true;
}
-COMPILE_ASSERT(static_cast<int>(InspectorBackendDispatcher::kMethodNamesEnumSize) == WTF_ARRAY_LENGTH(InspectorBackendDispatcher::commandNames), command_name_array_problem);
-
} // namespace WebCore
""")
@@ -516,7 +525,7 @@
#include "InspectorFrontend.h"
#include "core/inspector/InspectorFrontendChannel.h"
-#include "core/platform/JSONValues.h"
+#include "platform/JSONValues.h"
#include "wtf/text/CString.h"
#include "wtf/text/WTFString.h"
@@ -537,7 +546,7 @@
#ifndef InspectorTypeBuilder_h
#define InspectorTypeBuilder_h
-#include "core/platform/JSONValues.h"
+#include "platform/JSONValues.h"
#include "wtf/Assertions.h"
#include "wtf/PassRefPtr.h"
diff --git a/core/inspector/InspectorFrontendHost.idl b/core/inspector/InspectorFrontendHost.idl
index 678a36c..d753646 100644
--- a/core/inspector/InspectorFrontendHost.idl
+++ b/core/inspector/InspectorFrontendHost.idl
@@ -37,11 +37,9 @@
void setZoomFactor(float zoom);
void inspectedURLChanged(DOMString newURL);
- void setAttachedWindowHeight(unsigned long height);
void setInjectedScriptForOrigin(DOMString origin, DOMString script);
void copyText(DOMString text);
- void close(DOMString url);
[Custom] DOMString platform();
[Custom] DOMString port();
@@ -53,20 +51,10 @@
[Custom] void recordPanelShown(unsigned long panelCode);
[Custom] void recordSettingChanged(unsigned long settingChanged);
- DOMString loadResourceSynchronously(DOMString url);
DOMString getSelectionBackgroundColor();
DOMString getSelectionForegroundColor();
DOMFileSystem isolatedFileSystem(DOMString fileSystemId, DOMString registeredName);
boolean isUnderTest();
-
- // Deprecated
- boolean canInspectWorkers();
- boolean canSaveAs();
- boolean canSave();
- boolean supportsFileSystems();
- void loaded();
- DOMString hiddenPanels();
- DOMString localizedStringsURL();
};
diff --git a/core/inspector/InspectorInstrumentation.idl b/core/inspector/InspectorInstrumentation.idl
index 578c857..b333401 100644
--- a/core/inspector/InspectorInstrumentation.idl
+++ b/core/inspector/InspectorInstrumentation.idl
@@ -68,28 +68,28 @@
void didClearWindowObjectInWorld([Keep] Frame*, DOMWrapperWorld*);
[DOMDebugger, Inline=FastReturn]
- void willInsertDOMNode(Document*, Node* parent);
+ void willInsertDOMNode([Keep] Node* parent);
[DOM, DOMDebugger, Inline=FastReturn]
- void didInsertDOMNode(Document*, Node*);
+ void didInsertDOMNode([Keep] Node*);
[DOMDebugger, DOM, Inline=FastReturn]
- void willRemoveDOMNode(Document* document, Node*);
+ void willRemoveDOMNode([Keep] Node*);
[DOMDebugger, DOM, Inline=FastReturn]
- void willModifyDOMAttr(Document*, Element*, const AtomicString& oldValue, const AtomicString& newValue);
+ void willModifyDOMAttr([Keep] Element*, const AtomicString& oldValue, const AtomicString& newValue);
[DOM, Inline=FastReturn]
- void didModifyDOMAttr(Document*, Element*, const AtomicString& name, const AtomicString& value);
+ void didModifyDOMAttr([Keep] Element*, const AtomicString& name, const AtomicString& value);
[DOM, Inline=FastReturn]
- void didRemoveDOMAttr(Document*, Element*, const AtomicString& name);
+ void didRemoveDOMAttr([Keep] Element*, const AtomicString& name);
[DOM, Inline=FastReturn]
- void characterDataModified(Document*, CharacterData*);
+ void characterDataModified([Keep] CharacterData*);
[DOM, DOMDebugger, Inline=FastReturn]
- void didInvalidateStyleAttr(Document*, Node*);
+ void didInvalidateStyleAttr([Keep] Node*);
[CSS, Inline=FastReturn]
void activeStyleSheetsUpdated([Keep] Document*, const Vector<RefPtr<StyleSheet> >& newSheets);
@@ -119,7 +119,7 @@
void didChangeRegionOverset([Keep] Document*, NamedFlow*);
[DOMDebugger, Inline=FastReturn]
- void willSendXMLHttpRequest(ScriptExecutionContext*, const String& url);
+ void willSendXMLHttpRequest(ExecutionContext*, const String& url);
[DOMDebugger, Inline=FastReturn]
void didFireWebGLError(Element*, const String& errorName);
@@ -134,19 +134,19 @@
void didScheduleResourceRequest([Keep] Document*, const String& url);
[DOMDebugger, Timeline, Inline=FastReturn]
- void didInstallTimer([Keep] ScriptExecutionContext*, int timerId, int timeout, bool singleShot);
+ void didInstallTimer([Keep] ExecutionContext*, int timerId, int timeout, bool singleShot);
[DOMDebugger, Timeline, Inline=FastReturn]
- void didRemoveTimer([Keep] ScriptExecutionContext*, int timerId);
+ void didRemoveTimer([Keep] ExecutionContext*, int timerId);
[Timeline, Inline=FastReturn]
- InspectorInstrumentationCookie willCallFunction([Keep] ScriptExecutionContext*, const String& scriptName, int scriptLine);
+ InspectorInstrumentationCookie willCallFunction([Keep] ExecutionContext*, const String& scriptName, int scriptLine);
[Timeline, Inline=FastReturn]
void didCallFunction(const InspectorInstrumentationCookie&);
[Timeline, Inline=FastReturn]
- InspectorInstrumentationCookie willDispatchXHRReadyStateChangeEvent([Keep] ScriptExecutionContext*, XMLHttpRequest*);
+ InspectorInstrumentationCookie willDispatchXHRReadyStateChangeEvent([Keep] ExecutionContext*, XMLHttpRequest*);
[Timeline, Inline=FastReturn]
void didDispatchXHRReadyStateChangeEvent(const InspectorInstrumentationCookie&);
@@ -158,7 +158,7 @@
void didDispatchEvent(const InspectorInstrumentationCookie&);
[DOMDebugger, Inline=FastReturn]
- InspectorInstrumentationCookie willHandleEvent(ScriptExecutionContext*, Event*);
+ InspectorInstrumentationCookie willHandleEvent(ExecutionContext*, Event*);
[Debugger, Inline=FastReturn]
void didHandleEvent(const InspectorInstrumentationCookie&);
@@ -182,7 +182,7 @@
void didCreateIsolatedContext([Keep] Frame*, ScriptState*, SecurityOrigin*);
[DOMDebugger, Timeline, Inline=FastReturn]
- InspectorInstrumentationCookie willFireTimer([Keep] ScriptExecutionContext*, int timerId);
+ InspectorInstrumentationCookie willFireTimer([Keep] ExecutionContext*, int timerId);
[Debugger, Timeline, Inline=FastReturn]
void didFireTimer(const InspectorInstrumentationCookie&);
@@ -196,6 +196,12 @@
[Timeline, Page, Inline=FastReturn]
void didLayout(const InspectorInstrumentationCookie&, RenderObject* root);
+ [Timeline, Inline=FastReturn]
+ void willAutosizeText([Keep] RenderObject* root);
+
+ [Timeline, Inline=FastReturn]
+ void didAutosizeText([Keep] RenderObject* root);
+
[Page, Inline=FastReturn]
void didScroll(Page*);
@@ -203,7 +209,7 @@
void didResizeMainFrame(Page*);
[Timeline, Inline=FastReturn]
- InspectorInstrumentationCookie willDispatchXHRLoadEvent([Keep] ScriptExecutionContext*, XMLHttpRequest*);
+ InspectorInstrumentationCookie willDispatchXHRLoadEvent([Keep] ExecutionContext*, XMLHttpRequest*);
[Timeline, Inline=FastReturn]
void didDispatchXHRLoadEvent(const InspectorInstrumentationCookie&);
@@ -217,7 +223,7 @@
[Timeline, Inline=FastReturn]
void willPaint([Keep] RenderObject*);
- [Timeline, Page, Inline=FastReturn]
+ [Timeline, Page, LayerTree, Inline=FastReturn]
void didPaint([Keep] RenderObject*, GraphicsContext*, const LayoutRect&);
[Timeline, Inline=FastReturn]
@@ -242,12 +248,6 @@
void applyUserAgentOverride(Frame*, String* userAgent);
[Page, Inline=FastReturn]
- void applyScreenWidthOverride(Frame*, long* width);
-
- [Page, Inline=FastReturn]
- void applyScreenHeightOverride(Frame*, long* height);
-
- [Page, Inline=FastReturn]
void applyEmulatedMedia(Frame*, String* media);
[Timeline, Resource]
@@ -292,33 +292,33 @@
void didFailLoading(Frame* frame, unsigned long identifier, DocumentLoader*, const ResourceError&);
[Resource]
- void documentThreadableLoaderStartedLoadingForClient(ScriptExecutionContext*, unsigned long identifier, ThreadableLoaderClient* client);
+ void documentThreadableLoaderStartedLoadingForClient(ExecutionContext*, unsigned long identifier, ThreadableLoaderClient* client);
[Resource]
- void willLoadXHR(ScriptExecutionContext*, ThreadableLoaderClient* client, const String& method, const KURL& url, bool async, PassRefPtr<FormData>, const HTTPHeaderMap& headers, bool includeCredentials);
+ void willLoadXHR(ExecutionContext*, ThreadableLoaderClient* client, const String& method, const KURL& url, bool async, PassRefPtr<FormData>, const HTTPHeaderMap& headers, bool includeCredentials);
[Resource]
- void didFailXHRLoading(ScriptExecutionContext*, ThreadableLoaderClient* client);
+ void didFailXHRLoading(ExecutionContext*, ThreadableLoaderClient* client);
[Console, Resource]
- void didFinishXHRLoading(ScriptExecutionContext*, ThreadableLoaderClient* client, unsigned long identifier, ScriptString sourceString, const String& url, const String& sendURL, unsigned sendLineNumber);
+ void didFinishXHRLoading(ExecutionContext*, ThreadableLoaderClient* client, unsigned long identifier, ScriptString sourceString, const String& url, const String& sendURL, unsigned sendLineNumber);
[Resource]
- void didReceiveXHRResponse(ScriptExecutionContext*, unsigned long identifier);
+ void didReceiveXHRResponse(ExecutionContext*, unsigned long identifier);
[Resource]
- void scriptImported(ScriptExecutionContext*, unsigned long identifier, const String& sourceString);
+ void scriptImported(ExecutionContext*, unsigned long identifier, const String& sourceString);
[Debugger]
- void scriptExecutionBlockedByCSP(ScriptExecutionContext*, const String& directiveText);
+ void scriptExecutionBlockedByCSP(ExecutionContext*, const String& directiveText);
[Resource]
- void didReceiveScriptResponse(ScriptExecutionContext*, unsigned long identifier);
+ void didReceiveScriptResponse(ExecutionContext*, unsigned long identifier);
[Timeline, Inspector, DOM, Page]
void domContentLoadedEventFired([Keep] Frame*);
- [DOM, Timeline, Page]
+ [Timeline, Page]
void loadEventFired([Keep] Frame*);
[Page]
@@ -382,13 +382,13 @@
void didDispatchDOMStorageEvent(Page* page, const String& key, const String& oldValue, const String& newValue, StorageType storageType, SecurityOrigin* securityOrigin);
[Worker]
- void didStartWorkerGlobalScope(ScriptExecutionContext*, WorkerGlobalScopeProxy* proxy, const KURL& url);
+ void didStartWorkerGlobalScope(ExecutionContext*, WorkerGlobalScopeProxy* proxy, const KURL& url);
[WorkerRuntime]
void willEvaluateWorkerScript([Keep] WorkerGlobalScope* context, int workerThreadStartMode);
[Worker]
- void workerGlobalScopeTerminated(ScriptExecutionContext*, WorkerGlobalScopeProxy* proxy);
+ void workerGlobalScopeTerminated(ExecutionContext*, WorkerGlobalScopeProxy* proxy);
[Profiler, Timeline]
void willProcessTask(WorkerGlobalScope* context);
@@ -424,7 +424,7 @@
void didReceiveWebSocketFrameError(Document*, unsigned long identifier, const String& errorMessage);
[ApplicationCache, Inline=FastReturn]
- void networkStateChanged(Page*);
+ void networkStateChanged(Page*, bool online);
[ApplicationCache, Inline=FastReturn]
void updateApplicationCacheStatus([Keep] Frame*);
@@ -448,35 +448,35 @@
// FIXME: Convert to ScriptArguments to match non-worker context.
// Use the same implementation as above as a similar method dispatched on Page.
[Console]
- void addMessageToConsole(ScriptExecutionContext* context, MessageSource source, MessageType type, MessageLevel level, const String& message, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier = 0);
+ void addMessageToConsole(ExecutionContext* context, MessageSource source, MessageType type, MessageLevel level, const String& message, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier = 0);
// Use the same implementation as above as a similar method dispatched on Page.
[Console]
- void addMessageToConsole(ScriptExecutionContext* context, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber, unsigned columnNumber, ScriptState* state, unsigned long requestIdentifier = 0);
+ void addMessageToConsole(ExecutionContext* context, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber, unsigned columnNumber, ScriptState* state, unsigned long requestIdentifier = 0);
[Console, Debugger]
- void addMessageToConsole(ScriptExecutionContext* context, MessageSource source, MessageType type, MessageLevel level, const String& message, ScriptState* state, PassRefPtr<ScriptArguments> arguments, unsigned long requestIdentifier = 0);
+ void addMessageToConsole(ExecutionContext* context, MessageSource source, MessageType type, MessageLevel level, const String& message, ScriptState* state, PassRefPtr<ScriptArguments> arguments, unsigned long requestIdentifier = 0);
[Console]
- void consoleCount(ScriptExecutionContext* context, ScriptState* state, PassRefPtr<ScriptArguments> arguments);
+ void consoleCount(ExecutionContext* context, ScriptState* state, PassRefPtr<ScriptArguments> arguments);
[Timeline, Console]
- void consoleTime([Keep] ScriptExecutionContext* context, const String& title);
+ void consoleTime([Keep] ExecutionContext* context, const String& title);
[Console, Timeline]
- void consoleTimeEnd([Keep] ScriptExecutionContext* context, const String& title, ScriptState* state);
+ void consoleTimeEnd([Keep] ExecutionContext* context, const String& title, ScriptState* state);
[Timeline, Inline=FastReturn]
- void consoleTimeStamp([Keep] ScriptExecutionContext* context, const String& title);
+ void consoleTimeStamp([Keep] ExecutionContext* context, const String& title);
[Console, Inline=FastReturn]
- void consoleTimeline([Keep] ScriptExecutionContext* context, const String& title, ScriptState* state);
+ void consoleTimeline([Keep] ExecutionContext* context, const String& title, ScriptState* state);
[Console, Inline=FastReturn]
- void consoleTimelineEnd([Keep] ScriptExecutionContext* context, const String& title, ScriptState* state);
+ void consoleTimelineEnd([Keep] ExecutionContext* context, const String& title, ScriptState* state);
[Profiler]
- void addProfile(ScriptExecutionContext* context, PassRefPtr<ScriptProfile> profile, PassRefPtr<ScriptCallStack> callStack);
+ void addProfile(ExecutionContext* context, PassRefPtr<ScriptProfile> profile, PassRefPtr<ScriptCallStack> callStack);
}
interface InspectorDatabaseInstrumentation {
@@ -484,30 +484,27 @@
#include "modules/webdatabase/Database.h"
[Database]
- void didOpenDatabase(ScriptExecutionContext* context, PassRefPtr<Database> database, const String& domain, const String& name, const String& version);
+ void didOpenDatabase(ExecutionContext* context, PassRefPtr<Database> database, const String& domain, const String& name, const String& version);
}
interface InspectorOverrides {
[CSS, Inline=FastReturn]
bool forcePseudoState([Keep] Element* element, CSSSelector::PseudoType pseudoState);
- [Page, Inline=FastReturn]
- bool shouldApplyScreenWidthOverride(Frame* frame);
-
- [Page, Inline=FastReturn]
- bool shouldApplyScreenHeightOverride(Frame* frame);
-
[Worker, Inline=FastReturn]
- bool shouldPauseDedicatedWorkerOnStart(ScriptExecutionContext* context);
+ bool shouldPauseDedicatedWorkerOnStart(ExecutionContext* context);
[Page, Inline=FastReturn]
GeolocationPosition* overrideGeolocationPosition(Page* page, [DefaultReturn] GeolocationPosition* position);
[Page, Inline=FastReturn]
- DeviceOrientationData* overrideDeviceOrientation(Page* page, [DefaultReturn] DeviceOrientationData* deviceOrientation);
+ float overrideTextAutosizingFontScaleFactor(Page* page, [DefaultReturn] float fontScaleFactor);
+
+ [Page, Inline=FastReturn]
+ bool overrideTextAutosizing(Page* page, [DefaultReturn] bool textAutosizing);
[Profiler]
- String getCurrentUserInitiatedProfileName(ScriptExecutionContext* context, bool incrementProfileNumber);
+ String getCurrentUserInitiatedProfileName(ExecutionContext* context, bool incrementProfileNumber);
}
diff --git a/core/page/AbstractView.idl b/core/page/AbstractView.idl
deleted file mode 100644
index 60c537f..0000000
--- a/core/page/AbstractView.idl
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
- * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// Introduced in DOM Level 2:
-[
-
-] interface AbstractView {
- readonly attribute Document document;
- readonly attribute StyleMedia styleMedia;
-};
-
diff --git a/core/page/EventSource.idl b/core/page/EventSource.idl
index 6aeade1..b43938d 100644
--- a/core/page/EventSource.idl
+++ b/core/page/EventSource.idl
@@ -33,7 +33,7 @@
GlobalContext=Window&WorkerGlobalScope,
ActiveDOMObject,
Constructor(DOMString url, optional Dictionary eventSourceInit),
- ConstructorCallWith=ScriptExecutionContext,
+ ConstructorCallWith=ExecutionContext,
ConstructorRaisesException
] interface EventSource : EventTarget {
diff --git a/core/page/PagePopupController.idl b/core/page/PagePopupController.idl
index 453850d..069098c 100644
--- a/core/page/PagePopupController.idl
+++ b/core/page/PagePopupController.idl
@@ -30,7 +30,7 @@
[
NoInterfaceObject,
- EnabledAtRuntime=PagePopup
+ RuntimeEnabled=PagePopup
] interface PagePopupController {
void setValueAndClosePopup(long numberValue, DOMString stringValue);
void setValue(DOMString value);
diff --git a/core/page/Selection.idl b/core/page/Selection.idl
index e5d7a9e..8f03f8e 100644
--- a/core/page/Selection.idl
+++ b/core/page/Selection.idl
@@ -45,7 +45,7 @@
[RaisesException] void collapseToEnd();
[RaisesException] void collapseToStart();
- [CustomElementCallbacks=Enable] void deleteFromDocument();
+ [CustomElementCallbacks] void deleteFromDocument();
boolean containsNode([Default=Undefined] optional Node node,
[Default=Undefined] optional boolean allowPartial);
[RaisesException] void selectAllChildren([Default=Undefined] optional Node node);
diff --git a/core/page/WindowPagePopup.idl b/core/page/WindowPagePopup.idl
index 0ae9bbe..e4b5839 100644
--- a/core/page/WindowPagePopup.idl
+++ b/core/page/WindowPagePopup.idl
@@ -29,8 +29,8 @@
*/
[
- EnabledAtRuntime=PagePopup,
+ RuntimeEnabled=PagePopup,
ImplementedAs=DOMWindowPagePopup
] partial interface Window {
- [EnabledPerContext=pagePopup] readonly attribute PagePopupController pagePopupController;
+ [PerContextEnabled=PagePopup] readonly attribute PagePopupController pagePopupController;
};
diff --git a/core/scripts/action_derivedsourcesallinone.py b/core/scripts/action_derivedsourcesallinone.py
deleted file mode 100644
index fec5088..0000000
--- a/core/scripts/action_derivedsourcesallinone.py
+++ /dev/null
@@ -1,225 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (C) 2009 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Copyright (c) 2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# action_derivedsourcesallinone.py generates a single cpp file that includes
-# all v8 bindings cpp files generated from idls. Files can be assigned into
-# multiple output files, to reduce maximum compilation unit size and allow
-# parallel compilation.
-#
-# usage: action_derivedsourcesallinone.py IDL_FILES_LIST -- OUTPUT_FILE1 OUTPUT_FILE2 ...
-#
-# Note that IDL_FILES_LIST is a text file containing the IDL file paths.
-
-import errno
-import os
-import os.path
-import re
-import subprocess
-import sys
-
-# A regexp for finding Conditional attributes in interface definitions.
-conditionalPattern = re.compile('interface[\s]*\[[^\]]*Conditional=([\_0-9a-zA-Z&|]*)')
-
-copyrightTemplate = """/*
- * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
- *
- * This file was generated by the action_derivedsourcesallinone.py script.
- *
- * Copyright (C) 2009 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-"""
-
-
-# Wraps conditional with ENABLE() and replace '&','|' with '&&','||' if more than one conditional is specified.
-def formatConditional(conditional):
- def wrapWithEnable(s):
- if re.match('[|&]$', s):
- return s * 2
- return 'ENABLE(' + s + ')'
- return ' '.join(map(wrapWithEnable, conditional))
-
-
-# Find the conditional interface attribute.
-def extractConditional(idlFilePath):
- conditional = None
-
- # Read file and look for "interface [ Conditional=XXX ]".
- idlFile = open(idlFilePath)
- idlContents = idlFile.read().replace('\n', '')
- idlFile.close()
-
- match = conditionalPattern.search(idlContents)
- if match:
- conditional = match.group(1)
- conditional = re.split('([|&])', conditional)
-
- return conditional
-
-# Extracts conditional and interface name from each IDL file.
-def extractMetaData(filePaths):
- metaDataList = []
-
- for f in filePaths:
- metaData = {}
- if len(f) == 0:
- continue
- if not os.path.exists(f):
- print 'WARNING: file not found: "%s"' % f
- continue
-
- # Extract type name from file name
- (parentPath, fileName) = os.path.split(f)
- (interfaceName, ext) = os.path.splitext(fileName)
-
- if not ext == '.idl':
- continue
-
- metaData = {
- 'conditional': extractConditional(f),
- 'name': interfaceName,
- }
-
- metaDataList.append(metaData)
-
- return metaDataList
-
-
-def generateContent(filesMetaData, partition, totalPartitions):
- # Sort files by conditionals.
- filesMetaData.sort()
-
- output = []
-
- # Add fixed content.
- output.append(copyrightTemplate)
- output.append('#define NO_IMPLICIT_ATOMICSTRING\n\n')
-
- # List all includes segmented by if and endif.
- prevConditional = None
- for metaData in filesMetaData:
- name = metaData['name']
- if (hash(name) % totalPartitions) != partition:
- continue
- conditional = metaData['conditional']
-
- if prevConditional and prevConditional != conditional:
- output.append('#endif\n')
- if conditional and prevConditional != conditional:
- output.append('\n#if %s\n' % formatConditional(conditional))
-
- output.append('#include "bindings/V8%s.cpp"\n' % name)
-
- prevConditional = conditional
-
- if prevConditional:
- output.append('#endif\n')
-
- return ''.join(output)
-
-
-def writeContent(content, outputFileName):
- (parentPath, fileName) = os.path.split(outputFileName)
- if not os.path.exists(parentPath):
- print parentPath
- os.mkdir(parentPath)
- f = open(outputFileName, 'w')
- f.write(content)
- f.close()
-
-
-def resolveCygpath(cygdriveNames):
- cmd = ['cygpath', '-f', '-', '-wa']
- process = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
- idlFileNames = []
- for fileName in cygdriveNames:
- process.stdin.write("%s\n" % fileName)
- process.stdin.flush()
- idlFileNames.append(process.stdout.readline().rstrip())
- process.stdin.close()
- process.wait()
- return idlFileNames
-
-
-def main(args):
- assert(len(args) > 3)
- inOutBreakIndex = args.index('--')
- inputFileName = args[1]
- outputFileNames = args[inOutBreakIndex+1:]
-
- inputFile = open(inputFileName, 'r')
- idlFileNames = []
- cygdriveNames = []
- for line in inputFile:
- idlFileName = line.rstrip().split(' ')[0]
- if idlFileName.startswith("/cygdrive"):
- cygdriveNames.append(idlFileName)
- else:
- idlFileNames.append(idlFileName)
-
- if cygdriveNames:
- idlFileNames.extend(resolveCygpath(cygdriveNames))
- inputFile.close()
-
- filesMetaData = extractMetaData(idlFileNames)
- for fileName in outputFileNames:
- partition = outputFileNames.index(fileName)
- fileContents = generateContent(filesMetaData, partition, len(outputFileNames))
- writeContent(fileContents, fileName)
-
- return 0
-
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv))
diff --git a/core/scripts/action_makenames.py b/core/scripts/action_makenames.py
deleted file mode 100644
index 224abd6..0000000
--- a/core/scripts/action_makenames.py
+++ /dev/null
@@ -1,182 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (C) 2009 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Copyright (c) 2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# action_makenames.py is a harness script to connect actions sections of
-# gyp-based builds to make_names.pl.
-#
-# usage: action_makenames.py OUTPUTS -- INPUTS [-- OPTIONS]
-#
-# Multiple OUTPUTS, INPUTS, and OPTIONS may be listed. The sections are
-# separated by -- arguments.
-#
-# The directory name of the first output is chosen as the directory in which
-# make_names will run. If the directory name for any subsequent output is
-# different, those files will be moved to the desired directory.
-#
-# Multiple INPUTS may be listed. An input with a basename matching
-# "make_names.pl" is taken as the path to that script. Inputs with names
-# ending in TagNames.in or tags.in are taken as tag inputs. Inputs with names
-# ending in AttributeNames.in or attrs.in are taken as attribute inputs. There
-# may be at most one tag input and one attribute input. A make_names.pl input
-# is required and at least one tag or attribute input must be present.
-#
-# OPTIONS is a list of additional options to pass to make_names.pl. This
-# section need not be present.
-
-
-import os
-import posixpath
-import shutil
-import subprocess
-import sys
-
-
-def SplitArgsIntoSections(args):
- sections = []
- while len(args) > 0:
- if not '--' in args:
- # If there is no '--' left, everything remaining is an entire section.
- dashes = len(args)
- else:
- dashes = args.index('--')
-
- sections.append(args[:dashes])
-
- # Next time through the loop, look at everything after this '--'.
- if dashes + 1 == len(args):
- # If the '--' is at the end of the list, we won't come back through the
- # loop again. Add an empty section now corresponding to the nothingness
- # following the final '--'.
- args = []
- sections.append(args)
- else:
- args = args[dashes + 1:]
-
- return sections
-
-
-def main(args):
- sections = SplitArgsIntoSections(args[1:])
- assert len(sections) == 2 or len(sections) == 3
- (outputs, inputs) = sections[:2]
- if len(sections) == 3:
- options = sections[2]
- else:
- options = []
-
- # Make all output pathnames absolute so that they can be accessed after
- # changing directory.
- for index in xrange(0, len(outputs)):
- outputs[index] = os.path.abspath(outputs[index])
-
- outputDir = os.path.dirname(outputs[0])
-
- # Look at the inputs and figure out which ones are make_names.pl, tags, and
- # attributes. There can be at most one of each, and those are the only
- # input types supported. make_names.pl is required and at least one of tags
- # and attributes is required.
- makeNamesInput = None
- tagInput = None
- attrInput = None
- eventsInput = None
- for input in inputs:
- # Make input pathnames absolute so they can be accessed after changing
- # directory. On Windows, convert \ to / for inputs to the perl script to
- # work around the intermix of activepython + cygwin perl.
- inputAbs = os.path.abspath(input)
- inputAbsPosix = inputAbs.replace(os.path.sep, posixpath.sep)
- inputBasename = os.path.basename(input)
- if inputBasename in ('make_names.pl', 'make_event_factory.pl', 'make_dom_exceptions.pl', 'make_settings.pl'):
- assert makeNamesInput == None
- makeNamesInput = inputAbs
- elif inputBasename.endswith('TagNames.in') or inputBasename.endswith('tags.in'):
- assert tagInput == None
- tagInput = inputAbsPosix
- elif inputBasename.endswith('AttributeNames.in') or inputBasename.endswith('attrs.in'):
- assert attrInput == None
- attrInput = inputAbsPosix
- elif (inputBasename.endswith('EventTargetFactory.in') or inputBasename.endswith('EventNames.in')
- or inputBasename.endswith('DOMExceptions.in') or inputBasename.endswith('Settings.in')):
- eventsInput = inputAbsPosix
- elif inputBasename.endswith('Names.in'):
- options.append(inputAbsPosix)
- elif inputBasename.endswith('.pm'):
- continue
- else:
- assert False
-
- assert makeNamesInput != None
- assert tagInput != None or attrInput != None or eventsInput != None or ('--fonts' in options) or ('--resourceTypes' in options)
-
- # scriptsPath is a Perl include directory, located relative to
- # makeNamesInput.
- scriptsPath = os.path.normpath(
- os.path.join(os.path.dirname(makeNamesInput), os.pardir, 'scripts'))
-
- # Change to the output directory because make_names.pl puts output in its
- # working directory.
- os.chdir(outputDir)
-
- # Build up the command.
- command = ['perl', '-I', scriptsPath, makeNamesInput]
- if tagInput != None:
- command.extend(['--tags', tagInput])
- if attrInput != None:
- command.extend(['--attrs', attrInput])
- if eventsInput != None:
- command.extend(['--input', eventsInput])
- command.extend(options)
-
- # Do it. check_call is new in 2.5, so simulate its behavior with call and
- # assert.
- returnCode = subprocess.call(command)
- assert returnCode == 0
-
- # Go through the outputs. Any output that belongs in a different directory
- # is moved. Do a copy and delete instead of rename for maximum portability.
- # Note that all paths used in this section are still absolute.
- for output in outputs:
- thisOutputDir = os.path.dirname(output)
- if thisOutputDir != outputDir:
- outputBasename = os.path.basename(output)
- src = os.path.join(outputDir, outputBasename)
- dst = os.path.join(thisOutputDir, outputBasename)
- shutil.copyfile(src, dst)
- os.unlink(src)
-
- return returnCode
-
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv))
diff --git a/core/scripts/action_useragentstylesheets.py b/core/scripts/action_useragentstylesheets.py
deleted file mode 100644
index c0712b3..0000000
--- a/core/scripts/action_useragentstylesheets.py
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (C) 2009 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Copyright (c) 2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# usage:
-# action_useragentstylesheets.py OUTPUTS INPUTS -- MAINSCRIPT MODULES -- OPTIONS
-#
-# OUTPUTS must contain two items, in order: a path to UserAgentStyleSheets.h
-# and a path to UserAgentStyleSheetsData.cpp.
-# INPUTS contains one or more CSS files.
-#
-# MAINSCRIPT is the path to make-css-file-arrays.pl. MODULES may contain
-# multiple paths to additional perl modules.
-#
-# OPTIONS are passed as-is to MAINSCRIPT as additional arguments.
-
-
-import os
-import shlex
-import subprocess
-import sys
-
-
-def SplitArgsIntoSections(args):
- sections = []
- while len(args) > 0:
- if not '--' in args:
- # If there is no '--' left, everything remaining is an entire section.
- dashes = len(args)
- else:
- dashes = args.index('--')
-
- sections.append(args[:dashes])
-
- # Next time through the loop, look at everything after this '--'.
- if dashes + 1 == len(args):
- # If the '--' is at the end of the list, we won't come back through the
- # loop again. Add an empty section now corresponding to the nothingness
- # following the final '--'.
- args = []
- sections.append(args)
- else:
- args = args[dashes + 1:]
-
- return sections
-
-
-def main(args):
- sections = SplitArgsIntoSections(args[1:])
- assert len(sections) == 3
- (outputsInputs, scripts, options) = sections
-
- assert len(outputsInputs) >= 3
- outputH = outputsInputs[0]
- outputCpp = outputsInputs[1]
- styleSheets = outputsInputs[2:]
-
- assert len(scripts) >= 1
- makeCssFileArrays = scripts[0]
- perlModules = scripts[1:]
-
- includeDirs = []
- for perlModule in perlModules:
- includeDir = os.path.dirname(perlModule)
- if not includeDir in includeDirs:
- includeDirs.append(includeDir)
-
- # The defines come in as one flat string. Split it up into distinct arguments.
- if '--defines' in options:
- definesIndex = options.index('--defines')
- if definesIndex + 1 < len(options):
- splitOptions = shlex.split(options[definesIndex + 1])
- if splitOptions:
- options[definesIndex + 1] = ' '.join(splitOptions)
-
- # Build up the command.
- command = ['perl']
- for includeDir in includeDirs:
- command.extend(['-I', includeDir])
- command.append(makeCssFileArrays)
- command.extend(options)
- command.extend([outputH, outputCpp])
- command.extend(styleSheets)
-
- # Do it. check_call is new in 2.5, so simulate its behavior with call and
- # assert.
- returnCode = subprocess.call(command)
- assert returnCode == 0
-
- return returnCode
-
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv))
diff --git a/core/scripts/in_file.py b/core/scripts/in_file.py
deleted file mode 100644
index d8d8235..0000000
--- a/core/scripts/in_file.py
+++ /dev/null
@@ -1,160 +0,0 @@
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import copy
-import os
-
-# NOTE: This has only been used to parse
-# core/page/RuntimeEnabledFeatures.in and may not be capable
-# of parsing other .in files correctly.
-
-# .in file format is:
-# // comment
-# name1 arg=value, arg2=value2, arg2=value3
-#
-# InFile must be passed a dictionary of default values
-# with which to validate arguments against known names.
-# Sequence types as default values will produce sequences
-# as parse results.
-# Bare arguments (no '=') are treated as names with value True.
-# The first field will always be labeled 'name'.
-#
-# InFile.load_from_files(['file.in'], {'arg': None, 'arg2': []})
-#
-# Parsing produces an array of dictionaries:
-# [ { 'name' : 'name1', 'arg' :' value', arg2=['value2', 'value3'] }
-
-def _is_comment(line):
- return line.startswith("//") or line.startswith("#")
-
-class InFile(object):
- def __init__(self, lines, defaults, valid_values=None, default_parameters=None):
- self.name_dictionaries = []
- self.parameters = copy.deepcopy(default_parameters if default_parameters else {})
- self._defaults = defaults
- self._valid_values = copy.deepcopy(valid_values if valid_values else {})
- self._parse(map(str.strip, lines))
-
- @classmethod
- def load_from_files(self, file_paths, defaults, valid_values, default_parameters):
- lines = []
- for path in file_paths:
- with open(os.path.abspath(path)) as in_file:
- lines += in_file.readlines()
- return InFile(lines, defaults, valid_values, default_parameters)
-
- def _is_sequence(self, arg):
- return (not hasattr(arg, "strip")
- and hasattr(arg, "__getitem__")
- or hasattr(arg, "__iter__"))
-
- def _parse(self, lines):
- parsing_parameters = True
- indices = {}
- for line in lines:
- if _is_comment(line):
- continue
- if not line:
- parsing_parameters = False
- continue
- if parsing_parameters:
- self._parse_parameter(line)
- else:
- entry = self._parse_line(line)
- name = entry['name']
- if name in indices:
- entry = self._merge_entries(entry, self.name_dictionaries[indices[name]])
- entry['name'] = name
- self.name_dictionaries[indices[name]] = entry
- else:
- indices[name] = len(self.name_dictionaries)
- self.name_dictionaries.append(entry)
-
-
- def _merge_entries(self, one, two):
- merged = {}
- for key in one:
- if key not in two:
- self._fatal("Expected key '%s' not found in entry: %s" % (key, two))
- if one[key] and two[key]:
- val_one = one[key]
- val_two = two[key]
- if isinstance(val_one, list) and isinstance(val_two, list):
- val = val_one + val_two
- elif isinstance(val_one, list):
- val = val_one + [val_two]
- elif isinstance(val_two, list):
- val = [val_one] + val_two
- else:
- val = [val_one, val_two]
- merged[key] = val
- elif one[key]:
- merged[key] = one[key]
- else:
- merged[key] = two[key]
- return merged
-
-
- def _parse_parameter(self, line):
- if '=' in line:
- name, value = line.split('=')
- else:
- name, value = line, True
- if not name in self.parameters:
- self._fatal("Unknown parameter: '%s' in line:\n%s\nKnown parameters: %s" % (name, line, self.parameters.keys()))
- self.parameters[name] = value
-
- def _parse_line(self, line):
- args = copy.deepcopy(self._defaults)
- parts = line.split(' ')
- args['name'] = parts[0]
- # re-join the rest of the line and split on ','
- args_list = ' '.join(parts[1:]).strip().split(',')
- for arg_string in args_list:
- arg_string = arg_string.strip()
- if not arg_string: # Ignore empty args
- continue
- if '=' in arg_string:
- arg_name, arg_value = arg_string.split('=')
- else:
- arg_name, arg_value = arg_string, True
- if arg_name not in self._defaults:
- self._fatal("Unknown argument: '%s' in line:\n%s\nKnown arguments: %s" % (arg_name, line, self._defaults.keys()))
- valid_values = self._valid_values.get(arg_name)
- if valid_values and arg_value not in valid_values:
- self._fatal("Unknown value: '%s' in line:\n%s\nKnown values: %s" % (arg_value, line, valid_values))
- if self._is_sequence(args[arg_name]):
- args[arg_name].append(arg_value)
- else:
- args[arg_name] = arg_value
- return args
-
- def _fatal(self, message):
- # FIXME: This should probably raise instead of exit(1)
- print message
- exit(1)
diff --git a/core/scripts/in_file_unittest.py b/core/scripts/in_file_unittest.py
deleted file mode 100644
index e065d44..0000000
--- a/core/scripts/in_file_unittest.py
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env python
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import unittest
-
-from in_file import InFile
-
-class InFileTest(unittest.TestCase):
- def test_basic_parse(self):
- contents = """
-name1 arg=value, arg2=value2, arg2=value3
-name2
-"""
- lines = contents.split("\n")
- defaults = {
- 'arg': None,
- 'arg2': [],
- }
- in_file = InFile(lines, defaults, None)
- expected_values = [
- {'name': 'name1', 'arg': 'value', 'arg2': ['value2', 'value3']},
- {'name': 'name2', 'arg': None, 'arg2': []},
- ]
- self.assertEquals(in_file.name_dictionaries, expected_values)
-
- def test_with_parameters(self):
- contents = """namespace=TestNamespace
-fruit
-
-name1 arg=value, arg2=value2, arg2=value3
-name2
-"""
- lines = contents.split("\n")
- defaults = {
- 'arg': None,
- 'arg2': [],
- }
- default_parameters = {
- 'namespace': '',
- 'fruit': False,
- }
- in_file = InFile(lines, defaults, default_parameters)
- expected_parameters = {
- 'namespace': 'TestNamespace',
- 'fruit': True,
- }
- self.assertEquals(in_file.parameters, expected_parameters)
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/core/scripts/in_generator.py b/core/scripts/in_generator.py
deleted file mode 100644
index b02d6e6..0000000
--- a/core/scripts/in_generator.py
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import os.path
-import shlex
-import shutil
-import optparse
-
-from in_file import InFile
-
-
-class Writer(object):
- # Subclasses should override.
- class_name = None
- defaults = None
- valid_values = None
- default_parameters = None
-
- def __init__(self, in_files, enabled_conditions):
- if isinstance(in_files, basestring):
- in_files = [in_files]
- self.in_file = InFile.load_from_files(in_files, self.defaults, self.valid_values, self.default_parameters)
- self._enabled_conditions = enabled_conditions
- self._outputs = {} # file_name -> generator
-
- def wrap_with_condition(self, string, condition):
- if not condition:
- return string
- return "#if ENABLE(%(condition)s)\n%(string)s\n#endif" % { 'condition' : condition, 'string' : string }
-
- def _forcibly_create_text_file_at_path_with_contents(self, file_path, contents):
- # FIXME: This method can be made less force-full anytime after 6/1/2013.
- # A gyp error was briefly checked into the tree, causing
- # a directory to have been generated in place of one of
- # our output files. Clean up after that error so that
- # all users don't need to clobber their output directories.
- shutil.rmtree(file_path, ignore_errors=True)
- # The build system should ensure our output directory exists, but just in case.
- directory = os.path.dirname(file_path)
- if not os.path.exists(directory):
- os.makedirs(directory)
-
- with open(file_path, "w") as file_to_write:
- file_to_write.write(contents)
-
- def _write_file(self, output_dir, contents, file_name):
- path = os.path.join(output_dir, file_name)
- self._forcibly_create_text_file_at_path_with_contents(path, contents)
-
- def write_files(self, output_dir):
- for file_name, generator in self._outputs.items():
- self._write_file(output_dir, generator(), file_name)
-
-
-class Maker(object):
- def __init__(self, writer_class):
- self._writer_class = writer_class
-
- def _enabled_conditions_from_defines(self, defines_arg_string):
- if not defines_arg_string:
- return []
-
- defines_strings = shlex.split(defines_arg_string)
-
- # We only care about feature defines.
- enable_prefix = 'ENABLE_'
-
- enabled_conditions = []
- for define_string in defines_strings:
- split_define = define_string.split('=')
- if split_define[1] != '1':
- continue
- define = split_define[0]
- if not define.startswith(enable_prefix):
- continue
- enabled_conditions.append(define[len(enable_prefix):])
- return enabled_conditions
-
- def main(self, argv):
- script_name = os.path.basename(argv[0])
- args = argv[1:]
- if len(args) < 1:
- print "USAGE: %i INPUT_FILES" % script_name
- exit(1)
-
- parser = optparse.OptionParser()
- parser.add_option("--defines")
- parser.add_option("--output_dir", default=os.getcwd())
- (options, args) = parser.parse_args()
-
- enabled_conditions = self._enabled_conditions_from_defines(options.defines)
-
- writer = self._writer_class(args, enabled_conditions)
- writer.write_files(options.output_dir)
diff --git a/core/scripts/license.py b/core/scripts/license.py
deleted file mode 100644
index 32da980..0000000
--- a/core/scripts/license.py
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# FIXME: We should either not use license blocks in generated files
-# or we should read this from some central license file.
-
-def license_for_generated_cpp():
- return """/*
- * Copyright (C) 2013 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-"""
diff --git a/core/scripts/list_idl_files_with_partial_interface.py b/core/scripts/list_idl_files_with_partial_interface.py
deleted file mode 100644
index edebc51..0000000
--- a/core/scripts/list_idl_files_with_partial_interface.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-"""This file returns a list of all the IDL files that contain a partial interface."""
-
-import re
-import sys
-
-partial_interface_regex = re.compile(r'partial\s+interface\s+(\w+).+\]', re.M | re.S)
-
-
-def DoMain(filenames):
- partial_files = set()
- for filename in filenames:
- with open(filename) as f:
- match = re.search(partial_interface_regex, f.read())
- if match:
- partial_files.add(filename)
- return '\n'.join(partial_files)
diff --git a/core/scripts/make-file-arrays.py b/core/scripts/make-file-arrays.py
deleted file mode 100755
index 68af2ae..0000000
--- a/core/scripts/make-file-arrays.py
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/usr/bin/env python
-# Copyright (C) 2012 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Usage: make-file-arrays.py [--condition=condition-string] --out-h=<header-file-name> --out-cpp=<cpp-file-name> <input-file>...
-
-import os.path
-import re
-import sys
-from optparse import OptionParser
-
-
-def make_variable_name_and_read(file_name):
- result = re.match(r"([\w\d_]+)\.([\w\d_]+)", os.path.basename(file_name))
- if not result:
- print "Invalid input file name:", os.path.basename(file_name)
- sys.exit(1)
- variable_name = result.group(1)[0].lower() + result.group(1)[1:] + result.group(2).capitalize()
- file = open(file_name, "rb")
- content = file.read()
- file.close()
- return (variable_name, content)
-
-
-def strip_whitespace_and_comments(file_name, content):
- result = re.match(r".*\.([^.]+)", file_name)
- if not result:
- print "The file name has no extension:", file_name
- sys.exit(1)
- extension = result.group(1).lower()
- multi_line_comment = re.compile(r"/\*.*?\*/", re.MULTILINE | re.DOTALL)
- single_line_comment = re.compile(r"//.*$", re.MULTILINE)
- repeating_space = re.compile(r"[ \t]+", re.MULTILINE)
- leading_space = re.compile(r"^[ \t]+", re.MULTILINE)
- trailing_space = re.compile(r"[ \t]+$", re.MULTILINE)
- empty_line = re.compile(r"\n+")
- if extension == "js":
- content = multi_line_comment.sub("", content)
- content = single_line_comment.sub("", content)
- content = repeating_space.sub(" ", content)
- content = leading_space.sub("", content)
- content = trailing_space.sub("", content)
- content = empty_line.sub("\n", content)
- elif extension == "css":
- content = multi_line_comment.sub("", content)
- content = repeating_space.sub(" ", content)
- content = leading_space.sub("", content)
- content = trailing_space.sub("", content)
- content = empty_line.sub("\n", content)
- return content
-
-
-def main():
- parser = OptionParser()
- parser.add_option("--out-h", dest="out_header")
- parser.add_option("--out-cpp", dest="out_cpp")
- parser.add_option("--condition", dest="flag")
- (options, args) = parser.parse_args()
- if len(args) < 1:
- parser.error("Need one or more input files")
- if not options.out_header:
- parser.error("Need to specify --out-h=filename")
- if not options.out_cpp:
- parser.error("Need to specify --out-cpp=filename")
-
- if options.flag:
- options.flag = options.flag.replace(" AND ", " && ")
- options.flag = options.flag.replace(" OR ", " || ")
-
- header_file = open(options.out_header, "w")
- if options.flag:
- header_file.write("#if " + options.flag + "\n")
- header_file.write("namespace WebCore {\n")
-
- cpp_file = open(options.out_cpp, "w")
- cpp_file.write("#include \"config.h\"\n")
- cpp_file.write("#include \"" + os.path.basename(options.out_header) + "\"\n")
- if options.flag:
- cpp_file.write("#if " + options.flag + "\n")
- cpp_file.write("namespace WebCore {\n")
-
- for file_name in args:
- (variable_name, content) = make_variable_name_and_read(file_name)
- content = strip_whitespace_and_comments(file_name, content)
- size = len(content)
- header_file.write("extern const char %s[%d];\n" % (variable_name, size))
- cpp_file.write("const char %s[%d] = {\n" % (variable_name, size))
- for index in range(size):
- char_code = ord(content[index])
- if char_code < 128:
- cpp_file.write("%d" % char_code)
- else:
- cpp_file.write("'\\x%02x'" % char_code)
- cpp_file.write("," if index != len(content) - 1 else "};\n")
- if index % 20 == 19:
- cpp_file.write("\n")
- cpp_file.write("\n")
-
- header_file.write("}\n")
- if options.flag:
- header_file.write("#endif\n")
- header_file.close()
-
- cpp_file.write("}\n")
- if options.flag:
- cpp_file.write("#endif\n")
- cpp_file.close()
-
-
-if __name__ == "__main__":
- main()
diff --git a/core/scripts/make_css_property_names.py b/core/scripts/make_css_property_names.py
deleted file mode 100755
index ab137e9..0000000
--- a/core/scripts/make_css_property_names.py
+++ /dev/null
@@ -1,257 +0,0 @@
-#!/usr/bin/env python
-
-import os.path
-import re
-import subprocess
-import sys
-
-from in_file import InFile
-import in_generator
-import license
-
-
-HEADER_TEMPLATE = """
-%(license)s
-
-#ifndef %(class_name)s_h
-#define %(class_name)s_h
-
-#include "core/css/CSSParserMode.h"
-#include "wtf/HashFunctions.h"
-#include "wtf/HashTraits.h"
-#include <string.h>
-
-namespace WTF {
-class AtomicString;
-class String;
-}
-
-namespace WebCore {
-
-enum CSSPropertyID {
- CSSPropertyInvalid = 0,
- CSSPropertyVariable = 1,
-%(property_enums)s
-};
-
-const int firstCSSProperty = %(first_property_id)s;
-const int numCSSProperties = %(properties_count)s;
-const int lastCSSProperty = %(last_property_id)d;
-const size_t maxCSSPropertyNameLength = %(max_name_length)d;
-
-const char* getPropertyName(CSSPropertyID);
-const WTF::AtomicString& getPropertyNameAtomicString(CSSPropertyID);
-WTF::String getPropertyNameString(CSSPropertyID);
-WTF::String getJSPropertyName(CSSPropertyID);
-bool isInternalProperty(CSSPropertyID id);
-
-inline CSSPropertyID convertToCSSPropertyID(int value)
-{
- ASSERT((value >= firstCSSProperty && value <= lastCSSProperty) || value == CSSPropertyInvalid);
- return static_cast<CSSPropertyID>(value);
-}
-
-} // namespace WebCore
-
-namespace WTF {
-template<> struct DefaultHash<WebCore::CSSPropertyID> { typedef IntHash<unsigned> Hash; };
-template<> struct HashTraits<WebCore::CSSPropertyID> : GenericHashTraits<WebCore::CSSPropertyID> {
- static const bool emptyValueIsZero = true;
- static const bool needsDestruction = false;
- static void constructDeletedValue(WebCore::CSSPropertyID& slot) { slot = static_cast<WebCore::CSSPropertyID>(WebCore::lastCSSProperty + 1); }
- static bool isDeletedValue(WebCore::CSSPropertyID value) { return value == (WebCore::lastCSSProperty + 1); }
-};
-}
-
-#endif // %(class_name)s_h
-"""
-
-GPERF_TEMPLATE = """
-%%{
-%(license)s
-
-#include "config.h"
-#include "%(class_name)s.h"
-#include "core/platform/HashTools.h"
-#include <string.h>
-
-#include "wtf/ASCIICType.h"
-#include "wtf/text/AtomicString.h"
-#include "wtf/text/WTFString.h"
-
-namespace WebCore {
-static const char propertyNameStringsPool[] = {
-%(property_name_strings)s
-};
-
-static const unsigned short propertyNameStringsOffsets[] = {
-%(property_name_offsets)s
-};
-
-%%}
-%%struct-type
-struct Property;
-%%omit-struct-type
-%%language=C++
-%%readonly-tables
-%%global-table
-%%compare-strncmp
-%%define class-name %(class_name)sHash
-%%define lookup-function-name findPropertyImpl
-%%define hash-function-name propery_hash_function
-%%define slot-name nameOffset
-%%define word-array-name property_wordlist
-%%enum
-%%%%
-%(property_to_enum_map)s
-%%%%
-const Property* findProperty(register const char* str, register unsigned int len)
-{
- return %(class_name)sHash::findPropertyImpl(str, len);
-}
-
-const char* getPropertyName(CSSPropertyID id)
-{
- if (id < firstCSSProperty)
- return 0;
- int index = id - firstCSSProperty;
- if (index >= numCSSProperties)
- return 0;
- return propertyNameStringsPool + propertyNameStringsOffsets[index];
-}
-
-const AtomicString& getPropertyNameAtomicString(CSSPropertyID id)
-{
- if (id < firstCSSProperty)
- return nullAtom;
- int index = id - firstCSSProperty;
- if (index >= numCSSProperties)
- return nullAtom;
-
- static AtomicString* propertyStrings = new AtomicString[numCSSProperties]; // Intentionally never destroyed.
- AtomicString& propertyString = propertyStrings[index];
- if (propertyString.isNull()) {
- const char* propertyName = propertyNameStringsPool + propertyNameStringsOffsets[index];
- propertyString = AtomicString(propertyName, strlen(propertyName), AtomicString::ConstructFromLiteral);
- }
- return propertyString;
-}
-
-String getPropertyNameString(CSSPropertyID id)
-{
- // We share the StringImpl with the AtomicStrings.
- return getPropertyNameAtomicString(id).string();
-}
-
-String getJSPropertyName(CSSPropertyID id)
-{
- char result[maxCSSPropertyNameLength + 1];
- const char* cssPropertyName = getPropertyName(id);
- const char* propertyNamePointer = cssPropertyName;
- if (!propertyNamePointer)
- return emptyString();
-
- char* resultPointer = result;
- while (char character = *propertyNamePointer++) {
- if (character == '-') {
- char nextCharacter = *propertyNamePointer++;
- if (!nextCharacter)
- break;
- character = (propertyNamePointer - 2 != cssPropertyName) ? toASCIIUpper(nextCharacter) : nextCharacter;
- }
- *resultPointer++ = character;
- }
- *resultPointer = '\\0';
- return String(result);
-}
-
-bool isInternalProperty(CSSPropertyID id)
-{
- switch (id) {
- %(internal_properties)s
- return true;
- default:
- return false;
- }
-}
-
-} // namespace WebCore
-"""
-
-
-class CSSPropertiesWriter(in_generator.Writer):
- class_name = "CSSPropertyNames"
- defaults = {
- 'alias_for': None,
- 'condition': None,
- 'is_internal': False,
- }
-
- def __init__(self, file_paths, enabled_conditions):
- in_generator.Writer.__init__(self, file_paths, enabled_conditions)
- self._outputs = {(self.class_name + ".h"): self.generate_header,
- (self.class_name + ".cpp"): self.generate_implementation,
- }
-
- all_properties = self.in_file.name_dictionaries
- self._aliases = filter(lambda property: property['alias_for'], all_properties)
- for offset, property in enumerate(self._aliases):
- # Aliases use the enum_name that they are an alias for.
- property['enum_name'] = self._enum_name_from_property_name(property['alias_for'])
- # Aliases do not get an enum_value.
-
- self._properties = filter(lambda property: not property['alias_for'] and not property['condition'] or property['condition'] in self._enabled_conditions, all_properties)
- if len(self._properties) > 1024:
- print "ERROR : There is more than 1024 CSS Properties, you need to update CSSProperty.h/StylePropertyMetadata m_propertyID accordingly."
- exit(1)
- self._first_property_id = 2 # We start after CSSPropertyInvalid and CSSPropertyVariable.
- property_id = self._first_property_id
- for offset, property in enumerate(self._properties):
- property['enum_name'] = self._enum_name_from_property_name(property['name'])
- property['enum_value'] = self._first_property_id + offset
- if property['name'].startswith('-internal-'):
- property['is_internal'] = True
-
- def _enum_name_from_property_name(self, property_name):
- return "CSSProperty" + re.sub(r'(^[^-])|-(.)', lambda match: (match.group(1) or match.group(2)).upper(), property_name)
-
- def _enum_declaration(self, property):
- return " %(enum_name)s = %(enum_value)s," % property
-
- def generate_header(self):
- return HEADER_TEMPLATE % {
- 'license': license.license_for_generated_cpp(),
- 'class_name': self.class_name,
- 'property_enums': "\n".join(map(self._enum_declaration, self._properties)),
- 'first_property_id': self._first_property_id,
- 'properties_count': len(self._properties),
- 'last_property_id': self._first_property_id + len(self._properties) - 1,
- 'max_name_length': reduce(max, map(len, map(lambda property: property['name'], self._properties))),
- }
-
- def _case_properties(self, property):
- return "case %(enum_name)s:" % property
-
- def generate_implementation(self):
- property_offsets = []
- current_offset = 0
- for property in self._properties:
- property_offsets.append(current_offset)
- current_offset += len(property["name"]) + 1
-
- gperf_input = GPERF_TEMPLATE % {
- 'license': license.license_for_generated_cpp(),
- 'class_name': self.class_name,
- 'property_name_strings': '\n'.join(map(lambda property: ' "%(name)s\\0"' % property, self._properties)),
- 'property_name_offsets': '\n'.join(map(lambda offset: ' %d,' % offset, property_offsets)),
- 'property_to_enum_map': '\n'.join(map(lambda property: '%(name)s, %(enum_name)s' % property, self._properties + self._aliases)),
- 'internal_properties': '\n'.join(map(self._case_properties, filter(lambda property: property['is_internal'], self._properties))),
- }
- # FIXME: If we could depend on Python 2.7, we would use subprocess.check_output
- gperf_args = ['gperf', '--key-positions=*', '-P', '-D', '-n', '-s', '2']
- gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- return gperf.communicate(gperf_input)[0]
-
-
-if __name__ == "__main__":
- in_generator.Maker(CSSPropertiesWriter).main(sys.argv)
diff --git a/core/scripts/make_css_value_keywords.py b/core/scripts/make_css_value_keywords.py
deleted file mode 100755
index 0b5a3d6..0000000
--- a/core/scripts/make_css_value_keywords.py
+++ /dev/null
@@ -1,177 +0,0 @@
-#!/usr/bin/env python
-
-import os.path
-import re
-import subprocess
-import sys
-
-from in_file import InFile
-import in_generator
-import license
-
-
-HEADER_TEMPLATE = """
-%(license)s
-
-#ifndef %(class_name)s_h
-#define %(class_name)s_h
-
-#include "core/css/CSSParserMode.h"
-#include <string.h>
-
-namespace WebCore {
-
-enum CSSValueID {
-%(value_keyword_enums)s
-};
-
-const int numCSSValueKeywords = %(value_keywords_count)d;
-const size_t maxCSSValueKeywordLength = %(max_value_keyword_length)d;
-
-const char* getValueName(unsigned short id);
-bool isValueAllowedInMode(unsigned short id, CSSParserMode mode);
-
-} // namespace WebCore
-
-#endif // %(class_name)s_h
-"""
-
-GPERF_TEMPLATE = """
-%%{
-%(license)s
-
-#include "config.h"
-#include "%(class_name)s.h"
-#include "core/platform/HashTools.h"
-#include <string.h>
-
-namespace WebCore {
-static const char valueListStringPool[] = {
-"\\0"
-%(value_keyword_strings)s
-};
-
-static const unsigned short valueListStringOffsets[] = {
-%(value_keyword_offsets)s
-};
-
-%%}
-%%struct-type
-struct Value;
-%%omit-struct-type
-%%language=C++
-%%readonly-tables
-%%compare-strncmp
-%%define class-name %(class_name)sHash
-%%define lookup-function-name findValueImpl
-%%define hash-function-name value_hash_function
-%%define slot-name nameOffset
-%%define word-array-name value_word_list
-%%pic
-%%enum
-%%%%
-%(value_keyword_to_enum_map)s
-%%%%
-const Value* findValue(register const char* str, register unsigned int len)
-{
- return CSSValueKeywordsHash::findValueImpl(str, len);
-}
-
-const char* getValueName(unsigned short id)
-{
- if (id >= numCSSValueKeywords || id <= 0)
- return 0;
- return valueListStringPool + valueListStringOffsets[id];
-}
-
-bool isValueAllowedInMode(unsigned short id, CSSParserMode mode)
-{
- switch (id) {
- %(ua_sheet_mode_values_keywords)s
- return mode == UASheetMode;
- %(quirks_mode_values_keywords)s
- return mode == CSSQuirksMode;
- %(quirks_mode_or_ua_sheet_mode_values_keywords)s
- return mode == UASheetMode || mode == CSSQuirksMode;
- default:
- return true;
- }
-}
-
-} // namespace WebCore
-"""
-
-
-class CSSValueKeywordsWriter(in_generator.Writer):
- class_name = "CSSValueKeywords"
- defaults = {
- 'condition': None,
- 'mode': None,
- }
-
- def __init__(self, file_paths, enabled_conditions):
- in_generator.Writer.__init__(self, file_paths, enabled_conditions)
- self._outputs = {(self.class_name + ".h"): self.generate_header,
- (self.class_name + ".cpp"): self.generate_implementation,
- }
-
- all_properties = self.in_file.name_dictionaries
- self._value_keywords = filter(lambda property: not property['condition'] or property['condition'] in self._enabled_conditions, all_properties)
- first_property_id = 1
- for offset, property in enumerate(self._value_keywords):
- property['name'] = property['name'].lower()
- property['enum_name'] = self._enum_name_from_value_keyword(property['name'])
- property['enum_value'] = first_property_id + offset
- if property['name'].startswith('-internal-'):
- assert property['mode'] is None, 'Can\'t specify mode for value keywords with the prefix "-internal-".'
- property['mode'] = 'UASheet'
- else:
- assert property['mode'] != 'UASheet', 'UASheet mode only value keywords should have the prefix "-internal-".'
-
- def _enum_name_from_value_keyword(self, value_keyword):
- return "CSSValue" + "".join(w.capitalize() for w in value_keyword.split("-"))
-
- def _enum_declaration(self, property):
- return " %(enum_name)s = %(enum_value)s," % property
-
- def _case_value_keyword(self, property):
- return "case %(enum_name)s:" % property
-
- def generate_header(self):
- enum_enties = map(self._enum_declaration, [{'enum_name': 'CSSValueInvalid', 'enum_value': 0}] + self._value_keywords)
- return HEADER_TEMPLATE % {
- 'license': license.license_for_generated_cpp(),
- 'class_name': self.class_name,
- 'value_keyword_enums': "\n".join(enum_enties),
- 'value_keywords_count': len(enum_enties),
- 'max_value_keyword_length': reduce(max, map(len, map(lambda property: property['name'], self._value_keywords))),
- }
-
- def _value_keywords_with_mode(self, mode):
- return filter(lambda property: property['mode'] == mode, self._value_keywords)
-
- def generate_implementation(self):
- keyword_offsets = [0]
- current_offset = 1
- for keyword in self._value_keywords:
- keyword_offsets.append(current_offset)
- current_offset += len(keyword["name"]) + 1
-
- gperf_input = GPERF_TEMPLATE % {
- 'license': license.license_for_generated_cpp(),
- 'class_name': self.class_name,
- 'value_keyword_strings': '\n'.join(map(lambda property: ' "%(name)s\\0"' % property, self._value_keywords)),
- 'value_keyword_offsets': '\n'.join(map(lambda offset: ' %d,' % offset, keyword_offsets)),
- 'value_keyword_to_enum_map': '\n'.join(map(lambda property: '%(name)s, %(enum_name)s' % property, self._value_keywords)),
- 'ua_sheet_mode_values_keywords': '\n '.join(map(self._case_value_keyword, self._value_keywords_with_mode('UASheet'))),
- 'quirks_mode_values_keywords': '\n '.join(map(self._case_value_keyword, self._value_keywords_with_mode('Quirks'))),
- 'quirks_mode_or_ua_sheet_mode_values_keywords': '\n '.join(map(self._case_value_keyword, self._value_keywords_with_mode('QuirksOrUASheet'))),
- }
- # FIXME: If we could depend on Python 2.7, we would use subprocess.check_output
- gperf_args = ['gperf', '--key-positions=*', '-D', '-n', '-s', '2']
- gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- return gperf.communicate(gperf_input)[0]
-
-
-if __name__ == "__main__":
- in_generator.Maker(CSSValueKeywordsWriter).main(sys.argv)
diff --git a/core/scripts/make_event_factory.py b/core/scripts/make_event_factory.py
deleted file mode 100644
index ace45ab..0000000
--- a/core/scripts/make_event_factory.py
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/usr/bin/env python
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import os.path
-import sys
-import shutil
-
-from in_file import InFile
-import name_macros
-from name_utilities import lower_first
-import license
-
-
-IMPLEMENTATION_TEMPLATE = """%(license)s
-#include "config.h"
-#include "%(class_name)sFactory.h"
-
-#include "%(class_name)sHeaders.h"
-#include "RuntimeEnabledFeatures.h"
-
-namespace WebCore {
-
-PassRefPtr<%(class_name)s> %(class_name)sFactory::create(const String& type)
-{
-%(factory_implementation)s
- return 0;
-}
-
-} // namespace WebCore
-"""
-
-
-class EventFactoryWriter(name_macros.Writer):
- defaults = {
- 'ImplementedAs': None,
- 'Conditional': None,
- 'EnabledAtRuntime': None,
- }
- default_parameters = {
- 'namespace': '',
- }
-
- def __init__(self, in_file_path, enabled_conditions):
- super(EventFactoryWriter, self).__init__(in_file_path, enabled_conditions)
- self._outputs[(self.class_name + ".cpp")] = self.generate_implementation
-
- def _events(self):
- return self.in_file.name_dictionaries
-
- def _factory_implementation(self, event):
- if event['EnabledAtRuntime']:
- runtime_condition = ' && RuntimeEnabledFeatures::%s()' % lower_first(event['EnabledAtRuntime'])
- else:
- runtime_condition = ''
- name = os.path.basename(event['name'])
- class_name = self._class_name_for_entry(event)
- implementation = """ if (type == "%(name)s"%(runtime_condition)s)
- return %(class_name)s::create();""" % {
- 'name': name,
- 'runtime_condition': runtime_condition,
- 'class_name': class_name,
- }
- return self.wrap_with_condition(implementation, event['Conditional'])
-
- def generate_implementation(self):
- return IMPLEMENTATION_TEMPLATE % {
- 'class_name': self.class_name,
- 'license': license.license_for_generated_cpp(),
- 'factory_implementation': "\n".join(map(self._factory_implementation, self._events())),
- }
-
-
-if __name__ == "__main__":
- name_macros.Maker(EventFactoryWriter).main(sys.argv)
diff --git a/core/scripts/make_internal_runtime_flags.py b/core/scripts/make_internal_runtime_flags.py
deleted file mode 100755
index 522e00f..0000000
--- a/core/scripts/make_internal_runtime_flags.py
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env python
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import os.path
-import sys
-
-import in_generator
-import make_runtime_features
-import template_expander
-
-
-# We want exactly the same parsing as RuntimeFeatureWriter
-# but generate different files.
-class InternalRuntimeFlagsWriter(make_runtime_features.RuntimeFeatureWriter):
- class_name = "InternalRuntimeFlags"
-
- def __init__(self, in_file_path, enabled_conditions):
- super(InternalRuntimeFlagsWriter, self).__init__(in_file_path, enabled_conditions)
- self._outputs = {(self.class_name + ".idl"): self.generate_idl,
- (self.class_name + ".h"): self.generate_header,
- }
-
- @template_expander.use_jinja(class_name + ".idl.tmpl")
- def generate_idl(self):
- return {
- 'features': self._features,
- }
-
- @template_expander.use_jinja(class_name + ".h.tmpl")
- def generate_header(self):
- return {
- 'features': self._features,
- 'feature_sets': self._feature_sets(),
- }
-
-
-if __name__ == "__main__":
- in_generator.Maker(InternalRuntimeFlagsWriter).main(sys.argv)
diff --git a/core/scripts/make_runtime_features.py b/core/scripts/make_runtime_features.py
deleted file mode 100755
index ad84a25..0000000
--- a/core/scripts/make_runtime_features.py
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/env python
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import os.path
-import sys
-
-from in_file import InFile
-import in_generator
-from name_utilities import lower_first
-import template_expander
-
-
-class RuntimeFeatureWriter(in_generator.Writer):
- class_name = 'RuntimeEnabledFeatures'
-
- # FIXME: valid_values and defaults should probably roll into one object.
- valid_values = {
- 'status': ['stable', 'experimental', 'test'],
- }
- defaults = {
- 'condition' : None,
- 'depends_on' : [],
- 'custom': False,
- 'status': None,
- }
-
- def __init__(self, in_file_path, enabled_conditions):
- super(RuntimeFeatureWriter, self).__init__(in_file_path, enabled_conditions)
- self._outputs = {(self.class_name + ".h"): self.generate_header,
- (self.class_name + ".cpp"): self.generate_implementation,
- }
-
- self._features = self.in_file.name_dictionaries
- # Make sure the resulting dictionaries have all the keys we expect.
- for feature in self._features:
- feature['first_lowered_name'] = lower_first(feature['name'])
- # Most features just check their isFooEnabled bool
- # but some depend on more than one bool.
- enabled_condition = "is%sEnabled" % feature['name']
- for dependant_name in feature['depends_on']:
- enabled_condition += " && is%sEnabled" % dependant_name
- feature['enabled_condition'] = enabled_condition
- self._non_custom_features = filter(lambda feature: not feature['custom'], self._features)
-
- def _feature_sets(self):
- # Another way to think of the status levels is as "sets of features"
- # which is how we're referring to them in this generator.
- return self.valid_values['status']
-
- @template_expander.use_jinja(class_name + ".h.tmpl")
- def generate_header(self):
- return {
- 'features': self._features,
- 'feature_sets': self._feature_sets(),
- }
-
- @template_expander.use_jinja(class_name + ".cpp.tmpl")
- def generate_implementation(self):
- return {
- 'features': self._features,
- 'feature_sets': self._feature_sets(),
- }
-
-
-if __name__ == "__main__":
- in_generator.Maker(RuntimeFeatureWriter).main(sys.argv)
diff --git a/core/scripts/make_style_builder.py b/core/scripts/make_style_builder.py
deleted file mode 100755
index b408c94..0000000
--- a/core/scripts/make_style_builder.py
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/usr/bin/env python
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import re
-import sys
-
-import in_generator
-import template_expander
-
-
-class StyleBuilderWriter(in_generator.Writer):
- class_name = 'StyleBuilder'
-
- valid_values = {
- 'svg': [True, False],
- 'custom_all': [True, False],
- 'custom_initial': [True, False],
- 'custom_inherit': [True, False],
- 'custom_value': [True, False],
- }
- defaults = {
- 'condition': None,
- 'name_for_methods': None,
- 'use_handlers_for': None,
- 'svg': False,
- 'converter': None,
-# These depend on property name by default
- 'type_name': None,
- 'getter': None,
- 'setter': None,
- 'initial': None,
-# Setting these stops default handlers being generated
-# Setting custom_all is the same as setting the other three
- 'custom_all': False,
- 'custom_initial': False,
- 'custom_inherit': False,
- 'custom_value': False,
- }
-
- def __init__(self, in_files, enabled_conditions):
- super(StyleBuilderWriter, self).__init__(in_files, enabled_conditions)
- self._outputs = {("StyleBuilderFunctions.h"): self.generate_style_builder_functions_h,
- ("StyleBuilderFunctions.cpp"): self.generate_style_builder_functions_cpp,
- ("StyleBuilder.cpp"): self.generate_style_builder,
- }
-
- self._properties = self.in_file.name_dictionaries
-
- def set_if_none(property, key, value):
- if property[key] is None:
- property[key] = value
-
- for property in self._properties:
- cc = self._camelcase_property_name(property["name"])
- property["property_id"] = "CSSProperty" + cc
- cc = property["name_for_methods"] or cc.replace("Webkit", "")
- property["camel_case_name"] = cc
- set_if_none(property, "type_name", "E" + cc)
- set_if_none(property, "getter", self._lower_first(cc))
- set_if_none(property, "setter", "set" + cc)
- set_if_none(property, "initial", "initial" + cc)
- if property["custom_all"]:
- property["custom_initial"] = True
- property["custom_inherit"] = True
- property["custom_value"] = True
-
- self._properties = dict((property["property_id"], property) for property in self._properties)
-
-# FIXME: some of these might be better in a utils file
- @staticmethod
- def _camelcase_property_name(property_name):
- return re.sub(r'(^[^-])|-(.)', lambda match: (match.group(1) or match.group(2)).upper(), property_name)
-
- @staticmethod
- def _lower_first(s):
- return s[0].lower() + s[1:]
-
- @staticmethod
- def _upper_first(s):
- return s[0].upper() + s[1:]
-
- @template_expander.use_jinja("StyleBuilderFunctions.h.tmpl")
- def generate_style_builder_functions_h(self):
- return {
- "properties": self._properties,
- }
-
- @template_expander.use_jinja("StyleBuilderFunctions.cpp.tmpl")
- def generate_style_builder_functions_cpp(self):
- return {
- "properties": self._properties,
- }
-
- @template_expander.use_jinja("StyleBuilder.cpp.tmpl")
- def generate_style_builder(self):
- return {
- "properties": self._properties,
- }
-
-
-if __name__ == "__main__":
- in_generator.Maker(StyleBuilderWriter).main(sys.argv)
diff --git a/core/scripts/make_style_shorthands.py b/core/scripts/make_style_shorthands.py
deleted file mode 100644
index c73de2f..0000000
--- a/core/scripts/make_style_shorthands.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env python
-# Copyright (C) 2013 Intel Corporation. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import re
-import sys
-from collections import defaultdict
-
-import in_generator
-import template_expander
-
-
-class StylePropertyShorthandWriter(in_generator.Writer):
- class_name = 'StylePropertyShorthand'
-
- defaults = {
- 'longhands': "",
- 'runtimeEnabledShorthand': None,
- }
-
- def __init__(self, in_files, enabled_conditions):
- super(StylePropertyShorthandWriter, self).__init__(in_files, enabled_conditions)
- self._outputs = {("StylePropertyShorthand.cpp"): self.generate_style_property_shorthand_cpp, ("StylePropertyShorthand.h"): self.generate_style_property_shorthand_h}
-
- self._properties = self.in_file.name_dictionaries
- self._longhand_dictionary = defaultdict(list)
-
- for property in self._properties:
- cc = self._camelcase_property_name(property["name"])
- property["property_id"] = self._create_css_property_name_enum_value(cc)
- cc = cc[0].lower() + cc[1:]
- property["camel_case_name"] = cc
- longhands = property["longhands"].split(';')
- property["camel_case_longhands"] = list()
- for longhand in longhands:
- longhand = self._camelcase_property_name(longhand)
- longhand = self._create_css_property_name_enum_value(longhand)
- property["camel_case_longhands"].append(longhand)
- self._longhand_dictionary[longhand].append(property)
- if property["runtimeEnabledShorthand"] is not None:
- lowerFirstConditional = self._lower_first(property["runtimeEnabledShorthand"])
- property["runtime_conditional_getter"] = "%sEnabled" % lowerFirstConditional
- self._properties = dict((property["property_id"], property) for property in self._properties)
-
-# FIXME: some of these might be better in a utils file
- def _camelcase_property_name(self, property_name):
- return re.sub(r'(^[^-])|-(.)', lambda match: (match.group(1) or match.group(2)).upper(), property_name)
-
- def _create_css_property_name_enum_value(self, property_name):
- return "CSSProperty" + property_name
-
- def _lower_first(self, string):
- lowered = string[0].lower() + string[1:]
- lowered = lowered.replace("cSS", "css")
- return lowered
-
- @template_expander.use_jinja("StylePropertyShorthand.cpp.tmpl")
- def generate_style_property_shorthand_cpp(self):
- return {
- "properties": self._properties,
- "longhands_dictionary": self._longhand_dictionary,
- }
-
- @template_expander.use_jinja("StylePropertyShorthand.h.tmpl")
- def generate_style_property_shorthand_h(self):
- return {
- "properties": self._properties,
- }
-
-if __name__ == "__main__":
- in_generator.Maker(StylePropertyShorthandWriter).main(sys.argv)
diff --git a/core/scripts/make_token_matcher.py b/core/scripts/make_token_matcher.py
deleted file mode 100755
index 10fae62..0000000
--- a/core/scripts/make_token_matcher.py
+++ /dev/null
@@ -1,231 +0,0 @@
-#!/usr/bin/env python
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import io
-import itertools
-import re
-import sys
-
-
-class BadInput(Exception):
- """Unsupported input has been found."""
-
-
-class SwitchCase(object):
- """Represents a CASE block."""
- def __init__(self, identifier, block):
- self.identifier = identifier
- self.block = block
-
-
-class Optimizer(object):
- """Generates optimized identifier matching code."""
- def __init__(self, output_file, array_variable, length_variable):
- self.output_file = output_file
- self.array_variable = array_variable
- self.length_variable = length_variable
-
- def inspect(self, cases):
- lengths = list(set([len(c.identifier) for c in cases]))
- lengths.sort()
-
- def response(length):
- self.inspect_array([c for c in cases if len(c.identifier) == length], range(length))
- self.write_selection(self.length_variable, lengths, str, response)
-
- def score(self, alternatives):
- return -sum([len(list(count)) ** 2 for _, count in itertools.groupby(sorted(alternatives))])
-
- def choose_selection_pos(self, cases, pending):
- candidates = [pos for pos in pending if all(alternative.isalpha() for alternative in [c.identifier[pos] for c in cases])]
- if not candidates:
- raise BadInput('Case-insensitive switching on non-alphabetic characters not yet implemented')
- return sorted(candidates, key=lambda pos: self.score([c.identifier[pos] for c in cases]))[0]
-
- def inspect_array(self, cases, pending):
- assert len(cases) >= 1
- if pending:
- common = [pos for pos in pending
- if len(set([c.identifier[pos] for c in cases])) == 1]
- if common:
- identifier = cases[0].identifier
- for index in xrange(len(common)):
- if index == 0:
- self.output_file.write(u'if (LIKELY(')
- else:
- self.output_file.write(u' && ')
- pos = common[index]
- if identifier[pos].isalpha():
- self.output_file.write("(%s[%d] | 0x20) == '%s'" %
- (self.array_variable, pos, identifier[pos]))
- else:
- self.output_file.write("%s[%d] == '%s'" %
- (self.array_variable, pos, identifier[pos]))
- self.output_file.write(u')) {\n')
- next_pending = list(set(pending) - set(common))
- next_pending.sort()
- self.inspect_array(cases, next_pending)
- self.output_file.write(u'}\n')
- else:
- pos = self.choose_selection_pos(cases, pending)
- next_pending = filter(lambda p: p != pos, pending)
-
- alternatives = list(set([c.identifier[pos] for c in cases]))
- alternatives.sort()
-
- def literal(alternative):
- if isinstance(alternative, int):
- return str(alternative)
- else:
- return "'%s'" % alternative
-
- def response(alternative):
- self.inspect_array([c for c in cases if c.identifier[pos] == alternative],
- next_pending)
-
- expression = '(%s[%d] | 0x20)' % (self.array_variable, pos)
- self.write_selection(expression, alternatives, literal, response)
- else:
- assert len(cases) == 1
- for block_line in cases[0].block:
- self.output_file.write(block_line)
-
- def write_selection(self, expression, alternatives, literal, response):
- if len(alternatives) == 1:
- self.output_file.write(u'if (LIKELY(%s == %s)) {\n' % (expression, literal(alternatives[0])))
- response(alternatives[0])
- self.output_file.write(u'}\n')
- elif len(alternatives) == 2:
- self.output_file.write(u'if (%s == %s) {\n' % (expression, literal(alternatives[0])))
- response(alternatives[0])
- self.output_file.write(u'} else if (LIKELY(%s == %s)) {\n' % (expression, literal(alternatives[1])))
- response(alternatives[1])
- self.output_file.write(u'}\n')
- else:
- self.output_file.write('switch (%s) {\n' % expression)
- for alternative in alternatives:
- self.output_file.write(u'case %s: {\n' % literal(alternative))
- response(alternative)
- self.output_file.write(u'} break;\n')
- self.output_file.write(u'}\n')
-
-
-class LineProcessor(object):
- def process_line(self, line):
- pass
-
-
-class MainLineProcessor(LineProcessor):
- """Processes the contents of an input file."""
- SWITCH_PATTERN = re.compile(r'\s*SWITCH\s*\((\w*),\s*(\w*)\) \{$')
-
- def __init__(self, output_file):
- self.output_file = output_file
-
- def process_line(self, line):
- match_switch = MainLineProcessor.SWITCH_PATTERN.match(line)
- if match_switch:
- array_variable = match_switch.group(1)
- length_variable = match_switch.group(2)
- return SwitchLineProcessor(self, self.output_file, array_variable, length_variable)
- else:
- self.output_file.write(line)
- return self
-
-
-class SwitchLineProcessor(LineProcessor):
- """Processes the contents of a SWITCH block."""
- CASE_PATTERN = re.compile(r'\s*CASE\s*\(\"([a-z0-9_\-\(]*)\"\) \{$')
- CLOSE_BRACE_PATTERN = re.compile(r'\s*\}$')
- EMPTY_PATTERN = re.compile(r'\s*$')
-
- def __init__(self, parent, output_file, array_variable, length_variable):
- self.parent = parent
- self.output_file = output_file
- self.array_variable = array_variable
- self.length_variable = length_variable
- self.cases = []
-
- def process_line(self, line):
- match_case = SwitchLineProcessor.CASE_PATTERN.match(line)
- match_close_brace = SwitchLineProcessor.CLOSE_BRACE_PATTERN.match(line)
- match_empty = SwitchLineProcessor.EMPTY_PATTERN.match(line)
- if match_case:
- identifier = match_case.group(1)
- return CaseLineProcessor(self, self.output_file, identifier)
- elif match_close_brace:
- Optimizer(self.output_file, self.array_variable, self.length_variable).inspect(self.cases)
- return self.parent
- elif match_empty:
- return self
- else:
- raise BadInput('Invalid line within SWITCH: %s' % line)
-
- def add_case(self, latest_case):
- if latest_case.identifier in [c.identifier for c in self.cases]:
- raise BadInput('Repeated case: %s' % latest_case.identifier)
- self.cases.append(latest_case)
-
-
-class CaseLineProcessor(LineProcessor):
- """Processes the contents of a CASE block."""
- CLOSE_BRACE_PATTERN = re.compile(r'\s*\}$')
- BREAK_PATTERN = re.compile(r'break;')
-
- def __init__(self, parent, output_file, identifier):
- self.parent = parent
- self.output_file = output_file
- self.identifier = identifier
- self.block = []
-
- def process_line(self, line):
- match_close_brace = CaseLineProcessor.CLOSE_BRACE_PATTERN.match(line)
- match_break = CaseLineProcessor.BREAK_PATTERN.search(line)
- if match_close_brace:
- self.parent.add_case(SwitchCase(self.identifier, self.block))
- return self.parent
- elif match_break:
- raise BadInput('break within CASE not supported: %s' % line)
- else:
- self.block.append(line)
- return self
-
-
-def process_file(input_name, output_name):
- """Transforms input file into legal C++ source code."""
- with io.open(input_name, 'r', -1, 'utf-8') as input_file:
- with io.open(output_name, 'w', -1, 'utf-8') as output_file:
- processor = MainLineProcessor(output_file)
- input_lines = input_file.readlines()
- for line in input_lines:
- processor = processor.process_line(line)
-
-
-if __name__ == '__main__':
- process_file(sys.argv[1], sys.argv[2])
diff --git a/core/scripts/make_token_matcher_unittest.py b/core/scripts/make_token_matcher_unittest.py
deleted file mode 100755
index c0c8286..0000000
--- a/core/scripts/make_token_matcher_unittest.py
+++ /dev/null
@@ -1,243 +0,0 @@
-#!/usr/bin/env python
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import tempfile
-import unittest
-
-from make_token_matcher import BadInput, CaseLineProcessor, MainLineProcessor, Optimizer, process_file, SwitchCase, SwitchLineProcessor
-
-
-class OptimizerTest(unittest.TestCase):
- def test_nonalphabetic(self):
- optimizer = Optimizer(None, None, None)
- self.assertRaises(
- BadInput,
- optimizer.inspect_array,
- [SwitchCase('-', None), SwitchCase('x', None)],
- [0])
-
-
-class MainLineProcessorTest(unittest.TestCase):
- def test_switch(self):
- processor = MainLineProcessor(None)
- switchLineProcessor = processor.process_line('SWITCH(array, length) {')
- self.assertIsInstance(switchLineProcessor, SwitchLineProcessor)
- self.assertEquals('array', switchLineProcessor.array_variable)
- self.assertEquals('length', switchLineProcessor.length_variable)
-
-
-class SwitchLineProcessorTest(unittest.TestCase):
- def test_case(self):
- processor = SwitchLineProcessor(None, None, None, None)
- caseLineProcessor = processor.process_line('CASE("identifier") {')
- self.assertIsInstance(caseLineProcessor, CaseLineProcessor)
- self.assertEquals('identifier', caseLineProcessor.identifier)
-
- def test_unexpected(self):
- processor = SwitchLineProcessor(None, None, None, None)
- self.assertRaises(
- BadInput,
- processor.process_line,
- 'unexpected')
-
- def test_repeated(self):
- processor = SwitchLineProcessor(None, None, None, None)
- processor.process_line('CASE("x") {').process_line('}')
- caseLineProcessor = processor.process_line('CASE("x") {')
- self.assertRaises(
- BadInput,
- caseLineProcessor.process_line,
- '}')
-
-
-class CaseLineProcessorTest(unittest.TestCase):
- def test_break(self):
- processor = CaseLineProcessor(None, None, None)
- self.assertRaises(
- BadInput,
- processor.process_line,
- 'break;')
-
-
-class ProcessFileTest(unittest.TestCase):
- SOURCE_SMALL = """
- SWITCH(p, q) {
- CASE("a(") {
- X;
- }
- CASE("b(") {
- Y;
- }
- }
- """
-
- EXPECTED_SMALL = """
- if (LIKELY(q == 2)) {
- if (LIKELY(p[1] == '(')) {
- if ((p[0] | 0x20) == 'a') {
- X;
- } else if (LIKELY((p[0] | 0x20) == 'b')) {
- Y;
- }
- }
- }
- """
-
- SOURCE_MEDIUM = """
- SWITCH (p, q) {
- CASE ("ab") {
- X;
- }
- CASE ("cd") {
- Y;
- }
- CASE ("ed") {
- Z;
- }
- }
- """
-
- EXPECTED_MEDIUM = """
- if (LIKELY(q == 2)) {
- if ((p[1] | 0x20) == 'b') {
- if (LIKELY((p[0] | 0x20) == 'a')) {
- X;
- }
- } else if (LIKELY((p[1] | 0x20) == 'd')) {
- if ((p[0] | 0x20) == 'c') {
- Y;
- } else if (LIKELY((p[0] | 0x20) == 'e')) {
- Z;
- }
- }
- }
- """
-
- SOURCE_LARGE = """
- prefix;
- SWITCH(p, q) {
- CASE("hij") {
- R;
- }
- CASE("efg") {
- S;
- }
- CASE("c-") {
- T;
- }
- CASE("klm") {
- U;
- }
-
- CASE("d-") {
- V;
- }
- CASE("a") {
- W;
- X;
- }
- CASE("b-") {
- Y;
- Z;
- }
- }
- suffix;
- """
-
- EXPECTED_LARGE = """
- prefix;
- switch (q) {
- case 1: {
- if (LIKELY((p[0] | 0x20) == 'a')) {
- W;
- X;
- }
- } break;
- case 2: {
- if (LIKELY(p[1] == '-')) {
- switch ((p[0] | 0x20)) {
- case 'b': {
- Y;
- Z;
- } break;
- case 'c': {
- T;
- } break;
- case 'd': {
- V;
- } break;
- }
- }
- } break;
- case 3: {
- switch ((p[0] | 0x20)) {
- case 'e': {
- if (LIKELY((p[1] | 0x20) == 'f' && (p[2] | 0x20) == 'g')) {
- S;
- }
- } break;
- case 'h': {
- if (LIKELY((p[1] | 0x20) == 'i' && (p[2] | 0x20) == 'j')) {
- R;
- }
- } break;
- case 'k': {
- if (LIKELY((p[1] | 0x20) == 'l' && (p[2] | 0x20) == 'm')) {
- U;
- }
- } break;
- }
- } break;
- }
- suffix;
- """
-
- def validate(self, source, expected):
- with tempfile.NamedTemporaryFile() as input_file:
- with tempfile.NamedTemporaryFile() as generated_file:
- input_file.write(source)
- input_file.flush()
- process_file(input_file.name, generated_file.name)
- # Our code generation does not yet implement pretty indentation.
- actual = generated_file.read().replace(' ', '')
- expected = expected.replace(' ', '')
- self.assertEquals(actual, expected)
-
- def test_small(self):
- self.validate(ProcessFileTest.SOURCE_SMALL, ProcessFileTest.EXPECTED_SMALL)
-
- def test_medium(self):
- self.validate(ProcessFileTest.SOURCE_MEDIUM, ProcessFileTest.EXPECTED_MEDIUM)
-
- def test_large(self):
- self.validate(ProcessFileTest.SOURCE_LARGE, ProcessFileTest.EXPECTED_LARGE)
-
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/core/scripts/name_macros.py b/core/scripts/name_macros.py
deleted file mode 100644
index 01d3644..0000000
--- a/core/scripts/name_macros.py
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import os.path
-import re
-
-import in_generator
-from in_generator import Maker
-import license
-
-
-HEADER_TEMPLATE = """%(license)s
-
-#ifndef %(class_name)sHeaders_h
-#define %(class_name)sHeaders_h
-
-%(includes)s
-
-#endif // %(class_name)sHeaders_h
-"""
-
-
-INTERFACES_HEADER_TEMPLATE = """%(license)s
-
-#ifndef %(class_name)sInterfaces_h
-#define %(class_name)sInterfaces_h
-
-%(declare_conditional_macros)s
-
-#define %(macro_style_name)s_INTERFACES_FOR_EACH(macro) \\
- \\
-%(unconditional_macros)s
- \\
-%(conditional_macros)s
-
-#endif // %(class_name)sInterfaces_h
-"""
-
-
-def _to_macro_style(name):
- s1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name)
- return re.sub('([a-z0-9])([A-Z])', r'\1_\2', s1).upper()
-
-
-class Writer(in_generator.Writer):
- def __init__(self, in_file_path, enabled_conditions):
- super(Writer, self).__init__(in_file_path, enabled_conditions)
- self.class_name = self.in_file.parameters['namespace'].strip('"')
- self._entries_by_conditional = {}
- self._unconditional_entries = []
- self._sort_entries_by_conditional()
- self._outputs = {(self.class_name + "Headers.h"): self.generate_headers_header,
- (self.class_name + "Interfaces.h"): self.generate_interfaces_header,
- }
-
- def _sort_entries_by_conditional(self):
- unconditional_names = set()
- for entry in self.in_file.name_dictionaries:
- conditional = entry['Conditional']
- if not conditional:
- name = self._class_name_for_entry(entry)
- if name in unconditional_names:
- continue
- unconditional_names.add(name)
- self._unconditional_entries.append(entry)
- continue
- for entry in self.in_file.name_dictionaries:
- name = self._class_name_for_entry(entry)
- if name in unconditional_names:
- continue
- conditional = entry['Conditional']
- if not conditional in self._entries_by_conditional:
- self._entries_by_conditional[conditional] = []
- self._entries_by_conditional[conditional].append(entry)
-
- def _class_name_for_entry(self, entry):
- if entry['ImplementedAs']:
- return entry['ImplementedAs']
- return os.path.basename(entry['name'])
-
- def _headers_header_include_path(self, entry):
- if entry['ImplementedAs']:
- path = os.path.dirname(entry['name'])
- if len(path):
- path += '/'
- path += entry['ImplementedAs']
- else:
- path = entry['name']
- return path + '.h'
-
- def _headers_header_includes(self, entries):
- includes = dict()
- for entry in entries:
- class_name = self._class_name_for_entry(entry)
- # Avoid duplicate includes.
- if class_name in includes:
- continue
- include = '#include "%(path)s"\n#include "V8%(js_name)s.h"' % {
- 'path': self._headers_header_include_path(entry),
- 'js_name': os.path.basename(entry['name']),
- }
- includes[class_name] = self.wrap_with_condition(include, entry['Conditional'])
- return includes.values()
-
- def generate_headers_header(self):
- return HEADER_TEMPLATE % {
- 'license': license.license_for_generated_cpp(),
- 'class_name': self.class_name,
- 'includes': '\n'.join(self._headers_header_includes(self.in_file.name_dictionaries)),
- }
-
- def _declare_one_conditional_macro(self, conditional, entries):
- macro_name = '%(macro_style_name)s_INTERFACES_FOR_EACH_%(conditional)s' % {
- 'macro_style_name': _to_macro_style(self.class_name),
- 'conditional': conditional,
- }
- return self.wrap_with_condition("""#define %(macro_name)s(macro) \\
-%(declarations)s
-
-#else
-#define %(macro_name)s(macro)""" % {
- 'macro_name': macro_name,
- 'declarations': '\n'.join(sorted(set([
- ' macro(%(name)s) \\' % {'name': self._class_name_for_entry(entry)}
- for entry in entries]))),
- }, conditional)
-
- def _declare_conditional_macros(self):
- return '\n'.join([
- self._declare_one_conditional_macro(conditional, entries)
- for conditional, entries in self._entries_by_conditional.items()])
-
- def _unconditional_macro(self, entry):
- return ' macro(%(name)s) \\' % {'name': self._class_name_for_entry(entry)}
-
- def _conditional_macros(self, conditional):
- return ' %(macro_style_name)s_INTERFACES_FOR_EACH_%(conditional)s(macro) \\' % {
- 'macro_style_name': _to_macro_style(self.class_name),
- 'conditional': conditional,
- }
-
- def generate_interfaces_header(self):
- return INTERFACES_HEADER_TEMPLATE % {
- 'license': license.license_for_generated_cpp(),
- 'class_name': self.class_name,
- 'macro_style_name': _to_macro_style(self.class_name),
- 'declare_conditional_macros': self._declare_conditional_macros(),
- 'unconditional_macros': '\n'.join(sorted(set(map(self._unconditional_macro, self._unconditional_entries)))),
- 'conditional_macros': '\n'.join(map(self._conditional_macros, self._entries_by_conditional.keys())),
- }
diff --git a/core/scripts/name_utilities.py b/core/scripts/name_utilities.py
deleted file mode 100644
index c4993b0..0000000
--- a/core/scripts/name_utilities.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-ACRONYMS = ['CSS', 'HTML', 'IME', 'JS', 'SVG', 'URL', 'WOFF', 'XML', 'XSLT']
-
-
-def lower_first(name):
- """Return name with first letter or initial acronym lowercased.
-
- E.g., 'SetURL' becomes 'setURL', but 'URLFoo' becomes 'urlFoo'.
- """
- for acronym in ACRONYMS:
- if name.startswith(acronym):
- return name.replace(acronym, acronym.lower())
- return name[0].lower() + name[1:]
diff --git a/core/scripts/rule_bison.py b/core/scripts/rule_bison.py
deleted file mode 100644
index 97a0541..0000000
--- a/core/scripts/rule_bison.py
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/usr/bin/python
-#
-# Copyright (C) 2009 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Copyright (c) 2009 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# usage: rule_bison.py INPUT_FILE OUTPUT_DIR [BISON_EXE]
-# INPUT_FILE is a path to either CSSGrammar.y or XPathGrammar.y.
-# OUTPUT_DIR is where the bison-generated .cpp and .h files should be placed.
-
-import errno
-import os
-import os.path
-import subprocess
-import sys
-
-assert len(sys.argv) == 3 or len(sys.argv) == 4
-
-inputFile = sys.argv[1]
-outputDir = sys.argv[2]
-bisonExe = 'bison'
-if len(sys.argv) > 3:
- bisonExe = sys.argv[3]
-
-inputName = os.path.basename(inputFile)
-assert inputName == 'CSSGrammar.y' or inputName == 'XPathGrammar.y'
-prefix = {'CSSGrammar.y': 'cssyy', 'XPathGrammar.y': 'xpathyy'}[inputName]
-
-(inputRoot, inputExt) = os.path.splitext(inputName)
-
-# The generated .h will be in a different location depending on the bison
-# version.
-outputHTries = [
- os.path.join(outputDir, inputRoot + '.cpp.h'),
- os.path.join(outputDir, inputRoot + '.hpp'),
-]
-
-for outputHTry in outputHTries:
- try:
- os.unlink(outputHTry)
- except OSError, e:
- if e.errno != errno.ENOENT:
- raise
-
-outputCpp = os.path.join(outputDir, inputRoot + '.cpp')
-
-returnCode = subprocess.call([bisonExe, '-d', '-p', prefix, inputFile, '-o', outputCpp])
-assert returnCode == 0
-
-# Find the name that bison used for the generated header file.
-outputHTmp = None
-for outputHTry in outputHTries:
- try:
- os.stat(outputHTry)
- outputHTmp = outputHTry
- break
- except OSError, e:
- if e.errno != errno.ENOENT:
- raise
-
-assert outputHTmp != None
-
-# Read the header file in under the generated name and remove it.
-outputHFile = open(outputHTmp)
-outputHContents = outputHFile.read()
-outputHFile.close()
-os.unlink(outputHTmp)
-
-# Rewrite the generated header with #include guards.
-outputH = os.path.join(outputDir, inputRoot + '.h')
-
-outputHFile = open(outputH, 'w')
-print >>outputHFile, '#ifndef %sH' % inputRoot
-print >>outputHFile, '#define %sH' % inputRoot
-print >>outputHFile, outputHContents
-print >>outputHFile, '#endif'
-outputHFile.close()
diff --git a/core/scripts/template_expander.py b/core/scripts/template_expander.py
deleted file mode 100644
index b1e99b6..0000000
--- a/core/scripts/template_expander.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (C) 2013 Google Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import os
-import sys
-
-_current_dir = os.path.dirname(os.path.realpath(__file__))
-# jinja2 is in chromium's third_party directory
-# Insert at front to override system libraries, and after path[0] == script dir
-sys.path.insert(1, os.path.join(_current_dir, *([os.pardir] * 4)))
-import jinja2
-
-
-def apply_template(path_to_template, params):
- dirname, basename = os.path.split(path_to_template)
- path_to_templates = os.path.join(_current_dir, "templates")
- jinja_env = jinja2.Environment(loader=jinja2.FileSystemLoader([dirname, path_to_templates]), keep_trailing_newline=True)
- template = jinja_env.get_template(basename)
- return template.render(params)
-
-
-def use_jinja(template_file_name):
- def real_decorator(generator):
- def generator_internal(*args, **kwargs):
- parameters = generator(*args, **kwargs)
- return apply_template(template_file_name, parameters)
- generator_internal.func_name = generator.func_name
- return generator_internal
- return real_decorator
diff --git a/core/scripts/templates/InternalRuntimeFlags.idl.tmpl b/core/scripts/templates/InternalRuntimeFlags.idl.tmpl
deleted file mode 100644
index 92838f2..0000000
--- a/core/scripts/templates/InternalRuntimeFlags.idl.tmpl
+++ /dev/null
@@ -1,14 +0,0 @@
-{% from "macros.tmpl" import license -%}
-{{ license() }}
-
-[
-] interface InternalRuntimeFlags {
-{%- for feature in features if not feature.custom %}
-{#-
- Currently assuming that runtime flags cannot be changed after startup
- it's possible that some can be and should be conditionally readonly.
-#}
- {% if feature.condition -%} [Conditional={{feature.condition}}] {% endif -%}
- readonly attribute boolean {{feature.first_lowered_name}}Enabled;
-{%- endfor %}
-};
diff --git a/core/page/SpeechInputEvent.idl b/core/speech/SpeechInputEvent.idl
similarity index 100%
rename from core/page/SpeechInputEvent.idl
rename to core/speech/SpeechInputEvent.idl
diff --git a/core/page/SpeechInputResult.idl b/core/speech/SpeechInputResult.idl
similarity index 100%
rename from core/page/SpeechInputResult.idl
rename to core/speech/SpeechInputResult.idl
diff --git a/core/page/SpeechInputResultList.idl b/core/speech/SpeechInputResultList.idl
similarity index 100%
rename from core/page/SpeechInputResultList.idl
rename to core/speech/SpeechInputResultList.idl
diff --git a/core/storage/Storage.idl b/core/storage/Storage.idl
index e3b5c70..15cdf26 100644
--- a/core/storage/Storage.idl
+++ b/core/storage/Storage.idl
@@ -32,9 +32,9 @@
[ImplementedAs=anonymousNamedDeleter, RaisesException] deleter boolean (DOMString name);
[NotEnumerable, GetterRaisesException] readonly attribute unsigned long length;
[NotEnumerable, TreatReturnedNullStringAs=Null, RaisesException] DOMString key(unsigned long index);
- [NotEnumerable, TreatReturnedNullStringAs=Null, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] DOMString getItem(DOMString key);
- [NotEnumerable, RaisesException, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] void setItem(DOMString key, DOMString data);
- [NotEnumerable, RaisesException, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] void removeItem(DOMString key);
- [NotEnumerable, RaisesException, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] void clear();
+ [NotEnumerable, TreatReturnedNullStringAs=Null, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, RaisesException] DOMString getItem(DOMString key);
+ [NotEnumerable, RaisesException, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds] void setItem(DOMString key, DOMString data);
+ [NotEnumerable, RaisesException, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds] void removeItem(DOMString key);
+ [NotEnumerable, RaisesException, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds] void clear();
};
diff --git a/core/svg/SVGDocument.idl b/core/svg/SVGDocument.idl
index 64ec90c..dced411 100644
--- a/core/svg/SVGDocument.idl
+++ b/core/svg/SVGDocument.idl
@@ -19,9 +19,7 @@
* Boston, MA 02110-1301, USA.
*/
-[
- CustomToV8
-] interface SVGDocument : Document {
+interface SVGDocument : Document {
readonly attribute SVGSVGElement rootElement;
// Overwrite the one in events::DocumentEvent
diff --git a/core/svg/SVGElement.idl b/core/svg/SVGElement.idl
index 26d6c95..74d4db4 100644
--- a/core/svg/SVGElement.idl
+++ b/core/svg/SVGElement.idl
@@ -36,3 +36,4 @@
CSSValue getPresentationAttribute([Default=Undefined] optional DOMString name);
};
+SVGElement implements GlobalEventHandlers;
diff --git a/core/svg/SVGGlyphRefElement.idl b/core/svg/SVGGlyphRefElement.idl
index e10bf7b..76a4e4a 100644
--- a/core/svg/SVGGlyphRefElement.idl
+++ b/core/svg/SVGGlyphRefElement.idl
@@ -22,7 +22,7 @@
] interface SVGGlyphRefElement : SVGElement {
// FIXME: Use [Reflect] after https://bugs.webkit.org/show_bug.cgi?id=64843 is fixed.
attribute DOMString glyphRef;
- [Reflect] attribute DOMString format;
+ [Reflect, TreatNullAs=NullString] attribute DOMString format;
attribute float x;
attribute float y;
attribute float dx;
diff --git a/core/svg/SVGGraphicsElement.idl b/core/svg/SVGGraphicsElement.idl
index 0af2440..8732215 100644
--- a/core/svg/SVGGraphicsElement.idl
+++ b/core/svg/SVGGraphicsElement.idl
@@ -35,6 +35,7 @@
readonly attribute SVGElement farthestViewportElement;
SVGRect getBBox();
+ SVGRect getStrokeBBox();
SVGMatrix getCTM();
SVGMatrix getScreenCTM();
[RaisesException] SVGMatrix getTransformToElement([Default=Undefined] optional SVGElement element);
diff --git a/core/svg/SVGMatrix.idl b/core/svg/SVGMatrix.idl
index dc871be..af56029 100644
--- a/core/svg/SVGMatrix.idl
+++ b/core/svg/SVGMatrix.idl
@@ -20,7 +20,9 @@
* Boston, MA 02110-1301, USA.
*/
-interface SVGMatrix {
+[
+ SetReference(SVGTransform parent)
+] interface SVGMatrix {
// FIXME: these attributes should all be floats but since we implement
// AffineTransform with doubles setting these as doubles makes more sense.
[StrictTypeChecking] attribute double a;
diff --git a/core/svg/SVGPathElement.idl b/core/svg/SVGPathElement.idl
index 083663b..5d75b70 100644
--- a/core/svg/SVGPathElement.idl
+++ b/core/svg/SVGPathElement.idl
@@ -28,77 +28,43 @@
readonly attribute SVGAnimatedNumber pathLength;
float getTotalLength();
- SVGPoint getPointAtLength([Default=Undefined] optional float distance);
- unsigned long getPathSegAtLength([Default=Undefined] optional float distance);
+ [StrictTypeChecking] SVGPoint getPointAtLength(float distance);
+ [StrictTypeChecking] unsigned long getPathSegAtLength(float distance);
SVGPathSegClosePath createSVGPathSegClosePath();
- SVGPathSegMovetoAbs createSVGPathSegMovetoAbs([Default=Undefined] optional float x,
- [Default=Undefined] optional float y);
- SVGPathSegMovetoRel createSVGPathSegMovetoRel([Default=Undefined] optional float x,
- [Default=Undefined] optional float y);
+ [StrictTypeChecking] SVGPathSegMovetoAbs createSVGPathSegMovetoAbs(float x, float y);
+ [StrictTypeChecking] SVGPathSegMovetoRel createSVGPathSegMovetoRel(float x, float y);
- SVGPathSegLinetoAbs createSVGPathSegLinetoAbs([Default=Undefined] optional float x,
- [Default=Undefined] optional float y);
- SVGPathSegLinetoRel createSVGPathSegLinetoRel([Default=Undefined] optional float x,
- [Default=Undefined] optional float y);
+ [StrictTypeChecking] SVGPathSegLinetoAbs createSVGPathSegLinetoAbs(float x, float y);
+ [StrictTypeChecking] SVGPathSegLinetoRel createSVGPathSegLinetoRel(float x, float y);
- SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float x1,
- [Default=Undefined] optional float y1,
- [Default=Undefined] optional float x2,
- [Default=Undefined] optional float y2);
- SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float x1,
- [Default=Undefined] optional float y1,
- [Default=Undefined] optional float x2,
- [Default=Undefined] optional float y2);
+ [StrictTypeChecking] SVGPathSegCurvetoCubicAbs
+ createSVGPathSegCurvetoCubicAbs(float x, float y, float x1, float y1, float x2, float y2);
+ [StrictTypeChecking] SVGPathSegCurvetoCubicRel
+ createSVGPathSegCurvetoCubicRel(float x, float y, float x1, float y1, float x2, float y2);
- SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float x1,
- [Default=Undefined] optional float y1);
- SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float x1,
- [Default=Undefined] optional float y1);
+ [StrictTypeChecking] SVGPathSegCurvetoQuadraticAbs
+ createSVGPathSegCurvetoQuadraticAbs(float x, float y, float x1, float y1);
+ [StrictTypeChecking] SVGPathSegCurvetoQuadraticRel
+ createSVGPathSegCurvetoQuadraticRel(float x, float y, float x1, float y1);
- SVGPathSegArcAbs createSVGPathSegArcAbs([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float r1,
- [Default=Undefined] optional float r2,
- [Default=Undefined] optional float angle,
- [Default=Undefined] optional boolean largeArcFlag,
- [Default=Undefined] optional boolean sweepFlag);
- SVGPathSegArcRel createSVGPathSegArcRel([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float r1,
- [Default=Undefined] optional float r2,
- [Default=Undefined] optional float angle,
- [Default=Undefined] optional boolean largeArcFlag,
- [Default=Undefined] optional boolean sweepFlag);
+ [StrictTypeChecking] SVGPathSegArcAbs
+ createSVGPathSegArcAbs(float x, float y, float r1, float r2, float angle, boolean largeArcFlag, boolean sweepFlag);
+ [StrictTypeChecking] SVGPathSegArcRel
+ createSVGPathSegArcRel(float x, float y, float r1, float r2, float angle, boolean largeArcFlag, boolean sweepFlag);
- SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs([Default=Undefined] optional float x);
- SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel([Default=Undefined] optional float x);
+ [StrictTypeChecking] SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs(float x);
+ [StrictTypeChecking] SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel(float x);
- SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs([Default=Undefined] optional float y);
- SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel([Default=Undefined] optional float y);
+ [StrictTypeChecking] SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs(float y);
+ [StrictTypeChecking] SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel(float y);
- SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float x2,
- [Default=Undefined] optional float y2);
- SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel([Default=Undefined] optional float x,
- [Default=Undefined] optional float y,
- [Default=Undefined] optional float x2,
- [Default=Undefined] optional float y2);
+ [StrictTypeChecking] SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs(float x, float y, float x2, float y2);
+ [StrictTypeChecking] SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel(float x, float y, float x2, float y2);
- SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs([Default=Undefined] optional float x,
- [Default=Undefined] optional float y);
- SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel([Default=Undefined] optional float x,
- [Default=Undefined] optional float y);
+ [StrictTypeChecking] SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs(float x, float y);
+ [StrictTypeChecking] SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel(float x, float y);
readonly attribute SVGPathSegList pathSegList;
readonly attribute SVGPathSegList normalizedPathSegList;
diff --git a/core/svg/SVGUseElement.idl b/core/svg/SVGUseElement.idl
index 752daa9..eb5d82c 100644
--- a/core/svg/SVGUseElement.idl
+++ b/core/svg/SVGUseElement.idl
@@ -29,7 +29,7 @@
readonly attribute SVGAnimatedLength width;
readonly attribute SVGAnimatedLength height;
- readonly attribute SVGElementInstance instanceRoot;
+ [MeasureAs=SVGInstanceRoot] readonly attribute SVGElementInstance instanceRoot;
readonly attribute SVGElementInstance animatedInstanceRoot;
};
diff --git a/core/testing/InternalSettings.idl b/core/testing/InternalSettings.idl
index 9e03edc..5ac9133 100644
--- a/core/testing/InternalSettings.idl
+++ b/core/testing/InternalSettings.idl
@@ -41,7 +41,7 @@
[RaisesException] void setTextAutosizingFontScaleFactor(float fontScaleFactor);
[RaisesException] void setMediaTypeOverride(DOMString mediaTypeOverride);
[RaisesException] void setEditingBehavior(DOMString behavior);
-
+ [RaisesException] void setPasswordGenerationDecorationEnabled(boolean enabled);
[RaisesException] void setImagesEnabled(boolean enabled);
[RaisesException] void setDefaultVideoPosterURL(DOMString poster);
[RaisesException] void setViewportEnabled(boolean enabled);
diff --git a/core/testing/Internals.idl b/core/testing/Internals.idl
index 0d21489..c0c80d9 100644
--- a/core/testing/Internals.idl
+++ b/core/testing/Internals.idl
@@ -51,7 +51,6 @@
[RaisesException] boolean hasShadowInsertionPoint(Node root);
[RaisesException] boolean hasContentElement(Node root);
[RaisesException] unsigned long countElementShadow(Node Root);
- [RaisesException] Element includerFor(Node node);
[RaisesException] DOMString shadowPseudoId(Element element);
[RaisesException] void setShadowPseudoId(Element element, DOMString id);
[RaisesException] Element createContentElement();
@@ -66,8 +65,6 @@
// CSS Animation and Transition testing.
unsigned long numberOfActiveAnimations();
- [RaisesException] void suspendAnimations(Document document);
- [RaisesException] void resumeAnimations(Document document);
[RaisesException] void pauseAnimations(double pauseTime);
[RaisesException] Node nextSiblingByWalker(Node node);
@@ -76,8 +73,6 @@
[RaisesException] Node nextNodeByWalker(Node node);
[RaisesException] Node previousNodeByWalker(Node node);
- [RaisesException] boolean attached(Node node);
-
DOMString visiblePlaceholder(Element element);
void selectColorInColorChooser(Element element, DOMString colorValue);
@@ -148,7 +143,7 @@
unsigned long topPadding, unsigned long rightPadding, unsigned long bottomPadding, unsigned long leftPadding,
boolean ignoreClipping, boolean allowShadowContent, boolean allowChildFrameContent);
- void emitInspectorDidBeginFrame();
+ void emitInspectorDidBeginFrame(optional long frameId);
void emitInspectorDidCancelFrame();
[RaisesException] boolean hasSpellingMarker(Document document, long from, long length);
@@ -172,6 +167,7 @@
const unsigned short LAYER_TREE_INCLUDES_REPAINT_RECTS = 2;
const unsigned short LAYER_TREE_INCLUDES_PAINTING_PHASES = 4;
const unsigned short LAYER_TREE_INCLUDES_ROOT_LAYER = 8;
+ const unsigned short LAYER_TREE_INCLUDES_CLIP_AND_SCROLL_PARENTS = 16;
[RaisesException] DOMString layerTreeAsText(Document document, optional unsigned short flags);
[RaisesException] DOMString elementLayerTreeAsText(Element element, optional unsigned short flags);
@@ -180,6 +176,7 @@
[RaisesException] boolean scrollsWithRespectTo(Element element1, Element element2);
[RaisesException] boolean isUnclippedDescendant(Element element);
+ [RaisesException] boolean needsCompositedScrolling(Element element);
// The values of these constants must be kept in sync with those in RenderLayer.
const unsigned short DO_NOT_FORCE_COMPOSITED_SCROLLING = 0;
@@ -239,6 +236,10 @@
[RaisesException] void startTrackingRepaints(Document document);
[RaisesException] void stopTrackingRepaints(Document document);
+ // Returns a list of draggable/non-draggable regions in the document.
+ [RaisesException] ClientRectList draggableRegions(Document document);
+ [RaisesException] ClientRectList nonDraggableRegions(Document document);
+
// Returns a string with information about the mouse cursor used at the specified client location.
[RaisesException] DOMString getCurrentCursorInfo(Document document);
@@ -251,8 +252,6 @@
void forceReload(boolean endToEnd);
- void enableMockSpeechSynthesizer();
-
[RaisesException] DOMString getImageSourceURL(Element element);
boolean isSelectPopupVisible(Node node);
@@ -260,4 +259,6 @@
[RaisesException] ClientRect selectionBounds();
boolean loseSharedGraphicsContext3D();
+
+ [RaisesException] void forceCompositingUpdate(Document document);
};
diff --git a/core/testing/TypeConversions.idl b/core/testing/TypeConversions.idl
index 1f3df0c..7a70cc5 100644
--- a/core/testing/TypeConversions.idl
+++ b/core/testing/TypeConversions.idl
@@ -26,17 +26,22 @@
[
] interface TypeConversions {
attribute long testLong;
- [EnforceRange] attribute long testEnforceRangeLong;
+ [EnforceRange, ImplementedAs=testLong] attribute long testEnforceRangeLong;
attribute unsigned long testUnsignedLong;
- [EnforceRange] attribute unsigned long testEnforceRangeUnsignedLong;
+ [EnforceRange, ImplementedAs=testUnsignedLong] attribute unsigned long testEnforceRangeUnsignedLong;
attribute long long testLongLong;
- [EnforceRange] attribute long long testEnforceRangeLongLong;
+ [EnforceRange, ImplementedAs=testLongLong] attribute long long testEnforceRangeLongLong;
attribute unsigned long long testUnsignedLongLong;
- [EnforceRange] attribute unsigned long long testEnforceRangeUnsignedLongLong;
+ [EnforceRange, ImplementedAs=testUnsignedLongLong] attribute unsigned long long testEnforceRangeUnsignedLongLong;
attribute byte testByte;
- [EnforceRange] attribute byte testEnforceRangeByte;
+ [EnforceRange, ImplementedAs=testByte] attribute byte testEnforceRangeByte;
attribute octet testOctet;
- [EnforceRange] attribute octet testEnforceRangeOctet;
+ [EnforceRange, ImplementedAs=testOctet] attribute octet testEnforceRangeOctet;
+
+ attribute short testShort;
+ [EnforceRange, ImplementedAs=testShort] attribute short testEnforceRangeShort;
+ attribute unsigned short testUnsignedShort;
+ [EnforceRange, ImplementedAs=testUnsignedShort] attribute unsigned short testEnforceRangeUnsignedShort;
};
diff --git a/core/page/MemoryInfo.idl b/core/timing/MemoryInfo.idl
similarity index 100%
rename from core/page/MemoryInfo.idl
rename to core/timing/MemoryInfo.idl
diff --git a/core/page/Performance.idl b/core/timing/Performance.idl
similarity index 98%
rename from core/page/Performance.idl
rename to core/timing/Performance.idl
index 8dd3ea8..b29b83e 100644
--- a/core/page/Performance.idl
+++ b/core/timing/Performance.idl
@@ -29,7 +29,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// See: http://dev.w3.org/2006/webapi/WebTiming/
+// See: http://www.w3.org/TR/navigation-timing/
interface Performance : EventTarget {
readonly attribute PerformanceNavigation navigation;
readonly attribute PerformanceTiming timing;
diff --git a/core/page/PerformanceEntry.idl b/core/timing/PerformanceEntry.idl
similarity index 100%
rename from core/page/PerformanceEntry.idl
rename to core/timing/PerformanceEntry.idl
diff --git a/core/page/PerformanceMark.idl b/core/timing/PerformanceMark.idl
similarity index 100%
rename from core/page/PerformanceMark.idl
rename to core/timing/PerformanceMark.idl
diff --git a/core/page/PerformanceMeasure.idl b/core/timing/PerformanceMeasure.idl
similarity index 100%
rename from core/page/PerformanceMeasure.idl
rename to core/timing/PerformanceMeasure.idl
diff --git a/core/page/PerformanceNavigation.idl b/core/timing/PerformanceNavigation.idl
similarity index 100%
rename from core/page/PerformanceNavigation.idl
rename to core/timing/PerformanceNavigation.idl
diff --git a/core/page/PerformanceResourceTiming.idl b/core/timing/PerformanceResourceTiming.idl
similarity index 100%
rename from core/page/PerformanceResourceTiming.idl
rename to core/timing/PerformanceResourceTiming.idl
diff --git a/core/page/PerformanceTiming.idl b/core/timing/PerformanceTiming.idl
similarity index 100%
rename from core/page/PerformanceTiming.idl
rename to core/timing/PerformanceTiming.idl
diff --git a/core/workers/SharedWorker.idl b/core/workers/SharedWorker.idl
index 6bba130..a6e4d02 100644
--- a/core/workers/SharedWorker.idl
+++ b/core/workers/SharedWorker.idl
@@ -30,9 +30,9 @@
*/
[
- EnabledAtRuntime=SharedWorker,
+ RuntimeEnabled=SharedWorker,
Constructor(DOMString scriptURL, [Default=NullString] optional DOMString name),
- ConstructorCallWith=ScriptExecutionContext,
+ ConstructorCallWith=ExecutionContext,
ConstructorRaisesException,
ActiveDOMObject
] interface SharedWorker : EventTarget {
diff --git a/core/workers/Worker.idl b/core/workers/Worker.idl
index 40567a7..dc8b019 100644
--- a/core/workers/Worker.idl
+++ b/core/workers/Worker.idl
@@ -27,7 +27,7 @@
[
Constructor(DOMString scriptUrl),
- ConstructorCallWith=ScriptExecutionContext,
+ ConstructorCallWith=ExecutionContext,
ConstructorRaisesException,
ActiveDOMObject
] interface Worker : EventTarget {
diff --git a/core/workers/WorkerLocation.idl b/core/workers/WorkerLocation.idl
index 0d8399b..7afd84b 100644
--- a/core/workers/WorkerLocation.idl
+++ b/core/workers/WorkerLocation.idl
@@ -29,15 +29,7 @@
[
GlobalContext=WorkerGlobalScope
] interface WorkerLocation {
- readonly attribute DOMString href;
- readonly attribute DOMString protocol;
- readonly attribute DOMString host;
- readonly attribute DOMString hostname;
- readonly attribute DOMString port;
- readonly attribute DOMString pathname;
- readonly attribute DOMString search;
- readonly attribute DOMString hash;
-
- [NotEnumerable] DOMString toString();
};
+// Force rebuild: crbug.com/307023
+WorkerLocation implements URLUtilsReadOnly;
diff --git a/core/page/WorkerNavigator.idl b/core/workers/WorkerNavigator.idl
similarity index 100%
rename from core/page/WorkerNavigator.idl
rename to core/workers/WorkerNavigator.idl
diff --git a/core/xml/DOMParser.idl b/core/xml/DOMParser.idl
index 5cbe49e..ff6af34 100644
--- a/core/xml/DOMParser.idl
+++ b/core/xml/DOMParser.idl
@@ -20,6 +20,6 @@
[
Constructor
] interface DOMParser {
- Document parseFromString([Default=Undefined] optional DOMString str,
+ [RaisesException] Document parseFromString([Default=Undefined] optional DOMString str,
[Default=Undefined] optional DOMString contentType);
};
diff --git a/core/xml/XMLHttpRequest.idl b/core/xml/XMLHttpRequest.idl
index 069129d..305ac87 100644
--- a/core/xml/XMLHttpRequest.idl
+++ b/core/xml/XMLHttpRequest.idl
@@ -40,7 +40,7 @@
GlobalContext=Window&WorkerGlobalScope,
ActiveDOMObject,
Constructor,
- ConstructorCallWith=ScriptExecutionContext,
+ ConstructorCallWith=ExecutionContext,
CustomConstructor(optional XMLHttpRequestOptions options)
] interface XMLHttpRequest : XMLHttpRequestEventTarget {
// event handler attributes
@@ -58,9 +58,9 @@
[SetterRaisesException] attribute boolean withCredentials;
- [Custom, ActivityLog=Access, RaisesException] void open(DOMString method, DOMString url, optional boolean async, optional DOMString user, optional DOMString password);
+ [Custom, ActivityLogging=AccessForAllWorlds, RaisesException] void open(DOMString method, DOMString url, optional boolean async, optional DOMString user, optional DOMString password);
- [ActivityLog=Access, RaisesException] void setRequestHeader(DOMString header, DOMString value);
+ [ActivityLogging=AccessForAllWorlds, RaisesException] void setRequestHeader(DOMString header, DOMString value);
[Custom, RaisesException] void send();
diff --git a/core/xml/XSLTProcessor.idl b/core/xml/XSLTProcessor.idl
index f552ed1..7c99868 100644
--- a/core/xml/XSLTProcessor.idl
+++ b/core/xml/XSLTProcessor.idl
@@ -32,12 +32,13 @@
[
Constructor,
+ RuntimeEnabled=XSLT,
MeasureAs=XSLTProcessor
] interface XSLTProcessor {
void importStylesheet([Default=Undefined] optional Node stylesheet);
- [CustomElementCallbacks=Enable] DocumentFragment transformToFragment([Default=Undefined] optional Node source, [Default=Undefined] optional Document docVal);
- [CustomElementCallbacks=Enable] Document transformToDocument([Default=Undefined] optional Node source);
+ [CustomElementCallbacks] DocumentFragment transformToFragment([Default=Undefined] optional Node source, [Default=Undefined] optional Document docVal);
+ [CustomElementCallbacks] Document transformToDocument([Default=Undefined] optional Node source);
[Custom] void setParameter(DOMString namespaceURI, DOMString localName, DOMString value);
[Custom, TreatReturnedNullStringAs=Undefined] DOMString getParameter(DOMString namespaceURI, DOMString localName);
diff --git a/modules/README b/modules/README
index 031dfa4..8f88f7d 100644
--- a/modules/README
+++ b/modules/README
@@ -5,5 +5,5 @@
using the script: $DART_ROOT/sdk/lib/html/scripts/idlsync.py
The current version corresponds to:
-URL: http://src.chromium.org/multivm/trunk/webkit
-Current revision: 1467
+URL: http://src.chromium.org/blink/branches/dart/1700
+Current revision: 164530
diff --git a/modules/crypto/Crypto.idl b/modules/crypto/Crypto.idl
index 7a24113..52044ab 100644
--- a/modules/crypto/Crypto.idl
+++ b/modules/crypto/Crypto.idl
@@ -36,6 +36,6 @@
// Web Crypto API spec.
[Custom, RaisesException] ArrayBufferView getRandomValues(ArrayBufferView array);
- [EnabledAtRuntime=Crypto] readonly attribute SubtleCrypto subtle;
+ [RuntimeEnabled=Crypto] readonly attribute SubtleCrypto subtle;
};
diff --git a/modules/crypto/SubtleCrypto.idl b/modules/crypto/SubtleCrypto.idl
index e4bc3a8..8631403 100644
--- a/modules/crypto/SubtleCrypto.idl
+++ b/modules/crypto/SubtleCrypto.idl
@@ -38,7 +38,7 @@
[RaisesException] Promise digest(Dictionary algorithm, ArrayBufferView data);
[RaisesException] Promise generateKey(Dictionary algorithm, boolean extractable, DOMString[] keyUsages);
- [RaisesException] Promise importKey(DOMString format, ArrayBufferView keyData, Dictionary algorithm, boolean extractable, DOMString[] keyUsages);
+ [RaisesException] Promise importKey(DOMString format, ArrayBufferView keyData, Dictionary? algorithm, boolean extractable, DOMString[] keyUsages);
[RaisesException] Promise exportKey(DOMString format, Key key);
};
diff --git a/modules/crypto/WorkerGlobalScopeCrypto.idl b/modules/crypto/WorkerGlobalScopeCrypto.idl
index 12eea8c..3044d42 100644
--- a/modules/crypto/WorkerGlobalScopeCrypto.idl
+++ b/modules/crypto/WorkerGlobalScopeCrypto.idl
@@ -29,5 +29,5 @@
*/
partial interface WorkerGlobalScope {
- [EnabledAtRuntime=Crypto] readonly attribute WorkerCrypto crypto;
+ [RuntimeEnabled=Crypto] readonly attribute WorkerCrypto crypto;
};
diff --git a/modules/device_orientation/DeviceMotionEvent.idl b/modules/device_orientation/DeviceMotionEvent.idl
index 809848d..8643b55 100644
--- a/modules/device_orientation/DeviceMotionEvent.idl
+++ b/modules/device_orientation/DeviceMotionEvent.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=DeviceMotion
+ RuntimeEnabled=DeviceMotion
] interface DeviceMotionEvent : Event {
readonly attribute DeviceAcceleration acceleration;
readonly attribute DeviceAcceleration accelerationIncludingGravity;
diff --git a/modules/encoding/TextDecoder.idl b/modules/encoding/TextDecoder.idl
index 576d298..8450225 100644
--- a/modules/encoding/TextDecoder.idl
+++ b/modules/encoding/TextDecoder.idl
@@ -29,7 +29,7 @@
*/
[
- EnabledAtRuntime=EncodingAPI,
+ RuntimeEnabled=EncodingAPI,
GlobalContext=Window&WorkerGlobalScope,
Constructor([Default=NullString] optional DOMString label, optional Dictionary options),
ConstructorRaisesException
diff --git a/modules/encoding/TextEncoder.idl b/modules/encoding/TextEncoder.idl
index ed63e27..b3daede 100644
--- a/modules/encoding/TextEncoder.idl
+++ b/modules/encoding/TextEncoder.idl
@@ -29,7 +29,7 @@
*/
[
- EnabledAtRuntime=EncodingAPI,
+ RuntimeEnabled=EncodingAPI,
GlobalContext=Window&WorkerGlobalScope,
Constructor([Default=NullString] optional DOMString utfLabel),
ConstructorRaisesException
diff --git a/modules/encryptedmedia/MediaKeyMessageEvent.idl b/modules/encryptedmedia/MediaKeyMessageEvent.idl
index 1f1aab7..7d9c6d0 100644
--- a/modules/encryptedmedia/MediaKeyMessageEvent.idl
+++ b/modules/encryptedmedia/MediaKeyMessageEvent.idl
@@ -25,7 +25,7 @@
[
Conditional=ENCRYPTED_MEDIA_V2,
- EnabledAtRuntime=EncryptedMedia,
+ RuntimeEnabled=EncryptedMedia,
ConstructorTemplate=Event
] interface MediaKeyMessageEvent : Event {
readonly attribute Uint8Array message;
diff --git a/modules/encryptedmedia/MediaKeyNeededEvent.idl b/modules/encryptedmedia/MediaKeyNeededEvent.idl
index f593cc3..5dfec5f 100644
--- a/modules/encryptedmedia/MediaKeyNeededEvent.idl
+++ b/modules/encryptedmedia/MediaKeyNeededEvent.idl
@@ -25,7 +25,7 @@
[
Conditional=ENCRYPTED_MEDIA_V2,
- EnabledAtRuntime=EncryptedMedia,
+ RuntimeEnabled=EncryptedMedia,
ConstructorTemplate=Event
] interface MediaKeyNeededEvent : Event {
readonly attribute Uint8Array initData;
diff --git a/modules/encryptedmedia/MediaKeySession.idl b/modules/encryptedmedia/MediaKeySession.idl
index 46cda2d..ebebc9f 100644
--- a/modules/encryptedmedia/MediaKeySession.idl
+++ b/modules/encryptedmedia/MediaKeySession.idl
@@ -25,7 +25,7 @@
[
Conditional=ENCRYPTED_MEDIA_V2,
- EnabledAtRuntime=EncryptedMedia
+ RuntimeEnabled=EncryptedMedia
] interface MediaKeySession : EventTarget {
// error state
readonly attribute MediaKeyError error;
@@ -39,7 +39,7 @@
void close();
// EventHandlers
- [EnabledAtRuntime=EncryptedMedia] attribute EventHandler onwebkitkeyadded;
- [EnabledAtRuntime=EncryptedMedia] attribute EventHandler onwebkitkeyerror;
- [EnabledAtRuntime=EncryptedMedia] attribute EventHandler onwebkitkeymessage;
+ [RuntimeEnabled=EncryptedMedia] attribute EventHandler onwebkitkeyadded;
+ [RuntimeEnabled=EncryptedMedia] attribute EventHandler onwebkitkeyerror;
+ [RuntimeEnabled=EncryptedMedia] attribute EventHandler onwebkitkeymessage;
};
diff --git a/modules/encryptedmedia/MediaKeys.idl b/modules/encryptedmedia/MediaKeys.idl
index 2d03169..9d57659 100644
--- a/modules/encryptedmedia/MediaKeys.idl
+++ b/modules/encryptedmedia/MediaKeys.idl
@@ -25,11 +25,11 @@
[
Conditional=ENCRYPTED_MEDIA_V2,
- EnabledAtRuntime=EncryptedMedia,
+ RuntimeEnabled=EncryptedMedia,
Constructor(DOMString keySystem),
ConstructorRaisesException
] interface MediaKeys {
- [CallWith=ScriptExecutionContext, RaisesException] MediaKeySession createSession([Default=Undefined] optional DOMString type, [Default=Undefined] optional Uint8Array initData);
+ [CallWith=ExecutionContext, RaisesException] MediaKeySession createSession([Default=Undefined] optional DOMString type, [Default=Undefined] optional Uint8Array initData);
readonly attribute DOMString keySystem;
};
diff --git a/modules/filesystem/DataTransferItemFileSystem.idl b/modules/filesystem/DataTransferItemFileSystem.idl
index f41429f..19dd9f9 100644
--- a/modules/filesystem/DataTransferItemFileSystem.idl
+++ b/modules/filesystem/DataTransferItemFileSystem.idl
@@ -29,6 +29,6 @@
*/
partial interface DataTransferItem {
- [CallWith=ScriptExecutionContext] Entry webkitGetAsEntry();
+ [CallWith=ExecutionContext] Entry webkitGetAsEntry();
};
diff --git a/modules/filesystem/HTMLInputElementFileSystem.idl b/modules/filesystem/HTMLInputElementFileSystem.idl
index 758d6fc..836e25d 100644
--- a/modules/filesystem/HTMLInputElementFileSystem.idl
+++ b/modules/filesystem/HTMLInputElementFileSystem.idl
@@ -29,6 +29,6 @@
*/
partial interface HTMLInputElement {
-[EnabledAtRuntime=FileSystem,CallWith=ScriptExecutionContext] readonly attribute Entry[] webkitEntries;
+[RuntimeEnabled=FileSystem,CallWith=ExecutionContext] readonly attribute Entry[] webkitEntries;
};
diff --git a/modules/filesystem/WindowFileSystem.idl b/modules/filesystem/WindowFileSystem.idl
index 4fed55e..dcbe807 100644
--- a/modules/filesystem/WindowFileSystem.idl
+++ b/modules/filesystem/WindowFileSystem.idl
@@ -30,9 +30,9 @@
const unsigned short TEMPORARY = 0;
const unsigned short PERSISTENT = 1;
- [EnabledAtRuntime=FileSystem] void webkitRequestFileSystem(unsigned short type, long long size,
+ [RuntimeEnabled=FileSystem] void webkitRequestFileSystem(unsigned short type, long long size,
FileSystemCallback successCallback, optional ErrorCallback errorCallback);
- [EnabledAtRuntime=FileSystem] void webkitResolveLocalFileSystemURL(DOMString url,
+ [RuntimeEnabled=FileSystem] void webkitResolveLocalFileSystemURL(DOMString url,
EntryCallback successCallback, optional ErrorCallback errorCallback);
};
diff --git a/modules/filesystem/WorkerGlobalScopeFileSystem.idl b/modules/filesystem/WorkerGlobalScopeFileSystem.idl
index f4a25bc..3762bc5 100644
--- a/modules/filesystem/WorkerGlobalScopeFileSystem.idl
+++ b/modules/filesystem/WorkerGlobalScopeFileSystem.idl
@@ -28,11 +28,11 @@
const unsigned short TEMPORARY = 0;
const unsigned short PERSISTENT = 1;
- [EnabledAtRuntime=FileSystem] void webkitRequestFileSystem(unsigned short type, long long size, optional FileSystemCallback successCallback, optional ErrorCallback errorCallback);
- [EnabledAtRuntime=FileSystem, RaisesException] DOMFileSystemSync webkitRequestFileSystemSync(unsigned short type, long long size);
- [EnabledAtRuntime=FileSystem] void webkitResolveLocalFileSystemURL(DOMString url, EntryCallback successCallback, optional ErrorCallback errorCallback);
- [EnabledAtRuntime=FileSystem, RaisesException] EntrySync webkitResolveLocalFileSystemSyncURL(DOMString url);
+ [RuntimeEnabled=FileSystem] void webkitRequestFileSystem(unsigned short type, long long size, optional FileSystemCallback successCallback, optional ErrorCallback errorCallback);
+ [RuntimeEnabled=FileSystem, RaisesException] DOMFileSystemSync webkitRequestFileSystemSync(unsigned short type, long long size);
+ [RuntimeEnabled=FileSystem] void webkitResolveLocalFileSystemURL(DOMString url, EntryCallback successCallback, optional ErrorCallback errorCallback);
+ [RuntimeEnabled=FileSystem, RaisesException] EntrySync webkitResolveLocalFileSystemSyncURL(DOMString url);
- [EnabledAtRuntime=FileSystem] attribute FileErrorConstructor FileError;
+ [RuntimeEnabled=FileSystem] attribute FileErrorConstructor FileError;
};
diff --git a/modules/gamepad/NavigatorGamepad.idl b/modules/gamepad/NavigatorGamepad.idl
index e1686f3..0fbceee 100644
--- a/modules/gamepad/NavigatorGamepad.idl
+++ b/modules/gamepad/NavigatorGamepad.idl
@@ -18,6 +18,6 @@
*/
partial interface Navigator {
- [EnabledAtRuntime=Gamepad] GamepadList webkitGetGamepads();
+ [RuntimeEnabled=Gamepad] GamepadList webkitGetGamepads();
};
diff --git a/modules/geolocation/Geolocation.idl b/modules/geolocation/Geolocation.idl
index 9c2ead1..de8466a 100644
--- a/modules/geolocation/Geolocation.idl
+++ b/modules/geolocation/Geolocation.idl
@@ -27,11 +27,11 @@
[
NoInterfaceObject
] interface Geolocation {
- [Custom, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] void getCurrentPosition(PositionCallback successCallback,
+ [Custom, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds] void getCurrentPosition(PositionCallback successCallback,
optional PositionErrorCallback errorCallback,
optional PositionOptions options);
- [Custom, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds] long watchPosition(PositionCallback successCallback,
+ [Custom, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds] long watchPosition(PositionCallback successCallback,
optional PositionErrorCallback errorCallback,
optional PositionOptions options);
diff --git a/modules/geolocation/NavigatorGeolocation.idl b/modules/geolocation/NavigatorGeolocation.idl
index 460d293..4de885c 100644
--- a/modules/geolocation/NavigatorGeolocation.idl
+++ b/modules/geolocation/NavigatorGeolocation.idl
@@ -18,6 +18,6 @@
*/
partial interface Navigator {
- [EnabledAtRuntime=Geolocation] readonly attribute Geolocation geolocation;
+ [RuntimeEnabled=Geolocation] readonly attribute Geolocation geolocation;
};
diff --git a/modules/imagebitmap/ImageBitmapFactories.idl b/modules/imagebitmap/ImageBitmapFactories.idl
index 90cacf0..7f244e1 100644
--- a/modules/imagebitmap/ImageBitmapFactories.idl
+++ b/modules/imagebitmap/ImageBitmapFactories.idl
@@ -30,7 +30,7 @@
[
NoInterfaceObject,
- EnabledAtRuntime=ExperimentalCanvasFeatures
+ RuntimeEnabled=ExperimentalCanvasFeatures
] interface ImageBitmapFactories {
[RaisesException] Promise createImageBitmap(Blob blob);
[RaisesException] Promise createImageBitmap(Blob blob, long sx, long sy, long sw, long sh);
diff --git a/modules/imagebitmap/WindowImageBitmapFactories.idl b/modules/imagebitmap/WindowImageBitmapFactories.idl
index c91ab89..ced1ff8 100644
--- a/modules/imagebitmap/WindowImageBitmapFactories.idl
+++ b/modules/imagebitmap/WindowImageBitmapFactories.idl
@@ -30,7 +30,7 @@
[
ImplementedAs=ImageBitmapFactories,
- EnabledAtRuntime=ExperimentalCanvasFeatures
+ RuntimeEnabled=ExperimentalCanvasFeatures
] partial interface Window {
[RaisesException] Promise createImageBitmap(HTMLImageElement image);
[RaisesException] Promise createImageBitmap(HTMLImageElement image, long sx, long sy, long sw, long sh);
diff --git a/modules/indexeddb/IDBCursor.idl b/modules/indexeddb/IDBCursor.idl
index 18d53a1..1da7855 100644
--- a/modules/indexeddb/IDBCursor.idl
+++ b/modules/indexeddb/IDBCursor.idl
@@ -26,12 +26,12 @@
interface IDBCursor {
readonly attribute DOMString direction;
- [CallWith=ScriptExecutionContext, CachedAttribute=isKeyDirty] readonly attribute any key;
- [CallWith=ScriptExecutionContext, CachedAttribute=isPrimaryKeyDirty] readonly attribute any primaryKey;
+ [CallWith=ExecutionContext, CachedAttribute=isKeyDirty] readonly attribute any key;
+ [CallWith=ExecutionContext, CachedAttribute=isPrimaryKeyDirty] readonly attribute any primaryKey;
readonly attribute IDBAny source;
[CallWith=ScriptState, RaisesException] IDBRequest update(any value);
[RaisesException] void advance([EnforceRange] unsigned long count);
- [CallWith=ScriptExecutionContext, ImplementedAs=continueFunction, RaisesException] void continue([Default=Undefined] optional any key);
- [CallWith=ScriptExecutionContext, ImplementedAs=deleteFunction, RaisesException] IDBRequest delete();
+ [CallWith=ExecutionContext, ImplementedAs=continueFunction, RaisesException] void continue([Default=Undefined] optional any key);
+ [CallWith=ExecutionContext, ImplementedAs=deleteFunction, RaisesException] IDBRequest delete();
};
diff --git a/modules/indexeddb/IDBCursorWithValue.idl b/modules/indexeddb/IDBCursorWithValue.idl
index 4f8a780..cad30a6 100644
--- a/modules/indexeddb/IDBCursorWithValue.idl
+++ b/modules/indexeddb/IDBCursorWithValue.idl
@@ -24,5 +24,5 @@
*/
interface IDBCursorWithValue : IDBCursor {
- [CallWith=ScriptExecutionContext,CachedAttribute=isValueDirty] readonly attribute any value;
+ [CallWith=ExecutionContext,CachedAttribute=isValueDirty] readonly attribute any value;
};
diff --git a/modules/indexeddb/IDBDatabase.idl b/modules/indexeddb/IDBDatabase.idl
index 3d81ed2..3c2db17 100644
--- a/modules/indexeddb/IDBDatabase.idl
+++ b/modules/indexeddb/IDBDatabase.idl
@@ -38,9 +38,9 @@
[RaisesException] IDBObjectStore createObjectStore(DOMString name, optional Dictionary options);
[RaisesException] void deleteObjectStore(DOMString name);
- [CallWith=ScriptExecutionContext, RaisesException] IDBTransaction transaction(DOMStringList storeNames, [Default=NullString] optional DOMString mode);
- [CallWith=ScriptExecutionContext, RaisesException] IDBTransaction transaction(sequence<DOMString> storeNames, [Default=NullString] optional DOMString mode);
- [CallWith=ScriptExecutionContext, RaisesException] IDBTransaction transaction(DOMString storeName, [Default=NullString] optional DOMString mode);
+ [CallWith=ExecutionContext, RaisesException] IDBTransaction transaction(DOMStringList storeNames, [Default=NullString] optional DOMString mode);
+ [CallWith=ExecutionContext, RaisesException] IDBTransaction transaction(sequence<DOMString> storeNames, [Default=NullString] optional DOMString mode);
+ [CallWith=ExecutionContext, RaisesException] IDBTransaction transaction(DOMString storeName, [Default=NullString] optional DOMString mode);
void close();
};
diff --git a/modules/indexeddb/IDBFactory.idl b/modules/indexeddb/IDBFactory.idl
index dc69602..7e0013c 100644
--- a/modules/indexeddb/IDBFactory.idl
+++ b/modules/indexeddb/IDBFactory.idl
@@ -25,10 +25,10 @@
[
] interface IDBFactory {
- [CallWith=ScriptExecutionContext, ImplementedAs=getDatabaseNames, RaisesException] IDBRequest webkitGetDatabaseNames();
+ [CallWith=ExecutionContext, ImplementedAs=getDatabaseNames, RaisesException] IDBRequest webkitGetDatabaseNames();
- [CallWith=ScriptExecutionContext, RaisesException] IDBOpenDBRequest open(DOMString name, [EnforceRange] optional unsigned long long version);
- [CallWith=ScriptExecutionContext, RaisesException] IDBOpenDBRequest deleteDatabase(DOMString name);
+ [CallWith=ExecutionContext, RaisesException] IDBOpenDBRequest open(DOMString name, [EnforceRange] optional unsigned long long version);
+ [CallWith=ExecutionContext, RaisesException] IDBOpenDBRequest deleteDatabase(DOMString name);
- [CallWith=ScriptExecutionContext, RaisesException] short cmp(any first, any second);
+ [CallWith=ExecutionContext, RaisesException] short cmp(any first, any second);
};
diff --git a/modules/indexeddb/IDBIndex.idl b/modules/indexeddb/IDBIndex.idl
index 4819a1a..eca9a6f 100644
--- a/modules/indexeddb/IDBIndex.idl
+++ b/modules/indexeddb/IDBIndex.idl
@@ -31,10 +31,10 @@
readonly attribute boolean unique;
readonly attribute boolean multiEntry;
- [CallWith=ScriptExecutionContext, RaisesException] IDBRequest openCursor([Default=Undefined] optional any key, [Default=NullString] optional DOMString direction);
- [CallWith=ScriptExecutionContext, RaisesException] IDBRequest openKeyCursor([Default=Undefined] optional any key, [Default=NullString] optional DOMString direction);
+ [CallWith=ExecutionContext, RaisesException] IDBRequest openCursor([Default=Undefined] optional any range, [Default=NullString] optional DOMString direction);
+ [CallWith=ExecutionContext, RaisesException] IDBRequest openKeyCursor([Default=Undefined] optional any range, [Default=NullString] optional DOMString direction);
- [CallWith=ScriptExecutionContext, RaisesException] IDBRequest get(any key);
- [CallWith=ScriptExecutionContext, RaisesException] IDBRequest getKey(any key);
- [CallWith=ScriptExecutionContext, RaisesException] IDBRequest count([Default=Undefined] optional any key);
+ [CallWith=ExecutionContext, RaisesException] IDBRequest get(any key);
+ [CallWith=ExecutionContext, RaisesException] IDBRequest getKey(any key);
+ [CallWith=ExecutionContext, RaisesException] IDBRequest count([Default=Undefined] optional any key);
};
diff --git a/modules/indexeddb/IDBKeyRange.idl b/modules/indexeddb/IDBKeyRange.idl
index 235e09e..031bfca 100644
--- a/modules/indexeddb/IDBKeyRange.idl
+++ b/modules/indexeddb/IDBKeyRange.idl
@@ -25,13 +25,13 @@
[
] interface IDBKeyRange {
- [ImplementedAs=lowerValue,CallWith=ScriptExecutionContext] readonly attribute any lower;
- [ImplementedAs=upperValue,CallWith=ScriptExecutionContext] readonly attribute any upper;
+ [ImplementedAs=lowerValue,CallWith=ExecutionContext] readonly attribute any lower;
+ [ImplementedAs=upperValue,CallWith=ExecutionContext] readonly attribute any upper;
readonly attribute boolean lowerOpen;
readonly attribute boolean upperOpen;
- [CallWith=ScriptExecutionContext, RaisesException] static IDBKeyRange only(any value);
- [CallWith=ScriptExecutionContext, RaisesException] static IDBKeyRange lowerBound(any bound, [Default=Undefined] optional boolean open);
- [CallWith=ScriptExecutionContext, RaisesException] static IDBKeyRange upperBound(any bound, [Default=Undefined] optional boolean open);
- [CallWith=ScriptExecutionContext, RaisesException] static IDBKeyRange bound(any lower, any upper, [Default=Undefined] optional boolean lowerOpen, [Default=Undefined] optional boolean upperOpen);
+ [CallWith=ExecutionContext, RaisesException] static IDBKeyRange only(any value);
+ [CallWith=ExecutionContext, RaisesException] static IDBKeyRange lowerBound(any bound, [Default=Undefined] optional boolean open);
+ [CallWith=ExecutionContext, RaisesException] static IDBKeyRange upperBound(any bound, [Default=Undefined] optional boolean open);
+ [CallWith=ExecutionContext, RaisesException] static IDBKeyRange bound(any lower, any upper, [Default=Undefined] optional boolean lowerOpen, [Default=Undefined] optional boolean upperOpen);
};
diff --git a/modules/indexeddb/IDBObjectStore.idl b/modules/indexeddb/IDBObjectStore.idl
index a3ca01d..9f7a6b6 100644
--- a/modules/indexeddb/IDBObjectStore.idl
+++ b/modules/indexeddb/IDBObjectStore.idl
@@ -33,14 +33,15 @@
[CallWith=ScriptState, RaisesException] IDBRequest put(any value, [Default=Undefined] optional any key);
[CallWith=ScriptState, RaisesException] IDBRequest add(any value, [Default=Undefined] optional any key);
- [CallWith=ScriptExecutionContext, ImplementedAs=deleteFunction, RaisesException] IDBRequest delete(any key);
- [CallWith=ScriptExecutionContext, RaisesException] IDBRequest clear();
- [CallWith=ScriptExecutionContext, RaisesException] IDBRequest get(any key);
- [CallWith=ScriptExecutionContext, RaisesException] IDBRequest openCursor([Default=Undefined] optional any key, [Default=NullString] optional DOMString direction);
+ [CallWith=ExecutionContext, ImplementedAs=deleteFunction, RaisesException] IDBRequest delete(any key);
+ [CallWith=ExecutionContext, RaisesException] IDBRequest clear();
+ [CallWith=ExecutionContext, RaisesException] IDBRequest get(any key);
+ [CallWith=ExecutionContext, RaisesException] IDBRequest openCursor([Default=Undefined] optional any range, [Default=NullString] optional DOMString direction);
+ [CallWith=ExecutionContext, RaisesException, RuntimeEnabled=IndexedDBExperimental] IDBRequest openKeyCursor([Default=Undefined] optional any range, [Default=NullString] optional DOMString direction);
- [CallWith=ScriptExecutionContext, RaisesException] IDBIndex createIndex(DOMString name, sequence<DOMString> keyPath, optional Dictionary options);
- [CallWith=ScriptExecutionContext, RaisesException] IDBIndex createIndex(DOMString name, DOMString keyPath, optional Dictionary options);
+ [CallWith=ExecutionContext, RaisesException] IDBIndex createIndex(DOMString name, sequence<DOMString> keyPath, optional Dictionary options);
+ [CallWith=ExecutionContext, RaisesException] IDBIndex createIndex(DOMString name, DOMString keyPath, optional Dictionary options);
[RaisesException] IDBIndex index(DOMString name);
[RaisesException] void deleteIndex(DOMString name);
- [CallWith=ScriptExecutionContext, RaisesException] IDBRequest count([Default=Undefined] optional any key);
+ [CallWith=ExecutionContext, RaisesException] IDBRequest count([Default=Undefined] optional any key);
};
diff --git a/modules/indexeddb/IDBVersionChangeEvent.idl b/modules/indexeddb/IDBVersionChangeEvent.idl
index ce66636..90fb68f 100644
--- a/modules/indexeddb/IDBVersionChangeEvent.idl
+++ b/modules/indexeddb/IDBVersionChangeEvent.idl
@@ -27,7 +27,8 @@
readonly attribute IDBAny oldVersion;
readonly attribute IDBAny newVersion;
- // FIXME: This is non-standard, see
+ // FIXME: These are non-standard, see
// https://www.w3.org/Bugs/Public/show_bug.cgi?id=22370
readonly attribute DOMString dataLoss;
+ readonly attribute DOMString dataLossMessage;
};
diff --git a/modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl b/modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl
index e957d79..9b2c208 100644
--- a/modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl
+++ b/modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl
@@ -25,7 +25,7 @@
*/
partial interface WorkerGlobalScope {
- [ImplementedAs=indexedDB, EnabledAtRuntime=IndexedDB] readonly attribute IDBFactory webkitIndexedDB;
+ [ImplementedAs=indexedDB, RuntimeEnabled=IndexedDB] readonly attribute IDBFactory webkitIndexedDB;
attribute IDBCursorConstructor webkitIDBCursor;
attribute IDBDatabaseConstructor webkitIDBDatabase;
@@ -36,7 +36,7 @@
attribute IDBRequestConstructor webkitIDBRequest;
attribute IDBTransactionConstructor webkitIDBTransaction;
- [EnabledAtRuntime=IndexedDB] readonly attribute IDBFactory indexedDB;
+ [RuntimeEnabled=IndexedDB] readonly attribute IDBFactory indexedDB;
attribute IDBCursorConstructor IDBCursor;
attribute IDBCursorWithValueConstructor IDBCursorWithValue;
diff --git a/core/dom/ErrorEvent.idl b/modules/mediasource/HTMLVideoElementMediaSource.idl
similarity index 73%
copy from core/dom/ErrorEvent.idl
copy to modules/mediasource/HTMLVideoElementMediaSource.idl
index 33f0239..79a51ab 100644
--- a/core/dom/ErrorEvent.idl
+++ b/modules/mediasource/HTMLVideoElementMediaSource.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2013 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -27,14 +27,6 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
-[
- ConstructorTemplate=Event
-] interface ErrorEvent : Event {
- [InitializedByEventConstructor] readonly attribute DOMString message;
- [InitializedByEventConstructor] readonly attribute DOMString filename;
- [InitializedByEventConstructor] readonly attribute unsigned long lineno;
- [InitializedByEventConstructor] readonly attribute unsigned long colno;
- [InitializedByEventConstructor, Custom, Unserializable] readonly attribute any error;
+partial interface HTMLVideoElement {
+ [RuntimeEnabled=MediaSourceExperimental] VideoPlaybackQuality getVideoPlaybackQuality();
};
-
diff --git a/modules/mediasource/MediaSource.idl b/modules/mediasource/MediaSource.idl
index 6f2b0af..24a08d2 100644
--- a/modules/mediasource/MediaSource.idl
+++ b/modules/mediasource/MediaSource.idl
@@ -29,10 +29,10 @@
*/
[
- EnabledAtRuntime=MediaSource,
+ RuntimeEnabled=MediaSource,
ActiveDOMObject,
Constructor,
- ConstructorCallWith=ScriptExecutionContext
+ ConstructorCallWith=ExecutionContext
] interface MediaSource : EventTarget {
// All the source buffers created by this object.
readonly attribute SourceBufferList sourceBuffers;
diff --git a/modules/mediasource/SourceBuffer.idl b/modules/mediasource/SourceBuffer.idl
index c6160bd..9498095 100644
--- a/modules/mediasource/SourceBuffer.idl
+++ b/modules/mediasource/SourceBuffer.idl
@@ -31,7 +31,7 @@
[
NoInterfaceObject,
ActiveDOMObject,
- EnabledAtRuntime=MediaSource
+ RuntimeEnabled=MediaSource
] interface SourceBuffer : EventTarget {
readonly attribute boolean updating;
@@ -52,7 +52,7 @@
[RaisesException] void appendBuffer(ArrayBuffer data);
[RaisesException] void appendBuffer(ArrayBufferView data);
- [RaisesException, EnabledAtRuntime=stream] void appendStream(Stream stream, optional unsigned long long maxSize);
+ [RaisesException, RuntimeEnabled=stream] void appendStream(Stream stream, optional unsigned long long maxSize);
// Abort the current segment append sequence.
[RaisesException] void abort();
diff --git a/modules/mediasource/SourceBufferList.idl b/modules/mediasource/SourceBufferList.idl
index ecf3508..b5bf134 100644
--- a/modules/mediasource/SourceBufferList.idl
+++ b/modules/mediasource/SourceBufferList.idl
@@ -30,8 +30,8 @@
[
NoInterfaceObject,
- EnabledAtRuntime=MediaSource,
- CallWith=ScriptExecutionContext
+ RuntimeEnabled=MediaSource,
+ CallWith=ExecutionContext
] interface SourceBufferList : EventTarget {
readonly attribute unsigned long length;
getter SourceBuffer item(unsigned long index);
diff --git a/modules/mediasource/URLMediaSource.idl b/modules/mediasource/URLMediaSource.idl
index 6adb9f1..e259be0 100644
--- a/modules/mediasource/URLMediaSource.idl
+++ b/modules/mediasource/URLMediaSource.idl
@@ -28,6 +28,6 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
partial interface URL {
- [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(MediaSource? source);
- [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(WebKitMediaSource? source);
+ [CallWith=ExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(MediaSource? source);
+ [CallWith=ExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(WebKitMediaSource? source);
};
diff --git a/core/dom/ErrorEvent.idl b/modules/mediasource/VideoPlaybackQuality.idl
similarity index 73%
copy from core/dom/ErrorEvent.idl
copy to modules/mediasource/VideoPlaybackQuality.idl
index 33f0239..7be130b 100644
--- a/core/dom/ErrorEvent.idl
+++ b/modules/mediasource/VideoPlaybackQuality.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2013 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -27,14 +27,10 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
-[
- ConstructorTemplate=Event
-] interface ErrorEvent : Event {
- [InitializedByEventConstructor] readonly attribute DOMString message;
- [InitializedByEventConstructor] readonly attribute DOMString filename;
- [InitializedByEventConstructor] readonly attribute unsigned long lineno;
- [InitializedByEventConstructor] readonly attribute unsigned long colno;
- [InitializedByEventConstructor, Custom, Unserializable] readonly attribute any error;
+[RuntimeEnabled=MediaSourceExperimental]
+interface VideoPlaybackQuality {
+ readonly attribute double creationTime;
+ readonly attribute unsigned long totalVideoFrames;
+ readonly attribute unsigned long droppedVideoFrames;
+ readonly attribute unsigned long corruptedVideoFrames;
};
-
diff --git a/modules/mediasource/WebKitMediaSource.idl b/modules/mediasource/WebKitMediaSource.idl
index 6039201..5d127ae 100644
--- a/modules/mediasource/WebKitMediaSource.idl
+++ b/modules/mediasource/WebKitMediaSource.idl
@@ -30,10 +30,10 @@
[
NoInterfaceObject,
- EnabledAtRuntime=WebKitMediaSource,
+ RuntimeEnabled=WebKitMediaSource,
ActiveDOMObject,
Constructor,
- ConstructorCallWith=ScriptExecutionContext
+ ConstructorCallWith=ExecutionContext
] interface WebKitMediaSource : EventTarget {
// All the source buffers created by this object.
readonly attribute WebKitSourceBufferList sourceBuffers;
diff --git a/modules/mediasource/WebKitSourceBuffer.idl b/modules/mediasource/WebKitSourceBuffer.idl
index b7582b0..da4c157 100644
--- a/modules/mediasource/WebKitSourceBuffer.idl
+++ b/modules/mediasource/WebKitSourceBuffer.idl
@@ -30,7 +30,7 @@
[
NoInterfaceObject,
- EnabledAtRuntime=WebKitMediaSource
+ RuntimeEnabled=WebKitMediaSource
] interface WebKitSourceBuffer {
// Returns the time ranges buffered.
diff --git a/modules/mediasource/WebKitSourceBufferList.idl b/modules/mediasource/WebKitSourceBufferList.idl
index 4c5e359..b3d2ec4 100644
--- a/modules/mediasource/WebKitSourceBufferList.idl
+++ b/modules/mediasource/WebKitSourceBufferList.idl
@@ -30,7 +30,7 @@
[
NoInterfaceObject,
- EnabledAtRuntime=WebKitMediaSource
+ RuntimeEnabled=WebKitMediaSource
] interface WebKitSourceBufferList : EventTarget {
readonly attribute unsigned long length;
getter WebKitSourceBuffer item(unsigned long index);
diff --git a/modules/mediasource/WindowMediaSource.idl b/modules/mediasource/WindowMediaSource.idl
index bf5bbef..6221f9e 100644
--- a/modules/mediasource/WindowMediaSource.idl
+++ b/modules/mediasource/WindowMediaSource.idl
@@ -28,7 +28,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
partial interface Window {
- [EnabledAtRuntime=WebKitMediaSource] attribute WebKitMediaSourceConstructor WebKitMediaSource;
- [EnabledAtRuntime=WebKitMediaSource] attribute WebKitSourceBufferConstructor WebKitSourceBuffer;
- [EnabledAtRuntime=WebKitMediaSource] attribute WebKitSourceBufferListConstructor WebKitSourceBufferList;
+ [RuntimeEnabled=WebKitMediaSource] attribute WebKitMediaSourceConstructor WebKitMediaSource;
+ [RuntimeEnabled=WebKitMediaSource] attribute WebKitSourceBufferConstructor WebKitSourceBuffer;
+ [RuntimeEnabled=WebKitMediaSource] attribute WebKitSourceBufferListConstructor WebKitSourceBufferList;
};
diff --git a/modules/mediastream/MediaStream.idl b/modules/mediastream/MediaStream.idl
index 62d387f..2b65e3f 100644
--- a/modules/mediastream/MediaStream.idl
+++ b/modules/mediastream/MediaStream.idl
@@ -27,7 +27,7 @@
Constructor,
Constructor(MediaStream stream),
Constructor(MediaStreamTrack[] tracks),
- ConstructorCallWith=ScriptExecutionContext
+ ConstructorCallWith=ExecutionContext
] interface MediaStream : EventTarget {
// DEPRECATED
readonly attribute DOMString label;
@@ -42,6 +42,8 @@
MediaStreamTrack getTrackById(DOMString trackId);
readonly attribute boolean ended;
+
+ // DEPRECATED
void stop();
attribute EventHandler onended;
diff --git a/modules/mediastream/MediaStreamTrack.idl b/modules/mediastream/MediaStreamTrack.idl
index f5d9ea9..409d17b 100644
--- a/modules/mediastream/MediaStreamTrack.idl
+++ b/modules/mediastream/MediaStreamTrack.idl
@@ -28,14 +28,14 @@
readonly attribute DOMString kind;
readonly attribute DOMString id;
readonly attribute DOMString label;
- attribute boolean enabled;
-
+ attribute boolean enabled;
readonly attribute DOMString readyState;
+ [CallWith=ExecutionContext, RaisesException] static void getSources(MediaStreamTrackSourcesCallback callback);
+ [ImplementedAs=stopTrack, RaisesException] void stop();
+
attribute EventHandler onmute;
attribute EventHandler onunmute;
attribute EventHandler onended;
-
- [CallWith=ScriptExecutionContext, RaisesException] static void getSources(MediaStreamTrackSourcesCallback callback);
};
diff --git a/modules/mediastream/NavigatorMediaStream.idl b/modules/mediastream/NavigatorMediaStream.idl
index 960c32e..2f72684 100644
--- a/modules/mediastream/NavigatorMediaStream.idl
+++ b/modules/mediastream/NavigatorMediaStream.idl
@@ -18,7 +18,7 @@
*/
partial interface Navigator {
- [EnabledAtRuntime=MediaStream, RaisesException] void webkitGetUserMedia(Dictionary options,
+ [RuntimeEnabled=MediaStream, RaisesException] void webkitGetUserMedia(Dictionary options,
NavigatorUserMediaSuccessCallback successCallback,
optional NavigatorUserMediaErrorCallback errorCallback);
};
diff --git a/modules/mediastream/RTCPeerConnection.idl b/modules/mediastream/RTCPeerConnection.idl
index f0c847c..4455522 100644
--- a/modules/mediastream/RTCPeerConnection.idl
+++ b/modules/mediastream/RTCPeerConnection.idl
@@ -33,7 +33,7 @@
ActiveDOMObject,
Constructor(Dictionary rtcIceServers, optional Dictionary mediaConstraints),
ConstructorRaisesException,
- ConstructorCallWith=ScriptExecutionContext
+ ConstructorCallWith=ExecutionContext
] interface RTCPeerConnection : EventTarget {
[RaisesException] void createOffer(RTCSessionDescriptionCallback successCallback, [Default=Undefined] optional RTCErrorCallback failureCallback, optional Dictionary mediaConstraints);
diff --git a/modules/mediastream/RTCSessionDescription.idl b/modules/mediastream/RTCSessionDescription.idl
index 0e3d464..70077ef 100644
--- a/modules/mediastream/RTCSessionDescription.idl
+++ b/modules/mediastream/RTCSessionDescription.idl
@@ -29,10 +29,10 @@
*/
[
- Constructor(Dictionary dictionary),
+ Constructor(optional Dictionary descriptionInitDict),
ConstructorRaisesException
] interface RTCSessionDescription {
- [SetterRaisesException] attribute DOMString type;
- [SetterRaisesException] attribute DOMString sdp;
+ [SetterRaisesException, TreatReturnedNullStringAs=Null, TreatNullAs=NullString] attribute DOMString type;
+ [TreatReturnedNullStringAs=Null, TreatNullAs=NullString] attribute DOMString sdp;
};
diff --git a/modules/mediastream/URLMediaStream.idl b/modules/mediastream/URLMediaStream.idl
index 3b8edb5..d6d36cf 100644
--- a/modules/mediastream/URLMediaStream.idl
+++ b/modules/mediastream/URLMediaStream.idl
@@ -28,5 +28,5 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
partial interface URL {
- [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(MediaStream? stream);
+ [CallWith=ExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(MediaStream? stream);
};
diff --git a/modules/notifications/Notification.idl b/modules/notifications/Notification.idl
index 75a4779..cbce5d6 100644
--- a/modules/notifications/Notification.idl
+++ b/modules/notifications/Notification.idl
@@ -32,16 +32,16 @@
[
ActiveDOMObject,
Constructor(DOMString title, [Default=Undefined] optional Dictionary options),
- ConstructorCallWith=ScriptExecutionContext,
- EnabledAtRuntime=notifications
+ ConstructorCallWith=ExecutionContext,
+ RuntimeEnabled=notifications
] interface Notification : EventTarget {
void show();
[Conditional=LEGACY_NOTIFICATIONS] void cancel();
void close();
- [CallWith=ScriptExecutionContext] static readonly attribute DOMString permission;
- [CallWith=ScriptExecutionContext] static void requestPermission(optional NotificationPermissionCallback callback);
+ [CallWith=ExecutionContext] static readonly attribute DOMString permission;
+ [CallWith=ExecutionContext] static void requestPermission(optional NotificationPermissionCallback callback);
attribute EventHandler onshow;
[Conditional=LEGACY_NOTIFICATIONS] attribute EventHandler ondisplay;
diff --git a/modules/notifications/NotificationCenter.idl b/modules/notifications/NotificationCenter.idl
index 9c27269..fb23a66 100644
--- a/modules/notifications/NotificationCenter.idl
+++ b/modules/notifications/NotificationCenter.idl
@@ -34,7 +34,7 @@
Conditional=LEGACY_NOTIFICATIONS,
ActiveDOMObject
] interface NotificationCenter {
- [MeasureAs=LegacyTextNotifications, ActivityLog=Access, RaisesException] Notification createNotification(DOMString iconUrl, DOMString title, DOMString body);
+ [MeasureAs=LegacyTextNotifications, ActivityLogging=AccessForAllWorlds, RaisesException] Notification createNotification(DOMString iconUrl, DOMString title, DOMString body);
long checkPermission();
void requestPermission(optional VoidCallback callback);
diff --git a/modules/notifications/WindowNotifications.idl b/modules/notifications/WindowNotifications.idl
index 78a69d2..9f74cf0 100644
--- a/modules/notifications/WindowNotifications.idl
+++ b/modules/notifications/WindowNotifications.idl
@@ -28,5 +28,5 @@
Conditional=LEGACY_NOTIFICATIONS,
ImplementedAs=DOMWindowNotifications
] partial interface Window {
- [EnabledAtRuntime=Notifications, MeasureAs=LegacyNotifications, PerWorldBindings, ActivityLog=GetterForIsolatedWorlds] readonly attribute NotificationCenter webkitNotifications;
+ [RuntimeEnabled=Notifications, MeasureAs=LegacyNotifications, PerWorldBindings, ActivityLogging=GetterForIsolatedWorlds] readonly attribute NotificationCenter webkitNotifications;
};
diff --git a/modules/notifications/WorkerGlobalScopeNotifications.idl b/modules/notifications/WorkerGlobalScopeNotifications.idl
index 70a33dd..f6468a7 100644
--- a/modules/notifications/WorkerGlobalScopeNotifications.idl
+++ b/modules/notifications/WorkerGlobalScopeNotifications.idl
@@ -27,5 +27,5 @@
[
Conditional=LEGACY_NOTIFICATIONS
] partial interface WorkerGlobalScope {
- [EnabledAtRuntime=Notifications] readonly attribute NotificationCenter webkitNotifications;
+ [RuntimeEnabled=Notifications] readonly attribute NotificationCenter webkitNotifications;
};
diff --git a/modules/performance/WorkerGlobalScopePerformance.idl b/modules/performance/WorkerGlobalScopePerformance.idl
index a737930..1522a1d 100644
--- a/modules/performance/WorkerGlobalScopePerformance.idl
+++ b/modules/performance/WorkerGlobalScopePerformance.idl
@@ -29,7 +29,7 @@
*/
[
- EnabledAtRuntime=HighResolutionTimeInWorkers
+ RuntimeEnabled=HighResolutionTimeInWorkers
] partial interface WorkerGlobalScope {
readonly attribute WorkerPerformance performance;
};
diff --git a/modules/quota/StorageInfo.idl b/modules/quota/StorageInfo.idl
index f21070e..7988ac3 100644
--- a/modules/quota/StorageInfo.idl
+++ b/modules/quota/StorageInfo.idl
@@ -29,6 +29,6 @@
const unsigned short TEMPORARY = 0;
const unsigned short PERSISTENT = 1;
- [CallWith=ScriptExecutionContext] void queryUsageAndQuota(unsigned short storageType, optional StorageUsageCallback usageCallback, optional StorageErrorCallback errorCallback);
- [CallWith=ScriptExecutionContext] void requestQuota(unsigned short storageType, unsigned long long newQuotaInBytes, optional StorageQuotaCallback quotaCallback, optional StorageErrorCallback errorCallback);
+ [CallWith=ExecutionContext] void queryUsageAndQuota(unsigned short storageType, optional StorageUsageCallback usageCallback, optional StorageErrorCallback errorCallback);
+ [CallWith=ExecutionContext] void requestQuota(unsigned short storageType, unsigned long long newQuotaInBytes, optional StorageQuotaCallback quotaCallback, optional StorageErrorCallback errorCallback);
};
diff --git a/modules/quota/StorageQuota.idl b/modules/quota/StorageQuota.idl
index 1c8243e..a8f2c9c 100644
--- a/modules/quota/StorageQuota.idl
+++ b/modules/quota/StorageQuota.idl
@@ -26,6 +26,6 @@
[
NoInterfaceObject
] interface StorageQuota {
- [CallWith=ScriptExecutionContext] void queryUsageAndQuota(StorageUsageCallback usageCallback, optional StorageErrorCallback errorCallback);
- [CallWith=ScriptExecutionContext] void requestQuota(unsigned long long newQuotaInBytes, optional StorageQuotaCallback quotaCallback, optional StorageErrorCallback errorCallback);
+ [CallWith=ExecutionContext] void queryUsageAndQuota(StorageUsageCallback usageCallback, optional StorageErrorCallback errorCallback);
+ [CallWith=ExecutionContext] void requestQuota(unsigned long long newQuotaInBytes, optional StorageQuotaCallback quotaCallback, optional StorageErrorCallback errorCallback);
};
diff --git a/modules/serviceworkers/NavigatorServiceWorker.idl b/modules/serviceworkers/NavigatorServiceWorker.idl
index 2747667..a2dcebf 100644
--- a/modules/serviceworkers/NavigatorServiceWorker.idl
+++ b/modules/serviceworkers/NavigatorServiceWorker.idl
@@ -28,8 +28,8 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- EnabledAtRuntime=ServiceWorker
+ RuntimeEnabled=ServiceWorker
] partial interface Navigator {
- [CallWith=ScriptExecutionContext, RaisesException] Promise registerServiceWorker(DOMString pattern, DOMString src);
- [CallWith=ScriptExecutionContext, RaisesException] Promise unregisterServiceWorker(DOMString pattern);
+ [CallWith=ExecutionContext, RaisesException] Promise registerServiceWorker(DOMString pattern, DOMString src);
+ [CallWith=ExecutionContext, RaisesException] Promise unregisterServiceWorker(DOMString pattern);
};
diff --git a/modules/serviceworkers/ServiceWorker.idl b/modules/serviceworkers/ServiceWorker.idl
index 866d0ea..b58eb90 100644
--- a/modules/serviceworkers/ServiceWorker.idl
+++ b/modules/serviceworkers/ServiceWorker.idl
@@ -28,7 +28,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
- EnabledAtRuntime=ServiceWorker,
+ RuntimeEnabled=ServiceWorker,
NoInterfaceObject
] interface ServiceWorker {
};
diff --git a/modules/speech/SpeechGrammar.idl b/modules/speech/SpeechGrammar.idl
index 0116770..1b629a4 100644
--- a/modules/speech/SpeechGrammar.idl
+++ b/modules/speech/SpeechGrammar.idl
@@ -27,6 +27,6 @@
NoInterfaceObject,
Constructor
] interface SpeechGrammar {
- [URL,CallWith=ScriptExecutionContext] attribute DOMString src;
+ [URL,CallWith=ExecutionContext] attribute DOMString src;
attribute float weight;
};
diff --git a/modules/speech/SpeechGrammarList.idl b/modules/speech/SpeechGrammarList.idl
index fa7c5e8..9239d9e 100644
--- a/modules/speech/SpeechGrammarList.idl
+++ b/modules/speech/SpeechGrammarList.idl
@@ -29,6 +29,6 @@
] interface SpeechGrammarList {
readonly attribute unsigned long length;
getter SpeechGrammar item(unsigned long index);
- [CallWith=ScriptExecutionContext] void addFromUri(DOMString src, optional float weight);
+ [CallWith=ExecutionContext] void addFromUri(DOMString src, optional float weight);
void addFromString(DOMString string, optional float weight);
};
diff --git a/modules/speech/SpeechRecognition.idl b/modules/speech/SpeechRecognition.idl
index 95eb5d5..b637e3a 100644
--- a/modules/speech/SpeechRecognition.idl
+++ b/modules/speech/SpeechRecognition.idl
@@ -27,7 +27,7 @@
NoInterfaceObject,
ActiveDOMObject,
Constructor,
- ConstructorCallWith=ScriptExecutionContext
+ ConstructorCallWith=ExecutionContext
] interface SpeechRecognition : EventTarget {
attribute SpeechGrammarList grammars;
attribute DOMString lang;
diff --git a/modules/speech/SpeechSynthesis.idl b/modules/speech/SpeechSynthesis.idl
index 4fa847a..a88e496 100644
--- a/modules/speech/SpeechSynthesis.idl
+++ b/modules/speech/SpeechSynthesis.idl
@@ -25,15 +25,17 @@
[
NoInterfaceObject,
- EnabledAtRuntime=SpeechSynthesis
-] interface SpeechSynthesis {
+ RuntimeEnabled=SpeechSynthesis
+] interface SpeechSynthesis : EventTarget {
readonly attribute boolean pending;
readonly attribute boolean speaking;
readonly attribute boolean paused;
- void speak(SpeechSynthesisUtterance utterance);
+ [RaisesException] void speak(SpeechSynthesisUtterance utterance);
void cancel();
void pause();
void resume();
sequence<SpeechSynthesisVoice> getVoices();
+
+ attribute EventHandler onvoiceschanged;
};
diff --git a/modules/speech/SpeechSynthesisEvent.idl b/modules/speech/SpeechSynthesisEvent.idl
index 39bb723..e438411 100644
--- a/modules/speech/SpeechSynthesisEvent.idl
+++ b/modules/speech/SpeechSynthesisEvent.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=SpeechSynthesis
+ RuntimeEnabled=SpeechSynthesis
] interface SpeechSynthesisEvent : Event {
readonly attribute unsigned long charIndex;
readonly attribute float elapsedTime;
diff --git a/modules/speech/SpeechSynthesisUtterance.idl b/modules/speech/SpeechSynthesisUtterance.idl
index d32d7a8..fbedcdc 100644
--- a/modules/speech/SpeechSynthesisUtterance.idl
+++ b/modules/speech/SpeechSynthesisUtterance.idl
@@ -24,8 +24,8 @@
*/
[
- EnabledAtRuntime=SpeechSynthesis,
- ConstructorCallWith=ScriptExecutionContext,
+ RuntimeEnabled=SpeechSynthesis,
+ ConstructorCallWith=ExecutionContext,
Constructor([Default=NullString] optional DOMString text)
] interface SpeechSynthesisUtterance : EventTarget {
attribute DOMString text;
diff --git a/modules/speech/SpeechSynthesisVoice.idl b/modules/speech/SpeechSynthesisVoice.idl
index 9ca4754..a326a8c 100644
--- a/modules/speech/SpeechSynthesisVoice.idl
+++ b/modules/speech/SpeechSynthesisVoice.idl
@@ -25,7 +25,7 @@
[
NoInterfaceObject,
- EnabledAtRuntime=SpeechSynthesis
+ RuntimeEnabled=SpeechSynthesis
] interface SpeechSynthesisVoice {
readonly attribute DOMString voiceURI;
readonly attribute DOMString name;
diff --git a/modules/speech/WindowSpeechSynthesis.idl b/modules/speech/WindowSpeechSynthesis.idl
index 7dd441e..833797b 100644
--- a/modules/speech/WindowSpeechSynthesis.idl
+++ b/modules/speech/WindowSpeechSynthesis.idl
@@ -24,7 +24,7 @@
*/
[
- EnabledAtRuntime=SpeechSynthesis,
+ RuntimeEnabled=SpeechSynthesis,
ImplementedAs=DOMWindowSpeechSynthesis
] partial interface Window {
readonly attribute SpeechSynthesis speechSynthesis;
diff --git a/core/dom/ErrorEvent.idl b/modules/speech/testing/InternalsSpeechSynthesis.idl
similarity index 73%
copy from core/dom/ErrorEvent.idl
copy to modules/speech/testing/InternalsSpeechSynthesis.idl
index 33f0239..34f2bc8 100644
--- a/core/dom/ErrorEvent.idl
+++ b/modules/speech/testing/InternalsSpeechSynthesis.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2013 Samsung Electronics. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -28,13 +28,6 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-[
- ConstructorTemplate=Event
-] interface ErrorEvent : Event {
- [InitializedByEventConstructor] readonly attribute DOMString message;
- [InitializedByEventConstructor] readonly attribute DOMString filename;
- [InitializedByEventConstructor] readonly attribute unsigned long lineno;
- [InitializedByEventConstructor] readonly attribute unsigned long colno;
- [InitializedByEventConstructor, Custom, Unserializable] readonly attribute any error;
+partial interface Internals {
+ void enableMockSpeechSynthesizer(Document document);
};
-
diff --git a/modules/vibration/NavigatorVibration.idl b/modules/vibration/NavigatorVibration.idl
index 8519266..3307c6a 100644
--- a/modules/vibration/NavigatorVibration.idl
+++ b/modules/vibration/NavigatorVibration.idl
@@ -18,9 +18,11 @@
*/
[
- EnabledAtRuntime=Vibration
+ RuntimeEnabled=Vibration
] partial interface Navigator {
+ // FIXME: The contents of the pattern argument should be clamped.
+ // See https://code.google.com/p/chromium/issues/detail?id=310138
boolean vibrate(sequence<unsigned long> pattern);
- boolean vibrate(unsigned long time);
+ boolean vibrate([Clamp] unsigned long time);
};
diff --git a/core/dom/ErrorEvent.idl b/modules/vibration/testing/InternalsVibration.idl
similarity index 74%
copy from core/dom/ErrorEvent.idl
copy to modules/vibration/testing/InternalsVibration.idl
index 33f0239..5da4484 100644
--- a/core/dom/ErrorEvent.idl
+++ b/modules/vibration/testing/InternalsVibration.idl
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2013 Samsung Electronics. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -28,13 +28,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-[
- ConstructorTemplate=Event
-] interface ErrorEvent : Event {
- [InitializedByEventConstructor] readonly attribute DOMString message;
- [InitializedByEventConstructor] readonly attribute DOMString filename;
- [InitializedByEventConstructor] readonly attribute unsigned long lineno;
- [InitializedByEventConstructor] readonly attribute unsigned long colno;
- [InitializedByEventConstructor, Custom, Unserializable] readonly attribute any error;
+partial interface Internals {
+ boolean isVibrating(Document document);
+ sequence<unsigned long> pendingVibrationPattern(Document document);
};
-
diff --git a/modules/webaudio/AnalyserNode.idl b/modules/webaudio/AnalyserNode.idl
index 27117e1..f179f5e 100644
--- a/modules/webaudio/AnalyserNode.idl
+++ b/modules/webaudio/AnalyserNode.idl
@@ -29,11 +29,11 @@
readonly attribute unsigned long frequencyBinCount;
// minDecibels / maxDecibels represent the range to scale the FFT analysis data for conversion to unsigned byte values.
- attribute float minDecibels;
- attribute float maxDecibels;
+ [SetterRaisesException] attribute float minDecibels;
+ [SetterRaisesException] attribute float maxDecibels;
// A value from 0.0 -> 1.0 where 0.0 represents no time averaging with the last analysis frame.
- attribute float smoothingTimeConstant;
+ [SetterRaisesException] attribute float smoothingTimeConstant;
// Copies the current frequency data into the passed array.
// If the array has fewer elements than the frequencyBinCount, the excess elements will be dropped.
diff --git a/modules/webaudio/AudioBufferSourceNode.idl b/modules/webaudio/AudioBufferSourceNode.idl
index 24c95eb..946b28b 100644
--- a/modules/webaudio/AudioBufferSourceNode.idl
+++ b/modules/webaudio/AudioBufferSourceNode.idl
@@ -26,7 +26,7 @@
[
Conditional=WEB_AUDIO
] interface AudioBufferSourceNode : AudioSourceNode {
- [CustomSetter, SetterRaisesException] attribute AudioBuffer buffer;
+ [StrictTypeChecking, SetterRaisesException] attribute AudioBuffer buffer;
const unsigned short UNSCHEDULED_STATE = 0;
const unsigned short SCHEDULED_STATE = 1;
@@ -43,16 +43,14 @@
attribute double loopStart;
attribute double loopEnd;
- [MeasureAs=WebAudioStart] void start(double when);
- [MeasureAs=WebAudioStart, ImplementedAs=startGrain] void start(double when, double grainOffset);
- [MeasureAs=WebAudioStart, ImplementedAs=startGrain] void start(double when, double grainOffset, double grainDuration);
- void stop(double when);
+ [RaisesException, MeasureAs=WebAudioStart] void start(optional double when, optional double grainOffset, optional double grainDuration);
+ [RaisesException] void stop(optional double when);
[DeprecateAs=WebAudioLooping, ImplementedAs=loop] attribute boolean looping; // This is an alias for the .loop attribute for backwards compatibility.
- [MeasureAs=LegacyWebAudio] void noteOn(double when);
- [MeasureAs=LegacyWebAudio] void noteGrainOn(double when, double grainOffset, double grainDuration);
- void noteOff(double when);
+ [RaisesException, ImplementedAs=start, MeasureAs=LegacyWebAudio] void noteOn(double when);
+ [RaisesException, MeasureAs=LegacyWebAudio] void noteGrainOn(double when, double grainOffset, double grainDuration);
+ [RaisesException, ImplementedAs=stop] void noteOff(double when);
attribute EventHandler onended;
};
diff --git a/modules/webaudio/AudioContext.idl b/modules/webaudio/AudioContext.idl
index d1100f5..f14e8b6 100644
--- a/modules/webaudio/AudioContext.idl
+++ b/modules/webaudio/AudioContext.idl
@@ -27,7 +27,10 @@
NoInterfaceObject,
Conditional=WEB_AUDIO,
ActiveDOMObject,
- CustomConstructor
+ Constructor,
+ Constructor(unsigned long numberOfChannels, unsigned long numberOfFrames, float sampleRate),
+ ConstructorCallWith=Document,
+ ConstructorRaisesException
] interface AudioContext : EventTarget {
// All rendered audio ultimately connects to destination, which represents the audio hardware.
readonly attribute AudioDestinationNode destination;
@@ -67,7 +70,7 @@
ConvolverNode createConvolver();
DynamicsCompressorNode createDynamicsCompressor();
AnalyserNode createAnalyser();
- [RaisesException] ScriptProcessorNode createScriptProcessor(unsigned long bufferSize, optional unsigned long numberOfInputChannels, optional unsigned long numberOfOutputChannels);
+ [RaisesException] ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize, optional unsigned long numberOfInputChannels, optional unsigned long numberOfOutputChannels);
OscillatorNode createOscillator();
[RaisesException] PeriodicWave createPeriodicWave(Float32Array real, Float32Array imag);
diff --git a/modules/webaudio/OfflineAudioContext.idl b/modules/webaudio/OfflineAudioContext.idl
index 81c104e..84c50e3 100644
--- a/modules/webaudio/OfflineAudioContext.idl
+++ b/modules/webaudio/OfflineAudioContext.idl
@@ -27,7 +27,7 @@
Conditional=WEB_AUDIO,
Constructor(unsigned long numberOfChannels, unsigned long numberOfFrames, float sampleRate),
ConstructorRaisesException,
- ConstructorCallWith=ScriptExecutionContext
+ ConstructorCallWith=ExecutionContext
] interface OfflineAudioContext : AudioContext {
};
diff --git a/modules/webaudio/OscillatorNode.idl b/modules/webaudio/OscillatorNode.idl
index 949eac6..0b5962a 100644
--- a/modules/webaudio/OscillatorNode.idl
+++ b/modules/webaudio/OscillatorNode.idl
@@ -47,11 +47,11 @@
readonly attribute AudioParam frequency; // in Hertz
readonly attribute AudioParam detune; // in Cents
- void start(double when);
- void stop(double when);
+ [RaisesException] void start(optional double when);
+ [RaisesException] void stop(optional double when);
- void noteOn(double when);
- void noteOff(double when);
+ [RaisesException, ImplementedAs=start] void noteOn(double when);
+ [RaisesException, ImplementedAs=stop] void noteOff(double when);
void setPeriodicWave(PeriodicWave periodicWave);
diff --git a/modules/webaudio/WaveShaperNode.idl b/modules/webaudio/WaveShaperNode.idl
index c4f4c81..a789722 100644
--- a/modules/webaudio/WaveShaperNode.idl
+++ b/modules/webaudio/WaveShaperNode.idl
@@ -22,15 +22,9 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-enum OverSampleType {
- "none",
- "2x",
- "4x"
-};
-
[
Conditional=WEB_AUDIO
] interface WaveShaperNode : AudioNode {
attribute Float32Array curve;
- [SetterRaisesException] attribute OverSampleType oversample;
+ [SetterRaisesException] attribute DOMString oversample;
};
diff --git a/modules/webdatabase/WindowWebDatabase.idl b/modules/webdatabase/WindowWebDatabase.idl
index 1459918..8502e37 100644
--- a/modules/webdatabase/WindowWebDatabase.idl
+++ b/modules/webdatabase/WindowWebDatabase.idl
@@ -27,6 +27,6 @@
[
ImplementedAs=DOMWindowWebDatabase
] partial interface Window {
- [EnabledAtRuntime=Database, MeasureAs=OpenWebDatabase, PerWorldBindings, ActivityLog=AccessForIsolatedWorlds, RaisesException] Database openDatabase(DOMString name, DOMString version, DOMString displayName, unsigned long estimatedSize, optional DatabaseCallback creationCallback);
+ [RuntimeEnabled=Database, MeasureAs=OpenWebDatabase, PerWorldBindings, ActivityLogging=AccessForIsolatedWorlds, RaisesException] Database openDatabase(DOMString name, DOMString version, DOMString displayName, unsigned long estimatedSize, optional DatabaseCallback creationCallback);
};
diff --git a/modules/webdatabase/WorkerGlobalScopeWebDatabase.idl b/modules/webdatabase/WorkerGlobalScopeWebDatabase.idl
index 9631dd7..095c320 100644
--- a/modules/webdatabase/WorkerGlobalScopeWebDatabase.idl
+++ b/modules/webdatabase/WorkerGlobalScopeWebDatabase.idl
@@ -25,8 +25,8 @@
*/
partial interface WorkerGlobalScope {
- [EnabledAtRuntime=Database, RaisesException] Database openDatabase(DOMString name, DOMString version, DOMString displayName, unsigned long estimatedSize, optional DatabaseCallback creationCallback);
+ [RuntimeEnabled=Database, RaisesException] Database openDatabase(DOMString name, DOMString version, DOMString displayName, unsigned long estimatedSize, optional DatabaseCallback creationCallback);
- [EnabledAtRuntime=Database, RaisesException] DatabaseSync openDatabaseSync(DOMString name, DOMString version, DOMString displayName, unsigned long estimatedSize, optional DatabaseCallback creationCallback);
+ [RuntimeEnabled=Database, RaisesException] DatabaseSync openDatabaseSync(DOMString name, DOMString version, DOMString displayName, unsigned long estimatedSize, optional DatabaseCallback creationCallback);
};
diff --git a/modules/webmidi/MIDIConnectionEvent.idl b/modules/webmidi/MIDIConnectionEvent.idl
index 8731966..7ec690b 100644
--- a/modules/webmidi/MIDIConnectionEvent.idl
+++ b/modules/webmidi/MIDIConnectionEvent.idl
@@ -29,7 +29,7 @@
*/
[
- EnabledAtRuntime=WebMIDI,
+ RuntimeEnabled=WebMIDI,
ConstructorTemplate=Event
] interface MIDIConnectionEvent : Event {
[InitializedByEventConstructor] readonly attribute MIDIPort port;
diff --git a/modules/webmidi/MIDIMessageEvent.idl b/modules/webmidi/MIDIMessageEvent.idl
index 1734b42..087079e 100644
--- a/modules/webmidi/MIDIMessageEvent.idl
+++ b/modules/webmidi/MIDIMessageEvent.idl
@@ -31,7 +31,7 @@
// FIXME: The spec doesn't provide details about constructor, yet.
// See also, https://github.com/WebAudio/web-midi-api/issues/1 .
[
- EnabledAtRuntime=WebMIDI,
+ RuntimeEnabled=WebMIDI,
ConstructorTemplate=Event
] interface MIDIMessageEvent : Event {
[InitializedByEventConstructor] readonly attribute double receivedTime;
diff --git a/modules/webmidi/MIDIOutput.idl b/modules/webmidi/MIDIOutput.idl
index 78dff22..06a75ce 100644
--- a/modules/webmidi/MIDIOutput.idl
+++ b/modules/webmidi/MIDIOutput.idl
@@ -30,7 +30,8 @@
[
CustomToV8,
- NoInterfaceObject
+ NoInterfaceObject,
+ ActiveDOMObject
] interface MIDIOutput : MIDIPort {
[RaisesException] void send(Uint8Array data, optional double timestamp);
[RaisesException] void send(sequence<unsigned long> data, optional double timestamp);
diff --git a/modules/webmidi/NavigatorWebMIDI.idl b/modules/webmidi/NavigatorWebMIDI.idl
index a1e4ed0..e8ad27d 100644
--- a/modules/webmidi/NavigatorWebMIDI.idl
+++ b/modules/webmidi/NavigatorWebMIDI.idl
@@ -29,5 +29,5 @@
*/
partial interface Navigator {
- [EnabledAtRuntime=WebMIDI] MIDIAccessPromise requestMIDIAccess(optional Dictionary options);
+ [RuntimeEnabled=WebMIDI] MIDIAccessPromise requestMIDIAccess(optional Dictionary options);
};
diff --git a/modules/websockets/WebSocket.idl b/modules/websockets/WebSocket.idl
index 9748b64..9430204 100644
--- a/modules/websockets/WebSocket.idl
+++ b/modules/websockets/WebSocket.idl
@@ -36,7 +36,7 @@
Constructor(DOMString url, sequence<DOMString> protocols),
Constructor(DOMString url, DOMString protocol),
ConstructorRaisesException,
- ConstructorCallWith=ScriptExecutionContext
+ ConstructorCallWith=ExecutionContext
] interface WebSocket : EventTarget {
readonly attribute DOMString URL; // Lowercased .url is the one in the spec, but leaving .URL for compatibility reasons.
readonly attribute DOMString url;