Roll Blink IDLs forward.
Review URL: https://codereview.chromium.org//13601015

git-svn-id: http://dart.googlecode.com/svn/third_party/WebCore@20982 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/README b/README
index 072c54d..2408f0e 100644
--- a/README
+++ b/README
@@ -6,4 +6,4 @@
 
 The current version corresponds to:
 URL: http://src.chromium.org/multivm/trunk/webkit
-Current revision: 1151
+Current revision: 1167
diff --git a/bindings/dart/gyp/scripts/build_dart_snapshot.py b/bindings/dart/gyp/scripts/build_dart_snapshot.py
index 1e43409..bbcec13 100644
--- a/bindings/dart/gyp/scripts/build_dart_snapshot.py
+++ b/bindings/dart/gyp/scripts/build_dart_snapshot.py
@@ -61,6 +61,7 @@
         ('indexed_db', path(outputFilePath, 'indexed_db_dartium.dart')),
         ('svg', path(outputFilePath, 'svg_dartium.dart')),
         ('web_audio', path(outputFilePath, 'web_audio_dartium.dart')),
+        ('web_gl', path(outputFilePath, 'web_gl_dartium.dart')),
         ('web_sql', path(outputFilePath, 'web_sql_dartium.dart'))]
     snapshottedLibs.extend([(dartName(p), path(p)) for p in snapshottedLibPaths])
 
diff --git a/bindings/dart/gyp/scripts/massage_factories.py b/bindings/dart/gyp/scripts/massage_factories.py
index 0ec8b84..4148763 100644
--- a/bindings/dart/gyp/scripts/massage_factories.py
+++ b/bindings/dart/gyp/scripts/massage_factories.py
@@ -85,7 +85,10 @@
             r'return createV8HTMLDirectWrapper\(element, creationContext, isolate\);'),
             r'return DartDOMWrapper::toDart<DartHTMLElement>(element);'),
         (re.compile(
-            r'return V8CustomElement::wrap\(element, creationContext, constructor, isolate\);'),
+            r'#include "CustomElementHelpers.h"'),
+            r'#include "CustomElementHelpers.h"\n#include "DartCustomElement.h"'),
+        (re.compile(
+            r'return CustomElementHelpers::wrap\(element, creationContext, constructor, isolate\);'),
             r'return DartCustomElement::toDart(element, constructor);'),
         (re.compile(
             r'return wrap\(toHTMLUnknownElement\(element\), creationContext, isolate\);'),
diff --git a/html/HTMLElement.idl b/html/HTMLElement.idl
index 8ca3908..5b70e6c 100644
--- a/html/HTMLElement.idl
+++ b/html/HTMLElement.idl
@@ -43,7 +43,7 @@
                  setter raises(DOMException);
              [TreatNullAs=NullString] attribute DOMString innerText
                  setter raises(DOMException);
-             [TreatNullAs=NullString] attribute DOMString outerHTML
+             [TreatNullAs=NullString, V8DeliverCustomElementCallbacks] attribute DOMString outerHTML
                  setter raises(DOMException);
              [TreatNullAs=NullString] attribute DOMString outerText
                  setter raises(DOMException);
@@ -51,6 +51,7 @@
     Element insertAdjacentElement(in [Optional=DefaultIsUndefined] DOMString where,
                                   in [Optional=DefaultIsUndefined] Element element)
         raises(DOMException);
+    [V8DeliverCustomElementCallbacks]
     void insertAdjacentHTML(in [Optional=DefaultIsUndefined] DOMString where,
                             in [Optional=DefaultIsUndefined] DOMString html)
         raises(DOMException);
diff --git a/html/HTMLTemplateElement.idl b/html/HTMLTemplateElement.idl
index d7da925..1684808 100644
--- a/html/HTMLTemplateElement.idl
+++ b/html/HTMLTemplateElement.idl
@@ -28,9 +28,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-[
-    Conditional=TEMPLATE_ELEMENT
-] interface HTMLTemplateElement : HTMLElement {
+interface HTMLTemplateElement : HTMLElement {
     [JSCustom, V8CacheAttributeForGC] readonly attribute DocumentFragment content;
 };
 
diff --git a/html/canvas/CanvasRenderingContext2D.idl b/html/canvas/CanvasRenderingContext2D.idl
index f74ca8e..65892f7 100644
--- a/html/canvas/CanvasRenderingContext2D.idl
+++ b/html/canvas/CanvasRenderingContext2D.idl
@@ -23,7 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-// FIXME: we should use CanvasWindingRule once support for WebIDL is completed. (bug #106553)
 enum CanvasWindingRule { "nonzero", "evenodd" };
 
 interface CanvasRenderingContext2D : CanvasRenderingContext {
@@ -134,12 +133,12 @@
              in [Optional=DefaultIsUndefined] boolean anticlockwise)
         raises (DOMException);
 
-    void fill(in [Optional] DOMString winding);
+    void fill(in [Optional] CanvasWindingRule winding);
     void stroke();
-    void clip(in [Optional] DOMString winding);
+    void clip(in [Optional] CanvasWindingRule winding);
     boolean isPointInPath(in [Optional=DefaultIsUndefined] float x,
                           in [Optional=DefaultIsUndefined] float y,
-                          in [Optional] DOMString winding);
+                          in [Optional] CanvasWindingRule winding);
     boolean isPointInStroke(in [Optional=DefaultIsUndefined] float x,
                             in [Optional=DefaultIsUndefined] float y);
 
diff --git a/html/track/TextTrackCue.idl b/html/track/TextTrackCue.idl
index 8c20d8a..3865adb 100644
--- a/html/track/TextTrackCue.idl
+++ b/html/track/TextTrackCue.idl
@@ -57,10 +57,10 @@
 
     attribute DOMString text;
     DocumentFragment getCueAsHTML();
-    
+
     attribute EventListener onenter;
     attribute EventListener onexit;
-    
+
     // EventTarget interface
     void addEventListener(in DOMString type, 
                           in EventListener listener, 
@@ -70,5 +70,9 @@
                              in [Optional] boolean useCapture);
     boolean dispatchEvent(in Event evt)
         raises(EventException);
+
+#if defined(ENABLE_WEBVTT_REGIONS) && ENABLE_WEBVTT_REGIONS
+    attribute DOMString regionId;
+#endif
 };
 
diff --git a/inspector/Inspector.json b/inspector/Inspector.json
index 82e1035..29deb19 100644
--- a/inspector/Inspector.json
+++ b/inspector/Inspector.json
@@ -1715,6 +1715,12 @@
                 "description": "Unique DOM node identifier."
             },
             {
+                "id": "BackendNodeId",
+                "type": "integer",
+                "description": "Unique DOM node identifier used to reference a node that may not have been pushed to the front-end.",
+                "hidden": true
+            },
+            {
                 "id": "Node",
                 "type": "object",
                 "properties": [
@@ -1769,6 +1775,14 @@
                 "description": "A structure holding an RGBA color."
             },
             {
+                "id": "Quad",
+                "type": "array",
+                "items": { "type": "number" },
+                "minItems": 8,
+                "maxItems": 8,
+                "description": "An array of quad vertices, x immediately followed by y for each point, points clock-wise."
+            },
+            {
                 "id": "HighlightConfig",
                 "type": "object",
                 "properties": [
@@ -1966,6 +1980,15 @@
                 "description": "Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport."
             },
             {
+                "name": "highlightQuad",
+                "parameters": [
+                    { "name": "quad", "$ref": "Quad", "description": "Quad to highlight" },
+                    { "name": "color", "$ref": "RGBA", "optional": true, "description": "The highlight fill color (default: transparent)." },
+                    { "name": "outlineColor", "$ref": "RGBA", "optional": true, "description": "The highlight outline color (default: transparent)." }
+                ],
+                "description": "Highlights given quad. Coordinates are absolute with respect to the main frame viewport."
+            },
+            {
                 "name": "highlightNode",
                 "parameters": [
                     { "name": "highlightConfig", "$ref": "HighlightConfig",  "description": "A descriptor for the highlight appearance." },
@@ -2000,6 +2023,25 @@
                 "hidden": true
             },
             {
+                "name": "pushNodeByBackendIdToFrontend",
+                "parameters": [
+                    { "name": "backendNodeId", "$ref": "BackendNodeId", "description": "The backend node id of the node." }
+                ],
+                "returns": [
+                    { "name": "nodeId", "$ref": "NodeId", "description": "The pushed node's id." }
+                ],
+                "description": "Requests that the node is sent to the caller given its backend node id.",
+                "hidden": true
+            },
+            {
+                "name": "releaseBackendNodeIds",
+                "parameters": [
+                    { "name": "nodeGroup", "type": "string", "description": "The backend node ids group name." }
+                ],
+                "description": "Requests that group of <code>BackendNodeIds</code> is released.",
+                "hidden": true
+            },
+            {
                 "name": "resolveNode",
                 "parameters": [
                     { "name": "nodeId", "$ref": "NodeId", "description": "Id of the node to resolve." },
@@ -2598,13 +2640,27 @@
         "description": "Timeline provides its clients with instrumentation records that are generated during the page runtime. Timeline instrumentation can be started and stopped using corresponding commands. While timeline is started, it is generating timeline event records.",
         "types": [
             {
+                "id": "DOMCounters",
+                "type": "object",
+                "properties": [
+                    { "name": "documents", "type": "integer" },
+                    { "name": "nodes", "type": "integer" },
+                    { "name": "jsEventListeners", "type": "integer" }
+                ],
+                "description": "Current values of DOM counters.",
+                "hidden": true
+            },
+            {
                 "id": "TimelineEvent",
                 "type": "object",
                 "properties": [
                     { "name": "type", "type": "string", "description": "Event type." },
                     { "name": "thread", "type": "string", "optional": true, "description": "If present, identifies the thread that produced the event.", "hidden": true },
                     { "name": "data", "type": "object", "description": "Event data." },
-                    { "name": "children", "type": "array", "optional": true, "items": { "$ref": "TimelineEvent" }, "description": "Nested records." }
+                    { "name": "children", "type": "array", "optional": true, "items": { "$ref": "TimelineEvent" }, "description": "Nested records." },
+                    { "name": "counters", "$ref": "DOMCounters", "optional": true, "hidden": true, "description": "Current values of DOM counters." },
+                    { "name": "usedHeapSize", "type": "integer", "optional": true, "hidden": true, "description": "Current size of JS heap." },
+                    { "name": "nativeHeapStatistics", "type": "object", "optional": true, "hidden": true, "description": "Native heap statistics." }
                 ],
                 "description": "Timeline record contains information about the recorded activity."
             }
diff --git a/inspector/InspectorFrontendHost.idl b/inspector/InspectorFrontendHost.idl
index 71857d1..778f6f9 100644
--- a/inspector/InspectorFrontendHost.idl
+++ b/inspector/InspectorFrontendHost.idl
@@ -42,6 +42,7 @@
 
     void requestSetDockSide(in DOMString side);
     void setAttachedWindowHeight(in unsigned long height);
+    void setAttachedWindowWidth(in unsigned long width);
     void moveWindowBy(in float x, in float y);
     void setInjectedScriptForOrigin(in DOMString origin, in DOMString script);
 
diff --git a/inspector/compile-front-end.py b/inspector/compile-front-end.py
index 7e10abc..fecaea4 100755
--- a/inspector/compile-front-end.py
+++ b/inspector/compile-front-end.py
@@ -184,6 +184,7 @@
             "FontView.js",
             "ImageView.js",
             "NativeBreakpointsSidebarPane.js",
+            "InspectElementModeController.js",
             "ObjectPopoverHelper.js",
             "ObjectPropertiesSection.js",
             "SourceFrame.js",
diff --git a/page/DOMWindow.idl b/page/DOMWindow.idl
index d06afe0..e1ab0ca 100644
--- a/page/DOMWindow.idl
+++ b/page/DOMWindow.idl
@@ -466,7 +466,7 @@
     attribute HTMLTableElementConstructor HTMLTableElement;
     attribute HTMLTableRowElementConstructor HTMLTableRowElement;
     attribute HTMLTableSectionElementConstructor HTMLTableSectionElement;
-    attribute [Conditional=TEMPLATE_ELEMENT] HTMLTemplateElementConstructor HTMLTemplateElement;
+    attribute HTMLTemplateElementConstructor HTMLTemplateElement;
     attribute HTMLTextAreaElementConstructor HTMLTextAreaElement;
     attribute HTMLTitleElementConstructor HTMLTitleElement;
     attribute HTMLUListElementConstructor HTMLUListElement;
diff --git a/testing/InternalSettings.idl b/testing/InternalSettings.idl
index cde8df6..9b9de38 100644
--- a/testing/InternalSettings.idl
+++ b/testing/InternalSettings.idl
@@ -44,8 +44,6 @@
     void setTextAutosizingFontScaleFactor(in float fontScaleFactor) raises(DOMException);
     void setResolutionOverride(in long dotsPerCSSInchHorizontally, in long dotsPerCSSInchVertically) raises(DOMException);
     void setMediaTypeOverride(in DOMString mediaTypeOverride) raises(DOMException);
-    void setEnableScrollAnimator(in boolean enabled) raises(DOMException);
-    boolean scrollAnimatorEnabled() raises(DOMException);
     void setCSSExclusionsEnabled(in boolean enabled) raises(DOMException);
     void setCSSVariablesEnabled(in boolean enabled) raises(DOMException);
     boolean cssVariablesEnabled() raises(DOMException);
@@ -61,4 +59,5 @@
     void setMinimumTimerInterval(in double intervalInSeconds) raises(DOMException);
     void setDefaultVideoPosterURL(in DOMString poster) raises(DOMException);
     void setTimeWithoutMouseMovementBeforeHidingControls(in double time) raises(DOMException);
+    void setUseLegacyBackgroundSizeShorthandBehavior(in boolean enabled) raises(DOMException);
 };
diff --git a/testing/Internals.idl b/testing/Internals.idl
index 6ed48e4..a44e24e 100644
--- a/testing/Internals.idl
+++ b/testing/Internals.idl
@@ -169,6 +169,9 @@
     boolean hasAutocorrectedMarker(in Document document, in long from, in long length) raises (DOMException);
     void setContinuousSpellCheckingEnabled(in boolean enabled) raises (DOMException);
 
+    boolean isOverwriteModeEnabled(in Document document) raises (DOMException);
+    void toggleOverwriteModeEnabled(in Document document) raises (DOMException);
+
     unsigned long numberOfScrollableAreas(in Document document) raises (DOMException);
 
     boolean isPageBoxVisible(in Document document, in long pageNumber) raises (DOMException);
@@ -226,6 +229,9 @@
 
     void setPageScaleFactor(in float scaleFactor, in long x, in long y) raises(DOMException);
 
+    void setHeaderHeight(in Document document, in float height);
+    void setFooterHeight(in Document document, in float height);
+
 #if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API
     void webkitWillEnterFullScreenForElement(in Document document, in Element element);
     void webkitDidEnterFullScreenForElement(in Document document, in Element element);
diff --git a/xml/XMLHttpRequest.idl b/xml/XMLHttpRequest.idl
index bd2db50..51c2b28 100644
--- a/xml/XMLHttpRequest.idl
+++ b/xml/XMLHttpRequest.idl
@@ -26,6 +26,16 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+enum XMLHttpRequestResponseType {
+    "",
+    "arraybuffer",
+    "blob",
+    "document",
+//    FIXME: enable once support for json responseText is completed. (bug #73648)
+//    "json",
+    "text"
+};
+
 [
     ActiveDOMObject,
     Constructor,
@@ -85,7 +95,7 @@
     readonly attribute Document responseXML
         getter raises(DOMException);
 
-    attribute DOMString responseType
+    attribute XMLHttpRequestResponseType responseType
         setter raises(DOMException);
     [CustomGetter] readonly attribute Object response
         getter raises(DOMException);