Roll IDLs.
Review URL: https://codereview.chromium.org//13163002

git-svn-id: http://dart.googlecode.com/svn/third_party/WebCore@20616 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/page/Coordinates.idl b/Modules/geolocation/Coordinates.idl
similarity index 88%
rename from page/Coordinates.idl
rename to Modules/geolocation/Coordinates.idl
index dc64a60..0fb9781 100644
--- a/page/Coordinates.idl
+++ b/Modules/geolocation/Coordinates.idl
@@ -24,14 +24,15 @@
  */
 
 [
+    Conditional=GEOLOCATION,
     OmitConstructor,
     ImplementationLacksVTable
 ] interface Coordinates {
     readonly attribute double latitude;
     readonly attribute double longitude;
-    [Custom] readonly attribute double altitude;
+    readonly attribute double? altitude;
     readonly attribute double accuracy;
-    [Custom] readonly attribute double altitudeAccuracy;
-    [Custom] readonly attribute double heading;
-    [Custom] readonly attribute double speed;
+    readonly attribute double? altitudeAccuracy;
+    readonly attribute double? heading;
+    readonly attribute double? speed;
 };
diff --git a/Modules/mediasource/MediaSource.idl b/Modules/mediasource/MediaSource.idl
index 6168a21..d0c562f 100644
--- a/Modules/mediasource/MediaSource.idl
+++ b/Modules/mediasource/MediaSource.idl
@@ -51,7 +51,9 @@
     
     void endOfStream(in [Optional=DefaultIsNullString] DOMString error)
         raises (DOMException);
-    
+
+    static boolean isTypeSupported (DOMString type);
+
     // EventTarget interface
     void addEventListener(in DOMString type,
                           in EventListener listener,
diff --git a/Modules/mediastream/RTCPeerConnection.idl b/Modules/mediastream/RTCPeerConnection.idl
index bc9708c..a0dc1ce 100644
--- a/Modules/mediastream/RTCPeerConnection.idl
+++ b/Modules/mediastream/RTCPeerConnection.idl
@@ -52,9 +52,6 @@
     readonly attribute RTCSessionDescription remoteDescription
         getter raises(DOMException);
 
-    // DEPRECATED
-    readonly attribute DOMString readyState;
-
     readonly attribute DOMString signalingState;
 
     void updateIce(in [Optional] Dictionary configuration, in [Optional] Dictionary mediaConstraints)
@@ -88,11 +85,10 @@
 
     attribute EventListener onnegotiationneeded;
     attribute EventListener onicecandidate;
-    attribute EventListener onstatechange;
+    attribute EventListener onsignalingstatechange;
     attribute EventListener onaddstream;
     attribute EventListener onremovestream;
-    attribute EventListener ongatheringchange;
-    attribute EventListener onicechange;
+    attribute EventListener oniceconnectionstatechange;
     attribute EventListener ondatachannel;
 
     // EventTarget interface
diff --git a/Modules/mediastream/RTCStatsReport.idl b/Modules/mediastream/RTCStatsReport.idl
index 1d6d7b2..8c50e80 100644
--- a/Modules/mediastream/RTCStatsReport.idl
+++ b/Modules/mediastream/RTCStatsReport.idl
@@ -28,6 +28,7 @@
 ] interface RTCStatsReport {
     readonly attribute Date timestamp;
     readonly attribute DOMString id;
+    readonly attribute DOMString type;
     DOMString stat(in DOMString name);
     sequence<DOMString> names();
     // DEPRECATED - fake for old RTCStatsElement object.
diff --git a/Modules/quota/WorkerNavigatorStorageQuota.idl b/Modules/quota/WorkerNavigatorStorageQuota.idl
new file mode 100644
index 0000000..17370cd
--- /dev/null
+++ b/Modules/quota/WorkerNavigatorStorageQuota.idl
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2013 Google Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+[
+    Conditional=QUOTA,
+    Supplemental=WorkerNavigator
+] interface WorkerNavigatorStorageQuota {
+    readonly attribute StorageQuota webkitTemporaryStorage;
+    readonly attribute StorageQuota webkitPersistentStorage;
+};
diff --git a/Modules/speech/SpeechRecognitionEvent.idl b/Modules/speech/SpeechRecognitionEvent.idl
index 184c2e9..616d750 100644
--- a/Modules/speech/SpeechRecognitionEvent.idl
+++ b/Modules/speech/SpeechRecognitionEvent.idl
@@ -27,11 +27,8 @@
     Conditional=SCRIPTED_SPEECH,
     ConstructorTemplate=Event,
 ] interface SpeechRecognitionEvent : Event {
-    // DEPRECATED
-    [InitializedByEventConstructor] readonly attribute SpeechRecognitionResult result;
-    [InitializedByEventConstructor] readonly attribute SpeechRecognitionResultList resultHistory;
-
     [InitializedByEventConstructor] readonly attribute unsigned long resultIndex;
     [InitializedByEventConstructor] readonly attribute SpeechRecognitionResultList results;
-    // FIXME: Add the emma attribute.
+
+    readonly attribute Document emma;
 };
diff --git a/Modules/webaudio/AudioBufferSourceNode.idl b/Modules/webaudio/AudioBufferSourceNode.idl
index 078b0b7..f8f98b3 100644
--- a/Modules/webaudio/AudioBufferSourceNode.idl
+++ b/Modules/webaudio/AudioBufferSourceNode.idl
@@ -37,7 +37,7 @@
 
     readonly attribute unsigned short playbackState;
 
-    readonly attribute AudioGain gain;
+    readonly attribute AudioParam gain;
     readonly attribute AudioParam playbackRate;
 
     attribute boolean loop; // This is the proper attribute name from the specification.
diff --git a/Modules/webaudio/GainNode.idl b/Modules/webaudio/GainNode.idl
index 523d89e..cbb0c96 100644
--- a/Modules/webaudio/GainNode.idl
+++ b/Modules/webaudio/GainNode.idl
@@ -27,5 +27,5 @@
     JSGenerateToJSObject
 ] interface GainNode : AudioNode {
     // FIXME: eventually it will be interesting to remove the readonly restriction, but need to properly deal with thread safety here.
-    readonly attribute AudioGain gain;
+    readonly attribute AudioParam gain;
 };
diff --git a/README b/README
index ff169b4..072c54d 100644
--- a/README
+++ b/README
@@ -6,4 +6,4 @@
 
 The current version corresponds to:
 URL: http://src.chromium.org/multivm/trunk/webkit
-Current revision: 1143
+Current revision: 1151
diff --git a/WebCore.gyp/scripts/action_makenames.py b/WebCore.gyp/scripts/action_makenames.py
index a1a410f..813b864 100644
--- a/WebCore.gyp/scripts/action_makenames.py
+++ b/WebCore.gyp/scripts/action_makenames.py
@@ -131,6 +131,8 @@
             eventsInput = inputAbsPosix
         elif inputBasename.endswith('Names.in'):
             options.append(inputAbsPosix)
+        elif inputBasename.endswith('.pm'):
+            continue
         else:
             assert False
 
diff --git a/bindings/dart/gyp/scripts/massage_factories.py b/bindings/dart/gyp/scripts/massage_factories.py
index 615371b..0ec8b84 100644
--- a/bindings/dart/gyp/scripts/massage_factories.py
+++ b/bindings/dart/gyp/scripts/massage_factories.py
@@ -84,6 +84,12 @@
         (re.compile(
             r'return createV8HTMLDirectWrapper\(element, creationContext, isolate\);'),
             r'return DartDOMWrapper::toDart<DartHTMLElement>(element);'),
+        (re.compile(
+            r'return V8CustomElement::wrap\(element, creationContext, constructor, isolate\);'),
+            r'return DartCustomElement::toDart(element, constructor);'),
+        (re.compile(
+            r'return wrap\(toHTMLUnknownElement\(element\), creationContext, isolate\);'),
+            r'return DartHTMLUnknownElement::toDart(toHTMLUnknownElement(element));'),
         (re.compile(r'createV8%sWrapper' % tag), r'createDart%sWrapper' % tag),
         (re.compile(r', v8::Isolate\*( isolate)?'), ''),
         (re.compile(r', v8::Handle<v8::Object> creationContext'), ''),
@@ -93,12 +99,6 @@
         (re.compile(r'V8CustomElement'), 'DartCustomElement'),
         (re.compile(r'WrapperTypeInfo'), 'DartWrapperTypeInfo'),
         (re.compile(r'WrapperTypeTraits'), 'DartWrapperTypeTraits'),
-        (re.compile(
-            r'return DartCustomElement::wrap\(element, creationContext, constructor, isolate\);'),
-            r'return DartCustomElement::toDart(element, constructor);'),
-        (re.compile(
-            r'return wrap\(toHTMLUnknownElement\(element\), creationContext, isolate\);'),
-            r'return DartHTMLUnknownElement::toDart(toHTMLUnknownElement(element));'),
     ])
 
     return 0
diff --git a/bindings/scripts/test/TestObj.idl b/bindings/scripts/test/TestObj.idl
index d3f6f2b..98deed4 100644
--- a/bindings/scripts/test/TestObj.idl
+++ b/bindings/scripts/test/TestObj.idl
@@ -81,6 +81,7 @@
     void methodWithSequenceArg(in sequence<ScriptProfile> sequenceArg);
     sequence<ScriptProfile> methodReturningSequence(in long longArg);
 
+    void methodWithEnumArg(in TestEnumType enumArg);
     TestObj methodThatRequiresAllArgsAndThrows(in DOMString strArg, in TestObj objArg)
         raises(DOMException);
 
@@ -295,4 +296,12 @@
 
     attribute long? nullableStringValue
         getter raises(DOMException);
+
+#if defined(TESTING_V8)
+    [V8PerWorldBindings] readonly attribute TestObj perWorldReadOnlyAttribute;
+    [V8PerWorldBindings] attribute TestObj perWorldAttribute;
+    [V8PerWorldBindings] void perWorldMethod();
+    [V8PerWorldBindings] void overloadedPerWorldMethod(in long longArg);
+    [V8PerWorldBindings] void overloadedPerWorldMethod(in DOMString strArg, in long longArg);
+#endif
 };
diff --git a/dom/Document.idl b/dom/Document.idl
index a4f053c..391a5ed 100644
--- a/dom/Document.idl
+++ b/dom/Document.idl
@@ -29,10 +29,11 @@
     readonly attribute DOMImplementation implementation;
     readonly attribute Element documentElement;
 
-    [ReturnNewObject] Element createElement(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString tagName)
+    [ReturnNewObject, V8DeliverCustomElementCallbacks, V8PerWorldBindings]
+    Element createElement(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString tagName)
         raises (DOMException);
     DocumentFragment   createDocumentFragment();
-    [ReturnNewObject] Text createTextNode(in [Optional=DefaultIsUndefined] DOMString data);
+    [ReturnNewObject, V8PerWorldBindings] Text createTextNode(in [Optional=DefaultIsUndefined] DOMString data);
     [ReturnNewObject] Comment createComment(in [Optional=DefaultIsUndefined] DOMString data);
     [ReturnNewObject] CDATASection createCDATASection(in [Optional=DefaultIsUndefined] DOMString data)
         raises(DOMException);
@@ -43,22 +44,24 @@
         raises (DOMException);
     [ReturnNewObject] EntityReference createEntityReference(in [Optional=DefaultIsUndefined] DOMString name)
         raises(DOMException);
-    NodeList           getElementsByTagName(in [Optional=DefaultIsUndefined] DOMString tagname);
+    [V8PerWorldBindings] NodeList           getElementsByTagName(in [Optional=DefaultIsUndefined] DOMString tagname);
 
     // Introduced in DOM Level 2:
 
-    [ObjCLegacyUnnamedParameters, ReturnNewObject] Node importNode(in [Optional=DefaultIsUndefined] Node importedNode,
-                                               in [Optional] boolean deep)
+    [ObjCLegacyUnnamedParameters, ReturnNewObject, V8DeliverCustomElementCallbacks]
+    Node importNode(in [Optional=DefaultIsUndefined] Node importedNode,
+                    in [Optional] boolean deep)
         raises (DOMException);
-    [ObjCLegacyUnnamedParameters, ReturnNewObject] Element createElementNS(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString namespaceURI,
-                                                       in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString qualifiedName)
+    [ObjCLegacyUnnamedParameters, ReturnNewObject, V8DeliverCustomElementCallbacks]
+    Element createElementNS(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString namespaceURI,
+                            in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString qualifiedName)
         raises (DOMException);
     [ObjCLegacyUnnamedParameters, ReturnNewObject] Attr createAttributeNS(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString namespaceURI,
-                                                      in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString qualifiedName)
+                                                                          in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString qualifiedName)
         raises (DOMException);
     [ObjCLegacyUnnamedParameters] NodeList getElementsByTagNameNS(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString namespaceURI,
                                                    in [Optional=DefaultIsUndefined] DOMString localName);
-    Element            getElementById(in [Optional=DefaultIsUndefined] DOMString elementId);
+    [V8PerWorldBindings] Element            getElementById(in [Optional=DefaultIsUndefined] DOMString elementId);
 
     // DOM Level 3 Core
 
@@ -131,7 +134,7 @@
         raises(DOMException);
 
     // Common extensions
-
+    [V8DeliverCustomElementCallbacks]
     boolean            execCommand(in [Optional=DefaultIsUndefined] DOMString command,
                                    in [Optional=DefaultIsUndefined] boolean userInterface,
                                    in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=DefaultIsUndefined] DOMString value);
@@ -176,7 +179,7 @@
     readonly attribute HTMLCollection anchors;
     readonly attribute DOMString lastModified;
 
-    NodeList getElementsByName(in [Optional=DefaultIsUndefined] DOMString elementName);
+    [V8PerWorldBindings] NodeList getElementsByName(in [Optional=DefaultIsUndefined] DOMString elementName);
 
 #if defined(ENABLE_MICRODATA) && ENABLE_MICRODATA
     NodeList getItems(in [TreatNullAs=NullString, TreatUndefinedAs=NullString, Optional=DefaultIsUndefined] DOMString typeNames);
@@ -341,6 +344,7 @@
     [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventListener onwebkitfullscreenerror;
     [NotEnumerable, Conditional=POINTER_LOCK] attribute EventListener onwebkitpointerlockchange;
     [NotEnumerable, Conditional=POINTER_LOCK] attribute EventListener onwebkitpointerlockerror;
+    [NotEnumerable, Conditional=CSP_NEXT, V8EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] attribute EventListener onsecuritypolicyviolation;
 #endif
 
 #if defined(ENABLE_TOUCH_EVENTS) && ENABLE_TOUCH_EVENTS
@@ -361,11 +365,13 @@
 #endif
 
 #if defined(ENABLE_CUSTOM_ELEMENTS) && ENABLE_CUSTOM_ELEMENTS
-    [V8EnabledAtRuntime=customDOMElements, Conditional=CUSTOM_ELEMENTS, ImplementedAs=registerElement, CallWith=ScriptState]
+    [V8EnabledAtRuntime=customDOMElements, Conditional=CUSTOM_ELEMENTS, ImplementedAs=registerElement, CallWith=ScriptState, V8DeliverCustomElementCallbacks]
     CustomElementConstructor webkitRegister(in DOMString name, in [Optional] Dictionary options) raises(DOMException);
-    [ReturnNewObject] Element createElement(in DOMString localName, in [TreatNullAs=NullString] DOMString typeExtension) raises (DOMException);
-    [ReturnNewObject] Element createElementNS(in [TreatNullAs=NullString] DOMString namespaceURI, in DOMString qualifiedName,
-                                              in [TreatNullAs=NullString] DOMString typeExtension) raises (DOMException);
+    [ReturnNewObject, V8DeliverCustomElementCallbacks, V8PerWorldBindings]
+    Element createElement(in DOMString localName, in [TreatNullAs=NullString] DOMString typeExtension) raises (DOMException);
+    [ReturnNewObject, V8DeliverCustomElementCallbacks]
+    Element createElementNS(in [TreatNullAs=NullString] DOMString namespaceURI, in DOMString qualifiedName,
+                            in [TreatNullAs=NullString] DOMString typeExtension) raises (DOMException);
 #endif
 
 #if defined(LANGUAGE_CPP) && LANGUAGE_CPP
diff --git a/dom/Element.idl b/dom/Element.idl
index faa73a8..38806da 100644
--- a/dom/Element.idl
+++ b/dom/Element.idl
@@ -27,7 +27,7 @@
 
     // DOM Level 1 Core
 
-    [TreatReturnedNullStringAs=Null] readonly attribute DOMString tagName;
+    [TreatReturnedNullStringAs=Null, V8PerWorldBindings] readonly attribute DOMString tagName;
 
     [TreatReturnedNullStringAs=Null] DOMString getAttribute(in [Optional=DefaultIsUndefined] DOMString name);
     [ObjCLegacyUnnamedParameters] void setAttribute(in [Optional=DefaultIsUndefined] DOMString name,
@@ -39,11 +39,11 @@
         raises(DOMException);
     Attr removeAttributeNode(in [Optional=DefaultIsUndefined] Attr oldAttr)
         raises(DOMException);
-    NodeList getElementsByTagName(in [Optional=DefaultIsUndefined] DOMString name);
+    [V8PerWorldBindings] NodeList getElementsByTagName(in [Optional=DefaultIsUndefined] DOMString name);
 
 #if !defined(LANGUAGE_OBJECTIVE_C)
     // For ObjC this is defined on Node for legacy support.
-    readonly attribute NamedNodeMap     attributes;
+    [V8PerWorldBindings] readonly attribute NamedNodeMap     attributes;
     boolean            hasAttributes();
 #endif
 
@@ -67,23 +67,23 @@
     [ObjCLegacyUnnamedParameters] boolean hasAttributeNS(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString namespaceURI,
                                           in [Optional=DefaultIsUndefined] DOMString localName);
 
-    readonly attribute CSSStyleDeclaration style;
+    [V8PerWorldBindings] readonly attribute CSSStyleDeclaration style;
 
     // Common extensions
 
-    readonly attribute long offsetLeft;
-    readonly attribute long offsetTop;
-    readonly attribute long offsetWidth;
-    readonly attribute long offsetHeight;
-    readonly attribute Element offsetParent;
-    readonly attribute long clientLeft;
-    readonly attribute long clientTop;
-    readonly attribute long clientWidth;
-    readonly attribute long clientHeight;
-             attribute long scrollLeft;
-             attribute long scrollTop;
-    readonly attribute long scrollWidth;
-    readonly attribute long scrollHeight;
+    [V8PerWorldBindings] readonly attribute long offsetLeft;
+    [V8PerWorldBindings] readonly attribute long offsetTop;
+    [V8PerWorldBindings] readonly attribute long offsetWidth;
+    [V8PerWorldBindings] readonly attribute long offsetHeight;
+    [ImplementedAs=bindingsOffsetParent, V8PerWorldBindings] readonly attribute Element offsetParent;
+    [V8PerWorldBindings] readonly attribute long clientLeft;
+    [V8PerWorldBindings] readonly attribute long clientTop;
+    [V8PerWorldBindings] readonly attribute long clientWidth;
+    [V8PerWorldBindings] readonly attribute long clientHeight;
+             [V8PerWorldBindings] attribute long scrollLeft;
+             [V8PerWorldBindings] attribute long scrollTop;
+    [V8PerWorldBindings] readonly attribute long scrollWidth;
+    [V8PerWorldBindings] readonly attribute long scrollHeight;
 
     void focus();
     void blur();
@@ -98,11 +98,11 @@
     // HTML 5
     NodeList getElementsByClassName(in [Optional=DefaultIsUndefined] DOMString name);
 
-    [Reflect=class] attribute DOMString className;
-    readonly attribute DOMTokenList classList;
+    [Reflect=class, V8PerWorldBindings] attribute DOMString className;
+    [V8PerWorldBindings] readonly attribute DOMTokenList classList;
 
 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
-    readonly attribute DOMStringMap dataset;
+    [V8PerWorldBindings] readonly attribute DOMStringMap dataset;
 #endif
 
     // NodeSelector - Selector API
@@ -116,17 +116,18 @@
         raises(DOMException);
 
     // ElementTraversal API
-    readonly attribute Element firstElementChild;
-    readonly attribute Element lastElementChild;
-    readonly attribute Element previousElementSibling;
-    readonly attribute Element nextElementSibling;
-    readonly attribute unsigned long childElementCount;
+    [V8PerWorldBindings] readonly attribute Element firstElementChild;
+    [V8PerWorldBindings] readonly attribute Element lastElementChild;
+    [V8PerWorldBindings] readonly attribute Element previousElementSibling;
+    [V8PerWorldBindings] readonly attribute Element nextElementSibling;
+    [V8PerWorldBindings] readonly attribute unsigned long childElementCount;
 
     // ShadowAware API
 #if defined(ENABLE_SHADOW_DOM) && ENABLE_SHADOW_DOM && defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
-    [Reflect=pseudo, V8EnabledAtRuntime=shadowDOM, ImplementedAs=pseudo] attribute DOMString webkitPseudo;
+    [Reflect=pseudo, V8EnabledAtRuntime=shadowDOM, ImplementedAs=pseudo, V8PerWorldBindings] attribute DOMString webkitPseudo;
     [V8EnabledAtRuntime=shadowDOM, ImplementedAs=createShadowRoot] ShadowRoot webkitCreateShadowRoot() raises(DOMException);
-    [V8EnabledAtRuntime=shadowDOM, ImplementedAs=shadowRoot] readonly attribute ShadowRoot webkitShadowRoot;
+    [V8EnabledAtRuntime=shadowDOM, ImplementedAs=shadowRoot, V8PerWorldBindings] readonly attribute ShadowRoot webkitShadowRoot;
+    [V8EnabledAtRuntime=shadowDOM, ImplementedAs=insertionParentForBinding, V8PerWorldBindings] readonly attribute Node webkitInsertionParent;
 #endif
 
     // DOM 4
@@ -141,7 +142,7 @@
 
 #if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
     // Objective-C extensions
-    readonly attribute DOMString innerText;
+    [V8PerWorldBindings] readonly attribute DOMString innerText;
 #endif
 
 #if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API
@@ -156,41 +157,41 @@
     [Conditional=POINTER_LOCK] void webkitRequestPointerLock();
 
     // CSS Regions API
-    [Conditional=CSS_REGIONS, V8EnabledAtRuntime=cssRegions] readonly attribute DOMString webkitRegionOverset;
+    [Conditional=CSS_REGIONS, V8EnabledAtRuntime=cssRegions, V8PerWorldBindings] readonly attribute DOMString webkitRegionOverset;
     [Conditional=CSS_REGIONS, V8EnabledAtRuntime=cssRegions] sequence<Range> webkitGetRegionFlowRanges();
 
 #if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
     // Event handler DOM attributes
-    [NotEnumerable] attribute EventListener onabort;
-    [NotEnumerable] attribute EventListener onblur;
-    [NotEnumerable] attribute EventListener onchange;
-    [NotEnumerable] attribute EventListener onclick;
-    [NotEnumerable] attribute EventListener oncontextmenu;
-    [NotEnumerable] attribute EventListener ondblclick;
-    [NotEnumerable] attribute EventListener ondrag;
-    [NotEnumerable] attribute EventListener ondragend;
-    [NotEnumerable] attribute EventListener ondragenter;
-    [NotEnumerable] attribute EventListener ondragleave;
-    [NotEnumerable] attribute EventListener ondragover;
-    [NotEnumerable] attribute EventListener ondragstart;
-    [NotEnumerable] attribute EventListener ondrop;
-    [NotEnumerable] attribute EventListener onerror;
-    [NotEnumerable] attribute EventListener onfocus;
-    [NotEnumerable] attribute EventListener oninput;
-    [NotEnumerable] attribute EventListener oninvalid;
-    [NotEnumerable] attribute EventListener onkeydown;
-    [NotEnumerable] attribute EventListener onkeypress;
-    [NotEnumerable] attribute EventListener onkeyup;
-    [NotEnumerable] attribute EventListener onload;
-    [NotEnumerable] attribute EventListener onmousedown;
-    [NotEnumerable] attribute EventListener onmousemove;
-    [NotEnumerable] attribute EventListener onmouseout;
-    [NotEnumerable] attribute EventListener onmouseover;
-    [NotEnumerable] attribute EventListener onmouseup;
-    [NotEnumerable] attribute EventListener onmousewheel;
-    [NotEnumerable] attribute EventListener onscroll;
-    [NotEnumerable] attribute EventListener onselect;
-    [NotEnumerable] attribute EventListener onsubmit;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onabort;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onblur;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onchange;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onclick;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener oncontextmenu;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener ondblclick;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener ondrag;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener ondragend;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener ondragenter;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener ondragleave;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener ondragover;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener ondragstart;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener ondrop;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onerror;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onfocus;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener oninput;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener oninvalid;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onkeydown;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onkeypress;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onkeyup;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onload;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onmousedown;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onmousemove;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onmouseout;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onmouseover;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onmouseup;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onmousewheel;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onscroll;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onselect;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onsubmit;
 
     // attribute [NotEnumerable] EventListener oncanplay;
     // attribute [NotEnumerable] EventListener oncanplaythrough;
@@ -216,21 +217,21 @@
     // attribute [NotEnumerable] EventListener onwaiting;
 
     // WebKit extensions
-    [NotEnumerable] attribute EventListener onbeforecut;
-    [NotEnumerable] attribute EventListener oncut;
-    [NotEnumerable] attribute EventListener onbeforecopy;
-    [NotEnumerable] attribute EventListener oncopy;
-    [NotEnumerable] attribute EventListener onbeforepaste;
-    [NotEnumerable] attribute EventListener onpaste;
-    [NotEnumerable] attribute EventListener onreset;
-    [NotEnumerable] attribute EventListener onsearch;
-    [NotEnumerable] attribute EventListener onselectstart;
-    [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch] attribute EventListener ontouchstart;
-    [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch] attribute EventListener ontouchmove;
-    [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch] attribute EventListener ontouchend;
-    [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch] attribute EventListener ontouchcancel;
-    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventListener onwebkitfullscreenchange;
-    [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventListener onwebkitfullscreenerror;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onbeforecut;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener oncut;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onbeforecopy;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener oncopy;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onbeforepaste;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onpaste;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onreset;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onsearch;
+    [NotEnumerable, V8PerWorldBindings] attribute EventListener onselectstart;
+    [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch, V8PerWorldBindings] attribute EventListener ontouchstart;
+    [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch, V8PerWorldBindings] attribute EventListener ontouchmove;
+    [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch, V8PerWorldBindings] attribute EventListener ontouchend;
+    [NotEnumerable,Conditional=TOUCH_EVENTS,V8EnabledAtRuntime=touch, V8PerWorldBindings] attribute EventListener ontouchcancel;
+    [NotEnumerable, Conditional=FULLSCREEN_API, V8PerWorldBindings] attribute EventListener onwebkitfullscreenchange;
+    [NotEnumerable, Conditional=FULLSCREEN_API, V8PerWorldBindings] attribute EventListener onwebkitfullscreenerror;
 #endif
 };
 
diff --git a/dom/Node.idl b/dom/Node.idl
index 5ee3b07..5ddfbec 100644
--- a/dom/Node.idl
+++ b/dom/Node.idl
@@ -49,33 +49,34 @@
     const unsigned short      DOCUMENT_FRAGMENT_NODE         = 11;
     const unsigned short      NOTATION_NODE                  = 12;
 
-    readonly attribute [TreatReturnedNullStringAs=Null] DOMString        nodeName;
+    readonly attribute [TreatReturnedNullStringAs=Null, V8PerWorldBindings] DOMString        nodeName;
 
              // FIXME: the spec says this can also raise on retrieval.
-             attribute [TreatReturnedNullStringAs=Null, TreatNullAs=NullString] DOMString        nodeValue
+             attribute [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, V8PerWorldBindings] DOMString        nodeValue
                  setter raises(DOMException);
 
-    readonly attribute unsigned short   nodeType;
-    readonly attribute Node             parentNode;
-    readonly attribute NodeList         childNodes;
-    readonly attribute Node             firstChild;
-    readonly attribute Node             lastChild;
-    readonly attribute Node             previousSibling;
-    readonly attribute Node             nextSibling;
-    readonly attribute Document         ownerDocument;
+    readonly attribute [V8PerWorldBindings] unsigned short   nodeType;
+    readonly attribute [V8PerWorldBindings] Node             parentNode;
+    readonly attribute [V8PerWorldBindings] NodeList         childNodes;
+    readonly attribute [V8PerWorldBindings] Node             firstChild;
+    readonly attribute [V8PerWorldBindings] Node             lastChild;
+    readonly attribute [V8PerWorldBindings] Node             previousSibling;
+    readonly attribute [V8PerWorldBindings] Node             nextSibling;
+    readonly attribute [V8PerWorldBindings] Document         ownerDocument;
 
-    [ObjCLegacyUnnamedParameters, Custom] Node insertBefore(in [CustomReturn] Node newChild,
+    [ObjCLegacyUnnamedParameters, Custom, V8PerWorldBindings] Node insertBefore(in [CustomReturn] Node newChild,
                                                             in Node refChild)
         raises(DOMException);
     [ObjCLegacyUnnamedParameters, Custom] Node replaceChild(in Node newChild,
                                                             in [CustomReturn] Node oldChild)
         raises(DOMException);
-    [Custom] Node               removeChild(in [CustomReturn] Node oldChild)
+    [Custom, V8PerWorldBindings] Node removeChild(in [CustomReturn] Node oldChild)
         raises(DOMException);
-    [Custom] Node               appendChild(in [CustomReturn] Node newChild)
+    [Custom, V8PerWorldBindings] Node appendChild(in [CustomReturn] Node newChild)
         raises(DOMException);
 
     boolean            hasChildNodes();
+    [V8DeliverCustomElementCallbacks, V8PerWorldBindings]
     Node               cloneNode(in [Optional=DefaultIsUndefined] boolean deep);
     void               normalize();
 
@@ -84,23 +85,23 @@
     [ObjCLegacyUnnamedParameters] boolean isSupported(in [Optional=DefaultIsUndefined] DOMString feature, 
                                        in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString version);
 
-    readonly attribute [TreatReturnedNullStringAs=Null] DOMString        namespaceURI;
-             attribute [TreatReturnedNullStringAs=Null, TreatNullAs=NullString] DOMString        prefix
+    readonly attribute [TreatReturnedNullStringAs=Null, V8PerWorldBindings] DOMString        namespaceURI;
+             attribute [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, V8PerWorldBindings] DOMString        prefix
                  setter raises(DOMException);
-    readonly attribute [TreatReturnedNullStringAs=Null] DOMString        localName;
+    readonly attribute [TreatReturnedNullStringAs=Null, V8PerWorldBindings] DOMString        localName;
 
 #if defined(LANGUAGE_OBJECTIVE_C)
-    readonly attribute NamedNodeMap     attributes;
+    readonly attribute [V8PerWorldBindings] NamedNodeMap     attributes;
     boolean            hasAttributes();
 #endif
 
 
     // Introduced in DOM Level 3:
 
-    readonly attribute [TreatReturnedNullStringAs=Null] DOMString       baseURI;
+    readonly attribute [TreatReturnedNullStringAs=Null, V8PerWorldBindings] DOMString       baseURI;
 
              // FIXME: the spec says this can also raise on retrieval.
-             attribute [TreatReturnedNullStringAs=Null, TreatNullAs=NullString] DOMString       textContent
+             attribute [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, V8PerWorldBindings] DOMString       textContent
                  setter raises(DOMException);
 
     boolean            isSameNode(in [Optional=DefaultIsUndefined] Node other);
@@ -123,11 +124,11 @@
     boolean contains(in [Optional=DefaultIsUndefined] Node other);
 
     // IE extensions
-    readonly attribute Element          parentElement;
+    readonly attribute [V8PerWorldBindings] Element          parentElement;
 
 #if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
     // Objective-C extensions
-    readonly attribute boolean          isContentEditable;
+    readonly attribute [V8PerWorldBindings] boolean          isContentEditable;
 
     void inspect();
 #endif /* defined(LANGUAGE_OBJECTIVE_C) */
diff --git a/dom/SecurityPolicyViolationEvent.idl b/dom/SecurityPolicyViolationEvent.idl
new file mode 100644
index 0000000..435707f
--- /dev/null
+++ b/dom/SecurityPolicyViolationEvent.idl
@@ -0,0 +1,37 @@
+/*
+ * 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:
+ * 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 INC. AND ITS 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 APPLE INC. OR ITS 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.
+ */
+
+[
+    Conditional=CSP_NEXT,
+    ConstructorTemplate=Event,
+] interface SecurityPolicyViolationEvent : Event {
+    [InitializedByEventConstructor] readonly attribute DOMString documentURI;
+    [InitializedByEventConstructor] readonly attribute DOMString referrer;
+    [InitializedByEventConstructor] readonly attribute DOMString blockedURI;
+    [InitializedByEventConstructor] readonly attribute DOMString violatedDirective;
+    [InitializedByEventConstructor] readonly attribute DOMString effectiveDirective;
+    [InitializedByEventConstructor] readonly attribute DOMString originalPolicy;
+    [InitializedByEventConstructor] readonly attribute DOMString sourceFile;
+    [InitializedByEventConstructor] readonly attribute long      lineNumber;
+};
diff --git a/dom/ShadowRoot.idl b/dom/ShadowRoot.idl
index a39ca92..5b35e9f 100644
--- a/dom/ShadowRoot.idl
+++ b/dom/ShadowRoot.idl
@@ -32,8 +32,8 @@
     attribute boolean applyAuthorStyles;
     attribute boolean resetStyleInheritance;
 
-    [TreatNullAs=NullString] attribute DOMString innerHTML
-        setter raises(DOMException);
+    [TreatNullAs=NullString, V8DeliverCustomElementCallbacks]
+    attribute DOMString innerHTML setter raises(DOMException);
 
 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
     Node cloneNode(in [Optional=DefaultIsUndefined] boolean deep) raises(DOMException);
diff --git a/dom/Text.idl b/dom/Text.idl
index da243fc..b8e602b 100644
--- a/dom/Text.idl
+++ b/dom/Text.idl
@@ -16,8 +16,9 @@
  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  * Boston, MA 02110-1301, USA.
  */
-
-interface Text : CharacterData {
+[ 
+    V8SkipVTableValidation,
+] interface Text : CharacterData {
 
     // DOM Level 1
 
@@ -28,5 +29,10 @@
     readonly attribute DOMString       wholeText;
     Text               replaceWholeText(in [Optional=DefaultIsUndefined] DOMString content)
                                         raises(DOMException);
+    // ShadowAware API
+#if defined(ENABLE_SHADOW_DOM) && ENABLE_SHADOW_DOM && defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
+    [V8EnabledAtRuntime=shadowDOM, ImplementedAs=insertionParentForBinding, V8PerWorldBindings] readonly attribute Node webkitInsertionParent;
+#endif
+
 };
 
diff --git a/html/HTMLElement.idl b/html/HTMLElement.idl
index bc639b8..8ca3908 100644
--- a/html/HTMLElement.idl
+++ b/html/HTMLElement.idl
@@ -39,7 +39,7 @@
              [Reflect] attribute DOMString accessKey;
 
     // Extensions
-             [TreatNullAs=NullString] attribute DOMString innerHTML
+             [TreatNullAs=NullString, V8DeliverCustomElementCallbacks] attribute DOMString innerHTML
                  setter raises(DOMException);
              [TreatNullAs=NullString] attribute DOMString innerText
                  setter raises(DOMException);
diff --git a/Modules/webaudio/AudioGain.idl b/html/canvas/WebGLCompressedTexturePVRTC.idl
similarity index 71%
rename from Modules/webaudio/AudioGain.idl
rename to html/canvas/WebGLCompressedTexturePVRTC.idl
index 8da7729..7494877 100644
--- a/Modules/webaudio/AudioGain.idl
+++ b/html/canvas/WebGLCompressedTexturePVRTC.idl
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010 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
@@ -10,9 +10,6 @@
  * 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 Apple Computer, Inc. ("Apple") 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 APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -27,7 +24,14 @@
  */
 
 [
-    Conditional=WEB_AUDIO,
-    JSGenerateToJSObject
-] interface AudioGain : AudioParam {
+    Conditional=WEBGL,
+    JSGenerateIsReachable=ImplContext,
+    OmitConstructor,
+    DoNotCheckConstants
+] interface WebGLCompressedTexturePVRTC {
+    /* Compressed Texture Formats */
+    const unsigned int COMPRESSED_RGB_PVRTC_4BPPV1_IMG  = 0x8C00;
+    const unsigned int COMPRESSED_RGB_PVRTC_2BPPV1_IMG  = 0x8C01;
+    const unsigned int COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02;
+    const unsigned int COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03;
 };
diff --git a/html/shadow/HTMLContentElement.idl b/html/shadow/HTMLContentElement.idl
index b286c48..c6bb613 100644
--- a/html/shadow/HTMLContentElement.idl
+++ b/html/shadow/HTMLContentElement.idl
@@ -26,7 +26,8 @@
 
 [
     Conditional=SHADOW_DOM,
-    V8EnabledAtRuntime=shadowDOM
+    V8EnabledAtRuntime=shadowDOM,
+    V8SkipVTableValidation
 ] interface HTMLContentElement : HTMLElement {
     [Reflect] attribute DOMString select;
     attribute boolean resetStyleInheritance;
diff --git a/html/track/TextTrack.idl b/html/track/TextTrack.idl
index 75da6b3..da355e2 100644
--- a/html/track/TextTrack.idl
+++ b/html/track/TextTrack.idl
@@ -45,6 +45,13 @@
     void removeCue(in TextTrackCue cue)
         raises (DOMException);
 
+#if defined(ENABLE_WEBVTT_REGIONS) && ENABLE_WEBVTT_REGIONS
+    readonly attribute TextTrackRegionList regions;
+    void addRegion(in TextTrackRegion region);
+    void removeRegion(in TextTrackRegion region)
+        raises (DOMException);
+#endif
+
     // EventTarget interface
     void addEventListener(in DOMString type, 
                           in EventListener listener, 
diff --git a/page/Coordinates.idl b/html/track/TextTrackRegionList.idl
similarity index 68%
copy from page/Coordinates.idl
copy to html/track/TextTrackRegionList.idl
index dc64a60..3dca629 100644
--- a/page/Coordinates.idl
+++ b/html/track/TextTrackRegionList.idl
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009 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
@@ -10,10 +10,10 @@
  *    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 INC. ``AS IS'' AND ANY
+ * 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 INC. OR
+ * 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
@@ -24,14 +24,13 @@
  */
 
 [
-    OmitConstructor,
+    Conditional=VIDEO_TRACK & WEBVTT_REGIONS,
+    V8EnabledAtRuntime=webkitVideoTrack,
+    IndexedGetter,
     ImplementationLacksVTable
-] interface Coordinates {
-    readonly attribute double latitude;
-    readonly attribute double longitude;
-    [Custom] readonly attribute double altitude;
-    readonly attribute double accuracy;
-    [Custom] readonly attribute double altitudeAccuracy;
-    [Custom] readonly attribute double heading;
-    [Custom] readonly attribute double speed;
+] interface TextTrackRegionList {
+    readonly attribute unsigned long length;
+    TextTrackRegion item(in unsigned long index);
+    TextTrackRegion getRegionById(in DOMString id);
 };
+
diff --git a/inspector/InjectedScriptHost.idl b/inspector/InjectedScriptHost.idl
index bec3485..6880f6f 100644
--- a/inspector/InjectedScriptHost.idl
+++ b/inspector/InjectedScriptHost.idl
@@ -46,9 +46,18 @@
     [Custom] Array getInternalProperties(in any object);
     [Custom] Array getEventListeners(in Node node);
 
+    // FIXME: Remove evaluateReturnsEvalFunction once InjectedScriptHost returns eval in evaluate on V8. https://webkit.org/b/113134
+    readonly attribute boolean evaluateReturnsEvalFunction;
+
+#if defined(V8_BINDING) && V8_BINDING
+    [Custom] any evaluate(in DOMString text);
+#else
+    [Custom] readonly attribute any evaluate;
+#endif
+
     [Custom] DOMString databaseId(in any database);
     [Custom] DOMString storageId(in any storage);
-    [Custom] any evaluate(in DOMString text);
+
     // Only declarative scope (local, with and catch) is accepted. Returns undefined. 
     [Custom] any setFunctionVariableValue(in any functionObject, in int scopeIndex, in DOMString variableName, any newValue);
 };
diff --git a/inspector/Inspector.json b/inspector/Inspector.json
index 9cfe6a6..82e1035 100644
--- a/inspector/Inspector.json
+++ b/inspector/Inspector.json
@@ -35,6 +35,10 @@
                 "parameters": [
                     { "name": "reason", "type": "string", "description": "The reason why connection has been terminated." }
                 ]
+            },
+            {
+                "name": "targetCrashed",
+                "description": "Fired when debugging target has crashed"
             }
         ]
     },
@@ -382,14 +386,16 @@
                 "description": "Determines if scripts can be executed in the page.",
                 "returns": [
                     { "name": "result", "type": "string", "enum": ["allowed", "disabled", "forbidden"], "description": "Script execution status: \"allowed\" if scripts can be executed, \"disabled\" if script execution has been disabled through page settings, \"forbidden\" if script execution for the given page is not possible for other reasons." }
-                ]
+                ],
+                "hidden": true
             },
             {
                 "name": "setScriptExecutionDisabled",
                 "description": "Switches script execution in the page.",
                 "parameters": [
                     { "name": "value", "type": "boolean", "description": "Whether script execution should be disabled in the page." }
-                ]
+                ],
+                "hidden": true
             },
             {
                 "name": "setGeolocationOverride",
@@ -398,13 +404,11 @@
                     { "name": "latitude", "type": "number", "optional": true, "description": "Mock longitude"},
                     { "name": "longitude", "type": "number", "optional": true, "description": "Mock latitude"},
                     { "name": "accuracy", "type": "number", "optional": true, "description": "Mock accuracy"}
-                ],
-                "hidden": true
+                ]
             },
             {
                 "name": "clearGeolocationOverride",
-                "description": "Clears the overriden Geolocation Position and Error.",
-                "hidden": true
+                "description": "Clears the overriden Geolocation Position and Error."
             },
             {
                 "name": "canOverrideGeolocation",
@@ -474,14 +478,14 @@
                 "description": "Capture page screenshot.",
                 "returns": [
                     { "name": "data", "type": "string", "description": "Base64-encoded image data (PNG)." }
-                ],
-                "hidden": true
+                ]
             },
             {
                 "name": "handleJavaScriptDialog",
                 "description": "Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).",
                 "parameters": [
-                    { "name": "accept", "type": "boolean", "description": "Whether to accept or dismiss the dialog." }
+                    { "name": "accept", "type": "boolean", "description": "Whether to accept or dismiss the dialog." },
+                    { "name": "promptText", "type": "string", "optional": "true", "description": "The text to enter into the dialog prompt before accepting. Used only if this is a prompt dialog." }
                 ],
                 "hidden": true
             }
@@ -630,7 +634,7 @@
                     { "name": "configurable", "type": "boolean", "description": "True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object." },
                     { "name": "enumerable", "type": "boolean", "description": "True if this property shows up during enumeration of the properties on the corresponding object." },
                     { "name": "wasThrown", "type": "boolean", "optional": true, "description": "True if the result was thrown during the evaluation." },
-                    { "name": "isOwn", "optional": true, "type": "boolean", "description": "True if the property is owned for the object." }
+                    { "name": "isOwn", "optional": true, "type": "boolean", "description": "True if the property is owned for the object.", "hidden": true }
 
                 ]
             },
@@ -641,7 +645,8 @@
                 "properties": [
                     { "name": "name", "type": "string", "description": "Conventional property name." },
                     { "name": "value", "$ref": "RemoteObject", "optional": true, "description": "The value associated with the property." }
-                ]
+                ],
+                "hidden": true
             },
             {
                 "id": "CallArgument",
@@ -655,8 +660,7 @@
             {
                 "id": "ExecutionContextId",
                 "type": "integer",
-                "description": "Id of an execution context.",
-                "hidden": true
+                "description": "Id of an execution context."
             },
             {
                 "id": "ExecutionContextDescription",
@@ -664,11 +668,10 @@
                 "description": "Description of an isolated world.",
                 "properties": [
                     { "name": "id", "$ref": "ExecutionContextId", "description": "Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed." },
-                    { "name": "isPageContext", "type": "boolean", "description": "True if this is a context where inpspected web page scripts run. False if it is a content script isolated context." },
-                    { "name": "name", "type": "string", "description": "Human readable name describing given context." },
+                    { "name": "isPageContext", "type": "boolean", "description": "True if this is a context where inpspected web page scripts run. False if it is a content script isolated context.", "hidden": true },
+                    { "name": "name", "type": "string", "description": "Human readable name describing given context.", "hidden": true},
                     { "name": "frameId", "$ref": "Network.FrameId", "description": "Id of the owning frame." }
-                ],
-                "hidden": true
+                ]
             }
 
         ],
@@ -680,7 +683,7 @@
                     { "name": "objectGroup", "type": "string", "optional": true, "description": "Symbolic group name that can be used to release multiple objects." },
                     { "name": "includeCommandLineAPI", "type": "boolean", "optional": true, "description": "Determines whether Command Line API should be available during the evaluation.", "hidden": true },
                     { "name": "doNotPauseOnExceptionsAndMuteConsole", "type": "boolean", "optional": true, "description": "Specifies whether evaluation should stop on exceptions and mute console. Overrides setPauseOnException state.", "hidden": true },
-                    { "name": "contextId", "$ref": "Runtime.ExecutionContextId", "optional": true, "description": "Specifies in which isolated context to perform evaluation. Each content script lives in an isolated context and this parameter may be used to specify one of those contexts. If the parameter is omitted or 0 the evaluation will be performed in the context of the inspected page.", "hidden": true },
+                    { "name": "contextId", "$ref": "Runtime.ExecutionContextId", "optional": true, "description": "Specifies in which isolated context to perform evaluation. Each content script lives in an isolated context and this parameter may be used to specify one of those contexts. If the parameter is omitted or 0 the evaluation will be performed in the context of the inspected page." },
                     { "name": "returnByValue", "type": "boolean", "optional": true, "description": "Whether the result is expected to be a JSON object that should be sent by value." },
                     { "name": "generatePreview", "type": "boolean", "optional": true, "hidden": true, "description": "Whether preview should be generated for the result." }
                 ],
@@ -714,7 +717,7 @@
                 ],
                 "returns": [
                     { "name": "result", "type": "array", "items": { "$ref": "PropertyDescriptor"}, "description": "Object properties." },
-                    { "name": "internalProperties", "optional": true, "type": "array", "items": { "$ref": "InternalPropertyDescriptor"}, "description": "Internal object properties." }
+                    { "name": "internalProperties", "optional": true, "type": "array", "items": { "$ref": "InternalPropertyDescriptor"}, "description": "Internal object properties.", "hidden": true }
                 ],
                 "description": "Returns properties of a given object. Object group of the result is inherited from the target object."
             },
@@ -739,7 +742,6 @@
             },
             {
                 "name": "enable",
-                "hidden": true,
                 "description": "Enables reporting of execution contexts creation by means of <code>executionContextCreated</code> event. When the reporting gets enabled the event will be sent immediately for each existing execution context."
             },
             {
@@ -754,7 +756,6 @@
                 "parameters": [
                     { "name": "context", "$ref": "ExecutionContextDescription", "description": "A newly created execution contex." }
                 ],
-                "hidden": true,
                 "description": "Issued when new execution context is created."
             }
         ]
@@ -831,7 +832,8 @@
                 "name": "addInspectedHeapObject",
                 "parameters": [
                     { "name": "heapObjectId", "type": "integer" }
-                ]
+                ],
+                "hidden": true
             }
         ],
         "events": [
@@ -1408,6 +1410,18 @@
                     { "name": "hasMore", "type": "boolean", "description": "If true, there are more entries to fetch in the given range." }
                 ],
                 "description": "Requests data from object store or index."
+            },
+            {
+                "name": "clearObjectStore",
+                "async": true,
+                "parameters": [
+                    { "name": "securityOrigin", "type": "string", "description": "Security origin." },
+                    { "name": "databaseName", "type": "string", "description": "Database name." },
+                    { "name": "objectStoreName", "type": "string", "description": "Object store name." }
+                ],
+                "returns": [
+                ],
+                "description": "Clears all entries from an object store."
             }
         ]
     },
@@ -1713,17 +1727,17 @@
                     { "name": "children", "type": "array", "optional": true, "items": { "$ref": "Node" }, "description": "Child nodes of this node when requested with children." },
                     { "name": "attributes", "type": "array", "optional": true, "items": { "type": "string" }, "description": "Attributes of the <code>Element</code> node in the form of flat array <code>[name1, value1, name2, value2]</code>." },
                     { "name": "documentURL", "type": "string", "optional": true, "description": "Document URL that <code>Document</code> or <code>FrameOwner</code> node points to." },
-                    { "name": "baseURL", "type": "string", "optional": true, "description": "Base URL that <code>Document</code> or <code>FrameOwner</code> node uses for URL completion." },
+                    { "name": "baseURL", "type": "string", "optional": true, "description": "Base URL that <code>Document</code> or <code>FrameOwner</code> node uses for URL completion.", "hidden": true },
                     { "name": "publicId", "type": "string", "optional": true, "description": "<code>DocumentType</code>'s publicId." },
                     { "name": "systemId", "type": "string", "optional": true, "description": "<code>DocumentType</code>'s systemId." },
                     { "name": "internalSubset", "type": "string", "optional": true, "description": "<code>DocumentType</code>'s internalSubset." },
                     { "name": "xmlVersion", "type": "string", "optional": true, "description": "<code>Document</code>'s XML version in case of XML documents." },
                     { "name": "name", "type": "string", "optional": true, "description": "<code>Attr</code>'s name." },
                     { "name": "value", "type": "string", "optional": true, "description": "<code>Attr</code>'s value." },
-                    { "name": "frameId", "$ref": "Network.FrameId", "optional": true, "description": "Frame ID for frame owner elements." },
+                    { "name": "frameId", "$ref": "Network.FrameId", "optional": true, "description": "Frame ID for frame owner elements.", "hidden": true },
                     { "name": "contentDocument", "$ref": "Node", "optional": true, "description": "Content document for frame owner elements." },
-                    { "name": "shadowRoots", "type": "array", "optional": true, "items": { "$ref": "Node" }, "description": "Shadow root list for given element host." },
-                    { "name": "templateContent", "$ref": "Node", "optional": true, "description": "Content document fragment for template elements" }
+                    { "name": "shadowRoots", "type": "array", "optional": true, "items": { "$ref": "Node" }, "description": "Shadow root list for given element host.", "hidden": true },
+                    { "name": "templateContent", "$ref": "Node", "optional": true, "description": "Content document fragment for template elements", "hidden": true }
                 ],
                 "description": "DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes. DOMNode is a base node mirror type."
             },
@@ -1779,7 +1793,7 @@
                 "name": "requestChildNodes",
                 "parameters": [
                     { "name": "nodeId", "$ref": "NodeId", "description": "Id of the node to get children for." },
-                    { "name": "depth", "type": "integer", "optional": true, "description": "The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the entire subtree or provide an integer larger than 0." }
+                    { "name": "depth", "type": "integer", "optional": true, "description": "The maximum depth at which children should be retrieved, defaults to 1. Use -1 for the entire subtree or provide an integer larger than 0.", "hidden": true }
                 ],
                 "description": "Requests that children of the node with given id are returned to the caller in form of <code>setChildNodes</code> events where not only immediate children are retrieved, but all children down to the specified depth."
             },
@@ -1956,7 +1970,7 @@
                 "parameters": [
                     { "name": "highlightConfig", "$ref": "HighlightConfig",  "description": "A descriptor for the highlight appearance." },
                     { "name": "nodeId", "$ref": "NodeId", "optional": true, "description": "Identifier of the node to highlight." },
-                    { "name": "objectId", "$ref": "Runtime.RemoteObjectId", "optional": true, "description": "JavaScript object id of the node to be highlighted." }
+                    { "name": "objectId", "$ref": "Runtime.RemoteObjectId", "optional": true, "description": "JavaScript object id of the node to be highlighted.", "hidden": true }
                 ],
                 "description": "Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or objectId must be specified."
             },
@@ -2588,7 +2602,7 @@
                 "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." },
+                    { "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." }
                 ],
@@ -2599,7 +2613,10 @@
             {
                 "name": "start",
                 "parameters": [
-                    { "name": "maxCallStackDepth", "optional": true, "type": "integer", "description": "Samples JavaScript stack traces up to <code>maxCallStackDepth</code>, defaults to 5." }
+                    { "name": "maxCallStackDepth", "optional": true, "type": "integer", "description": "Samples JavaScript stack traces up to <code>maxCallStackDepth</code>, defaults to 5." },
+                    { "name": "includeDomCounters", "optional": true, "type": "boolean", "hidden": true, "description": "Whether DOM counters data should be included into timeline events." },
+                    { "name": "includeNativeMemoryStatistics", "optional": true, "type": "boolean", "hidden": true, "description": "Whether native memory usage statistics should be reported as part of timeline events." }
+
                 ],
                 "description": "Starts capturing instrumentation events."
             },
@@ -2608,22 +2625,6 @@
                 "description": "Stops capturing instrumentation events."
             },
             {
-                "name": "setIncludeDomCounters",
-                "parameters": [
-                    { "name": "enabled", "type": "boolean", "description": "Whether DOM counters data should be included into timeline events." }
-                ],
-                "hidden": true,
-                "description": "Controls if DOM counters should be send as part of timeline events."
-            },
-            {
-                "name": "setIncludeNativeMemoryStatistics",
-                "parameters": [
-                    { "name": "enabled", "type": "boolean", "description": "Whether native memory usage statistics should be reported as part of timeline events." }
-                ],
-                "hidden": true,
-                "description": "Controls whether statistics on native memory usage is sent with timeline events."
-            },
-            {
                 "name": "supportsFrameInstrumentation",
                 "returns": [
                     { "name": "result", "type": "boolean", "description": "True if timeline supports frame instrumentation." }
@@ -2962,7 +2963,7 @@
                     { "name": "endColumn", "type": "integer", "description": "Length of the last line of the script." },
                     { "name": "isContentScript", "type": "boolean", "optional": true, "description": "Determines whether this script is a user extension script." },
                     { "name": "sourceMapURL", "type": "string", "optional": true, "description": "URL of source map associated with script (if any)." },
-                    { "name": "hasSourceURL", "type": "boolean", "optional": true, "description": "True, if this script has sourceURL." }
+                    { "name": "hasSourceURL", "type": "boolean", "optional": true, "description": "True, if this script has sourceURL.", "hidden": true }
                 ],
                 "description": "Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger."
             },
@@ -3102,7 +3103,8 @@
                     { "name": "numberOfCalls", "type": "integer", "description": "Number of calls." },
                     { "name": "visible", "type": "boolean", "description": "Visibility." },
                     { "name": "callUID", "type": "number", "description": "Call UID." },
-                    { "name": "children", "type": "array", "items": { "$ref": "CPUProfileNode" }, "description": "Child nodes." }
+                    { "name": "children", "type": "array", "items": { "$ref": "CPUProfileNode" }, "description": "Child nodes." },
+                    { "name": "id", "optional": true, "type": "integer", "description": "Unique id of the node." }
                 ]
             },
             {
@@ -3111,7 +3113,8 @@
                 "description": "Profile.",
                 "properties": [
                     { "name": "head", "$ref": "CPUProfileNode", "optional": true },
-                    { "name": "idleTime", "type": "number", "optional": true }
+                    { "name": "idleTime", "type": "number", "optional": true },
+                    { "name": "samples", "optional": true, "type": "array", "items": { "type": "integer" }, "description": "Ids of samples top nodes." }
                 ]
             },
             {
@@ -3605,7 +3608,6 @@
     },
     {
         "domain": "Input",
-        "hidden": true,
         "types": [],
         "commands": [
             {
diff --git a/inspector/compile-front-end.py b/inspector/compile-front-end.py
index cdc70c9..7e10abc 100755
--- a/inspector/compile-front-end.py
+++ b/inspector/compile-front-end.py
@@ -65,6 +65,7 @@
             "CompilerScriptMapping.js",
             "ConsoleModel.js",
             "ContentProvider.js",
+            "ContentProviderBasedProjectDelegate.js",
             "ContentProviders.js",
             "CookieParser.js",
             "CSSMetadata.js",
@@ -134,6 +135,7 @@
             "HelpScreen.js",
             "InspectorView.js",
             "KeyboardShortcut.js",
+            "OverviewGrid.js",
             "Panel.js",
             "PanelEnablerView.js",
             "Placard.js",
diff --git a/inspector/front-end/ace/LICENSE.txt b/inspector/front-end/ace/LICENSE.txt
new file mode 100644
index 0000000..4760be2
--- /dev/null
+++ b/inspector/front-end/ace/LICENSE.txt
@@ -0,0 +1,24 @@
+Copyright (c) 2010, Ajax.org B.V.
+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 Ajax.org B.V. 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 AJAX.ORG B.V. 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/page/DOMWindow.idl b/page/DOMWindow.idl
index 98374cc..d06afe0 100644
--- a/page/DOMWindow.idl
+++ b/page/DOMWindow.idl
@@ -147,8 +147,8 @@
     readonly attribute StyleMedia styleMedia;
 
     // DOM Level 2 Style Interface
-    CSSStyleDeclaration getComputedStyle(in [Optional=DefaultIsUndefined] Element element,
-                                         in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=DefaultIsUndefined] DOMString pseudoElement);
+    [V8PerWorldBindings] CSSStyleDeclaration getComputedStyle(in [Optional=DefaultIsUndefined] Element element,
+                                                              in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=DefaultIsUndefined] DOMString pseudoElement);
 
     // WebKit extensions
 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
@@ -570,6 +570,7 @@
     [Conditional=WEBGL] attribute WebGLContextEventConstructor WebGLContextEvent;
     [Conditional=PROXIMITY_EVENTS] attribute DeviceProximityEventConstructor DeviceProximityEvent;
     [Conditional=REQUEST_AUTOCOMPLETE] attribute AutocompleteErrorEventConstructor AutocompleteErrorEvent;
+    [Conditional=CSP_NEXT, V8EnabledAtRuntime=experimentalContentSecurityPolicyFeatures] attribute SecurityPolicyViolationEventConstructor SecurityPolicyViolationEvent;
 
     attribute EventExceptionConstructor EventException;
 
diff --git a/testing/Internals.idl b/testing/Internals.idl
index 461afe5..6ed48e4 100644
--- a/testing/Internals.idl
+++ b/testing/Internals.idl
@@ -167,6 +167,7 @@
     boolean hasSpellingMarker(in Document document, in long from, in long length) raises (DOMException);
     boolean hasGrammarMarker(in Document document, in long from, in long length) raises (DOMException);
     boolean hasAutocorrectedMarker(in Document document, in long from, in long length) raises (DOMException);
+    void setContinuousSpellCheckingEnabled(in boolean enabled) raises (DOMException);
 
     unsigned long numberOfScrollableAreas(in Document document) raises (DOMException);