Blink IDL roll.

Review URL: https://codereview.chromium.org//15643014

git-svn-id: http://dart.googlecode.com/svn/third_party/WebCore@23745 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/core/README b/core/README
index 8d6d9a3..f34ed35 100644
--- a/core/README
+++ b/core/README
@@ -6,4 +6,4 @@
 
 The current version corresponds to:
 URL: http://src.chromium.org/multivm/trunk/webkit
-Current revision: 1266
+Current revision: 1278
diff --git a/core/css/CSSStyleDeclaration.idl b/core/css/CSSStyleDeclaration.idl
index 252ddcb..c94f081 100644
--- a/core/css/CSSStyleDeclaration.idl
+++ b/core/css/CSSStyleDeclaration.idl
@@ -20,9 +20,6 @@
 
 // Introduced in DOM Level 2:
 [
-    CustomNamedSetter,
-    CustomNamedGetter,
-    CustomEnumerateProperty,
     DependentLifetime
 ] interface CSSStyleDeclaration {
              [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, SetterRaisesException] attribute DOMString        cssText;
@@ -37,6 +34,8 @@
 
     readonly attribute unsigned long    length;
     getter DOMString          item([Default=Undefined] optional unsigned long index);
+    [Custom, CustomEnumerateProperty] getter (DOMString or float) (DOMString name);
+    [Custom] setter void (DOMString propertyName, [TreatNullAs=NullString] DOMString propertyValue);
     readonly attribute CSSRule          parentRule;
 };
 
diff --git a/core/css/MediaList.idl b/core/css/MediaList.idl
index 29cc41a..1aba7ce 100644
--- a/core/css/MediaList.idl
+++ b/core/css/MediaList.idl
@@ -27,7 +27,7 @@
 [
 ] interface MediaList {
 
-             [TreatNullAs=NullString, TreatReturnedNullStringAs=Null, SetterRaisesException] attribute DOMString mediaText;
+    [TreatNullAs=NullString, TreatReturnedNullStringAs=Null] attribute DOMString mediaText;
     readonly attribute unsigned long length;
 
     [TreatReturnedNullStringAs=Null] getter DOMString item([Default=Undefined] optional unsigned long index);
diff --git a/core/css/StyleSheetList.idl b/core/css/StyleSheetList.idl
index 84224df..390e2c9 100644
--- a/core/css/StyleSheetList.idl
+++ b/core/css/StyleSheetList.idl
@@ -21,9 +21,9 @@
 // Introduced in DOM Level 2:
 [
     GenerateIsReachable=document,
-    CustomNamedGetter
 ] interface StyleSheetList {
     readonly attribute unsigned long    length;
     getter StyleSheet         item([Default=Undefined] optional unsigned long index);
+    [ImplementedAs=anonymousNamedGetter, NotEnumerable] getter CSSStyleSheet (DOMString name);
 };
 
diff --git a/core/dom/DOMNamedFlowCollection.idl b/core/dom/DOMNamedFlowCollection.idl
index 90d2a44..1ec92f4 100644
--- a/core/dom/DOMNamedFlowCollection.idl
+++ b/core/dom/DOMNamedFlowCollection.idl
@@ -34,5 +34,6 @@
 ] interface DOMNamedFlowCollection {
     readonly attribute unsigned long length;
     getter NamedFlow item(unsigned long index);
-    getter NamedFlow namedItem(DOMString name);
+    NamedFlow namedItem(DOMString name);
+    [NotEnumerable, ImplementedAs=namedItem] getter NamedFlow (DOMString name);
 };
diff --git a/core/dom/DOMStringMap.idl b/core/dom/DOMStringMap.idl
index d3e48ab..5b09c33 100644
--- a/core/dom/DOMStringMap.idl
+++ b/core/dom/DOMStringMap.idl
@@ -24,11 +24,10 @@
  */
 
 [
-    GenerateIsReachable=element,
-    CustomDeleteProperty,
-    CustomEnumerateProperty,
-    CustomNamedSetter
+    GenerateIsReachable=element
 ] interface DOMStringMap {
     [ImplementedAs=item, OverrideBuiltins] getter DOMString (DOMString name);
+    [ImplementedAs=anonymousNamedDeleter, RaisesException] deleter boolean (DOMString name);
+    [ImplementedAs=anonymousNamedSetter, RaisesException, OverrideBuiltins] setter DOMString (DOMString name, DOMString value);
 };
 
diff --git a/core/dom/Element.idl b/core/dom/Element.idl
index 831e32c..bec455c 100644
--- a/core/dom/Element.idl
+++ b/core/dom/Element.idl
@@ -110,7 +110,6 @@
     [Reflect=pseudo, ImplementedAs=pseudo, PerWorldBindings] attribute DOMString webkitPseudo;
     [ImplementedAs=createShadowRoot, RaisesException] ShadowRoot webkitCreateShadowRoot();
     [ImplementedAs=shadowRoot, PerWorldBindings] readonly attribute ShadowRoot webkitShadowRoot;
-    [ImplementedAs=insertionParentForBinding, PerWorldBindings] readonly attribute Node webkitInsertionParent;
 
     // ChildNode interface API
     [PerWorldBindings] readonly attribute Element previousElementSibling;
@@ -206,4 +205,3 @@
     [NotEnumerable, PerWorldBindings] attribute EventListener onwebkitfullscreenchange;
     [NotEnumerable, PerWorldBindings] attribute EventListener onwebkitfullscreenerror;
 };
-
diff --git a/core/dom/Event.idl b/core/dom/Event.idl
index c38db7d..680b038 100644
--- a/core/dom/Event.idl
+++ b/core/dom/Event.idl
@@ -72,7 +72,7 @@
              attribute boolean          returnValue;
              attribute boolean          cancelBubble;
 
-    [EnabledAtRuntime=experimentalShadowDOM] NodeList path();
+    [EnabledAtRuntime=experimentalShadowDOM] readonly attribute NodeList path;
 
     [Custom] readonly attribute Clipboard        clipboardData;
 };
diff --git a/core/dom/MessageChannel.idl b/core/dom/MessageChannel.idl
index 07b1a10..f83d729 100644
--- a/core/dom/MessageChannel.idl
+++ b/core/dom/MessageChannel.idl
@@ -25,6 +25,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     Constructor,
     CallWith=ScriptExecutionContext,
     CustomConstructor
diff --git a/core/dom/MessageEvent.idl b/core/dom/MessageEvent.idl
index a279331..66adad2 100644
--- a/core/dom/MessageEvent.idl
+++ b/core/dom/MessageEvent.idl
@@ -26,6 +26,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ConstructorTemplate=Event
 ] interface MessageEvent : Event {
     [InitializedByEventConstructor] readonly attribute DOMString origin;
diff --git a/core/dom/NamedNodeMap.idl b/core/dom/NamedNodeMap.idl
index 0613357..6a8e4e0 100644
--- a/core/dom/NamedNodeMap.idl
+++ b/core/dom/NamedNodeMap.idl
@@ -22,7 +22,8 @@
     GenerateIsReachable=element
 ] interface NamedNodeMap {
 
-    getter Node getNamedItem([Default=Undefined] optional DOMString name);
+    Node getNamedItem([Default=Undefined] optional DOMString name);
+    [NotEnumerable, ImplementedAs=getNamedItem] getter Node ([Default=Undefined] optional DOMString name);
 
     [RaisesException] Node setNamedItem([Default=Undefined] optional Node node);
 
diff --git a/core/dom/NodeIterator.idl b/core/dom/NodeIterator.idl
index b019d76..d25c305 100644
--- a/core/dom/NodeIterator.idl
+++ b/core/dom/NodeIterator.idl
@@ -19,9 +19,7 @@
  */
 
 // Introduced in DOM Level 2:
-[
-    NoInterfaceObject
-] interface NodeIterator {
+interface NodeIterator {
     readonly attribute Node root;
     readonly attribute unsigned long whatToShow;
     readonly attribute NodeFilter filter;
diff --git a/core/dom/NodeList.idl b/core/dom/NodeList.idl
index cc30450..37634f7 100644
--- a/core/dom/NodeList.idl
+++ b/core/dom/NodeList.idl
@@ -24,7 +24,7 @@
 ] interface NodeList {
 
     getter Node item([IsIndex,Default=Undefined] optional unsigned long index);
-    [ImplementedAs=anonymousNamedGetter, OverrideBuiltins] getter (Node or unsigned long) (DOMString name);
+    [ImplementedAs=anonymousNamedGetter, OverrideBuiltins, NotEnumerable] getter (Node or unsigned long) (DOMString name);
 
     readonly attribute unsigned long length;
 
diff --git a/core/dom/Text.idl b/core/dom/Text.idl
index 9ccd7e0..f8b1a15 100644
--- a/core/dom/Text.idl
+++ b/core/dom/Text.idl
@@ -29,8 +29,4 @@
     // Introduced in DOM Level 3:
     readonly attribute DOMString       wholeText;
     Text                               replaceWholeText([Default=Undefined] optional DOMString content);
-    // ShadowAware API
-    [ImplementedAs=insertionParentForBinding, PerWorldBindings] readonly attribute Node webkitInsertionParent;
-
 };
-
diff --git a/core/fileapi/Blob.idl b/core/fileapi/Blob.idl
index 05a9973..3f61283 100644
--- a/core/fileapi/Blob.idl
+++ b/core/fileapi/Blob.idl
@@ -29,6 +29,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     CustomToV8,
     CustomConstructor,
     CustomConstructor(sequence<any> blobParts, optional BlobPropertyBag options)
diff --git a/core/fileapi/FileReader.idl b/core/fileapi/FileReader.idl
index d37f1c3..f7da1cc 100644
--- a/core/fileapi/FileReader.idl
+++ b/core/fileapi/FileReader.idl
@@ -30,6 +30,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ActiveDOMObject,
     Constructor,
     CallWith=ScriptExecutionContext,
diff --git a/core/fileapi/FileReaderSync.idl b/core/fileapi/FileReaderSync.idl
index 1920a53..9bc21f8 100644
--- a/core/fileapi/FileReaderSync.idl
+++ b/core/fileapi/FileReaderSync.idl
@@ -29,7 +29,7 @@
  */
 
 [
-    NoInterfaceObject,
+    GlobalContext=WorkerOnly,
     Constructor
 ] interface FileReaderSync {
     [CallWith=ScriptExecutionContext, RaisesException] ArrayBuffer readAsArrayBuffer(Blob blob);
diff --git a/core/html/HTMLAllCollection.idl b/core/html/HTMLAllCollection.idl
index e43def6..659e087 100644
--- a/core/html/HTMLAllCollection.idl
+++ b/core/html/HTMLAllCollection.idl
@@ -30,8 +30,9 @@
     DependentLifetime
 ] interface HTMLAllCollection {
     readonly attribute unsigned long length;
-    [Custom] getter Node item([Default=Undefined] optional unsigned long index);
-    [ImplementedAs=anonymousNamedGetter] getter (NodeList or Node)(DOMString name);
+    [ImplementedAs=item] getter Node (unsigned long index);
+    [Custom] Node item([Default=Undefined] optional unsigned long index);
+    [ImplementedAs=anonymousNamedGetter, NotEnumerable] getter (NodeList or Node)(DOMString name);
     [Custom] Node namedItem(DOMString name);
     // FIXME: This should return an HTMLAllCollection.
     NodeList tags(DOMString name);
diff --git a/core/html/HTMLAppletElement.idl b/core/html/HTMLAppletElement.idl
index b7ae3c2..efb2855 100644
--- a/core/html/HTMLAppletElement.idl
+++ b/core/html/HTMLAppletElement.idl
@@ -19,10 +19,6 @@
  */
 
 [
-    CustomNamedGetter,
-    CustomNamedSetter,
-    CustomIndexedGetter,
-    CustomIndexedSetter,
     CustomLegacyCall
 ] interface HTMLAppletElement : HTMLElement {
     [Reflect] attribute DOMString align;
@@ -33,8 +29,12 @@
     [Reflect] attribute DOMString height;
     [Reflect] attribute DOMString hspace;
     [Reflect] attribute DOMString name;
-    [Reflect] attribute DOMString object;
+    [Reflect] attribute DOMString _object;  // "object" is a reserved word
     [Reflect] attribute DOMString vspace;
     [Reflect] attribute DOMString width;
+    [Custom, NotEnumerable] getter boolean (unsigned long index);
+    [Custom] setter boolean (unsigned long index, Node value);
+    [Custom, NotEnumerable] getter Node (DOMString name);
+    [Custom] setter Node (DOMString name, Node value);
 };
 
diff --git a/core/html/HTMLCollection.idl b/core/html/HTMLCollection.idl
index 4e32829..319d878 100644
--- a/core/html/HTMLCollection.idl
+++ b/core/html/HTMLCollection.idl
@@ -25,6 +25,7 @@
 ] interface HTMLCollection {
     readonly attribute unsigned long length;
     getter Node item([Default=Undefined] optional unsigned long index);
-    getter Node namedItem([Default=Undefined] optional DOMString name);
+    Node namedItem([Default=Undefined] optional DOMString name);
+    [NotEnumerable, ImplementedAs=namedItem] getter Node ([Default=Undefined] optional DOMString name);
 };
 
diff --git a/core/html/HTMLEmbedElement.idl b/core/html/HTMLEmbedElement.idl
index d479449..98dc854 100644
--- a/core/html/HTMLEmbedElement.idl
+++ b/core/html/HTMLEmbedElement.idl
@@ -19,11 +19,7 @@
  */
 
 [
-    CustomNamedGetter,
-    CustomNamedSetter,
     CustomLegacyCall,
-    CustomIndexedGetter,
-    CustomIndexedSetter
 ] interface HTMLEmbedElement : HTMLElement {
 [Reflect] attribute DOMString align;
 [Reflect] attribute DOMString height;
@@ -31,9 +27,11 @@
 [Reflect, URL] attribute DOMString src;
 [Reflect] attribute DOMString type;
 [Reflect] attribute DOMString width;
+[Custom, NotEnumerable] getter boolean (unsigned long index);
+[Custom] setter boolean (unsigned long index, Node value);
+[Custom, NotEnumerable] getter Node (DOMString name);
+[Custom] setter Node (DOMString name, Node value);
 
-#if defined(ENABLE_SVG) && ENABLE_SVG
 [CheckSecurityForNode, RaisesException] SVGDocument getSVGDocument();
-#endif
 };
 
diff --git a/core/html/HTMLFormControlsCollection.idl b/core/html/HTMLFormControlsCollection.idl
index a236e3f..3030738 100644
--- a/core/html/HTMLFormControlsCollection.idl
+++ b/core/html/HTMLFormControlsCollection.idl
@@ -24,5 +24,5 @@
 ] interface HTMLFormControlsCollection : HTMLCollection {
     [ImplementedAs=item] getter Node([Default=Undefined] optional unsigned long index);
     [Custom] Node namedItem([Default=Undefined] optional DOMString name);
-    [ImplementedAs=namedGetter] getter (RadioNodeList or Node)(DOMString name);
+    [ImplementedAs=namedGetter, NotEnumerable] getter (RadioNodeList or Node)(DOMString name);
 };
diff --git a/core/html/HTMLFormElement.idl b/core/html/HTMLFormElement.idl
index 7ae2104..cd2b3c7 100644
--- a/core/html/HTMLFormElement.idl
+++ b/core/html/HTMLFormElement.idl
@@ -32,7 +32,7 @@
     readonly attribute HTMLCollection elements;
     readonly attribute long length;
     [ImplementedAs=item] getter Node(unsigned long index);
-    [ImplementedAs=anonymousNamedGetter, OverrideBuiltins] getter (NodeList or Node)(DOMString name);
+    [ImplementedAs=anonymousNamedGetter, OverrideBuiltins, NotEnumerable] getter (NodeList or Node)(DOMString name);
 
     [ImplementedAs=submitFromJavaScript] void submit();
     void reset();
diff --git a/core/html/HTMLFrameElement.idl b/core/html/HTMLFrameElement.idl
index 4991428..ec98564 100644
--- a/core/html/HTMLFrameElement.idl
+++ b/core/html/HTMLFrameElement.idl
@@ -35,9 +35,7 @@
     // Extensions
     readonly attribute DOMWindow contentWindow;
 
-#if defined(ENABLE_SVG) && ENABLE_SVG
     [CheckSecurityForNode, RaisesException] SVGDocument getSVGDocument();
-#endif
 
     [TreatNullAs=NullString, CustomSetter] attribute DOMString location;
 
diff --git a/core/html/HTMLFrameSetElement.idl b/core/html/HTMLFrameSetElement.idl
index a928298..8781d36 100644
--- a/core/html/HTMLFrameSetElement.idl
+++ b/core/html/HTMLFrameSetElement.idl
@@ -19,7 +19,7 @@
  */
 
 interface HTMLFrameSetElement : HTMLElement {
-    [ImplementedAs=anonymousNamedGetter, OverrideBuiltins] getter DOMWindow (DOMString name);
+    [ImplementedAs=anonymousNamedGetter, OverrideBuiltins, NotEnumerable] getter DOMWindow (DOMString name);
     [Reflect] attribute DOMString cols;
     [Reflect] attribute DOMString rows;
 
diff --git a/core/html/HTMLIFrameElement.idl b/core/html/HTMLIFrameElement.idl
index aa54d7e..b73c764 100644
--- a/core/html/HTMLIFrameElement.idl
+++ b/core/html/HTMLIFrameElement.idl
@@ -39,8 +39,6 @@
     // Extensions
     readonly attribute DOMWindow contentWindow;
 
-#if defined(ENABLE_SVG) && ENABLE_SVG
     [CheckSecurityForNode, RaisesException] SVGDocument getSVGDocument();
-#endif
 };
 
diff --git a/core/html/HTMLLinkElement.idl b/core/html/HTMLLinkElement.idl
index e12ff3d..d5db95d 100644
--- a/core/html/HTMLLinkElement.idl
+++ b/core/html/HTMLLinkElement.idl
@@ -33,5 +33,7 @@
 
     // DOM Level 2 Style
     readonly attribute StyleSheet sheet;
+
+    [EnabledAtRuntime=htmlImports] readonly attribute DocumentFragment import;
 };
 
diff --git a/core/html/HTMLMediaElement.idl b/core/html/HTMLMediaElement.idl
index 214b391..5db5f75 100644
--- a/core/html/HTMLMediaElement.idl
+++ b/core/html/HTMLMediaElement.idl
@@ -24,7 +24,7 @@
  */
 
 [
-    NoInterfaceObject,
+    EnabledAtRuntime=media,
     ActiveDOMObject
 ] interface HTMLMediaElement : HTMLElement {
 
diff --git a/core/html/HTMLObjectElement.idl b/core/html/HTMLObjectElement.idl
index a3847f3..8c33b24 100644
--- a/core/html/HTMLObjectElement.idl
+++ b/core/html/HTMLObjectElement.idl
@@ -19,10 +19,6 @@
  */
 
 [
-    CustomNamedGetter,
-    CustomNamedSetter,
-    CustomIndexedGetter,
-    CustomIndexedSetter,
     CustomLegacyCall
 ] interface HTMLObjectElement : HTMLElement {
     readonly attribute HTMLFormElement form;
@@ -50,9 +46,11 @@
 
     // Introduced in DOM Level 2:
     [CheckSecurityForNode] readonly attribute Document contentDocument;
+    [Custom, NotEnumerable] getter boolean (unsigned long index);
+    [Custom] setter boolean (unsigned long index, Node value);
+    [Custom, NotEnumerable] getter Node (DOMString name);
+    [Custom] setter Node (DOMString name, Node value);
 
-#if defined(ENABLE_SVG) && ENABLE_SVG
     [CheckSecurityForNode, RaisesException] SVGDocument getSVGDocument();
-#endif
 };
 
diff --git a/core/html/HTMLOptionsCollection.idl b/core/html/HTMLOptionsCollection.idl
index 84ae0f4..a6f232a 100644
--- a/core/html/HTMLOptionsCollection.idl
+++ b/core/html/HTMLOptionsCollection.idl
@@ -19,14 +19,14 @@
  */
 
 [
-    CustomIndexedSetter,
     GenerateIsReachable=ownerNode,
     DependentLifetime
 ] interface HTMLOptionsCollection : HTMLCollection {
     attribute long selectedIndex;
     [CustomSetter, SetterRaisesException] attribute unsigned long length;
     [ImplementedAs=item] getter Node(unsigned long index);
-    [ImplementedAs=anonymousNamedGetter] getter (NodeList or Node)(DOMString name);
+    [ImplementedAs=anonymousIndexedSetter, RaisesException] setter HTMLOptionElement (unsigned long index, [TreatNullAs=anonymousIndexedSetterRemove, TreatUndefinedAs=anonymousIndexedSetterRemove] HTMLOptionElement value);
+    [ImplementedAs=anonymousNamedGetter, NotEnumerable] getter (NodeList or Node)(DOMString name);
 
     [Custom] Node namedItem([Default=Undefined] optional DOMString name);
 
diff --git a/core/html/HTMLSelectElement.idl b/core/html/HTMLSelectElement.idl
index 858402b..3c6a8f3 100644
--- a/core/html/HTMLSelectElement.idl
+++ b/core/html/HTMLSelectElement.idl
@@ -18,9 +18,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    CustomIndexedSetter
-] interface HTMLSelectElement : HTMLElement {
+interface HTMLSelectElement : HTMLElement {
     [Reflect] attribute boolean autofocus;
     [Reflect] attribute boolean disabled;
     readonly attribute HTMLFormElement form;
@@ -35,6 +33,7 @@
     [SetterRaisesException] attribute unsigned long length;
 
     getter Node item([IsIndex,Default=Undefined] optional unsigned long index);
+    [ImplementedAs=anonymousIndexedSetter, RaisesException] setter HTMLOptionElement (unsigned long index, HTMLOptionElement value);
     Node namedItem([Default=Undefined] optional DOMString name);
      [RaisesException] void add([Default=Undefined] optional HTMLElement element,
                             [Default=Undefined] optional HTMLElement before);
diff --git a/core/html/HTMLVideoElement.idl b/core/html/HTMLVideoElement.idl
index 94a0c27..ef4bd8b 100644
--- a/core/html/HTMLVideoElement.idl
+++ b/core/html/HTMLVideoElement.idl
@@ -24,7 +24,7 @@
  */
 
 [
-    NoInterfaceObject
+    EnabledAtRuntime=media
 ] interface HTMLVideoElement : HTMLMediaElement {
     [Reflect] attribute unsigned long width;
     [Reflect] attribute unsigned long height;
diff --git a/core/html/URL.idl b/core/html/URL.idl
index 96e7060..7e5e300 100644
--- a/core/html/URL.idl
+++ b/core/html/URL.idl
@@ -25,6 +25,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     Constructor,
     ImplementedAs=DOMURL
 ] interface URL {
diff --git a/core/html/canvas/ArrayBuffer.idl b/core/html/canvas/ArrayBuffer.idl
index 5aa02b3..1a6df2d 100644
--- a/core/html/canvas/ArrayBuffer.idl
+++ b/core/html/canvas/ArrayBuffer.idl
@@ -24,6 +24,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     CustomConstructor(unsigned long length)
 ] interface ArrayBuffer {
     readonly attribute unsigned long byteLength;
diff --git a/core/html/canvas/DataView.idl b/core/html/canvas/DataView.idl
index 1636c4c..c814a6b 100644
--- a/core/html/canvas/DataView.idl
+++ b/core/html/canvas/DataView.idl
@@ -24,6 +24,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     CustomConstructor(ArrayBuffer buffer, optional unsigned long byteOffset, optional unsigned long byteLength),
     CustomToV8
 ] interface DataView : ArrayBufferView {
diff --git a/core/html/canvas/EXTDrawBuffers.idl b/core/html/canvas/EXTDrawBuffers.idl
index e48a70b..f292642 100644
--- a/core/html/canvas/EXTDrawBuffers.idl
+++ b/core/html/canvas/EXTDrawBuffers.idl
@@ -27,7 +27,6 @@
 
 [
     NoInterfaceObject,
-    Conditional=WEBGL,
     DoNotCheckConstants
 ] interface EXTDrawBuffers {
     const GLenum COLOR_ATTACHMENT0_EXT = 0x8CE0;
diff --git a/core/html/canvas/EXTTextureFilterAnisotropic.idl b/core/html/canvas/EXTTextureFilterAnisotropic.idl
index 46bd9dd..3fd2110 100644
--- a/core/html/canvas/EXTTextureFilterAnisotropic.idl
+++ b/core/html/canvas/EXTTextureFilterAnisotropic.idl
@@ -25,7 +25,6 @@
 
 [
     NoInterfaceObject,
-    Conditional=WEBGL,
     DoNotCheckConstants
 ] interface EXTTextureFilterAnisotropic {
     const unsigned long TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE;
diff --git a/core/html/canvas/Float32Array.idl b/core/html/canvas/Float32Array.idl
index 4b872c5..a9b9dac 100644
--- a/core/html/canvas/Float32Array.idl
+++ b/core/html/canvas/Float32Array.idl
@@ -25,6 +25,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ConstructorTemplate=TypedArray,
     CustomToV8,
     DoNotCheckConstants
diff --git a/core/html/canvas/Float64Array.idl b/core/html/canvas/Float64Array.idl
index 5e67f41..28f9d6b 100644
--- a/core/html/canvas/Float64Array.idl
+++ b/core/html/canvas/Float64Array.idl
@@ -25,6 +25,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ConstructorTemplate=TypedArray,
     CustomToV8,
     DoNotCheckConstants
diff --git a/core/html/canvas/Int16Array.idl b/core/html/canvas/Int16Array.idl
index f7fa0cb..42c8dac 100644
--- a/core/html/canvas/Int16Array.idl
+++ b/core/html/canvas/Int16Array.idl
@@ -24,6 +24,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ConstructorTemplate=TypedArray,
     CustomToV8,
     DoNotCheckConstants
diff --git a/core/html/canvas/Int32Array.idl b/core/html/canvas/Int32Array.idl
index b0a42b2..fb4b6d1 100644
--- a/core/html/canvas/Int32Array.idl
+++ b/core/html/canvas/Int32Array.idl
@@ -25,6 +25,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ConstructorTemplate=TypedArray,
     CustomToV8,
     DoNotCheckConstants
diff --git a/core/html/canvas/Int8Array.idl b/core/html/canvas/Int8Array.idl
index 299db9b..52434af 100644
--- a/core/html/canvas/Int8Array.idl
+++ b/core/html/canvas/Int8Array.idl
@@ -25,6 +25,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ConstructorTemplate=TypedArray,
     CustomToV8,
     DoNotCheckConstants
diff --git a/core/html/canvas/OESElementIndexUint.idl b/core/html/canvas/OESElementIndexUint.idl
index 0eb77f8..ecb5d89 100644
--- a/core/html/canvas/OESElementIndexUint.idl
+++ b/core/html/canvas/OESElementIndexUint.idl
@@ -24,7 +24,6 @@
  */
 
 [
-    NoInterfaceObject,
-    Conditional=WEBGL
+    NoInterfaceObject
 ] interface OESElementIndexUint {
 };
diff --git a/core/html/canvas/OESStandardDerivatives.idl b/core/html/canvas/OESStandardDerivatives.idl
index 6ac0e43..222f6ec 100644
--- a/core/html/canvas/OESStandardDerivatives.idl
+++ b/core/html/canvas/OESStandardDerivatives.idl
@@ -25,7 +25,6 @@
 
 [
     NoInterfaceObject,
-    Conditional=WEBGL,
     DoNotCheckConstants
 ] interface OESStandardDerivatives {
     const unsigned long FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B;
diff --git a/core/html/canvas/OESTextureFloat.idl b/core/html/canvas/OESTextureFloat.idl
index b926f73..f97da85 100644
--- a/core/html/canvas/OESTextureFloat.idl
+++ b/core/html/canvas/OESTextureFloat.idl
@@ -24,7 +24,6 @@
  */
 
 [
-    NoInterfaceObject,
-    Conditional=WEBGL
+    NoInterfaceObject
 ] interface OESTextureFloat {
 };
diff --git a/core/html/canvas/OESTextureFloatLinear.idl b/core/html/canvas/OESTextureFloatLinear.idl
index fc65a9f..25523fe 100644
--- a/core/html/canvas/OESTextureFloatLinear.idl
+++ b/core/html/canvas/OESTextureFloatLinear.idl
@@ -24,7 +24,6 @@
  */
 
 [
-    NoInterfaceObject,
-    Conditional=WEBGL
+    NoInterfaceObject
 ] interface OESTextureFloatLinear {
 };
diff --git a/core/html/canvas/OESTextureHalfFloat.idl b/core/html/canvas/OESTextureHalfFloat.idl
index 597ecf8..9543a89 100644
--- a/core/html/canvas/OESTextureHalfFloat.idl
+++ b/core/html/canvas/OESTextureHalfFloat.idl
@@ -27,7 +27,6 @@
 
 [
     NoInterfaceObject,
-    Conditional=WEBGL,
     DoNotCheckConstants
 ] interface OESTextureHalfFloat {
     const GLenum HALF_FLOAT_OES                 = 0x8D61;
diff --git a/core/html/canvas/OESTextureHalfFloatLinear.idl b/core/html/canvas/OESTextureHalfFloatLinear.idl
index 44ee4b5..84e192d 100644
--- a/core/html/canvas/OESTextureHalfFloatLinear.idl
+++ b/core/html/canvas/OESTextureHalfFloatLinear.idl
@@ -24,7 +24,6 @@
  */
 
 [
-    NoInterfaceObject,
-    Conditional=WEBGL
+    NoInterfaceObject
 ] interface OESTextureHalfFloatLinear {
 };
diff --git a/core/html/canvas/OESVertexArrayObject.idl b/core/html/canvas/OESVertexArrayObject.idl
index 9fcf9ab..0a7bd1f 100644
--- a/core/html/canvas/OESVertexArrayObject.idl
+++ b/core/html/canvas/OESVertexArrayObject.idl
@@ -25,7 +25,6 @@
 
 [
     NoInterfaceObject,
-    Conditional=WEBGL, 
     DoNotCheckConstants
 ] interface OESVertexArrayObject {
     const unsigned long VERTEX_ARRAY_BINDING_OES = 0x85B5;
diff --git a/core/html/canvas/Path.idl b/core/html/canvas/Path.idl
index 14ed146..ae5943f 100644
--- a/core/html/canvas/Path.idl
+++ b/core/html/canvas/Path.idl
@@ -30,9 +30,7 @@
     EnabledAtRuntime=canvasPath,
     Constructor,
     Constructor(Path path),
-#if defined(ENABLE_SVG) && ENABLE_SVG
     Constructor(DOMString text),
-#endif
     ImplementedAs=DOMPath
 ] interface Path {
 
diff --git a/core/html/canvas/Uint16Array.idl b/core/html/canvas/Uint16Array.idl
index 555fe86..086ee28 100644
--- a/core/html/canvas/Uint16Array.idl
+++ b/core/html/canvas/Uint16Array.idl
@@ -25,6 +25,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ConstructorTemplate=TypedArray,
     CustomToV8,
     DoNotCheckConstants
diff --git a/core/html/canvas/Uint32Array.idl b/core/html/canvas/Uint32Array.idl
index 069a8d9..3c69bfd 100644
--- a/core/html/canvas/Uint32Array.idl
+++ b/core/html/canvas/Uint32Array.idl
@@ -25,6 +25,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ConstructorTemplate=TypedArray,
     CustomToV8,
     DoNotCheckConstants
diff --git a/core/html/canvas/Uint8Array.idl b/core/html/canvas/Uint8Array.idl
index d2f80a3..b9c6a21 100644
--- a/core/html/canvas/Uint8Array.idl
+++ b/core/html/canvas/Uint8Array.idl
@@ -25,6 +25,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ConstructorTemplate=TypedArray,
     CustomToV8,
     DoNotCheckConstants
diff --git a/core/html/canvas/Uint8ClampedArray.idl b/core/html/canvas/Uint8ClampedArray.idl
index 2d9273e..895505a 100644
--- a/core/html/canvas/Uint8ClampedArray.idl
+++ b/core/html/canvas/Uint8ClampedArray.idl
@@ -25,6 +25,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ConstructorTemplate=TypedArray,
     CustomToV8,
     DoNotCheckConstants
diff --git a/core/html/canvas/WebGLActiveInfo.idl b/core/html/canvas/WebGLActiveInfo.idl
index 5baf934..f5ac864 100644
--- a/core/html/canvas/WebGLActiveInfo.idl
+++ b/core/html/canvas/WebGLActiveInfo.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=WEBGL
-] interface WebGLActiveInfo {
+interface WebGLActiveInfo {
     readonly attribute long size;
     readonly attribute unsigned long type;
     readonly attribute DOMString name;
diff --git a/core/html/canvas/WebGLBuffer.idl b/core/html/canvas/WebGLBuffer.idl
index 564c543..9ae6c92 100644
--- a/core/html/canvas/WebGLBuffer.idl
+++ b/core/html/canvas/WebGLBuffer.idl
@@ -23,7 +23,5 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=WEBGL
-] interface WebGLBuffer {
+interface WebGLBuffer {
 };
diff --git a/core/html/canvas/WebGLCompressedTextureATC.idl b/core/html/canvas/WebGLCompressedTextureATC.idl
index b94f2c5..e627f21 100644
--- a/core/html/canvas/WebGLCompressedTextureATC.idl
+++ b/core/html/canvas/WebGLCompressedTextureATC.idl
@@ -25,7 +25,6 @@
 
 [
     NoInterfaceObject,
-    Conditional=WEBGL,
     DoNotCheckConstants
 ] interface WebGLCompressedTextureATC {
     /* Compressed Texture Formats */
diff --git a/core/html/canvas/WebGLCompressedTexturePVRTC.idl b/core/html/canvas/WebGLCompressedTexturePVRTC.idl
index 20e24a1..3e25892 100644
--- a/core/html/canvas/WebGLCompressedTexturePVRTC.idl
+++ b/core/html/canvas/WebGLCompressedTexturePVRTC.idl
@@ -25,7 +25,6 @@
 
 [
     NoInterfaceObject,
-    Conditional=WEBGL,
     DoNotCheckConstants
 ] interface WebGLCompressedTexturePVRTC {
     /* Compressed Texture Formats */
diff --git a/core/html/canvas/WebGLCompressedTextureS3TC.idl b/core/html/canvas/WebGLCompressedTextureS3TC.idl
index d60f29f..e7c18a1 100644
--- a/core/html/canvas/WebGLCompressedTextureS3TC.idl
+++ b/core/html/canvas/WebGLCompressedTextureS3TC.idl
@@ -25,7 +25,6 @@
 
 [
     NoInterfaceObject,
-    Conditional=WEBGL,
     DoNotCheckConstants
 ] interface WebGLCompressedTextureS3TC {
     /* Compressed Texture Formats */
diff --git a/core/html/canvas/WebGLContextAttributes.idl b/core/html/canvas/WebGLContextAttributes.idl
index c29355b..d971644 100644
--- a/core/html/canvas/WebGLContextAttributes.idl
+++ b/core/html/canvas/WebGLContextAttributes.idl
@@ -25,8 +25,7 @@
  */
 
 [
-    NoInterfaceObject,
-    Conditional=WEBGL
+    NoInterfaceObject
 ] interface WebGLContextAttributes {
     attribute boolean alpha;
     attribute boolean depth;
diff --git a/core/html/canvas/WebGLContextEvent.idl b/core/html/canvas/WebGLContextEvent.idl
index c3eba10..f6a3092 100644
--- a/core/html/canvas/WebGLContextEvent.idl
+++ b/core/html/canvas/WebGLContextEvent.idl
@@ -24,7 +24,6 @@
  */
 
 [
-    Conditional=WEBGL,
     ConstructorTemplate=Event
 ] interface WebGLContextEvent : Event {
     [InitializedByEventConstructor] readonly attribute DOMString statusMessage;
diff --git a/core/html/canvas/WebGLDebugRendererInfo.idl b/core/html/canvas/WebGLDebugRendererInfo.idl
index 8846e4e..f1cf633 100644
--- a/core/html/canvas/WebGLDebugRendererInfo.idl
+++ b/core/html/canvas/WebGLDebugRendererInfo.idl
@@ -25,7 +25,6 @@
 
 [
     NoInterfaceObject,
-    Conditional=WEBGL,
     DoNotCheckConstants
 ] interface WebGLDebugRendererInfo {
     const unsigned long UNMASKED_VENDOR_WEBGL = 0x9245;
diff --git a/core/html/canvas/WebGLDebugShaders.idl b/core/html/canvas/WebGLDebugShaders.idl
index b269ca2..1798cee 100644
--- a/core/html/canvas/WebGLDebugShaders.idl
+++ b/core/html/canvas/WebGLDebugShaders.idl
@@ -24,8 +24,7 @@
  */
 
 [
-    NoInterfaceObject,
-    Conditional=WEBGL
+    NoInterfaceObject
 ] interface WebGLDebugShaders {
     [StrictTypeChecking, TreatReturnedNullStringAs=Null, RaisesException] DOMString getTranslatedShaderSource(WebGLShader shader);
 };
diff --git a/core/html/canvas/WebGLDepthTexture.idl b/core/html/canvas/WebGLDepthTexture.idl
index 9740cfe..a6eb66a 100644
--- a/core/html/canvas/WebGLDepthTexture.idl
+++ b/core/html/canvas/WebGLDepthTexture.idl
@@ -25,7 +25,6 @@
 
 [
     NoInterfaceObject,
-    Conditional=WEBGL,
     DoNotCheckConstants
 ] interface WebGLDepthTexture {
     const unsigned long UNSIGNED_INT_24_8_WEBGL = 0x84FA;
diff --git a/core/html/canvas/WebGLFramebuffer.idl b/core/html/canvas/WebGLFramebuffer.idl
index e609513..3d1eab8 100644
--- a/core/html/canvas/WebGLFramebuffer.idl
+++ b/core/html/canvas/WebGLFramebuffer.idl
@@ -23,7 +23,5 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=WEBGL
-] interface WebGLFramebuffer {
+interface WebGLFramebuffer {
 };
diff --git a/core/html/canvas/WebGLLoseContext.idl b/core/html/canvas/WebGLLoseContext.idl
index 310f84d..1ac288f 100644
--- a/core/html/canvas/WebGLLoseContext.idl
+++ b/core/html/canvas/WebGLLoseContext.idl
@@ -24,8 +24,7 @@
  */
 
 [
-    NoInterfaceObject,
-    Conditional=WEBGL
+    NoInterfaceObject
 ] interface WebGLLoseContext {
     [StrictTypeChecking] void loseContext();
     [StrictTypeChecking] void restoreContext();
diff --git a/core/html/canvas/WebGLProgram.idl b/core/html/canvas/WebGLProgram.idl
index d404ebd..399661c 100644
--- a/core/html/canvas/WebGLProgram.idl
+++ b/core/html/canvas/WebGLProgram.idl
@@ -23,7 +23,5 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=WEBGL
-] interface WebGLProgram {
+interface WebGLProgram {
 };
diff --git a/core/html/canvas/WebGLRenderbuffer.idl b/core/html/canvas/WebGLRenderbuffer.idl
index 618f9c4..f9c837e 100644
--- a/core/html/canvas/WebGLRenderbuffer.idl
+++ b/core/html/canvas/WebGLRenderbuffer.idl
@@ -23,7 +23,5 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=WEBGL
-] interface WebGLRenderbuffer {
+interface WebGLRenderbuffer {
 };
diff --git a/core/html/canvas/WebGLRenderingContext.idl b/core/html/canvas/WebGLRenderingContext.idl
index dc5761f..7343bcd 100644
--- a/core/html/canvas/WebGLRenderingContext.idl
+++ b/core/html/canvas/WebGLRenderingContext.idl
@@ -39,7 +39,6 @@
 typedef /*unrestricted*/ float GLclampf;
 
 [
-    Conditional=WEBGL,
     DoNotCheckConstants
 ] interface WebGLRenderingContext : CanvasRenderingContext {
 
diff --git a/core/html/canvas/WebGLShader.idl b/core/html/canvas/WebGLShader.idl
index 0ebae38..820cd0d 100644
--- a/core/html/canvas/WebGLShader.idl
+++ b/core/html/canvas/WebGLShader.idl
@@ -23,7 +23,5 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=WEBGL
-] interface WebGLShader {
+interface WebGLShader {
 };
diff --git a/core/html/canvas/WebGLShaderPrecisionFormat.idl b/core/html/canvas/WebGLShaderPrecisionFormat.idl
index 1b34f65..021beb6 100644
--- a/core/html/canvas/WebGLShaderPrecisionFormat.idl
+++ b/core/html/canvas/WebGLShaderPrecisionFormat.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-[
-    Conditional=WEBGL
-] interface WebGLShaderPrecisionFormat {
+interface WebGLShaderPrecisionFormat {
     readonly attribute long rangeMin;
     readonly attribute long rangeMax;
     readonly attribute long precision;
diff --git a/core/html/canvas/WebGLTexture.idl b/core/html/canvas/WebGLTexture.idl
index 1ea2f2b..d0d0f2b 100644
--- a/core/html/canvas/WebGLTexture.idl
+++ b/core/html/canvas/WebGLTexture.idl
@@ -23,7 +23,5 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=WEBGL
-] interface WebGLTexture {
+interface WebGLTexture {
 };
diff --git a/core/html/canvas/WebGLUniformLocation.idl b/core/html/canvas/WebGLUniformLocation.idl
index c211189..7a7a693 100644
--- a/core/html/canvas/WebGLUniformLocation.idl
+++ b/core/html/canvas/WebGLUniformLocation.idl
@@ -24,7 +24,5 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=WEBGL
-] interface WebGLUniformLocation {
+interface WebGLUniformLocation {
 };
diff --git a/core/html/canvas/WebGLVertexArrayObjectOES.idl b/core/html/canvas/WebGLVertexArrayObjectOES.idl
index ce9f18d..bc9b545 100644
--- a/core/html/canvas/WebGLVertexArrayObjectOES.idl
+++ b/core/html/canvas/WebGLVertexArrayObjectOES.idl
@@ -24,7 +24,6 @@
  */
 
 [
-    NoInterfaceObject,
-    Conditional=WEBGL
+    NoInterfaceObject
 ] interface WebGLVertexArrayObjectOES {
 };
diff --git a/core/html/track/TextTrackRegion.idl b/core/html/track/TextTrackRegion.idl
index 236d903..54421aa 100644
--- a/core/html/track/TextTrackRegion.idl
+++ b/core/html/track/TextTrackRegion.idl
@@ -25,8 +25,9 @@
 
 [
     Conditional=WEBVTT_REGIONS,
+    Constructor(),
     EnabledAtRuntime=videoTrack,
-    Constructor()
+    CallWith=ScriptExecutionContext
 ] interface TextTrackRegion {
     readonly attribute TextTrack track;
 
diff --git a/core/inspector/InjectedScriptHost.idl b/core/inspector/InjectedScriptHost.idl
index 4d9f484..9a6de9a 100644
--- a/core/inspector/InjectedScriptHost.idl
+++ b/core/inspector/InjectedScriptHost.idl
@@ -38,11 +38,11 @@
     void copyText(DOMString text);
     [Custom] void inspect(any objectId, any hints);
     [Custom] any inspectedObject(long num);
-    [Custom] any internalConstructorName(any object);
-    [Custom] boolean isHTMLAllCollection(any object);
-    [Custom] DOMString type(any object);
-    [Custom] any functionDetails(any object);
-    [Custom] Array getInternalProperties(any object);
+    [Custom] any internalConstructorName(any obj);
+    [Custom] boolean isHTMLAllCollection(any obj);
+    [Custom] DOMString type(any obj);
+    [Custom] any functionDetails(any obj);
+    [Custom] Array getInternalProperties(any obj);
     [Custom] Array getEventListeners(Node node);
     [Custom] any evaluate(DOMString text);
     [Custom] DOMString databaseId(any database);
diff --git a/core/page/DOMWindow.idl b/core/page/DOMWindow.idl
index c256b05..09224c2 100644
--- a/core/page/DOMWindow.idl
+++ b/core/page/DOMWindow.idl
@@ -28,7 +28,6 @@
     CheckSecurity,
     EventTarget,
     CustomToV8,
-    CustomNamedGetter,
     DoNotGenerateWrap,
     InterfaceName=Window
 ] interface DOMWindow {
@@ -302,8 +301,6 @@
     // Constructors enabled at runtime but whose interface does not have EnabledAtRuntime
     // extended attribute.
     // FIXME: Remove these.
-    [EnabledAtRuntime=media] attribute HTMLMediaElementConstructor HTMLMediaElement;
-    [EnabledAtRuntime=media] attribute HTMLVideoElementConstructor HTMLVideoElement;
     [EnabledAtRuntime=media] attribute MediaErrorConstructor MediaError;
     [EnabledAtRuntime=media] attribute TimeRangesConstructor TimeRanges;
     [EnabledAtRuntime=media] attribute HTMLSourceElementConstructor HTMLSourceElement;
@@ -334,6 +331,7 @@
     // window.toString() requires special handling in V8
     [DoNotCheckSignature, DoNotCheckSecurity, Custom, NotEnumerable] DOMString toString();
 
-    [ImplementedAs=anonymousIndexedGetter] getter DOMWindow(unsigned long index);
+    [ImplementedAs=anonymousIndexedGetter, NotEnumerable] getter DOMWindow(unsigned long index);
+    [Custom, NotEnumerable] getter DOMWindow (DOMString name);
 };
 
diff --git a/core/page/EventSource.idl b/core/page/EventSource.idl
index 5fb672d..c9ff7b3 100644
--- a/core/page/EventSource.idl
+++ b/core/page/EventSource.idl
@@ -30,6 +30,7 @@
  */
 
 [
+    GlobalContext=WindowAndWorker,
     ActiveDOMObject,
     Constructor(DOMString url, optional Dictionary eventSourceInit),
     CallWith=ScriptExecutionContext,
diff --git a/core/plugins/MimeTypeArray.idl b/core/plugins/MimeTypeArray.idl
index 435e22f..ea11b6b 100644
--- a/core/plugins/MimeTypeArray.idl
+++ b/core/plugins/MimeTypeArray.idl
@@ -23,6 +23,7 @@
 ] interface MimeTypeArray {
     readonly attribute unsigned long length;
     getter MimeType item([Default=Undefined] optional unsigned long index);
-    getter MimeType namedItem([Default=Undefined] optional DOMString name);
+    MimeType namedItem([Default=Undefined] optional DOMString name);
+    [NotEnumerable, ImplementedAs=namedItem] getter MimeType([Default=Undefined] optional DOMString name);
 };
 
diff --git a/core/plugins/Plugin.idl b/core/plugins/Plugin.idl
index 095dc49..c1259e1 100644
--- a/core/plugins/Plugin.idl
+++ b/core/plugins/Plugin.idl
@@ -26,6 +26,7 @@
     readonly attribute DOMString description;
     readonly attribute unsigned long length;
     getter MimeType item([Default=Undefined] optional unsigned long index);
-    getter MimeType namedItem([Default=Undefined] optional DOMString name);
+    MimeType namedItem([Default=Undefined] optional DOMString name);
+    [NotEnumerable, ImplementedAs=namedItem] getter MimeType ([Default=Undefined] optional DOMString name);
 };
 
diff --git a/core/plugins/PluginArray.idl b/core/plugins/PluginArray.idl
index 04e18c4..47d9cc2 100644
--- a/core/plugins/PluginArray.idl
+++ b/core/plugins/PluginArray.idl
@@ -23,7 +23,8 @@
 ] interface PluginArray {
     readonly attribute unsigned long length;
     getter Plugin item([Default=Undefined] optional unsigned long index);
-    getter Plugin namedItem([Default=Undefined] optional DOMString name);
+    Plugin namedItem([Default=Undefined] optional DOMString name);
+    [NotEnumerable, ImplementedAs=namedItem] getter Plugin ([Default=Undefined] optional DOMString name);
     void refresh([Default=Undefined] optional boolean reload);
 };
 
diff --git a/core/scripts/in_generator.py b/core/scripts/in_generator.py
index 6cffaa9..b02d6e6 100644
--- a/core/scripts/in_generator.py
+++ b/core/scripts/in_generator.py
@@ -32,7 +32,6 @@
 import optparse
 
 from in_file import InFile
-import template_expander
 
 
 class Writer(object):
@@ -47,26 +46,7 @@
             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
-
-    # Subclasses should override.
-    def generate_header(self):
-        return ''
-
-    # Subclasses should override.
-    def generate_interfaces_header(self):
-        return ''
-
-    # Subclasses should override.
-    def generate_headers_header(self):
-        return ''
-
-    # Subclasses should override.
-    def generate_implementation(self):
-        return ''
-
-    # Subclasses should override.
-    def generate_idl(self):
-        return ''
+        self._outputs = {}  # file_name -> generator
 
     def wrap_with_condition(self, string, condition):
         if not condition:
@@ -88,29 +68,13 @@
         with open(file_path, "w") as file_to_write:
             file_to_write.write(contents)
 
-    def _write_file(self, output_dir, generator, file_name):
-        contents = generator()
-        if type(contents) is dict:
-            contents = template_expander.apply_template(file_name + ".tmpl", contents)
-        if not contents:
-            return
+    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_header(self, output_dir):
-        self._write_file(output_dir, self.generate_header, self.class_name + '.h')
-
-    def write_headers_header(self, output_dir):
-        self._write_file(output_dir, self.generate_headers_header, self.class_name + 'Headers.h')
-
-    def write_interfaces_header(self, output_dir):
-        self._write_file(output_dir, self.generate_interfaces_header, self.class_name + 'Interfaces.h')
-
-    def write_implmentation(self, output_dir):
-        self._write_file(output_dir, self.generate_implementation, self.class_name + '.cpp')
-
-    def write_idl(self, output_dir):
-        self._write_file(output_dir, self.generate_idl, self.class_name + '.idl')
+    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):
@@ -152,8 +116,4 @@
         enabled_conditions = self._enabled_conditions_from_defines(options.defines)
 
         writer = self._writer_class(args, enabled_conditions)
-        writer.write_header(options.output_dir)
-        writer.write_headers_header(options.output_dir)
-        writer.write_interfaces_header(options.output_dir)
-        writer.write_implmentation(options.output_dir)
-        writer.write_idl(options.output_dir)
+        writer.write_files(options.output_dir)
diff --git a/core/scripts/make_css_property_names.py b/core/scripts/make_css_property_names.py
index 1c5756d..dc2cc17 100755
--- a/core/scripts/make_css_property_names.py
+++ b/core/scripts/make_css_property_names.py
@@ -171,6 +171,9 @@
 
     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)
diff --git a/core/scripts/make_css_value_keywords.py b/core/scripts/make_css_value_keywords.py
index 5cbd038..e0accad 100755
--- a/core/scripts/make_css_value_keywords.py
+++ b/core/scripts/make_css_value_keywords.py
@@ -90,6 +90,9 @@
 
     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)
diff --git a/core/scripts/make_dom_exceptions.py b/core/scripts/make_dom_exceptions.py
index e945262..540ac3d 100755
--- a/core/scripts/make_dom_exceptions.py
+++ b/core/scripts/make_dom_exceptions.py
@@ -122,6 +122,11 @@
         'namespace': '',
     }
 
+    def __init__(self, in_file_path, enabled_conditions):
+        super(ExceptionCodeDescriptionWriter, self).__init__(in_file_path, enabled_conditions)
+        self._outputs[(self.class_name + ".cpp")] = self.generate_implementation
+        self._outputs[(self.class_name + ".h")] = self.generate_header
+
     def _exceptions(self):
         return self.in_file.name_dictionaries
 
diff --git a/core/scripts/make_event_factory.py b/core/scripts/make_event_factory.py
index 5a6653c..440328d 100644
--- a/core/scripts/make_event_factory.py
+++ b/core/scripts/make_event_factory.py
@@ -65,6 +65,10 @@
         '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
 
diff --git a/core/scripts/make_internal_runtime_flags.py b/core/scripts/make_internal_runtime_flags.py
index dc33323..522e00f 100755
--- a/core/scripts/make_internal_runtime_flags.py
+++ b/core/scripts/make_internal_runtime_flags.py
@@ -32,6 +32,7 @@
 
 import in_generator
 import make_runtime_features
+import template_expander
 
 
 # We want exactly the same parsing as RuntimeFeatureWriter
@@ -39,20 +40,25 @@
 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(),
         }
 
-    def generate_implementation(self):
-        return None
-
 
 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
index d0f9b96..e56b2cf 100755
--- a/core/scripts/make_runtime_features.py
+++ b/core/scripts/make_runtime_features.py
@@ -32,6 +32,7 @@
 
 from in_file import InFile
 import in_generator
+import template_expander
 
 
 class RuntimeFeatureWriter(in_generator.Writer):
@@ -50,6 +51,10 @@
 
     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:
@@ -74,12 +79,14 @@
         # 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,
diff --git a/core/scripts/make_style_builder.py b/core/scripts/make_style_builder.py
index 88c358f..fab2d71 100755
--- a/core/scripts/make_style_builder.py
+++ b/core/scripts/make_style_builder.py
@@ -31,6 +31,7 @@
 import sys
 
 import in_generator
+import template_expander
 
 
 class StyleBuilderWriter(in_generator.Writer):
@@ -41,6 +42,10 @@
         'use_none': [True, False],
         'use_intrinsic': [True, False],
         'use_auto': [True, False],
+        'custom_all': [True, False],
+        'custom_initial': [True, False],
+        'custom_inherit': [True, False],
+        'custom_value': [True, False],
     }
     defaults = {
         'condition': None,
@@ -51,7 +56,13 @@
         'getter': None,
         'setter': None,
         'initial': None,
-# For the length apply type
+# 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,
+# For the length apply type. Will get moved out to StyleBuilderFunctions.cpp.tmpl
         'use_none': False,
         'use_intrinsic': False,
         'use_auto': False,
@@ -59,6 +70,11 @@
 
     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):
@@ -73,6 +89,12 @@
             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
@@ -87,7 +109,20 @@
     def _upper_first(s):
         return s[0].upper() + s[1:]
 
-    def generate_implementation(self):
+    @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,
         }
diff --git a/core/scripts/name_macros.py b/core/scripts/name_macros.py
index d7928c3..8af5d28 100644
--- a/core/scripts/name_macros.py
+++ b/core/scripts/name_macros.py
@@ -79,6 +79,9 @@
         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()
diff --git a/core/scripts/template_expander.py b/core/scripts/template_expander.py
index 60a272c..aafeb68 100644
--- a/core/scripts/template_expander.py
+++ b/core/scripts/template_expander.py
@@ -41,3 +41,13 @@
     jinja_env = jinja2.Environment(loader=jinja2.FileSystemLoader([dirname, path_to_templates]))
     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/storage/Storage.idl b/core/storage/Storage.idl
index d84944d..89cd95a 100644
--- a/core/storage/Storage.idl
+++ b/core/storage/Storage.idl
@@ -23,14 +23,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    CustomDeleteProperty,
-    CustomEnumerateProperty,
-    CustomIndexedSetter,
-    CustomNamedSetter
-] interface Storage {
-    [RaisesException, ImplementedAs=anonymousIndexedGetter] getter DOMString(unsigned long index);
+interface Storage {
+    [RaisesException, ImplementedAs=anonymousIndexedGetter, NotEnumerable] getter DOMString(unsigned long index);
+    [RaisesException, ImplementedAs=anonymousIndexedSetter] setter DOMString (unsigned long index, DOMString value);
+    [ImplementedAs=anonymousIndexedDeleter, RaisesException] deleter boolean (unsigned long index);
     [RaisesException, ImplementedAs=anonymousNamedGetter] getter DOMString(DOMString name);
+    [RaisesException, ImplementedAs=anonymousNamedSetter] setter DOMString(DOMString name, DOMString value);
+    [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);
diff --git a/core/svg/ElementTimeControl.idl b/core/svg/ElementTimeControl.idl
index cad80aa..eb3047e 100644
--- a/core/svg/ElementTimeControl.idl
+++ b/core/svg/ElementTimeControl.idl
@@ -23,11 +23,8 @@
  * (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=SVG
-    
-] interface ElementTimeControl { 
+
+interface ElementTimeControl {
     void beginElement();
     void beginElementAt([Default=Undefined] optional float offset);
     void endElement();
diff --git a/core/svg/SVGAElement.idl b/core/svg/SVGAElement.idl
index a273f16..c635c08 100644
--- a/core/svg/SVGAElement.idl
+++ b/core/svg/SVGAElement.idl
@@ -23,14 +23,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAElement : SVGStyledElement,
-                                          SVGURIReference,
-                                          SVGTests,
-                                          SVGLangSpace,
-                                          SVGExternalResourcesRequired,
-                                          SVGTransformable {
+interface SVGAElement : SVGStyledElement,
+                        SVGURIReference,
+                        SVGTests,
+                        SVGLangSpace,
+                        SVGExternalResourcesRequired,
+                        SVGTransformable {
     readonly attribute SVGAnimatedString target;
 };
 
diff --git a/core/svg/SVGAltGlyphDefElement.idl b/core/svg/SVGAltGlyphDefElement.idl
index abe10b6..72721fa 100644
--- a/core/svg/SVGAltGlyphDefElement.idl
+++ b/core/svg/SVGAltGlyphDefElement.idl
@@ -17,6 +17,6 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[Conditional=SVG&SVG_FONTS] interface SVGAltGlyphDefElement : SVGElement {
+[Conditional=SVG_FONTS] interface SVGAltGlyphDefElement : SVGElement {
 };
 
diff --git a/core/svg/SVGAltGlyphElement.idl b/core/svg/SVGAltGlyphElement.idl
index 8d8b1f4..7afc4ca 100644
--- a/core/svg/SVGAltGlyphElement.idl
+++ b/core/svg/SVGAltGlyphElement.idl
@@ -24,7 +24,7 @@
  */
 
 [
-    Conditional=SVG&SVG_FONTS
+    Conditional=SVG_FONTS
 ] interface SVGAltGlyphElement : SVGTextPositioningElement, SVGURIReference {
     [SetterRaisesException] attribute DOMString glyphRef;
     [SetterRaisesException] attribute DOMString format;
diff --git a/core/svg/SVGAltGlyphItemElement.idl b/core/svg/SVGAltGlyphItemElement.idl
index e4bb797..2b62708 100644
--- a/core/svg/SVGAltGlyphItemElement.idl
+++ b/core/svg/SVGAltGlyphItemElement.idl
@@ -17,6 +17,6 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[Conditional=SVG&SVG_FONTS] interface SVGAltGlyphItemElement : SVGElement {
+[Conditional=SVG_FONTS] interface SVGAltGlyphItemElement : SVGElement {
 };
 
diff --git a/core/svg/SVGAngle.idl b/core/svg/SVGAngle.idl
index 2bbdeae..4501978 100644
--- a/core/svg/SVGAngle.idl
+++ b/core/svg/SVGAngle.idl
@@ -20,9 +20,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    Conditional=SVG
-] interface SVGAngle { 
+interface SVGAngle {
     // Angle Unit Types
     const unsigned short SVG_ANGLETYPE_UNKNOWN = 0;
     const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1;
diff --git a/core/svg/SVGAnimateColorElement.idl b/core/svg/SVGAnimateColorElement.idl
index 930e406..48fb42c 100644
--- a/core/svg/SVGAnimateColorElement.idl
+++ b/core/svg/SVGAnimateColorElement.idl
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimateColorElement : SVGAnimationElement {
+interface SVGAnimateColorElement : SVGAnimationElement {
 };
 
diff --git a/core/svg/SVGAnimateElement.idl b/core/svg/SVGAnimateElement.idl
index 95a10fb..eb848c4 100644
--- a/core/svg/SVGAnimateElement.idl
+++ b/core/svg/SVGAnimateElement.idl
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimateElement : SVGAnimationElement {
+interface SVGAnimateElement : SVGAnimationElement {
 };
 
diff --git a/core/svg/SVGAnimateMotionElement.idl b/core/svg/SVGAnimateMotionElement.idl
index 997febf..51003c6 100644
--- a/core/svg/SVGAnimateMotionElement.idl
+++ b/core/svg/SVGAnimateMotionElement.idl
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimateMotionElement : SVGAnimationElement {
+interface SVGAnimateMotionElement : SVGAnimationElement {
 };
 
diff --git a/core/svg/SVGAnimateTransformElement.idl b/core/svg/SVGAnimateTransformElement.idl
index d676f32..eddecc3 100644
--- a/core/svg/SVGAnimateTransformElement.idl
+++ b/core/svg/SVGAnimateTransformElement.idl
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimateTransformElement : SVGAnimationElement {
+interface SVGAnimateTransformElement : SVGAnimationElement {
 };
 
diff --git a/core/svg/SVGAnimatedAngle.idl b/core/svg/SVGAnimatedAngle.idl
index 3e96104..b6ede9f 100644
--- a/core/svg/SVGAnimatedAngle.idl
+++ b/core/svg/SVGAnimatedAngle.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedAngle {
+interface SVGAnimatedAngle {
     readonly attribute SVGAngle baseVal;
     readonly attribute SVGAngle animVal;
 };
diff --git a/core/svg/SVGAnimatedBoolean.idl b/core/svg/SVGAnimatedBoolean.idl
index 7ad6bb1..0c5e90f 100644
--- a/core/svg/SVGAnimatedBoolean.idl
+++ b/core/svg/SVGAnimatedBoolean.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedBoolean {
+interface SVGAnimatedBoolean {
     [StrictTypeChecking, SetterRaisesException] attribute boolean baseVal;
     readonly attribute boolean animVal;
 };
diff --git a/core/svg/SVGAnimatedEnumeration.idl b/core/svg/SVGAnimatedEnumeration.idl
index de96682..e4136f8 100644
--- a/core/svg/SVGAnimatedEnumeration.idl
+++ b/core/svg/SVGAnimatedEnumeration.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedEnumeration {
+interface SVGAnimatedEnumeration {
     [StrictTypeChecking, SetterRaisesException] attribute unsigned short baseVal;
     readonly attribute unsigned short animVal;
 };
diff --git a/core/svg/SVGAnimatedInteger.idl b/core/svg/SVGAnimatedInteger.idl
index 5d6b15e..306846e 100644
--- a/core/svg/SVGAnimatedInteger.idl
+++ b/core/svg/SVGAnimatedInteger.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedInteger {
+interface SVGAnimatedInteger {
     [StrictTypeChecking, SetterRaisesException] attribute long baseVal;
     readonly attribute long animVal;
 };
diff --git a/core/svg/SVGAnimatedLength.idl b/core/svg/SVGAnimatedLength.idl
index 241aaad..999d1c7 100644
--- a/core/svg/SVGAnimatedLength.idl
+++ b/core/svg/SVGAnimatedLength.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedLength {
+interface SVGAnimatedLength {
     readonly attribute SVGLength baseVal;
     readonly attribute SVGLength animVal;
 };
diff --git a/core/svg/SVGAnimatedLengthList.idl b/core/svg/SVGAnimatedLengthList.idl
index 934748a..0e687a5 100644
--- a/core/svg/SVGAnimatedLengthList.idl
+++ b/core/svg/SVGAnimatedLengthList.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedLengthList {
+interface SVGAnimatedLengthList {
     readonly attribute SVGLengthList baseVal;
     readonly attribute SVGLengthList animVal;
 };
diff --git a/core/svg/SVGAnimatedNumber.idl b/core/svg/SVGAnimatedNumber.idl
index 2fa7eba..73574d1 100644
--- a/core/svg/SVGAnimatedNumber.idl
+++ b/core/svg/SVGAnimatedNumber.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedNumber {
+interface SVGAnimatedNumber {
     [StrictTypeChecking, SetterRaisesException] attribute float baseVal;
     readonly attribute float animVal;
 };
diff --git a/core/svg/SVGAnimatedNumberList.idl b/core/svg/SVGAnimatedNumberList.idl
index b912780..2f41c18 100644
--- a/core/svg/SVGAnimatedNumberList.idl
+++ b/core/svg/SVGAnimatedNumberList.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedNumberList {
+interface SVGAnimatedNumberList {
     readonly attribute SVGNumberList baseVal;
     readonly attribute SVGNumberList animVal;
 };
diff --git a/core/svg/SVGAnimatedPreserveAspectRatio.idl b/core/svg/SVGAnimatedPreserveAspectRatio.idl
index a84c02d..4263cf5 100644
--- a/core/svg/SVGAnimatedPreserveAspectRatio.idl
+++ b/core/svg/SVGAnimatedPreserveAspectRatio.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedPreserveAspectRatio {
+interface SVGAnimatedPreserveAspectRatio {
     readonly attribute SVGPreserveAspectRatio baseVal;
     readonly attribute SVGPreserveAspectRatio animVal;
 };
diff --git a/core/svg/SVGAnimatedRect.idl b/core/svg/SVGAnimatedRect.idl
index 99e9a62..6f55b0d 100644
--- a/core/svg/SVGAnimatedRect.idl
+++ b/core/svg/SVGAnimatedRect.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedRect {
+interface SVGAnimatedRect {
     readonly attribute SVGRect baseVal;
     readonly attribute SVGRect animVal;
 };
diff --git a/core/svg/SVGAnimatedString.idl b/core/svg/SVGAnimatedString.idl
index a331bea..1f66bd6 100644
--- a/core/svg/SVGAnimatedString.idl
+++ b/core/svg/SVGAnimatedString.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedString {
+interface SVGAnimatedString {
     [SetterRaisesException] attribute DOMString baseVal;
     readonly attribute DOMString animVal;
 };
diff --git a/core/svg/SVGAnimatedTransformList.idl b/core/svg/SVGAnimatedTransformList.idl
index 4ce7240..1608b3c 100644
--- a/core/svg/SVGAnimatedTransformList.idl
+++ b/core/svg/SVGAnimatedTransformList.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGAnimatedTransformList {
+interface SVGAnimatedTransformList {
     readonly attribute SVGTransformList baseVal;
     readonly attribute SVGTransformList animVal;
 };
diff --git a/core/svg/SVGAnimationElement.idl b/core/svg/SVGAnimationElement.idl
index 0507764..503ec0b 100644
--- a/core/svg/SVGAnimationElement.idl
+++ b/core/svg/SVGAnimationElement.idl
@@ -24,12 +24,11 @@
  */
 
 [
-    NoInterfaceObject,
-    Conditional=SVG
+    NoInterfaceObject
 ] interface SVGAnimationElement : SVGElement,
-                                                  SVGTests,
-                                                  SVGExternalResourcesRequired,
-                                                  ElementTimeControl {
+                                  SVGTests,
+                                  SVGExternalResourcesRequired,
+                                  ElementTimeControl {
     readonly attribute SVGElement targetElement;
 
     float getStartTime();
diff --git a/core/svg/SVGCircleElement.idl b/core/svg/SVGCircleElement.idl
index fa97208..97a6e26 100644
--- a/core/svg/SVGCircleElement.idl
+++ b/core/svg/SVGCircleElement.idl
@@ -24,13 +24,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGCircleElement : SVGStyledElement,
-                                               SVGTests,
-                                               SVGLangSpace,
-                                               SVGExternalResourcesRequired,
-                                               SVGTransformable {
+interface SVGCircleElement : SVGStyledElement,
+                             SVGTests,
+                             SVGLangSpace,
+                             SVGExternalResourcesRequired,
+                             SVGTransformable {
     readonly attribute SVGAnimatedLength cx;
     readonly attribute SVGAnimatedLength cy;
     readonly attribute SVGAnimatedLength r;
diff --git a/core/svg/SVGClipPathElement.idl b/core/svg/SVGClipPathElement.idl
index d1e1a74..7fee1c2 100644
--- a/core/svg/SVGClipPathElement.idl
+++ b/core/svg/SVGClipPathElement.idl
@@ -24,14 +24,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGClipPathElement : SVGStyledElement,
-                                                 SVGTests,
-                                                 SVGLangSpace,
-                                                 SVGExternalResourcesRequired,
-                                                 SVGTransformable
-                                              /* SVGUnitTypes */ { 
+interface SVGClipPathElement : SVGStyledElement,
+                               SVGTests,
+                               SVGLangSpace,
+                               SVGExternalResourcesRequired,
+                               SVGTransformable
+                               /* SVGUnitTypes */ {
     readonly attribute SVGAnimatedEnumeration clipPathUnits;
 };
 
diff --git a/core/svg/SVGColor.idl b/core/svg/SVGColor.idl
index 21c669e..6cce81e 100644
--- a/core/svg/SVGColor.idl
+++ b/core/svg/SVGColor.idl
@@ -19,9 +19,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    Conditional=SVG
-] interface SVGColor : CSSValue {
+interface SVGColor : CSSValue {
     const unsigned short SVG_COLORTYPE_UNKNOWN = 0;
     const unsigned short SVG_COLORTYPE_RGBCOLOR = 1;
     const unsigned short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2;
diff --git a/core/svg/SVGComponentTransferFunctionElement.idl b/core/svg/SVGComponentTransferFunctionElement.idl
index 393bef7..a5b045d 100644
--- a/core/svg/SVGComponentTransferFunctionElement.idl
+++ b/core/svg/SVGComponentTransferFunctionElement.idl
@@ -24,7 +24,6 @@
  */
 
 [
-    Conditional=SVG,
     DoNotCheckConstants
 ] interface SVGComponentTransferFunctionElement : SVGElement {
     // Component Transfer Types
diff --git a/core/svg/SVGCursorElement.idl b/core/svg/SVGCursorElement.idl
index 4686227..057c2b1 100644
--- a/core/svg/SVGCursorElement.idl
+++ b/core/svg/SVGCursorElement.idl
@@ -23,12 +23,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGCursorElement : SVGElement,
-                                               SVGURIReference,
-                                               SVGTests,
-                                               SVGExternalResourcesRequired {
+interface SVGCursorElement : SVGElement,
+                             SVGURIReference,
+                             SVGTests,
+                             SVGExternalResourcesRequired {
     readonly attribute SVGAnimatedLength x;
     readonly attribute SVGAnimatedLength y;
 };
diff --git a/core/svg/SVGDefsElement.idl b/core/svg/SVGDefsElement.idl
index 3e99315..24a6d28 100644
--- a/core/svg/SVGDefsElement.idl
+++ b/core/svg/SVGDefsElement.idl
@@ -23,12 +23,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGDefsElement : SVGStyledElement,
-                                             SVGTests,
-                                             SVGLangSpace,
-                                             SVGExternalResourcesRequired,
-                                             SVGTransformable {
+interface SVGDefsElement : SVGStyledElement,
+                           SVGTests,
+                           SVGLangSpace,
+                           SVGExternalResourcesRequired,
+                           SVGTransformable {
 };
 
diff --git a/core/svg/SVGDescElement.idl b/core/svg/SVGDescElement.idl
index 75043a2..2076880 100644
--- a/core/svg/SVGDescElement.idl
+++ b/core/svg/SVGDescElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGDescElement : SVGStyledElement,
-                                             SVGLangSpace {
+interface SVGDescElement : SVGStyledElement,
+                           SVGLangSpace {
 };
 
diff --git a/core/svg/SVGDocument.idl b/core/svg/SVGDocument.idl
index 1758849..64ec90c 100644
--- a/core/svg/SVGDocument.idl
+++ b/core/svg/SVGDocument.idl
@@ -20,7 +20,6 @@
  */
 
 [
-    Conditional=SVG,
     CustomToV8
 ] interface SVGDocument : Document {
     readonly attribute SVGSVGElement        rootElement;
diff --git a/core/svg/SVGElement.idl b/core/svg/SVGElement.idl
index 96a82e0..912a6a0 100644
--- a/core/svg/SVGElement.idl
+++ b/core/svg/SVGElement.idl
@@ -21,7 +21,6 @@
  */
 
 [
-    Conditional=SVG,
     CustomToV8
 ] interface SVGElement : Element {
     [Reflect] attribute DOMString id;
diff --git a/core/svg/SVGElementInstance.idl b/core/svg/SVGElementInstance.idl
index ad7b2cf..083e3ed 100644
--- a/core/svg/SVGElementInstance.idl
+++ b/core/svg/SVGElementInstance.idl
@@ -25,7 +25,6 @@
  */
 
 [
-    Conditional=SVG,
     EventTarget
 ] interface SVGElementInstance : EventTarget
 {
diff --git a/core/svg/SVGElementInstanceList.idl b/core/svg/SVGElementInstanceList.idl
index d6a2c9e..6fdb983 100644
--- a/core/svg/SVGElementInstanceList.idl
+++ b/core/svg/SVGElementInstanceList.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGElementInstanceList {
+interface SVGElementInstanceList {
     readonly attribute unsigned long length;
 
     SVGElementInstance item([Default=Undefined] optional unsigned long index);
diff --git a/core/svg/SVGEllipseElement.idl b/core/svg/SVGEllipseElement.idl
index bf50dec..db65f0e 100644
--- a/core/svg/SVGEllipseElement.idl
+++ b/core/svg/SVGEllipseElement.idl
@@ -23,13 +23,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGEllipseElement : SVGStyledElement,
-                                                SVGTests,
-                                                SVGLangSpace,
-                                                SVGExternalResourcesRequired,
-                                                SVGTransformable {
+interface SVGEllipseElement : SVGStyledElement,
+                              SVGTests,
+                              SVGLangSpace,
+                              SVGExternalResourcesRequired,
+                              SVGTransformable {
     readonly attribute SVGAnimatedLength cx;
     readonly attribute SVGAnimatedLength cy;
     readonly attribute SVGAnimatedLength rx;
diff --git a/core/svg/SVGException.idl b/core/svg/SVGException.idl
index ef26a64..574c743 100644
--- a/core/svg/SVGException.idl
+++ b/core/svg/SVGException.idl
@@ -19,7 +19,6 @@
  */
 
 [
-    Conditional=SVG,
     DoNotCheckConstants
 ] exception SVGException {
 
diff --git a/core/svg/SVGExternalResourcesRequired.idl b/core/svg/SVGExternalResourcesRequired.idl
index d7b4d27..2d0d402 100644
--- a/core/svg/SVGExternalResourcesRequired.idl
+++ b/core/svg/SVGExternalResourcesRequired.idl
@@ -25,8 +25,6 @@
  */
 
 [
-    Conditional=SVG,
-    
     DoNotGenerateToV8
 ] interface SVGExternalResourcesRequired { 
     readonly attribute SVGAnimatedBoolean externalResourcesRequired;
diff --git a/core/svg/SVGFEBlendElement.idl b/core/svg/SVGFEBlendElement.idl
index 2a9e620..17dd692 100644
--- a/core/svg/SVGFEBlendElement.idl
+++ b/core/svg/SVGFEBlendElement.idl
@@ -24,10 +24,9 @@
  */
 
 [
-    Conditional=SVG,
     DoNotCheckConstants
 ] interface SVGFEBlendElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+                                SVGFilterPrimitiveStandardAttributes {
     // Blend Mode Types
     const unsigned short SVG_FEBLEND_MODE_UNKNOWN  = 0;
     const unsigned short SVG_FEBLEND_MODE_NORMAL   = 1;
diff --git a/core/svg/SVGFEColorMatrixElement.idl b/core/svg/SVGFEColorMatrixElement.idl
index 56ee414..90cc35d 100644
--- a/core/svg/SVGFEColorMatrixElement.idl
+++ b/core/svg/SVGFEColorMatrixElement.idl
@@ -24,10 +24,9 @@
  */
 
 [
-    Conditional=SVG,
     DoNotCheckConstants
 ] interface SVGFEColorMatrixElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+                                      SVGFilterPrimitiveStandardAttributes {
     // Color Matrix Types
     const unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN          = 0;
     const unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX           = 1;
diff --git a/core/svg/SVGFEComponentTransferElement.idl b/core/svg/SVGFEComponentTransferElement.idl
index 69ad46e..b68de27 100644
--- a/core/svg/SVGFEComponentTransferElement.idl
+++ b/core/svg/SVGFEComponentTransferElement.idl
@@ -23,10 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEComponentTransferElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+interface SVGFEComponentTransferElement : SVGStyledElement,
+                                          SVGFilterPrimitiveStandardAttributes {
     readonly attribute SVGAnimatedString in1;
 };
 
diff --git a/core/svg/SVGFECompositeElement.idl b/core/svg/SVGFECompositeElement.idl
index 980f1e9..1a4aa40 100644
--- a/core/svg/SVGFECompositeElement.idl
+++ b/core/svg/SVGFECompositeElement.idl
@@ -24,10 +24,9 @@
  */
 
 [
-    Conditional=SVG,
     DoNotCheckConstants
 ] interface SVGFECompositeElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+                                    SVGFilterPrimitiveStandardAttributes {
     // Composite Operators
     const unsigned short SVG_FECOMPOSITE_OPERATOR_UNKNOWN    = 0;
     const unsigned short SVG_FECOMPOSITE_OPERATOR_OVER       = 1;
diff --git a/core/svg/SVGFEConvolveMatrixElement.idl b/core/svg/SVGFEConvolveMatrixElement.idl
index 0887bd6..1ae8935 100644
--- a/core/svg/SVGFEConvolveMatrixElement.idl
+++ b/core/svg/SVGFEConvolveMatrixElement.idl
@@ -24,10 +24,9 @@
  */
 
 [
-    Conditional=SVG,
     DoNotCheckConstants
 ] interface SVGFEConvolveMatrixElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+                                         SVGFilterPrimitiveStandardAttributes {
     // Edge Mode Values
     const unsigned short SVG_EDGEMODE_UNKNOWN   = 0;
     const unsigned short SVG_EDGEMODE_DUPLICATE = 1;
diff --git a/core/svg/SVGFEDiffuseLightingElement.idl b/core/svg/SVGFEDiffuseLightingElement.idl
index f93e451..5cf37d8 100644
--- a/core/svg/SVGFEDiffuseLightingElement.idl
+++ b/core/svg/SVGFEDiffuseLightingElement.idl
@@ -23,10 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEDiffuseLightingElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+interface SVGFEDiffuseLightingElement : SVGStyledElement,
+                                        SVGFilterPrimitiveStandardAttributes {
     readonly attribute SVGAnimatedString in1;
     readonly attribute SVGAnimatedNumber surfaceScale;
     readonly attribute SVGAnimatedNumber diffuseConstant;
diff --git a/core/svg/SVGFEDisplacementMapElement.idl b/core/svg/SVGFEDisplacementMapElement.idl
index 8556744..87570dd 100644
--- a/core/svg/SVGFEDisplacementMapElement.idl
+++ b/core/svg/SVGFEDisplacementMapElement.idl
@@ -24,10 +24,9 @@
  */
 
 [
-    Conditional=SVG,
     DoNotCheckConstants
 ] interface SVGFEDisplacementMapElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+                                          SVGFilterPrimitiveStandardAttributes {
     // Channel Selectors
     const unsigned short SVG_CHANNEL_UNKNOWN = 0;
     const unsigned short SVG_CHANNEL_R       = 1;
diff --git a/core/svg/SVGFEDistantLightElement.idl b/core/svg/SVGFEDistantLightElement.idl
index 5eac5e4..dd24f21 100644
--- a/core/svg/SVGFEDistantLightElement.idl
+++ b/core/svg/SVGFEDistantLightElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEDistantLightElement : SVGElement {
+interface SVGFEDistantLightElement : SVGElement {
     readonly attribute SVGAnimatedNumber azimuth;
     readonly attribute SVGAnimatedNumber elevation;
 };
diff --git a/core/svg/SVGFEDropShadowElement.idl b/core/svg/SVGFEDropShadowElement.idl
index 4ad42e0..840f96f 100644
--- a/core/svg/SVGFEDropShadowElement.idl
+++ b/core/svg/SVGFEDropShadowElement.idl
@@ -17,10 +17,8 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    Conditional=SVG
-] interface SVGFEDropShadowElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+interface SVGFEDropShadowElement : SVGStyledElement,
+                                   SVGFilterPrimitiveStandardAttributes {
     readonly attribute SVGAnimatedString in1;
     readonly attribute SVGAnimatedNumber dx;
     readonly attribute SVGAnimatedNumber dy;
diff --git a/core/svg/SVGFEFloodElement.idl b/core/svg/SVGFEFloodElement.idl
index e844c7e..86c973c 100644
--- a/core/svg/SVGFEFloodElement.idl
+++ b/core/svg/SVGFEFloodElement.idl
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEFloodElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+interface SVGFEFloodElement : SVGStyledElement,
+                              SVGFilterPrimitiveStandardAttributes {
 };
diff --git a/core/svg/SVGFEFuncAElement.idl b/core/svg/SVGFEFuncAElement.idl
index 77ee553..faab472 100644
--- a/core/svg/SVGFEFuncAElement.idl
+++ b/core/svg/SVGFEFuncAElement.idl
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEFuncAElement : SVGComponentTransferFunctionElement {
+interface SVGFEFuncAElement : SVGComponentTransferFunctionElement {
 };
 
diff --git a/core/svg/SVGFEFuncBElement.idl b/core/svg/SVGFEFuncBElement.idl
index 07d5e2c..69945cb 100644
--- a/core/svg/SVGFEFuncBElement.idl
+++ b/core/svg/SVGFEFuncBElement.idl
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEFuncBElement : SVGComponentTransferFunctionElement {
+interface SVGFEFuncBElement : SVGComponentTransferFunctionElement {
 };
 
diff --git a/core/svg/SVGFEFuncGElement.idl b/core/svg/SVGFEFuncGElement.idl
index 78dfe8d..022e8d1 100644
--- a/core/svg/SVGFEFuncGElement.idl
+++ b/core/svg/SVGFEFuncGElement.idl
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEFuncGElement : SVGComponentTransferFunctionElement {
+interface SVGFEFuncGElement : SVGComponentTransferFunctionElement {
 };
 
diff --git a/core/svg/SVGFEFuncRElement.idl b/core/svg/SVGFEFuncRElement.idl
index c5f7aec..2391da1 100644
--- a/core/svg/SVGFEFuncRElement.idl
+++ b/core/svg/SVGFEFuncRElement.idl
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEFuncRElement : SVGComponentTransferFunctionElement {
+interface SVGFEFuncRElement : SVGComponentTransferFunctionElement {
 };
 
diff --git a/core/svg/SVGFEGaussianBlurElement.idl b/core/svg/SVGFEGaussianBlurElement.idl
index ccfdab6..ea8b6a8 100644
--- a/core/svg/SVGFEGaussianBlurElement.idl
+++ b/core/svg/SVGFEGaussianBlurElement.idl
@@ -23,10 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEGaussianBlurElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+interface SVGFEGaussianBlurElement : SVGStyledElement,
+                                     SVGFilterPrimitiveStandardAttributes {
     readonly attribute SVGAnimatedString in1;
     readonly attribute SVGAnimatedNumber stdDeviationX;
     readonly attribute SVGAnimatedNumber stdDeviationY;
diff --git a/core/svg/SVGFEImageElement.idl b/core/svg/SVGFEImageElement.idl
index 9a484a0..2220f7d 100644
--- a/core/svg/SVGFEImageElement.idl
+++ b/core/svg/SVGFEImageElement.idl
@@ -23,13 +23,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEImageElement : SVGStyledElement,
-                                                        SVGURIReference,
-                                                        SVGLangSpace,
-                                                        SVGExternalResourcesRequired,
-                                                        SVGFilterPrimitiveStandardAttributes {
+interface SVGFEImageElement : SVGStyledElement,
+                              SVGURIReference,
+                              SVGLangSpace,
+                              SVGExternalResourcesRequired,
+                              SVGFilterPrimitiveStandardAttributes {
     readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
 };
 
diff --git a/core/svg/SVGFEMergeElement.idl b/core/svg/SVGFEMergeElement.idl
index f5dc646..cbb7cdf 100644
--- a/core/svg/SVGFEMergeElement.idl
+++ b/core/svg/SVGFEMergeElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEMergeElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+interface SVGFEMergeElement : SVGStyledElement,
+                              SVGFilterPrimitiveStandardAttributes {
 };
 
diff --git a/core/svg/SVGFEMergeNodeElement.idl b/core/svg/SVGFEMergeNodeElement.idl
index 9d24447..8595c51 100644
--- a/core/svg/SVGFEMergeNodeElement.idl
+++ b/core/svg/SVGFEMergeNodeElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEMergeNodeElement : SVGElement {
+interface SVGFEMergeNodeElement : SVGElement {
     readonly attribute SVGAnimatedString in1;
 };
 
diff --git a/core/svg/SVGFEMorphologyElement.idl b/core/svg/SVGFEMorphologyElement.idl
index 78fbbaf..dcb1efe 100644
--- a/core/svg/SVGFEMorphologyElement.idl
+++ b/core/svg/SVGFEMorphologyElement.idl
@@ -24,10 +24,9 @@
  */
 
 [
-    Conditional=SVG,
     DoNotCheckConstants
 ] interface SVGFEMorphologyElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+                                     SVGFilterPrimitiveStandardAttributes {
     // Morphology Operators
     const unsigned short SVG_MORPHOLOGY_OPERATOR_UNKNOWN  = 0;
     const unsigned short SVG_MORPHOLOGY_OPERATOR_ERODE    = 1;
diff --git a/core/svg/SVGFEOffsetElement.idl b/core/svg/SVGFEOffsetElement.idl
index c4fb7d4..11d4ebe 100644
--- a/core/svg/SVGFEOffsetElement.idl
+++ b/core/svg/SVGFEOffsetElement.idl
@@ -23,10 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEOffsetElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+interface SVGFEOffsetElement : SVGStyledElement,
+                               SVGFilterPrimitiveStandardAttributes {
     readonly attribute SVGAnimatedString in1;
     readonly attribute SVGAnimatedNumber dx;
     readonly attribute SVGAnimatedNumber dy;
diff --git a/core/svg/SVGFEPointLightElement.idl b/core/svg/SVGFEPointLightElement.idl
index d57829c..2ba36ed 100644
--- a/core/svg/SVGFEPointLightElement.idl
+++ b/core/svg/SVGFEPointLightElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFEPointLightElement : SVGElement {
+interface SVGFEPointLightElement : SVGElement {
     readonly attribute SVGAnimatedNumber x;
     readonly attribute SVGAnimatedNumber y;
     readonly attribute SVGAnimatedNumber z;
diff --git a/core/svg/SVGFESpecularLightingElement.idl b/core/svg/SVGFESpecularLightingElement.idl
index e096654..c9b72bc 100644
--- a/core/svg/SVGFESpecularLightingElement.idl
+++ b/core/svg/SVGFESpecularLightingElement.idl
@@ -23,10 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFESpecularLightingElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+interface SVGFESpecularLightingElement : SVGStyledElement,
+                                         SVGFilterPrimitiveStandardAttributes {
     readonly attribute SVGAnimatedString in1;
     readonly attribute SVGAnimatedNumber surfaceScale;
     readonly attribute SVGAnimatedNumber specularConstant;
diff --git a/core/svg/SVGFESpotLightElement.idl b/core/svg/SVGFESpotLightElement.idl
index 7867ada..af52685 100644
--- a/core/svg/SVGFESpotLightElement.idl
+++ b/core/svg/SVGFESpotLightElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFESpotLightElement : SVGElement {
+interface SVGFESpotLightElement : SVGElement {
     readonly attribute SVGAnimatedNumber x;
     readonly attribute SVGAnimatedNumber y;
     readonly attribute SVGAnimatedNumber z;
diff --git a/core/svg/SVGFETileElement.idl b/core/svg/SVGFETileElement.idl
index d97e67b..352fb75 100644
--- a/core/svg/SVGFETileElement.idl
+++ b/core/svg/SVGFETileElement.idl
@@ -23,10 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFETileElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+interface SVGFETileElement : SVGStyledElement,
+                             SVGFilterPrimitiveStandardAttributes {
     readonly attribute SVGAnimatedString in1;
 };
 
diff --git a/core/svg/SVGFETurbulenceElement.idl b/core/svg/SVGFETurbulenceElement.idl
index ec9ca2e..b4a326f 100644
--- a/core/svg/SVGFETurbulenceElement.idl
+++ b/core/svg/SVGFETurbulenceElement.idl
@@ -24,10 +24,9 @@
  */
 
 [
-    Conditional=SVG,
     DoNotCheckConstants
 ] interface SVGFETurbulenceElement : SVGStyledElement,
-                           SVGFilterPrimitiveStandardAttributes {
+                                     SVGFilterPrimitiveStandardAttributes {
     // Turbulence Types
     const unsigned short SVG_TURBULENCE_TYPE_UNKNOWN      = 0;
     const unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1;
diff --git a/core/svg/SVGFilterElement.idl b/core/svg/SVGFilterElement.idl
index 7e3ca7e..a33b461 100644
--- a/core/svg/SVGFilterElement.idl
+++ b/core/svg/SVGFilterElement.idl
@@ -24,13 +24,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFilterElement : SVGStyledElement,
-                                               SVGURIReference,
-                                               SVGLangSpace,
-                                               SVGExternalResourcesRequired
-                                            /* SVGUnitTypes */ {  
+interface SVGFilterElement : SVGStyledElement,
+                             SVGURIReference,
+                             SVGLangSpace,
+                             SVGExternalResourcesRequired
+                             /* SVGUnitTypes */ {
     readonly attribute SVGAnimatedEnumeration filterUnits;
     readonly attribute SVGAnimatedEnumeration primitiveUnits;
     readonly attribute SVGAnimatedLength      x;
diff --git a/core/svg/SVGFilterPrimitiveStandardAttributes.idl b/core/svg/SVGFilterPrimitiveStandardAttributes.idl
index 3bc71e4..7c524f3 100644
--- a/core/svg/SVGFilterPrimitiveStandardAttributes.idl
+++ b/core/svg/SVGFilterPrimitiveStandardAttributes.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGFilterPrimitiveStandardAttributes {
+interface SVGFilterPrimitiveStandardAttributes {
     readonly attribute SVGAnimatedLength x;
     readonly attribute SVGAnimatedLength y;
     readonly attribute SVGAnimatedLength width;
diff --git a/core/svg/SVGFitToViewBox.idl b/core/svg/SVGFitToViewBox.idl
index 625a9d4..261684e 100644
--- a/core/svg/SVGFitToViewBox.idl
+++ b/core/svg/SVGFitToViewBox.idl
@@ -25,8 +25,6 @@
  */
 
 [
-    Conditional=SVG,
-    
     DoNotGenerateToV8
 ] interface SVGFitToViewBox {
     readonly attribute SVGAnimatedRect                viewBox;
diff --git a/core/svg/SVGFontElement.idl b/core/svg/SVGFontElement.idl
index feef706..7c8b9ff 100644
--- a/core/svg/SVGFontElement.idl
+++ b/core/svg/SVGFontElement.idl
@@ -24,7 +24,7 @@
  */
 
 [
-    Conditional=SVG&SVG_FONTS
+    Conditional=SVG_FONTS
 ] interface SVGFontElement : SVGElement {
 };
 
diff --git a/core/svg/SVGFontFaceElement.idl b/core/svg/SVGFontFaceElement.idl
index aa2a395..1286a4e 100644
--- a/core/svg/SVGFontFaceElement.idl
+++ b/core/svg/SVGFontFaceElement.idl
@@ -24,7 +24,7 @@
  */
 
 [
-    Conditional=SVG&SVG_FONTS
+    Conditional=SVG_FONTS
 ] interface SVGFontFaceElement : SVGElement {
 };
 
diff --git a/core/svg/SVGFontFaceFormatElement.idl b/core/svg/SVGFontFaceFormatElement.idl
index 837402c..e468579 100644
--- a/core/svg/SVGFontFaceFormatElement.idl
+++ b/core/svg/SVGFontFaceFormatElement.idl
@@ -24,7 +24,7 @@
  */
 
 [
-    Conditional=SVG&SVG_FONTS
+    Conditional=SVG_FONTS
 ] interface SVGFontFaceFormatElement : SVGElement {
 };
 
diff --git a/core/svg/SVGFontFaceNameElement.idl b/core/svg/SVGFontFaceNameElement.idl
index 7288cd2..4f41fce 100644
--- a/core/svg/SVGFontFaceNameElement.idl
+++ b/core/svg/SVGFontFaceNameElement.idl
@@ -24,7 +24,7 @@
  */
 
 [
-    Conditional=SVG&SVG_FONTS
+    Conditional=SVG_FONTS
 ] interface SVGFontFaceNameElement : SVGElement {
 };
 
diff --git a/core/svg/SVGFontFaceSrcElement.idl b/core/svg/SVGFontFaceSrcElement.idl
index c86091a..e85f13a 100644
--- a/core/svg/SVGFontFaceSrcElement.idl
+++ b/core/svg/SVGFontFaceSrcElement.idl
@@ -24,7 +24,7 @@
  */
 
 [
-    Conditional=SVG&SVG_FONTS
+    Conditional=SVG_FONTS
 ] interface SVGFontFaceSrcElement : SVGElement {
 };
 
diff --git a/core/svg/SVGFontFaceUriElement.idl b/core/svg/SVGFontFaceUriElement.idl
index 48037a0..234c2e5 100644
--- a/core/svg/SVGFontFaceUriElement.idl
+++ b/core/svg/SVGFontFaceUriElement.idl
@@ -24,7 +24,7 @@
  */
 
 [
-    Conditional=SVG&SVG_FONTS
+    Conditional=SVG_FONTS
 ] interface SVGFontFaceUriElement : SVGElement {
 };
 
diff --git a/core/svg/SVGForeignObjectElement.idl b/core/svg/SVGForeignObjectElement.idl
index eaa6db1..eecedf8 100644
--- a/core/svg/SVGForeignObjectElement.idl
+++ b/core/svg/SVGForeignObjectElement.idl
@@ -23,13 +23,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGForeignObjectElement : SVGStyledElement,
-                                                      SVGTests,
-                                                      SVGLangSpace,
-                                                      SVGExternalResourcesRequired,
-                                                      SVGTransformable {
+interface SVGForeignObjectElement : SVGStyledElement,
+                                    SVGTests,
+                                    SVGLangSpace,
+                                    SVGExternalResourcesRequired,
+                                    SVGTransformable {
     readonly attribute SVGAnimatedLength x;
     readonly attribute SVGAnimatedLength y;
     readonly attribute SVGAnimatedLength width;
diff --git a/core/svg/SVGGElement.idl b/core/svg/SVGGElement.idl
index 62e588c..a6dd6b3 100644
--- a/core/svg/SVGGElement.idl
+++ b/core/svg/SVGGElement.idl
@@ -23,12 +23,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGGElement : SVGStyledElement,
-                                          SVGTests,
-                                          SVGLangSpace,
-                                          SVGExternalResourcesRequired,
-                                          SVGTransformable {
+interface SVGGElement : SVGStyledElement,
+                        SVGTests,
+                        SVGLangSpace,
+                        SVGExternalResourcesRequired,
+                        SVGTransformable {
 };
 
diff --git a/core/svg/SVGGlyphElement.idl b/core/svg/SVGGlyphElement.idl
index a05b5c8..e75e2cf 100644
--- a/core/svg/SVGGlyphElement.idl
+++ b/core/svg/SVGGlyphElement.idl
@@ -24,7 +24,7 @@
  */
 
 [
-    Conditional=SVG&SVG_FONTS
+    Conditional=SVG_FONTS
 ] interface SVGGlyphElement : SVGElement {
 };
 
diff --git a/core/svg/SVGGlyphRefElement.idl b/core/svg/SVGGlyphRefElement.idl
index 1a052d7..123e8a5 100644
--- a/core/svg/SVGGlyphRefElement.idl
+++ b/core/svg/SVGGlyphRefElement.idl
@@ -17,14 +17,14 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[Conditional=SVG&SVG_FONTS] interface SVGGlyphRefElement : SVGStyledElement,
+[Conditional=SVG_FONTS] interface SVGGlyphRefElement : SVGStyledElement,
                                                            SVGURIReference {
     // FIXME: Use [Reflect] after https://bugs.webkit.org/show_bug.cgi?id=64843 is fixed.
-    [SetterRaisesException] attribute DOMString glyphRef;
+    attribute DOMString glyphRef;
     [Reflect] attribute DOMString format;
-    [SetterRaisesException] attribute float x;
-    [SetterRaisesException] attribute float y;
-    [SetterRaisesException] attribute float dx;
-    [SetterRaisesException] attribute float dy;
+    attribute float x;
+    attribute float y;
+    attribute float dx;
+    attribute float dy;
 };
 
diff --git a/core/svg/SVGGradientElement.idl b/core/svg/SVGGradientElement.idl
index 02d3693..50047cf 100644
--- a/core/svg/SVGGradientElement.idl
+++ b/core/svg/SVGGradientElement.idl
@@ -24,12 +24,11 @@
  */
 
 [
-    Conditional=SVG,
     DoNotCheckConstants
 ] interface SVGGradientElement : SVGStyledElement,
-                       SVGURIReference,
-                       SVGExternalResourcesRequired
-                       /* SVGUnitTypes */ {
+                                 SVGURIReference,
+                                 SVGExternalResourcesRequired
+                                 /* SVGUnitTypes */ {
     // Spread Method Types
     const unsigned short SVG_SPREADMETHOD_UNKNOWN = 0;
     const unsigned short SVG_SPREADMETHOD_PAD     = 1;
diff --git a/core/svg/SVGHKernElement.idl b/core/svg/SVGHKernElement.idl
index 9bca9f7..20fee21 100644
--- a/core/svg/SVGHKernElement.idl
+++ b/core/svg/SVGHKernElement.idl
@@ -18,7 +18,7 @@
  */
 
 [
-    Conditional=SVG&SVG_FONTS
+    Conditional=SVG_FONTS
 ] interface SVGHKernElement : SVGElement {
 };
 
diff --git a/core/svg/SVGImageElement.idl b/core/svg/SVGImageElement.idl
index 76add45..e063778 100644
--- a/core/svg/SVGImageElement.idl
+++ b/core/svg/SVGImageElement.idl
@@ -23,14 +23,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGImageElement : SVGStyledElement,
-                                              SVGURIReference,
-                                              SVGTests,
-                                              SVGLangSpace,
-                                              SVGExternalResourcesRequired,
-                                              SVGTransformable {
+interface SVGImageElement : SVGStyledElement,
+                            SVGURIReference,
+                            SVGTests,
+                            SVGLangSpace,
+                            SVGExternalResourcesRequired,
+                            SVGTransformable {
     readonly attribute SVGAnimatedLength x;
     readonly attribute SVGAnimatedLength y;
     readonly attribute SVGAnimatedLength width;
diff --git a/core/svg/SVGLangSpace.idl b/core/svg/SVGLangSpace.idl
index 1b59627..1bc44be 100644
--- a/core/svg/SVGLangSpace.idl
+++ b/core/svg/SVGLangSpace.idl
@@ -25,8 +25,6 @@
  */
 
 [
-    Conditional=SVG,
-    
     DoNotGenerateToV8
 ] interface SVGLangSpace {
              attribute DOMString xmllang;
diff --git a/core/svg/SVGLength.idl b/core/svg/SVGLength.idl
index 4c41ba5..e9fd4b6 100644
--- a/core/svg/SVGLength.idl
+++ b/core/svg/SVGLength.idl
@@ -20,9 +20,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    Conditional=SVG
-] interface SVGLength { 
+interface SVGLength {
     // Length Unit Types
     const unsigned short SVG_LENGTHTYPE_UNKNOWN    = 0;
     const unsigned short SVG_LENGTHTYPE_NUMBER     = 1;
diff --git a/core/svg/SVGLengthList.idl b/core/svg/SVGLengthList.idl
index f93ce0a..af3ca10 100644
--- a/core/svg/SVGLengthList.idl
+++ b/core/svg/SVGLengthList.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGLengthList { 
+interface SVGLengthList {
     readonly attribute unsigned long numberOfItems;
 
     [RaisesException] void clear();
diff --git a/core/svg/SVGLineElement.idl b/core/svg/SVGLineElement.idl
index a835271..2ecbc2d 100644
--- a/core/svg/SVGLineElement.idl
+++ b/core/svg/SVGLineElement.idl
@@ -23,13 +23,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGLineElement : SVGStyledElement,
-                                             SVGTests,
-                                             SVGLangSpace,
-                                             SVGExternalResourcesRequired,
-                                             SVGTransformable {
+interface SVGLineElement : SVGStyledElement,
+                           SVGTests,
+                           SVGLangSpace,
+                           SVGExternalResourcesRequired,
+                           SVGTransformable {
     readonly attribute SVGAnimatedLength x1;
     readonly attribute SVGAnimatedLength y1;
     readonly attribute SVGAnimatedLength x2;
diff --git a/core/svg/SVGLinearGradientElement.idl b/core/svg/SVGLinearGradientElement.idl
index 4aa3435..0d8964a 100644
--- a/core/svg/SVGLinearGradientElement.idl
+++ b/core/svg/SVGLinearGradientElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGLinearGradientElement : SVGGradientElement {
+interface SVGLinearGradientElement : SVGGradientElement {
     readonly attribute SVGAnimatedLength x1;
     readonly attribute SVGAnimatedLength y1;
     readonly attribute SVGAnimatedLength x2;
diff --git a/core/svg/SVGLocatable.idl b/core/svg/SVGLocatable.idl
index 1e8f3fe..d5a5363 100644
--- a/core/svg/SVGLocatable.idl
+++ b/core/svg/SVGLocatable.idl
@@ -25,8 +25,6 @@
  */
 
 [
-    Conditional=SVG,
-    
     DoNotGenerateToV8
 ] interface SVGLocatable {
     readonly attribute SVGElement nearestViewportElement;
diff --git a/core/svg/SVGMPathElement.idl b/core/svg/SVGMPathElement.idl
index 57f3a42..c3a72ac 100644
--- a/core/svg/SVGMPathElement.idl
+++ b/core/svg/SVGMPathElement.idl
@@ -23,10 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGMPathElement : SVGElement,
-                                                            SVGURIReference,
-                                                            SVGExternalResourcesRequired {
+interface SVGMPathElement : SVGElement,
+                            SVGURIReference,
+                            SVGExternalResourcesRequired {
 };
 
diff --git a/core/svg/SVGMarkerElement.idl b/core/svg/SVGMarkerElement.idl
index be1d003..757abc1 100644
--- a/core/svg/SVGMarkerElement.idl
+++ b/core/svg/SVGMarkerElement.idl
@@ -23,12 +23,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGMarkerElement : SVGStyledElement,
-                                               SVGLangSpace,
-                                               SVGExternalResourcesRequired,
-                                               SVGFitToViewBox { 
+interface SVGMarkerElement : SVGStyledElement,
+                             SVGLangSpace,
+                             SVGExternalResourcesRequired,
+                             SVGFitToViewBox {
     // Marker Unit Types
     const unsigned short SVG_MARKERUNITS_UNKNOWN        = 0;
     const unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 1;
diff --git a/core/svg/SVGMaskElement.idl b/core/svg/SVGMaskElement.idl
index 1a40de9..66cad0c 100644
--- a/core/svg/SVGMaskElement.idl
+++ b/core/svg/SVGMaskElement.idl
@@ -23,12 +23,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGMaskElement : SVGStyledElement,
-                                             SVGTests,
-                                             SVGLangSpace,
-                                             SVGExternalResourcesRequired {
+interface SVGMaskElement : SVGStyledElement,
+                           SVGTests,
+                           SVGLangSpace,
+                           SVGExternalResourcesRequired {
     readonly attribute SVGAnimatedEnumeration maskUnits;
     readonly attribute SVGAnimatedEnumeration maskContentUnits;
 
diff --git a/core/svg/SVGMatrix.idl b/core/svg/SVGMatrix.idl
index 714f804..dc871be 100644
--- a/core/svg/SVGMatrix.idl
+++ b/core/svg/SVGMatrix.idl
@@ -20,9 +20,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    Conditional=SVG
-] interface SVGMatrix {
+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/SVGMetadataElement.idl b/core/svg/SVGMetadataElement.idl
index 877c8b1..fc1500a 100644
--- a/core/svg/SVGMetadataElement.idl
+++ b/core/svg/SVGMetadataElement.idl
@@ -19,8 +19,6 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    Conditional=SVG
-] interface SVGMetadataElement : SVGElement {
+interface SVGMetadataElement : SVGElement {
 };
 
diff --git a/core/svg/SVGMissingGlyphElement.idl b/core/svg/SVGMissingGlyphElement.idl
index 647741a..f52c16b 100644
--- a/core/svg/SVGMissingGlyphElement.idl
+++ b/core/svg/SVGMissingGlyphElement.idl
@@ -24,7 +24,7 @@
  */
 
 [
-    Conditional=SVG&SVG_FONTS
+    Conditional=SVG_FONTS
 ] interface SVGMissingGlyphElement : SVGStyledElement {
 };
 
diff --git a/core/svg/SVGNumber.idl b/core/svg/SVGNumber.idl
index 20c767e..c77bbc9 100644
--- a/core/svg/SVGNumber.idl
+++ b/core/svg/SVGNumber.idl
@@ -20,9 +20,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    Conditional=SVG
-] interface SVGNumber {
+interface SVGNumber {
     [StrictTypeChecking] attribute float value;
 };
 
diff --git a/core/svg/SVGNumberList.idl b/core/svg/SVGNumberList.idl
index de11a23..78157f6 100644
--- a/core/svg/SVGNumberList.idl
+++ b/core/svg/SVGNumberList.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGNumberList {
+interface SVGNumberList {
     readonly attribute unsigned long numberOfItems;
 
     [RaisesException] void clear();
diff --git a/core/svg/SVGPaint.idl b/core/svg/SVGPaint.idl
index b1cd658..7735f83 100644
--- a/core/svg/SVGPaint.idl
+++ b/core/svg/SVGPaint.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPaint : SVGColor {
+interface SVGPaint : SVGColor {
     const unsigned short SVG_PAINTTYPE_UNKNOWN = 0;
     const unsigned short SVG_PAINTTYPE_RGBCOLOR = 1;
     const unsigned short SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2;
diff --git a/core/svg/SVGPathElement.idl b/core/svg/SVGPathElement.idl
index 9a7011d..8608fc3 100644
--- a/core/svg/SVGPathElement.idl
+++ b/core/svg/SVGPathElement.idl
@@ -24,13 +24,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathElement : SVGStyledElement,
-                                             SVGTests,
-                                             SVGLangSpace,
-                                             SVGExternalResourcesRequired,
-                                             SVGTransformable {
+interface SVGPathElement : SVGStyledElement,
+                           SVGTests,
+                           SVGLangSpace,
+                           SVGExternalResourcesRequired,
+                           SVGTransformable {
     readonly attribute SVGAnimatedNumber pathLength;
 
     float getTotalLength();
diff --git a/core/svg/SVGPathSeg.idl b/core/svg/SVGPathSeg.idl
index a0691bb..f5b1ae5 100644
--- a/core/svg/SVGPathSeg.idl
+++ b/core/svg/SVGPathSeg.idl
@@ -25,9 +25,7 @@
  */
 
 [
-    Conditional=SVG,
     CustomToV8
-    
 ] interface SVGPathSeg {
     // Path Segment Types
     const unsigned short PATHSEG_UNKNOWN = 0;
diff --git a/core/svg/SVGPathSegArcAbs.idl b/core/svg/SVGPathSegArcAbs.idl
index fe8fb52..90bda4c 100644
--- a/core/svg/SVGPathSegArcAbs.idl
+++ b/core/svg/SVGPathSegArcAbs.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegArcAbs : SVGPathSeg {
+interface SVGPathSegArcAbs : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
     [StrictTypeChecking] attribute float r1;
diff --git a/core/svg/SVGPathSegArcRel.idl b/core/svg/SVGPathSegArcRel.idl
index 3946d8d..de46704 100644
--- a/core/svg/SVGPathSegArcRel.idl
+++ b/core/svg/SVGPathSegArcRel.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegArcRel : SVGPathSeg {
+interface SVGPathSegArcRel : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
     [StrictTypeChecking] attribute float r1;
diff --git a/core/svg/SVGPathSegClosePath.idl b/core/svg/SVGPathSegClosePath.idl
index 3f0969a..f3eff1e 100644
--- a/core/svg/SVGPathSegClosePath.idl
+++ b/core/svg/SVGPathSegClosePath.idl
@@ -24,8 +24,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegClosePath : SVGPathSeg {
+interface SVGPathSegClosePath : SVGPathSeg {
 };
 
diff --git a/core/svg/SVGPathSegCurvetoCubicAbs.idl b/core/svg/SVGPathSegCurvetoCubicAbs.idl
index c8c7c82..4d35573 100644
--- a/core/svg/SVGPathSegCurvetoCubicAbs.idl
+++ b/core/svg/SVGPathSegCurvetoCubicAbs.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */ 
 
-[
-    Conditional=SVG
-] interface SVGPathSegCurvetoCubicAbs : SVGPathSeg {
+interface SVGPathSegCurvetoCubicAbs : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
     [StrictTypeChecking] attribute float x1;
diff --git a/core/svg/SVGPathSegCurvetoCubicRel.idl b/core/svg/SVGPathSegCurvetoCubicRel.idl
index f4336b2..1dcbe2d 100644
--- a/core/svg/SVGPathSegCurvetoCubicRel.idl
+++ b/core/svg/SVGPathSegCurvetoCubicRel.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */ 
 
-[
-    Conditional=SVG
-] interface SVGPathSegCurvetoCubicRel : SVGPathSeg {
+interface SVGPathSegCurvetoCubicRel : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
     [StrictTypeChecking] attribute float x1;
diff --git a/core/svg/SVGPathSegCurvetoCubicSmoothAbs.idl b/core/svg/SVGPathSegCurvetoCubicSmoothAbs.idl
index aa9d3f0..40a5c68 100644
--- a/core/svg/SVGPathSegCurvetoCubicSmoothAbs.idl
+++ b/core/svg/SVGPathSegCurvetoCubicSmoothAbs.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */ 
 
-[
-    Conditional=SVG
-] interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg {
+interface SVGPathSegCurvetoCubicSmoothAbs : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
     [StrictTypeChecking] attribute float x2;
diff --git a/core/svg/SVGPathSegCurvetoCubicSmoothRel.idl b/core/svg/SVGPathSegCurvetoCubicSmoothRel.idl
index c801568..58056a4 100644
--- a/core/svg/SVGPathSegCurvetoCubicSmoothRel.idl
+++ b/core/svg/SVGPathSegCurvetoCubicSmoothRel.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */ 
 
-[
-    Conditional=SVG
-] interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg {
+interface SVGPathSegCurvetoCubicSmoothRel : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
     [StrictTypeChecking] attribute float x2;
diff --git a/core/svg/SVGPathSegCurvetoQuadraticAbs.idl b/core/svg/SVGPathSegCurvetoQuadraticAbs.idl
index 46fb5b6..086998a 100644
--- a/core/svg/SVGPathSegCurvetoQuadraticAbs.idl
+++ b/core/svg/SVGPathSegCurvetoQuadraticAbs.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg {
+interface SVGPathSegCurvetoQuadraticAbs : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
     [StrictTypeChecking] attribute float x1;
diff --git a/core/svg/SVGPathSegCurvetoQuadraticRel.idl b/core/svg/SVGPathSegCurvetoQuadraticRel.idl
index 39f8016..49d2d02 100644
--- a/core/svg/SVGPathSegCurvetoQuadraticRel.idl
+++ b/core/svg/SVGPathSegCurvetoQuadraticRel.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg {
+interface SVGPathSegCurvetoQuadraticRel : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
     [StrictTypeChecking] attribute float x1;
diff --git a/core/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl b/core/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl
index 0850e31..8f1aea0 100644
--- a/core/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl
+++ b/core/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg {
+interface SVGPathSegCurvetoQuadraticSmoothAbs : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
 };
diff --git a/core/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl b/core/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl
index 6743a1c..56d1a48 100644
--- a/core/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl
+++ b/core/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg {
+interface SVGPathSegCurvetoQuadraticSmoothRel : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
 };
diff --git a/core/svg/SVGPathSegLinetoAbs.idl b/core/svg/SVGPathSegLinetoAbs.idl
index 0b4c745..d32db20 100644
--- a/core/svg/SVGPathSegLinetoAbs.idl
+++ b/core/svg/SVGPathSegLinetoAbs.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegLinetoAbs : SVGPathSeg {
+interface SVGPathSegLinetoAbs : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
 };
diff --git a/core/svg/SVGPathSegLinetoHorizontalAbs.idl b/core/svg/SVGPathSegLinetoHorizontalAbs.idl
index 9252acf..f5f3a81 100644
--- a/core/svg/SVGPathSegLinetoHorizontalAbs.idl
+++ b/core/svg/SVGPathSegLinetoHorizontalAbs.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg {
+interface SVGPathSegLinetoHorizontalAbs : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
 };
 
diff --git a/core/svg/SVGPathSegLinetoHorizontalRel.idl b/core/svg/SVGPathSegLinetoHorizontalRel.idl
index a0a65c4..853da9e 100644
--- a/core/svg/SVGPathSegLinetoHorizontalRel.idl
+++ b/core/svg/SVGPathSegLinetoHorizontalRel.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegLinetoHorizontalRel : SVGPathSeg {
+interface SVGPathSegLinetoHorizontalRel : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
 };
 
diff --git a/core/svg/SVGPathSegLinetoRel.idl b/core/svg/SVGPathSegLinetoRel.idl
index 089aae2..9246e95 100644
--- a/core/svg/SVGPathSegLinetoRel.idl
+++ b/core/svg/SVGPathSegLinetoRel.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegLinetoRel : SVGPathSeg {
+interface SVGPathSegLinetoRel : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
 };
diff --git a/core/svg/SVGPathSegLinetoVerticalAbs.idl b/core/svg/SVGPathSegLinetoVerticalAbs.idl
index 15c66da..a4a924a 100644
--- a/core/svg/SVGPathSegLinetoVerticalAbs.idl
+++ b/core/svg/SVGPathSegLinetoVerticalAbs.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegLinetoVerticalAbs : SVGPathSeg {
+interface SVGPathSegLinetoVerticalAbs : SVGPathSeg {
     [StrictTypeChecking] attribute float y;
 };
 
diff --git a/core/svg/SVGPathSegLinetoVerticalRel.idl b/core/svg/SVGPathSegLinetoVerticalRel.idl
index 632ec69..c4da6dc 100644
--- a/core/svg/SVGPathSegLinetoVerticalRel.idl
+++ b/core/svg/SVGPathSegLinetoVerticalRel.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegLinetoVerticalRel : SVGPathSeg {
+interface SVGPathSegLinetoVerticalRel : SVGPathSeg {
     [StrictTypeChecking] attribute float y;
 };
 
diff --git a/core/svg/SVGPathSegList.idl b/core/svg/SVGPathSegList.idl
index c2fda40..996e518 100644
--- a/core/svg/SVGPathSegList.idl
+++ b/core/svg/SVGPathSegList.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegList {
+interface SVGPathSegList {
     readonly attribute unsigned long numberOfItems;
 
     [RaisesException] void clear();
diff --git a/core/svg/SVGPathSegMovetoAbs.idl b/core/svg/SVGPathSegMovetoAbs.idl
index 255f77e..b01e795 100644
--- a/core/svg/SVGPathSegMovetoAbs.idl
+++ b/core/svg/SVGPathSegMovetoAbs.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegMovetoAbs : SVGPathSeg {
+interface SVGPathSegMovetoAbs : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
 };
diff --git a/core/svg/SVGPathSegMovetoRel.idl b/core/svg/SVGPathSegMovetoRel.idl
index 38edb6b..850efd4 100644
--- a/core/svg/SVGPathSegMovetoRel.idl
+++ b/core/svg/SVGPathSegMovetoRel.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPathSegMovetoRel : SVGPathSeg {
+interface SVGPathSegMovetoRel : SVGPathSeg {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
 };
diff --git a/core/svg/SVGPatternElement.idl b/core/svg/SVGPatternElement.idl
index 2226eb7..d8fe822 100644
--- a/core/svg/SVGPatternElement.idl
+++ b/core/svg/SVGPatternElement.idl
@@ -23,15 +23,13 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPatternElement : SVGStyledElement,
-                                                SVGURIReference,
-                                                SVGTests,
-                                                SVGLangSpace,
-                                                SVGExternalResourcesRequired,
-                                                SVGFitToViewBox
-                                             /* SVGUnitTypes */ {
+interface SVGPatternElement : SVGStyledElement,
+                              SVGURIReference,
+                              SVGTests,
+                              SVGLangSpace,
+                              SVGExternalResourcesRequired,
+                              SVGFitToViewBox
+                              /* SVGUnitTypes */ {
     readonly attribute SVGAnimatedEnumeration   patternUnits;
     readonly attribute SVGAnimatedEnumeration   patternContentUnits;
     readonly attribute SVGAnimatedTransformList patternTransform;
diff --git a/core/svg/SVGPoint.idl b/core/svg/SVGPoint.idl
index 40fa201..19606d6 100644
--- a/core/svg/SVGPoint.idl
+++ b/core/svg/SVGPoint.idl
@@ -20,9 +20,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    Conditional=SVG
-] interface SVGPoint {
+interface SVGPoint {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
 
diff --git a/core/svg/SVGPointList.idl b/core/svg/SVGPointList.idl
index 93e6889..6cc212e 100644
--- a/core/svg/SVGPointList.idl
+++ b/core/svg/SVGPointList.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPointList {
+interface SVGPointList {
     readonly attribute unsigned long numberOfItems;
 
     [RaisesException] void clear();
diff --git a/core/svg/SVGPolygonElement.idl b/core/svg/SVGPolygonElement.idl
index 4076028..e63f005 100644
--- a/core/svg/SVGPolygonElement.idl
+++ b/core/svg/SVGPolygonElement.idl
@@ -23,13 +23,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPolygonElement : SVGStyledElement,
-                                                SVGTests,
-                                                SVGLangSpace,
-                                                SVGExternalResourcesRequired,
-                                                SVGTransformable {
+interface SVGPolygonElement : SVGStyledElement,
+                              SVGTests,
+                              SVGLangSpace,
+                              SVGExternalResourcesRequired,
+                              SVGTransformable {
     readonly attribute SVGPointList points;
     readonly attribute SVGPointList animatedPoints;
 };
diff --git a/core/svg/SVGPolylineElement.idl b/core/svg/SVGPolylineElement.idl
index 43b4d80..62f559e 100644
--- a/core/svg/SVGPolylineElement.idl
+++ b/core/svg/SVGPolylineElement.idl
@@ -23,13 +23,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPolylineElement : SVGStyledElement,
-                                                 SVGTests,
-                                                 SVGLangSpace,
-                                                 SVGExternalResourcesRequired,
-                                                 SVGTransformable {
+interface SVGPolylineElement : SVGStyledElement,
+                               SVGTests,
+                               SVGLangSpace,
+                               SVGExternalResourcesRequired,
+                               SVGTransformable {
     readonly attribute SVGPointList points;
     readonly attribute SVGPointList animatedPoints;
 };
diff --git a/core/svg/SVGPreserveAspectRatio.idl b/core/svg/SVGPreserveAspectRatio.idl
index 5f4ed8a..ec2c796 100644
--- a/core/svg/SVGPreserveAspectRatio.idl
+++ b/core/svg/SVGPreserveAspectRatio.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGPreserveAspectRatio {
+interface SVGPreserveAspectRatio {
     // Alignment Types
     const unsigned short SVG_PRESERVEASPECTRATIO_UNKNOWN = 0;
     const unsigned short SVG_PRESERVEASPECTRATIO_NONE = 1;
diff --git a/core/svg/SVGRadialGradientElement.idl b/core/svg/SVGRadialGradientElement.idl
index d4b589f..1342c75 100644
--- a/core/svg/SVGRadialGradientElement.idl
+++ b/core/svg/SVGRadialGradientElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGRadialGradientElement : SVGGradientElement {
+interface SVGRadialGradientElement : SVGGradientElement {
     readonly attribute SVGAnimatedLength cx;
     readonly attribute SVGAnimatedLength cy;
     readonly attribute SVGAnimatedLength r;
diff --git a/core/svg/SVGRect.idl b/core/svg/SVGRect.idl
index 2264618..e148788 100644
--- a/core/svg/SVGRect.idl
+++ b/core/svg/SVGRect.idl
@@ -20,9 +20,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    Conditional=SVG
-] interface SVGRect {
+interface SVGRect {
     [StrictTypeChecking] attribute float x;
     [StrictTypeChecking] attribute float y;
     [StrictTypeChecking] attribute float width;
diff --git a/core/svg/SVGRectElement.idl b/core/svg/SVGRectElement.idl
index 1fe8954..55b6f3c 100644
--- a/core/svg/SVGRectElement.idl
+++ b/core/svg/SVGRectElement.idl
@@ -24,13 +24,11 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGRectElement : SVGStyledElement,
-                                             SVGTests,
-                                             SVGLangSpace,
-                                             SVGExternalResourcesRequired,
-                                             SVGTransformable {
+interface SVGRectElement : SVGStyledElement,
+                           SVGTests,
+                           SVGLangSpace,
+                           SVGExternalResourcesRequired,
+                           SVGTransformable {
     readonly attribute SVGAnimatedLength x;
     readonly attribute SVGAnimatedLength y;
     readonly attribute SVGAnimatedLength width;
diff --git a/core/svg/SVGRenderingIntent.idl b/core/svg/SVGRenderingIntent.idl
index 832dd48..d3f254f 100644
--- a/core/svg/SVGRenderingIntent.idl
+++ b/core/svg/SVGRenderingIntent.idl
@@ -24,7 +24,6 @@
  */
 
 [
-    Conditional=SVG,
     DoNotGenerateToV8
 ] interface SVGRenderingIntent {
     // Rendering Intent Types
diff --git a/core/svg/SVGSVGElement.idl b/core/svg/SVGSVGElement.idl
index 6d869d2..e32c0a3 100644
--- a/core/svg/SVGSVGElement.idl
+++ b/core/svg/SVGSVGElement.idl
@@ -23,15 +23,13 @@
 // TODO: no css::ViewCSS available!
 // TODO: Fix SVGSVGElement inheritance (css::DocumentCSS)! 
 // TODO: no events::DocumentEvent available!
-[
-    Conditional=SVG
-] interface SVGSVGElement : SVGStyledElement,
-                                            SVGTests,
-                                            SVGLangSpace,
-                                            SVGExternalResourcesRequired,
-                                            SVGTransformable,
-                                            SVGFitToViewBox,
-                                            SVGZoomAndPan {
+interface SVGSVGElement : SVGStyledElement,
+                          SVGTests,
+                          SVGLangSpace,
+                          SVGExternalResourcesRequired,
+                          SVGTransformable,
+                          SVGFitToViewBox,
+                          SVGZoomAndPan {
     readonly attribute SVGAnimatedLength x;
     readonly attribute SVGAnimatedLength y;
     readonly attribute SVGAnimatedLength width;
diff --git a/core/svg/SVGScriptElement.idl b/core/svg/SVGScriptElement.idl
index 2fa2cc6..5a7ec3d 100644
--- a/core/svg/SVGScriptElement.idl
+++ b/core/svg/SVGScriptElement.idl
@@ -23,11 +23,9 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGScriptElement : SVGElement,
-                                               SVGURIReference,
-                                               SVGExternalResourcesRequired {
+interface SVGScriptElement : SVGElement,
+                             SVGURIReference,
+                             SVGExternalResourcesRequired {
              [TreatNullAs=NullString] attribute DOMString type;
 };
 
diff --git a/core/svg/SVGSetElement.idl b/core/svg/SVGSetElement.idl
index f53cb92..322ed53 100644
--- a/core/svg/SVGSetElement.idl
+++ b/core/svg/SVGSetElement.idl
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGSetElement : SVGAnimationElement {
+interface SVGSetElement : SVGAnimationElement {
 };
 
diff --git a/core/svg/SVGStopElement.idl b/core/svg/SVGStopElement.idl
index 86413f7..1a2bad1 100644
--- a/core/svg/SVGStopElement.idl
+++ b/core/svg/SVGStopElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGStopElement : SVGStyledElement {
+interface SVGStopElement : SVGStyledElement {
     readonly attribute SVGAnimatedNumber offset;
 };
 
diff --git a/core/svg/SVGStringList.idl b/core/svg/SVGStringList.idl
index 48b87ca..d3c1923 100644
--- a/core/svg/SVGStringList.idl
+++ b/core/svg/SVGStringList.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGStringList {
+interface SVGStringList {
     readonly attribute unsigned long numberOfItems;
 
     [RaisesException] void clear();
diff --git a/core/svg/SVGStyleElement.idl b/core/svg/SVGStyleElement.idl
index 858c2c4..56beb82 100644
--- a/core/svg/SVGStyleElement.idl
+++ b/core/svg/SVGStyleElement.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGStyleElement : SVGElement, SVGLangSpace {
+interface SVGStyleElement : SVGElement, SVGLangSpace {
     attribute boolean disabled;
     attribute DOMString type;
     attribute DOMString media;
diff --git a/core/svg/SVGStyledElement.idl b/core/svg/SVGStyledElement.idl
index f7f9490..12d2e2c 100644
--- a/core/svg/SVGStyledElement.idl
+++ b/core/svg/SVGStyledElement.idl
@@ -26,8 +26,7 @@
  */
 
 [
-    NoInterfaceObject,
-    Conditional=SVG
+    NoInterfaceObject
 ] interface SVGStyledElement : SVGElement {
     readonly attribute SVGAnimatedString className;
     readonly attribute CSSStyleDeclaration style;
diff --git a/core/svg/SVGSwitchElement.idl b/core/svg/SVGSwitchElement.idl
index 1430e2d..512d8ce 100644
--- a/core/svg/SVGSwitchElement.idl
+++ b/core/svg/SVGSwitchElement.idl
@@ -23,12 +23,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGSwitchElement : SVGStyledElement,
-                                               SVGTests,
-                                               SVGLangSpace,
-                                               SVGExternalResourcesRequired,
-                                               SVGTransformable {
+interface SVGSwitchElement : SVGStyledElement,
+                             SVGTests,
+                             SVGLangSpace,
+                             SVGExternalResourcesRequired,
+                             SVGTransformable {
 };
 
diff --git a/core/svg/SVGSymbolElement.idl b/core/svg/SVGSymbolElement.idl
index e1386ce..94c9bd6 100644
--- a/core/svg/SVGSymbolElement.idl
+++ b/core/svg/SVGSymbolElement.idl
@@ -23,11 +23,9 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGSymbolElement : SVGStyledElement,
-                                               SVGLangSpace,
-                                               SVGExternalResourcesRequired,
-                                               SVGFitToViewBox {
+interface SVGSymbolElement : SVGStyledElement,
+                             SVGLangSpace,
+                             SVGExternalResourcesRequired,
+                             SVGFitToViewBox {
 };
 
diff --git a/core/svg/SVGTRefElement.idl b/core/svg/SVGTRefElement.idl
index e4743fd..5f58232 100644
--- a/core/svg/SVGTRefElement.idl
+++ b/core/svg/SVGTRefElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGTRefElement : SVGTextPositioningElement,
-                                             SVGURIReference {
+interface SVGTRefElement : SVGTextPositioningElement,
+                           SVGURIReference {
 };
 
diff --git a/core/svg/SVGTSpanElement.idl b/core/svg/SVGTSpanElement.idl
index fa9f7f1..92d9754 100644
--- a/core/svg/SVGTSpanElement.idl
+++ b/core/svg/SVGTSpanElement.idl
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGTSpanElement : SVGTextPositioningElement {
+interface SVGTSpanElement : SVGTextPositioningElement {
 };
 
diff --git a/core/svg/SVGTests.idl b/core/svg/SVGTests.idl
index 3081a64..8f47e8e 100644
--- a/core/svg/SVGTests.idl
+++ b/core/svg/SVGTests.idl
@@ -25,8 +25,6 @@
  */
 
 [
-    Conditional=SVG,
-    
     DoNotGenerateToV8
 ] interface SVGTests {
     readonly attribute SVGStringList requiredFeatures;
diff --git a/core/svg/SVGTextContentElement.idl b/core/svg/SVGTextContentElement.idl
index f87b1bf..4a2acb9 100644
--- a/core/svg/SVGTextContentElement.idl
+++ b/core/svg/SVGTextContentElement.idl
@@ -23,12 +23,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGTextContentElement : SVGStyledElement,
-                                                    SVGTests,
-                                                    SVGLangSpace,
-                                                    SVGExternalResourcesRequired {
+interface SVGTextContentElement : SVGStyledElement,
+                                  SVGTests,
+                                  SVGLangSpace,
+                                  SVGExternalResourcesRequired {
     // lengthAdjust Types
     const unsigned short LENGTHADJUST_UNKNOWN          = 0;
     const unsigned short LENGTHADJUST_SPACING          = 1;
diff --git a/core/svg/SVGTextElement.idl b/core/svg/SVGTextElement.idl
index 2a3c6c8..fec5719 100644
--- a/core/svg/SVGTextElement.idl
+++ b/core/svg/SVGTextElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGTextElement : SVGTextPositioningElement,
-                                             SVGTransformable {
+interface SVGTextElement : SVGTextPositioningElement,
+                           SVGTransformable {
 };
 
diff --git a/core/svg/SVGTextPathElement.idl b/core/svg/SVGTextPathElement.idl
index 03749ad..629ff18 100644
--- a/core/svg/SVGTextPathElement.idl
+++ b/core/svg/SVGTextPathElement.idl
@@ -23,10 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGTextPathElement : SVGTextContentElement,
-                                                 SVGURIReference {    
+interface SVGTextPathElement : SVGTextContentElement,
+                               SVGURIReference {
     // textPath Method Types
     const unsigned short TEXTPATH_METHODTYPE_UNKNOWN   = 0;
     const unsigned short TEXTPATH_METHODTYPE_ALIGN     = 1;
diff --git a/core/svg/SVGTextPositioningElement.idl b/core/svg/SVGTextPositioningElement.idl
index 7c3afdf..2a01864 100644
--- a/core/svg/SVGTextPositioningElement.idl
+++ b/core/svg/SVGTextPositioningElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGTextPositioningElement : SVGTextContentElement {
+interface SVGTextPositioningElement : SVGTextContentElement {
     readonly attribute SVGAnimatedLengthList x;
     readonly attribute SVGAnimatedLengthList y;
     readonly attribute SVGAnimatedLengthList dx;
diff --git a/core/svg/SVGTitleElement.idl b/core/svg/SVGTitleElement.idl
index 49af690..48096eb 100644
--- a/core/svg/SVGTitleElement.idl
+++ b/core/svg/SVGTitleElement.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGTitleElement : SVGStyledElement,
-                                              SVGLangSpace {
+interface SVGTitleElement : SVGStyledElement,
+                            SVGLangSpace {
 };
 
diff --git a/core/svg/SVGTransform.idl b/core/svg/SVGTransform.idl
index 2edaa80..df5d9b3 100644
--- a/core/svg/SVGTransform.idl
+++ b/core/svg/SVGTransform.idl
@@ -19,9 +19,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-[
-    Conditional=SVG
-] interface SVGTransform { 
+interface SVGTransform {
     // Transform Types
     const unsigned short SVG_TRANSFORM_UNKNOWN = 0;
     const unsigned short SVG_TRANSFORM_MATRIX = 1;
diff --git a/core/svg/SVGTransformList.idl b/core/svg/SVGTransformList.idl
index 0212373..f17b479 100644
--- a/core/svg/SVGTransformList.idl
+++ b/core/svg/SVGTransformList.idl
@@ -24,9 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGTransformList {
+interface SVGTransformList {
     readonly attribute unsigned long numberOfItems;
 
     [RaisesException] void clear();
diff --git a/core/svg/SVGTransformable.idl b/core/svg/SVGTransformable.idl
index 828fea8..f7e4525 100644
--- a/core/svg/SVGTransformable.idl
+++ b/core/svg/SVGTransformable.idl
@@ -24,10 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-    
-] interface SVGTransformable : SVGLocatable {
+interface SVGTransformable : SVGLocatable {
     readonly attribute SVGAnimatedTransformList transform;
 };
 
diff --git a/core/svg/SVGURIReference.idl b/core/svg/SVGURIReference.idl
index a3f1b55..850048f 100644
--- a/core/svg/SVGURIReference.idl
+++ b/core/svg/SVGURIReference.idl
@@ -25,8 +25,6 @@
  */
 
 [
-    Conditional=SVG,
-    
     DoNotGenerateToV8
 ] interface SVGURIReference {
     readonly attribute SVGAnimatedString href;
diff --git a/core/svg/SVGUnitTypes.idl b/core/svg/SVGUnitTypes.idl
index b0021d3..d53ee8d 100644
--- a/core/svg/SVGUnitTypes.idl
+++ b/core/svg/SVGUnitTypes.idl
@@ -24,7 +24,6 @@
  */
 
 [
-    Conditional=SVG,
     DoNotGenerateToV8
 ] interface SVGUnitTypes {
     // Unit Types
diff --git a/core/svg/SVGUseElement.idl b/core/svg/SVGUseElement.idl
index 3733feb..8ee8b4a 100644
--- a/core/svg/SVGUseElement.idl
+++ b/core/svg/SVGUseElement.idl
@@ -23,14 +23,12 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGUseElement : SVGStyledElement,
-                                            SVGURIReference,
-                                            SVGTests,
-                                            SVGLangSpace,
-                                            SVGExternalResourcesRequired,
-                                            SVGTransformable {
+interface SVGUseElement : SVGStyledElement,
+                          SVGURIReference,
+                          SVGTests,
+                          SVGLangSpace,
+                          SVGExternalResourcesRequired,
+                          SVGTransformable {
     readonly attribute SVGAnimatedLength   x;
     readonly attribute SVGAnimatedLength   y;
     readonly attribute SVGAnimatedLength   width;
diff --git a/core/svg/SVGVKernElement.idl b/core/svg/SVGVKernElement.idl
index 55a1648..7b3bd39 100644
--- a/core/svg/SVGVKernElement.idl
+++ b/core/svg/SVGVKernElement.idl
@@ -18,7 +18,7 @@
  */
 
 [
-    Conditional=SVG&SVG_FONTS
+    Conditional=SVG_FONTS
 ] interface SVGVKernElement : SVGElement {
 };
 
diff --git a/core/svg/SVGViewElement.idl b/core/svg/SVGViewElement.idl
index d4ae5ac..4d43028 100644
--- a/core/svg/SVGViewElement.idl
+++ b/core/svg/SVGViewElement.idl
@@ -23,12 +23,10 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGViewElement : SVGElement,
-                                             SVGExternalResourcesRequired,
-                                             SVGFitToViewBox,
-                                             SVGZoomAndPan {
+interface SVGViewElement : SVGElement,
+                           SVGExternalResourcesRequired,
+                           SVGFitToViewBox,
+                           SVGZoomAndPan {
     readonly attribute SVGStringList viewTarget;
 };
 
diff --git a/core/svg/SVGViewSpec.idl b/core/svg/SVGViewSpec.idl
index 453a8f5..55b1489 100644
--- a/core/svg/SVGViewSpec.idl
+++ b/core/svg/SVGViewSpec.idl
@@ -25,9 +25,7 @@
 
 // SVGViewSpec intentionally doesn't inherit from SVGZoomAndPan & SVGFitToViewBox on the IDLs.
 // It would require that any of those classes would be RefCounted, and we want to avoid that.
-[
-    Conditional=SVG
-] interface SVGViewSpec {
+interface SVGViewSpec {
       readonly attribute SVGTransformList transform;
       readonly attribute SVGElement viewTarget;
       readonly attribute DOMString viewBoxString;
diff --git a/core/svg/SVGZoomAndPan.idl b/core/svg/SVGZoomAndPan.idl
index 728f40a..de112e2 100644
--- a/core/svg/SVGZoomAndPan.idl
+++ b/core/svg/SVGZoomAndPan.idl
@@ -25,8 +25,6 @@
  */
 
 [
-    Conditional=SVG,
-    
     DoNotGenerateToV8
 ] interface SVGZoomAndPan {
     const unsigned short SVG_ZOOMANDPAN_UNKNOWN = 0;
diff --git a/core/svg/SVGZoomEvent.idl b/core/svg/SVGZoomEvent.idl
index 320e552..424fc6a 100644
--- a/core/svg/SVGZoomEvent.idl
+++ b/core/svg/SVGZoomEvent.idl
@@ -23,9 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-[
-    Conditional=SVG
-] interface SVGZoomEvent : UIEvent { 
+interface SVGZoomEvent : UIEvent {
     readonly attribute SVGRect zoomRectScreen;
     readonly attribute float previousScale;
     [Immutable] readonly attribute SVGPoint previousTranslate;
diff --git a/core/testing/InternalSettings.idl b/core/testing/InternalSettings.idl
index ed5ad0e..b9ec8e1 100644
--- a/core/testing/InternalSettings.idl
+++ b/core/testing/InternalSettings.idl
@@ -42,16 +42,9 @@
     [RaisesException] void setMediaTypeOverride(DOMString mediaTypeOverride);
     [RaisesException] void setEditingBehavior(DOMString behavior);
 
-    [RaisesException] void setShouldDisplayTrackKind(DOMString kind, boolean enabled);
-    [RaisesException] boolean shouldDisplayTrackKind(DOMString trackKind);
     [RaisesException] void setImagesEnabled(boolean enabled);
     [RaisesException] void setDefaultVideoPosterURL(DOMString poster);
 
-    // FIXME: cssVariablesEnabled is a real Setting and not a
-    // RuntimeEnabledFeature, but it should be changed to be a REF.
-    [RaisesException] boolean cssVariablesEnabled();
-    [RaisesException] void setCSSVariablesEnabled(boolean enabled);
-
     // FIXME: The following are RuntimeEnabledFeatures and likely
     // cannot be changed after process start.  These setters should
     // be removed or moved onto internals.runtimeFlags:
diff --git a/core/testing/Internals.idl b/core/testing/Internals.idl
index 23557da..457f306 100644
--- a/core/testing/Internals.idl
+++ b/core/testing/Internals.idl
@@ -59,6 +59,7 @@
     [RaisesException] boolean hasSelectorForClassInShadow(Element host, DOMString className);
     [RaisesException] boolean hasSelectorForAttributeInShadow(Element host, DOMString attributeName);
     [RaisesException] boolean hasSelectorForPseudoClassInShadow(Element host, DOMString pseudoClass);
+    [RaisesException] unsigned short compareTreeScopePosition(Node treeScope1, Node treeScope2);
 
     // CSS Animation and Transition testing.
     unsigned long numberOfActiveAnimations();
@@ -169,6 +170,12 @@
     [RaisesException] NodeList paintOrderListBeforePromote(Element element);
     [RaisesException] NodeList paintOrderListAfterPromote(Element element);
 
+    // The values of these constants must be kept in sync with those in RenderLayer.
+    const unsigned short DoNotForceCompositedScrolling = 0;
+    const unsigned short CompositedScrollingAlwaysOn = 1;
+    const unsigned short CompositedScrollingAlwaysOff = 2;
+    [RaisesException] void setNeedsCompositedScrolling(Element element, unsigned short value);
+
     [RaisesException] DOMString scrollingStateTreeAsText(Document document);
     [RaisesException] DOMString mainThreadScrollingReasons(Document document);
     [RaisesException] ClientRectList nonFastScrollableRects(Document document);
@@ -192,7 +199,6 @@
     DOMWindow openDummyInspectorFrontend(DOMString url);
     void closeDummyInspectorFrontend();
     [RaisesException] void setInspectorResourcesDataSizeLimits(long maximumResourcesContentSize, long maximumSingleResourceContentSize);
-    [RaisesException] void setJavaScriptProfilingEnabled(boolean creates);
 
     DOMString counterValue(Element element);
     long pageNumber(Element element, optional float pageWidth, optional float pageHeight);
diff --git a/core/workers/WorkerContext.idl b/core/workers/WorkerContext.idl
index 188b285..e513baf 100644
--- a/core/workers/WorkerContext.idl
+++ b/core/workers/WorkerContext.idl
@@ -57,31 +57,7 @@
                              optional boolean useCapture);
     [RaisesException] boolean dispatchEvent(Event evt);
 
-    // Constructors
-    attribute MessageEventConstructor MessageEvent;
-    attribute WorkerLocationConstructor WorkerLocation;
-
-    attribute MessageChannelConstructor MessageChannel;
-    attribute EventSourceConstructor EventSource;
-    attribute XMLHttpRequestConstructor XMLHttpRequest;
-
-    attribute BlobConstructor Blob;
-    attribute FileReaderConstructor FileReader;
-    attribute FileReaderSyncConstructor FileReaderSync;
-
-    attribute URLConstructor URL;
+    // Additional constructors
     attribute URLConstructor webkitURL; // FIXME: deprecate this.
-
-    attribute ArrayBufferConstructor ArrayBuffer; // Usable with new operator
-    attribute Int8ArrayConstructor Int8Array; // Usable with new operator
-    attribute Uint8ArrayConstructor Uint8Array; // Usable with new operator
-    attribute Uint8ClampedArrayConstructor Uint8ClampedArray; // Usable with new operator
-    attribute Int16ArrayConstructor Int16Array; // Usable with new operator
-    attribute Uint16ArrayConstructor Uint16Array; // Usable with new operator
-    attribute Int32ArrayConstructor Int32Array; // Usable with new operator
-    attribute Uint32ArrayConstructor Uint32Array; // Usable with new operator
-    attribute Float32ArrayConstructor Float32Array; // Usable with new operator
-    attribute Float64ArrayConstructor Float64Array; // Usable with new operator
-    attribute DataViewConstructor DataView; // Usable with new operator
 };
 
diff --git a/core/workers/WorkerLocation.idl b/core/workers/WorkerLocation.idl
index eac41a3..55eabda 100644
--- a/core/workers/WorkerLocation.idl
+++ b/core/workers/WorkerLocation.idl
@@ -27,7 +27,7 @@
  */
 
 [
-    NoInterfaceObject
+    GlobalContext=WorkerOnly
 ] interface WorkerLocation {
     readonly attribute DOMString href;
     readonly attribute DOMString protocol;
diff --git a/core/xml/XMLHttpRequest.idl b/core/xml/XMLHttpRequest.idl
index cb0dc9e..5c03dd6 100644
--- a/core/xml/XMLHttpRequest.idl
+++ b/core/xml/XMLHttpRequest.idl
@@ -37,6 +37,7 @@
 };
 
 [
+    GlobalContext=WindowAndWorker,
     ActiveDOMObject,
     Constructor,
     CallWith=ScriptExecutionContext,
diff --git a/core/xml/XPathExpression.idl b/core/xml/XPathExpression.idl
index 3a3b1b2..cf7c6cf 100644
--- a/core/xml/XPathExpression.idl
+++ b/core/xml/XPathExpression.idl
@@ -17,9 +17,7 @@
  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  * Boston, MA 02110-1301, USA.
  */
-[
-    NoInterfaceObject
-] interface XPathExpression {
+interface XPathExpression {
      [RaisesException] XPathResult evaluate([Default=Undefined] optional Node contextNode, 
                                         [Default=Undefined] optional unsigned short type, 
                                         [Default=Undefined] optional XPathResult inResult);
diff --git a/modules/README b/modules/README
index 8d6d9a3..f34ed35 100644
--- a/modules/README
+++ b/modules/README
@@ -6,4 +6,4 @@
 
 The current version corresponds to:
 URL: http://src.chromium.org/multivm/trunk/webkit
-Current revision: 1266
+Current revision: 1278
diff --git a/modules/mediastream/NavigatorUserMediaError.idl b/modules/mediastream/NavigatorUserMediaError.idl
index 46d0e03..dd32480 100644
--- a/modules/mediastream/NavigatorUserMediaError.idl
+++ b/modules/mediastream/NavigatorUserMediaError.idl
@@ -25,7 +25,8 @@
 [
     NoInterfaceObject
 ] interface NavigatorUserMediaError {
-    const unsigned short PERMISSION_DENIED = 1;
-    readonly attribute unsigned short code;
+    readonly attribute DOMString name;
+    readonly attribute DOMString message;
+    readonly attribute DOMString constraintName;
 };
 
diff --git a/modules/mediastream/RTCStatsResponse.idl b/modules/mediastream/RTCStatsResponse.idl
index e278398..edc759a 100644
--- a/modules/mediastream/RTCStatsResponse.idl
+++ b/modules/mediastream/RTCStatsResponse.idl
@@ -26,5 +26,6 @@
     NoInterfaceObject
 ] interface RTCStatsResponse {
     sequence<RTCStatsReport> result();
-    getter RTCStatsReport namedItem([Default=Undefined] optional DOMString name);
+    RTCStatsReport namedItem([Default=Undefined] optional DOMString name);
+    [NotEnumerable, ImplementedAs=namedItem] getter RTCStatsReport ([Default=Undefined] optional DOMString name);
 };
diff --git a/modules/webaudio/AudioNode.idl b/modules/webaudio/AudioNode.idl
index 7221319..f311d27 100644
--- a/modules/webaudio/AudioNode.idl
+++ b/modules/webaudio/AudioNode.idl
@@ -23,7 +23,8 @@
  */
 
 [
-    Conditional=WEB_AUDIO
+    Conditional=WEB_AUDIO,
+    CustomToV8
 ] interface AudioNode : EventTarget {
     readonly attribute AudioContext context;
     readonly attribute unsigned long numberOfInputs;
diff --git a/modules/webaudio/WaveShaperNode.idl b/modules/webaudio/WaveShaperNode.idl
index 9bc7b24..c4f4c81 100644
--- a/modules/webaudio/WaveShaperNode.idl
+++ b/modules/webaudio/WaveShaperNode.idl
@@ -22,8 +22,15 @@
  * 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;
 };