Merge SVGLangSpace into SVGElement
https://bugs.webkit.org/show_bug.cgi?id=118170

Reviewed by Kentaro Hara.

Remove SVGLangSpace IDL interface and move its attributes to SVGElement
to match the latest specification and simplify inheritance in SVG:
- https://svgwg.org/svg2-draft/types.html#InterfaceSVGElement

No new tests, no behavior change.

* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* svg/SVGAElement.h:
* svg/SVGAElement.idl:
* svg/SVGCircleElement.h:
* svg/SVGCircleElement.idl:
* svg/SVGClipPathElement.h:
* svg/SVGClipPathElement.idl:
* svg/SVGDefsElement.h:
* svg/SVGDefsElement.idl:
* svg/SVGDescElement.h:
* svg/SVGDescElement.idl:
* svg/SVGElement.cpp:
(WebCore::SVGElement::parseAttribute):
* svg/SVGElement.h:
* svg/SVGElement.idl:
* svg/SVGEllipseElement.h:
* svg/SVGEllipseElement.idl:
* svg/SVGFEImageElement.h:
* svg/SVGFEImageElement.idl:
* svg/SVGFilterElement.h:
* svg/SVGFilterElement.idl:
* svg/SVGForeignObjectElement.h:
* svg/SVGForeignObjectElement.idl:
* svg/SVGGElement.h:
* svg/SVGGElement.idl:
* svg/SVGImageElement.h:
* svg/SVGImageElement.idl:
* svg/SVGLangSpace.idl: Removed.
* svg/SVGLineElement.h:
* svg/SVGLineElement.idl:
* svg/SVGMarkerElement.h:
* svg/SVGMarkerElement.idl:
* svg/SVGMaskElement.h:
* svg/SVGMaskElement.idl:
* svg/SVGPathElement.h:
* svg/SVGPathElement.idl:
* svg/SVGPatternElement.h:
* svg/SVGPatternElement.idl:
* svg/SVGPolyElement.h:
* svg/SVGPolygonElement.idl:
* svg/SVGPolylineElement.idl:
* svg/SVGRectElement.h:
* svg/SVGRectElement.idl:
* svg/SVGSVGElement.h:
* svg/SVGSVGElement.idl:
* svg/SVGStyleElement.h:
* svg/SVGStyleElement.idl:
* svg/SVGSwitchElement.h:
* svg/SVGSwitchElement.idl:
* svg/SVGSymbolElement.h:
* svg/SVGSymbolElement.idl:
* svg/SVGTextContentElement.h:
* svg/SVGTextContentElement.idl:
* svg/SVGTitleElement.h:
* svg/SVGTitleElement.idl:
* svg/SVGUseElement.h:
* svg/SVGUseElement.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index a81dd83..e08c4bb 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,5 +1,77 @@
 2013-06-28  Christophe Dumez  <ch.dumez@sisa.samsung.com>
 
+        Merge SVGLangSpace into SVGElement
+        https://bugs.webkit.org/show_bug.cgi?id=118170
+
+        Reviewed by Kentaro Hara.
+
+        Remove SVGLangSpace IDL interface and move its attributes to SVGElement
+        to match the latest specification and simplify inheritance in SVG:
+        - https://svgwg.org/svg2-draft/types.html#InterfaceSVGElement
+
+        No new tests, no behavior change.
+
+        * DerivedSources.make:
+        * WebCore.xcodeproj/project.pbxproj:
+        * svg/SVGAElement.h:
+        * svg/SVGAElement.idl:
+        * svg/SVGCircleElement.h:
+        * svg/SVGCircleElement.idl:
+        * svg/SVGClipPathElement.h:
+        * svg/SVGClipPathElement.idl:
+        * svg/SVGDefsElement.h:
+        * svg/SVGDefsElement.idl:
+        * svg/SVGDescElement.h:
+        * svg/SVGDescElement.idl:
+        * svg/SVGElement.cpp:
+        (WebCore::SVGElement::parseAttribute):
+        * svg/SVGElement.h:
+        * svg/SVGElement.idl:
+        * svg/SVGEllipseElement.h:
+        * svg/SVGEllipseElement.idl:
+        * svg/SVGFEImageElement.h:
+        * svg/SVGFEImageElement.idl:
+        * svg/SVGFilterElement.h:
+        * svg/SVGFilterElement.idl:
+        * svg/SVGForeignObjectElement.h:
+        * svg/SVGForeignObjectElement.idl:
+        * svg/SVGGElement.h:
+        * svg/SVGGElement.idl:
+        * svg/SVGImageElement.h:
+        * svg/SVGImageElement.idl:
+        * svg/SVGLangSpace.idl: Removed.
+        * svg/SVGLineElement.h:
+        * svg/SVGLineElement.idl:
+        * svg/SVGMarkerElement.h:
+        * svg/SVGMarkerElement.idl:
+        * svg/SVGMaskElement.h:
+        * svg/SVGMaskElement.idl:
+        * svg/SVGPathElement.h:
+        * svg/SVGPathElement.idl:
+        * svg/SVGPatternElement.h:
+        * svg/SVGPatternElement.idl:
+        * svg/SVGPolyElement.h:
+        * svg/SVGPolygonElement.idl:
+        * svg/SVGPolylineElement.idl:
+        * svg/SVGRectElement.h:
+        * svg/SVGRectElement.idl:
+        * svg/SVGSVGElement.h:
+        * svg/SVGSVGElement.idl:
+        * svg/SVGStyleElement.h:
+        * svg/SVGStyleElement.idl:
+        * svg/SVGSwitchElement.h:
+        * svg/SVGSwitchElement.idl:
+        * svg/SVGSymbolElement.h:
+        * svg/SVGSymbolElement.idl:
+        * svg/SVGTextContentElement.h:
+        * svg/SVGTextContentElement.idl:
+        * svg/SVGTitleElement.h:
+        * svg/SVGTitleElement.idl:
+        * svg/SVGUseElement.h:
+        * svg/SVGUseElement.idl:
+
+2013-06-28  Christophe Dumez  <ch.dumez@sisa.samsung.com>
+
         Use & instead of | in the value of [CallWith]
         https://bugs.webkit.org/show_bug.cgi?id=118054
 
diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make
index c6e9b25..620c30c 100644
--- a/Source/WebCore/DerivedSources.make
+++ b/Source/WebCore/DerivedSources.make
@@ -550,7 +550,6 @@
     $(WebCore)/svg/SVGGradientElement.idl \
     $(WebCore)/svg/SVGHKernElement.idl \
     $(WebCore)/svg/SVGImageElement.idl \
-    $(WebCore)/svg/SVGLangSpace.idl \
     $(WebCore)/svg/SVGLength.idl \
     $(WebCore)/svg/SVGLengthList.idl \
     $(WebCore)/svg/SVGLineElement.idl \
diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
index 52fff0f..1b4b6b0 100644
--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -10612,7 +10612,6 @@
 		B22278980D00BF200071B782 /* SVGImageElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGImageElement.idl; sourceTree = "<group>"; };
 		B22278990D00BF200071B782 /* SVGLangSpace.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGLangSpace.cpp; sourceTree = "<group>"; };
 		B222789A0D00BF200071B782 /* SVGLangSpace.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGLangSpace.h; sourceTree = "<group>"; };
-		B222789B0D00BF200071B782 /* SVGLangSpace.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGLangSpace.idl; sourceTree = "<group>"; };
 		B222789C0D00BF200071B782 /* SVGLength.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGLength.cpp; sourceTree = "<group>"; };
 		B222789D0D00BF200071B782 /* SVGLength.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGLength.h; sourceTree = "<group>"; };
 		B222789E0D00BF200071B782 /* SVGLength.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGLength.idl; sourceTree = "<group>"; };
@@ -17977,7 +17976,6 @@
 				B28C6A210D00C44800334AA4 /* SVGImageLoader.h */,
 				B22278990D00BF200071B782 /* SVGLangSpace.cpp */,
 				B222789A0D00BF200071B782 /* SVGLangSpace.h */,
-				B222789B0D00BF200071B782 /* SVGLangSpace.idl */,
 				B222789C0D00BF200071B782 /* SVGLength.cpp */,
 				B222789D0D00BF200071B782 /* SVGLength.h */,
 				B222789E0D00BF200071B782 /* SVGLength.idl */,
diff --git a/Source/WebCore/svg/SVGAElement.h b/Source/WebCore/svg/SVGAElement.h
index 143c1b7..b70d0fb 100644
--- a/Source/WebCore/svg/SVGAElement.h
+++ b/Source/WebCore/svg/SVGAElement.h
@@ -25,7 +25,6 @@
 #if ENABLE(SVG)
 #include "SVGAnimatedBoolean.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 #include "SVGURIReference.h"
@@ -35,7 +34,6 @@
 class SVGAElement FINAL : public SVGStyledTransformableElement,
                           public SVGURIReference,
                           public SVGTests,
-                          public SVGLangSpace,
                           public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGAElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGAElement.idl b/Source/WebCore/svg/SVGAElement.idl
index 39c125e..68f28bd 100644
--- a/Source/WebCore/svg/SVGAElement.idl
+++ b/Source/WebCore/svg/SVGAElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGAElement : SVGStyledElement,
-                          SVGLangSpace,
                           SVGTransformable {
     readonly attribute SVGAnimatedString target;
 };
diff --git a/Source/WebCore/svg/SVGCircleElement.h b/Source/WebCore/svg/SVGCircleElement.h
index bf86db1..efc6a95 100644
--- a/Source/WebCore/svg/SVGCircleElement.h
+++ b/Source/WebCore/svg/SVGCircleElement.h
@@ -25,7 +25,6 @@
 #include "SVGAnimatedBoolean.h"
 #include "SVGAnimatedLength.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 
@@ -33,7 +32,6 @@
 
 class SVGCircleElement FINAL : public SVGStyledTransformableElement,
                                public SVGTests,
-                               public SVGLangSpace,
                                public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGCircleElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGCircleElement.idl b/Source/WebCore/svg/SVGCircleElement.idl
index 293f5ca..55aadf0 100644
--- a/Source/WebCore/svg/SVGCircleElement.idl
+++ b/Source/WebCore/svg/SVGCircleElement.idl
@@ -27,7 +27,6 @@
 [
     Conditional=SVG
 ] interface SVGCircleElement : SVGStyledElement,
-                               SVGLangSpace,
                                SVGTransformable {
     readonly attribute SVGAnimatedLength cx;
     readonly attribute SVGAnimatedLength cy;
diff --git a/Source/WebCore/svg/SVGClipPathElement.h b/Source/WebCore/svg/SVGClipPathElement.h
index dea5433..4fb4675 100644
--- a/Source/WebCore/svg/SVGClipPathElement.h
+++ b/Source/WebCore/svg/SVGClipPathElement.h
@@ -25,7 +25,6 @@
 #include "SVGAnimatedBoolean.h"
 #include "SVGAnimatedEnumeration.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 #include "SVGUnitTypes.h"
@@ -36,7 +35,6 @@
 
 class SVGClipPathElement FINAL : public SVGStyledTransformableElement,
                                  public SVGTests,
-                                 public SVGLangSpace,
                                  public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGClipPathElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGClipPathElement.idl b/Source/WebCore/svg/SVGClipPathElement.idl
index 4202ee8..ccc7edd 100644
--- a/Source/WebCore/svg/SVGClipPathElement.idl
+++ b/Source/WebCore/svg/SVGClipPathElement.idl
@@ -27,7 +27,6 @@
 [
     Conditional=SVG
 ] interface SVGClipPathElement : SVGStyledElement,
-                                 SVGLangSpace,
                                  SVGTransformable {
     readonly attribute SVGAnimatedEnumeration clipPathUnits;
 };
diff --git a/Source/WebCore/svg/SVGDefsElement.h b/Source/WebCore/svg/SVGDefsElement.h
index 7c1541f..e7d95e3 100644
--- a/Source/WebCore/svg/SVGDefsElement.h
+++ b/Source/WebCore/svg/SVGDefsElement.h
@@ -24,7 +24,6 @@
 #if ENABLE(SVG)
 #include "SVGAnimatedBoolean.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 
@@ -32,7 +31,6 @@
 
 class SVGDefsElement FINAL : public SVGStyledTransformableElement,
                              public SVGTests,
-                             public SVGLangSpace,
                              public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGDefsElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGDefsElement.idl b/Source/WebCore/svg/SVGDefsElement.idl
index a99654a..15c6a83 100644
--- a/Source/WebCore/svg/SVGDefsElement.idl
+++ b/Source/WebCore/svg/SVGDefsElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGDefsElement : SVGStyledElement,
-                             SVGLangSpace,
                              SVGTransformable {
 };
 
diff --git a/Source/WebCore/svg/SVGDescElement.h b/Source/WebCore/svg/SVGDescElement.h
index 029d773..dcf5287 100644
--- a/Source/WebCore/svg/SVGDescElement.h
+++ b/Source/WebCore/svg/SVGDescElement.h
@@ -22,13 +22,11 @@
 #define SVGDescElement_h
 
 #if ENABLE(SVG)
-#include "SVGLangSpace.h"
 #include "SVGStyledElement.h"
 
 namespace WebCore {
 
-class SVGDescElement FINAL : public SVGStyledElement,
-                             public SVGLangSpace {
+class SVGDescElement FINAL : public SVGStyledElement {
 public:
     static PassRefPtr<SVGDescElement> create(const QualifiedName&, Document*);
 
diff --git a/Source/WebCore/svg/SVGDescElement.idl b/Source/WebCore/svg/SVGDescElement.idl
index 75043a2..1346b47 100644
--- a/Source/WebCore/svg/SVGDescElement.idl
+++ b/Source/WebCore/svg/SVGDescElement.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=SVG
-] interface SVGDescElement : SVGStyledElement,
-                                             SVGLangSpace {
+] interface SVGDescElement : SVGStyledElement {
 };
 
diff --git a/Source/WebCore/svg/SVGElement.cpp b/Source/WebCore/svg/SVGElement.cpp
index afdfaf4..12f7473 100644
--- a/Source/WebCore/svg/SVGElement.cpp
+++ b/Source/WebCore/svg/SVGElement.cpp
@@ -338,7 +338,8 @@
         setAttributeEventListener(eventNames().focusoutEvent, createAttributeEventListener(this, name, value));
     else if (name == SVGNames::onactivateAttr)
         setAttributeEventListener(eventNames().DOMActivateEvent, createAttributeEventListener(this, name, value));
-    else
+    else if (SVGLangSpace::parseAttribute(name, value)) {
+    } else
         StyledElement::parseAttribute(name, value);
 }
 
diff --git a/Source/WebCore/svg/SVGElement.h b/Source/WebCore/svg/SVGElement.h
index bd22959..5f9686f 100644
--- a/Source/WebCore/svg/SVGElement.h
+++ b/Source/WebCore/svg/SVGElement.h
@@ -23,6 +23,7 @@
 #define SVGElement_h
 
 #if ENABLE(SVG)
+#include "SVGLangSpace.h"
 #include "SVGLocatable.h"
 #include "SVGParsingError.h"
 #include "SVGPropertyInfo.h"
@@ -42,7 +43,7 @@
 class SVGElementRareData;
 class SVGSVGElement;
 
-class SVGElement : public StyledElement {
+class SVGElement : public StyledElement, public SVGLangSpace {
 public:
     static PassRefPtr<SVGElement> create(const QualifiedName&, Document*);
     virtual ~SVGElement();
diff --git a/Source/WebCore/svg/SVGElement.idl b/Source/WebCore/svg/SVGElement.idl
index 7736767..a5acc7e6 100644
--- a/Source/WebCore/svg/SVGElement.idl
+++ b/Source/WebCore/svg/SVGElement.idl
@@ -28,5 +28,8 @@
     [TreatNullAs=NullString, SetterRaisesException] attribute DOMString xmlbase;
     readonly attribute SVGSVGElement ownerSVGElement;
     readonly attribute SVGElement viewportElement;
+
+    attribute DOMString xmllang;
+    attribute DOMString xmlspace;
 };
 
diff --git a/Source/WebCore/svg/SVGEllipseElement.h b/Source/WebCore/svg/SVGEllipseElement.h
index 48172a0..75fb2c8 100644
--- a/Source/WebCore/svg/SVGEllipseElement.h
+++ b/Source/WebCore/svg/SVGEllipseElement.h
@@ -25,7 +25,6 @@
 #include "SVGAnimatedBoolean.h"
 #include "SVGAnimatedLength.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 
@@ -33,7 +32,6 @@
 
 class SVGEllipseElement FINAL : public SVGStyledTransformableElement,
                                 public SVGTests,
-                                public SVGLangSpace,
                                 public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGEllipseElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGEllipseElement.idl b/Source/WebCore/svg/SVGEllipseElement.idl
index 0cd6f2b..2fefc2e 100644
--- a/Source/WebCore/svg/SVGEllipseElement.idl
+++ b/Source/WebCore/svg/SVGEllipseElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGEllipseElement : SVGStyledElement,
-                                SVGLangSpace,
                                 SVGTransformable {
     readonly attribute SVGAnimatedLength cx;
     readonly attribute SVGAnimatedLength cy;
diff --git a/Source/WebCore/svg/SVGFEImageElement.h b/Source/WebCore/svg/SVGFEImageElement.h
index 2282a58..3796db1 100644
--- a/Source/WebCore/svg/SVGFEImageElement.h
+++ b/Source/WebCore/svg/SVGFEImageElement.h
@@ -30,14 +30,12 @@
 #include "SVGExternalResourcesRequired.h"
 #include "SVGFEImage.h"
 #include "SVGFilterPrimitiveStandardAttributes.h"
-#include "SVGLangSpace.h"
 #include "SVGURIReference.h"
 
 namespace WebCore {
 
 class SVGFEImageElement FINAL : public SVGFilterPrimitiveStandardAttributes,
                                 public SVGURIReference,
-                                public SVGLangSpace,
                                 public SVGExternalResourcesRequired,
                                 public CachedImageClient {
 public:
diff --git a/Source/WebCore/svg/SVGFEImageElement.idl b/Source/WebCore/svg/SVGFEImageElement.idl
index 48f9356..e27066e 100644
--- a/Source/WebCore/svg/SVGFEImageElement.idl
+++ b/Source/WebCore/svg/SVGFEImageElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG&FILTERS
 ] interface SVGFEImageElement : SVGStyledElement,
-                                SVGLangSpace,
                                 SVGFilterPrimitiveStandardAttributes {
     readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio;
 };
diff --git a/Source/WebCore/svg/SVGFilterElement.h b/Source/WebCore/svg/SVGFilterElement.h
index a3de414..9515fbb 100644
--- a/Source/WebCore/svg/SVGFilterElement.h
+++ b/Source/WebCore/svg/SVGFilterElement.h
@@ -29,7 +29,6 @@
 #include "SVGAnimatedInteger.h"
 #include "SVGAnimatedLength.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledElement.h"
 #include "SVGURIReference.h"
 #include "SVGUnitTypes.h"
@@ -38,7 +37,6 @@
 
 class SVGFilterElement FINAL : public SVGStyledElement,
                                public SVGURIReference,
-                               public SVGLangSpace,
                                public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGFilterElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGFilterElement.idl b/Source/WebCore/svg/SVGFilterElement.idl
index c4a75d6..f3e252d 100644
--- a/Source/WebCore/svg/SVGFilterElement.idl
+++ b/Source/WebCore/svg/SVGFilterElement.idl
@@ -26,8 +26,7 @@
 
 [
     Conditional=SVG&FILTERS
-] interface SVGFilterElement : SVGStyledElement,
-                               SVGLangSpace {
+] interface SVGFilterElement : SVGStyledElement {
     readonly attribute SVGAnimatedEnumeration filterUnits;
     readonly attribute SVGAnimatedEnumeration primitiveUnits;
     readonly attribute SVGAnimatedLength      x;
diff --git a/Source/WebCore/svg/SVGForeignObjectElement.h b/Source/WebCore/svg/SVGForeignObjectElement.h
index 97df65e..bc95eaf 100644
--- a/Source/WebCore/svg/SVGForeignObjectElement.h
+++ b/Source/WebCore/svg/SVGForeignObjectElement.h
@@ -24,7 +24,6 @@
 #include "SVGAnimatedBoolean.h"
 #include "SVGAnimatedLength.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 #include "SVGURIReference.h"
@@ -33,7 +32,6 @@
 
 class SVGForeignObjectElement FINAL : public SVGStyledTransformableElement,
                                       public SVGTests,
-                                      public SVGLangSpace,
                                       public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGForeignObjectElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGForeignObjectElement.idl b/Source/WebCore/svg/SVGForeignObjectElement.idl
index 401ce01..5632335 100644
--- a/Source/WebCore/svg/SVGForeignObjectElement.idl
+++ b/Source/WebCore/svg/SVGForeignObjectElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGForeignObjectElement : SVGStyledElement,
-                                      SVGLangSpace,
                                       SVGTransformable {
     readonly attribute SVGAnimatedLength x;
     readonly attribute SVGAnimatedLength y;
diff --git a/Source/WebCore/svg/SVGGElement.h b/Source/WebCore/svg/SVGGElement.h
index 8661974..7cc9d1c 100644
--- a/Source/WebCore/svg/SVGGElement.h
+++ b/Source/WebCore/svg/SVGGElement.h
@@ -24,7 +24,6 @@
 #if ENABLE(SVG)
 #include "SVGAnimatedBoolean.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 
@@ -32,7 +31,6 @@
 
 class SVGGElement FINAL : public SVGStyledTransformableElement,
                           public SVGTests,
-                          public SVGLangSpace,
                           public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGGElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGGElement.idl b/Source/WebCore/svg/SVGGElement.idl
index 020a798..2dd019d 100644
--- a/Source/WebCore/svg/SVGGElement.idl
+++ b/Source/WebCore/svg/SVGGElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGGElement : SVGStyledElement,
-                          SVGLangSpace,
                           SVGTransformable {
 };
 
diff --git a/Source/WebCore/svg/SVGImageElement.h b/Source/WebCore/svg/SVGImageElement.h
index b50d8c5..fd9f6e8 100644
--- a/Source/WebCore/svg/SVGImageElement.h
+++ b/Source/WebCore/svg/SVGImageElement.h
@@ -27,7 +27,6 @@
 #include "SVGAnimatedPreserveAspectRatio.h"
 #include "SVGExternalResourcesRequired.h"
 #include "SVGImageLoader.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 #include "SVGURIReference.h"
@@ -36,7 +35,6 @@
 
 class SVGImageElement FINAL : public SVGStyledTransformableElement,
                               public SVGTests,
-                              public SVGLangSpace,
                               public SVGExternalResourcesRequired,
                               public SVGURIReference {
 public:
diff --git a/Source/WebCore/svg/SVGImageElement.idl b/Source/WebCore/svg/SVGImageElement.idl
index 61ea4d8..fd847cc 100644
--- a/Source/WebCore/svg/SVGImageElement.idl
+++ b/Source/WebCore/svg/SVGImageElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGImageElement : SVGStyledElement,
-                              SVGLangSpace,
                               SVGTransformable {
     readonly attribute SVGAnimatedLength x;
     readonly attribute SVGAnimatedLength y;
diff --git a/Source/WebCore/svg/SVGLangSpace.idl b/Source/WebCore/svg/SVGLangSpace.idl
deleted file mode 100644
index 1e10028..0000000
--- a/Source/WebCore/svg/SVGLangSpace.idl
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
- * Copyright (C) 2006 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-[
-    NoInterfaceObject,
-    Conditional=SVG,
-    ObjCProtocol,
-    SuppressToJSObject,
-] interface SVGLangSpace {
-             attribute DOMString xmllang;
-             attribute DOMString xmlspace;
-};
-
diff --git a/Source/WebCore/svg/SVGLineElement.h b/Source/WebCore/svg/SVGLineElement.h
index 4e9bfdf..9eab229 100644
--- a/Source/WebCore/svg/SVGLineElement.h
+++ b/Source/WebCore/svg/SVGLineElement.h
@@ -25,7 +25,6 @@
 #include "SVGAnimatedBoolean.h"
 #include "SVGAnimatedLength.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 
@@ -33,7 +32,6 @@
 
 class SVGLineElement FINAL : public SVGStyledTransformableElement,
                              public SVGTests,
-                             public SVGLangSpace,
                              public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGLineElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGLineElement.idl b/Source/WebCore/svg/SVGLineElement.idl
index b4f8de9..f337f18 100644
--- a/Source/WebCore/svg/SVGLineElement.idl
+++ b/Source/WebCore/svg/SVGLineElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGLineElement : SVGStyledElement,
-                             SVGLangSpace,
                              SVGTransformable {
     readonly attribute SVGAnimatedLength x1;
     readonly attribute SVGAnimatedLength y1;
diff --git a/Source/WebCore/svg/SVGMarkerElement.h b/Source/WebCore/svg/SVGMarkerElement.h
index ef04a06..5680961 100644
--- a/Source/WebCore/svg/SVGMarkerElement.h
+++ b/Source/WebCore/svg/SVGMarkerElement.h
@@ -30,7 +30,6 @@
 #include "SVGAnimatedRect.h"
 #include "SVGExternalResourcesRequired.h"
 #include "SVGFitToViewBox.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledElement.h"
 
 namespace WebCore {
@@ -96,7 +95,6 @@
 };
 
 class SVGMarkerElement FINAL : public SVGStyledElement,
-                               public SVGLangSpace,
                                public SVGExternalResourcesRequired,
                                public SVGFitToViewBox {
 public:
diff --git a/Source/WebCore/svg/SVGMarkerElement.idl b/Source/WebCore/svg/SVGMarkerElement.idl
index f6a7025..7186389 100644
--- a/Source/WebCore/svg/SVGMarkerElement.idl
+++ b/Source/WebCore/svg/SVGMarkerElement.idl
@@ -25,7 +25,7 @@
 
 [
     Conditional=SVG
-] interface SVGMarkerElement : SVGStyledElement, SVGLangSpace {
+] interface SVGMarkerElement : SVGStyledElement {
     // Marker Unit Types
     const unsigned short SVG_MARKERUNITS_UNKNOWN        = 0;
     const unsigned short SVG_MARKERUNITS_USERSPACEONUSE = 1;
diff --git a/Source/WebCore/svg/SVGMaskElement.h b/Source/WebCore/svg/SVGMaskElement.h
index da594f0..8df1138 100644
--- a/Source/WebCore/svg/SVGMaskElement.h
+++ b/Source/WebCore/svg/SVGMaskElement.h
@@ -25,7 +25,6 @@
 #include "SVGAnimatedEnumeration.h"
 #include "SVGAnimatedLength.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledElement.h"
 #include "SVGTests.h"
 #include "SVGUnitTypes.h"
@@ -34,7 +33,6 @@
 
 class SVGMaskElement FINAL : public SVGStyledElement,
                              public SVGTests,
-                             public SVGLangSpace,
                              public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGMaskElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGMaskElement.idl b/Source/WebCore/svg/SVGMaskElement.idl
index a6f1964..049a8db 100644
--- a/Source/WebCore/svg/SVGMaskElement.idl
+++ b/Source/WebCore/svg/SVGMaskElement.idl
@@ -25,8 +25,7 @@
 
 [
     Conditional=SVG
-] interface SVGMaskElement : SVGStyledElement,
-                             SVGLangSpace {
+] interface SVGMaskElement : SVGStyledElement {
     readonly attribute SVGAnimatedEnumeration maskUnits;
     readonly attribute SVGAnimatedEnumeration maskContentUnits;
 
diff --git a/Source/WebCore/svg/SVGPathElement.h b/Source/WebCore/svg/SVGPathElement.h
index 15210a3..c9a759f 100644
--- a/Source/WebCore/svg/SVGPathElement.h
+++ b/Source/WebCore/svg/SVGPathElement.h
@@ -25,7 +25,6 @@
 #include "SVGAnimatedBoolean.h"
 #include "SVGAnimatedNumber.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGNames.h"
 #include "SVGPathByteStream.h"
 #include "SVGPathSegList.h"
@@ -57,7 +56,6 @@
 
 class SVGPathElement FINAL : public SVGStyledTransformableElement,
                              public SVGTests,
-                             public SVGLangSpace,
                              public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGPathElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGPathElement.idl b/Source/WebCore/svg/SVGPathElement.idl
index e7d9aed..24bbea6 100644
--- a/Source/WebCore/svg/SVGPathElement.idl
+++ b/Source/WebCore/svg/SVGPathElement.idl
@@ -27,7 +27,6 @@
 [
     Conditional=SVG
 ] interface SVGPathElement : SVGStyledElement,
-                             SVGLangSpace,
                              SVGTransformable {
     readonly attribute SVGAnimatedNumber pathLength;
 
diff --git a/Source/WebCore/svg/SVGPatternElement.h b/Source/WebCore/svg/SVGPatternElement.h
index 6db6281..dffaf96 100644
--- a/Source/WebCore/svg/SVGPatternElement.h
+++ b/Source/WebCore/svg/SVGPatternElement.h
@@ -30,7 +30,6 @@
 #include "SVGAnimatedTransformList.h"
 #include "SVGExternalResourcesRequired.h"
 #include "SVGFitToViewBox.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledElement.h"
 #include "SVGTests.h"
 #include "SVGURIReference.h"
@@ -43,7 +42,6 @@
 class SVGPatternElement FINAL : public SVGStyledElement,
                                 public SVGURIReference,
                                 public SVGTests,
-                                public SVGLangSpace,
                                 public SVGExternalResourcesRequired,
                                 public SVGFitToViewBox {
 public:
diff --git a/Source/WebCore/svg/SVGPatternElement.idl b/Source/WebCore/svg/SVGPatternElement.idl
index 57a97cc..262a033 100644
--- a/Source/WebCore/svg/SVGPatternElement.idl
+++ b/Source/WebCore/svg/SVGPatternElement.idl
@@ -25,8 +25,7 @@
 
 [
     Conditional=SVG
-] interface SVGPatternElement : SVGStyledElement,
-                                SVGLangSpace {
+] interface SVGPatternElement : SVGStyledElement {
     readonly attribute SVGAnimatedEnumeration   patternUnits;
     readonly attribute SVGAnimatedEnumeration   patternContentUnits;
     readonly attribute SVGAnimatedTransformList patternTransform;
diff --git a/Source/WebCore/svg/SVGPolyElement.h b/Source/WebCore/svg/SVGPolyElement.h
index e8f0537..9ef8ee9 100644
--- a/Source/WebCore/svg/SVGPolyElement.h
+++ b/Source/WebCore/svg/SVGPolyElement.h
@@ -24,7 +24,6 @@
 #if ENABLE(SVG)
 #include "SVGAnimatedBoolean.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGNames.h"
 #include "SVGPointList.h"
 #include "SVGStyledTransformableElement.h"
@@ -34,7 +33,6 @@
 
 class SVGPolyElement : public SVGStyledTransformableElement
                      , public SVGTests
-                     , public SVGLangSpace
                      , public SVGExternalResourcesRequired {
 public:
     SVGListPropertyTearOff<SVGPointList>* points();
diff --git a/Source/WebCore/svg/SVGPolygonElement.idl b/Source/WebCore/svg/SVGPolygonElement.idl
index 2f825b6..b54a0de 100644
--- a/Source/WebCore/svg/SVGPolygonElement.idl
+++ b/Source/WebCore/svg/SVGPolygonElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGPolygonElement : SVGStyledElement,
-                                SVGLangSpace,
                                 SVGTransformable {
     readonly attribute SVGPointList points;
     readonly attribute SVGPointList animatedPoints;
diff --git a/Source/WebCore/svg/SVGPolylineElement.idl b/Source/WebCore/svg/SVGPolylineElement.idl
index 55fd490..a6d9517 100644
--- a/Source/WebCore/svg/SVGPolylineElement.idl
+++ b/Source/WebCore/svg/SVGPolylineElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGPolylineElement : SVGStyledElement,
-                                 SVGLangSpace,
                                  SVGTransformable {
     readonly attribute SVGPointList points;
     readonly attribute SVGPointList animatedPoints;
diff --git a/Source/WebCore/svg/SVGRectElement.h b/Source/WebCore/svg/SVGRectElement.h
index b734d84..3007b1f 100644
--- a/Source/WebCore/svg/SVGRectElement.h
+++ b/Source/WebCore/svg/SVGRectElement.h
@@ -25,7 +25,6 @@
 #include "SVGAnimatedBoolean.h"
 #include "SVGAnimatedLength.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 
@@ -33,7 +32,6 @@
 
 class SVGRectElement FINAL : public SVGStyledTransformableElement,
                              public SVGTests,
-                             public SVGLangSpace,
                              public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGRectElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGRectElement.idl b/Source/WebCore/svg/SVGRectElement.idl
index 12f9eb7..a6d883d 100644
--- a/Source/WebCore/svg/SVGRectElement.idl
+++ b/Source/WebCore/svg/SVGRectElement.idl
@@ -27,7 +27,6 @@
 [
     Conditional=SVG
 ] interface SVGRectElement : SVGStyledElement,
-                             SVGLangSpace,
                              SVGTransformable {
     readonly attribute SVGAnimatedLength x;
     readonly attribute SVGAnimatedLength y;
diff --git a/Source/WebCore/svg/SVGSVGElement.h b/Source/WebCore/svg/SVGSVGElement.h
index 22ed977..4fe1b47 100644
--- a/Source/WebCore/svg/SVGSVGElement.h
+++ b/Source/WebCore/svg/SVGSVGElement.h
@@ -28,7 +28,6 @@
 #include "SVGAnimatedRect.h"
 #include "SVGExternalResourcesRequired.h"
 #include "SVGFitToViewBox.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 #include "SVGZoomAndPan.h"
@@ -44,7 +43,6 @@
 
 class SVGSVGElement FINAL : public SVGStyledTransformableElement,
                             public SVGTests,
-                            public SVGLangSpace,
                             public SVGExternalResourcesRequired,
                             public SVGFitToViewBox,
                             public SVGZoomAndPan {
diff --git a/Source/WebCore/svg/SVGSVGElement.idl b/Source/WebCore/svg/SVGSVGElement.idl
index eff3178..5d17e57 100644
--- a/Source/WebCore/svg/SVGSVGElement.idl
+++ b/Source/WebCore/svg/SVGSVGElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGSVGElement : SVGStyledElement,
-                            SVGLangSpace,
                             SVGTransformable {
     readonly attribute SVGAnimatedLength x;
     readonly attribute SVGAnimatedLength y;
diff --git a/Source/WebCore/svg/SVGStyleElement.h b/Source/WebCore/svg/SVGStyleElement.h
index c9d236b..80abc36 100644
--- a/Source/WebCore/svg/SVGStyleElement.h
+++ b/Source/WebCore/svg/SVGStyleElement.h
@@ -23,13 +23,11 @@
 
 #if ENABLE(SVG)
 #include "SVGElement.h"
-#include "SVGLangSpace.h"
 #include "StyleElement.h"
 
 namespace WebCore {
 
 class SVGStyleElement FINAL : public SVGElement
-                            , public SVGLangSpace
                             , public StyleElement {
 public:
     static PassRefPtr<SVGStyleElement> create(const QualifiedName&, Document*, bool createdByParser);
diff --git a/Source/WebCore/svg/SVGStyleElement.idl b/Source/WebCore/svg/SVGStyleElement.idl
index 6005b2e..c188392 100644
--- a/Source/WebCore/svg/SVGStyleElement.idl
+++ b/Source/WebCore/svg/SVGStyleElement.idl
@@ -26,8 +26,7 @@
 
 [
     Conditional=SVG
-] interface SVGStyleElement : SVGElement,
-                                              SVGLangSpace {
+] interface SVGStyleElement : SVGElement {
              attribute boolean disabled;
              [SetterRaisesException] attribute DOMString type;
              [SetterRaisesException] attribute DOMString media;
diff --git a/Source/WebCore/svg/SVGSwitchElement.h b/Source/WebCore/svg/SVGSwitchElement.h
index 3c0af4a..cb136bb 100644
--- a/Source/WebCore/svg/SVGSwitchElement.h
+++ b/Source/WebCore/svg/SVGSwitchElement.h
@@ -24,7 +24,6 @@
 #if ENABLE(SVG)
 #include "SVGAnimatedBoolean.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 
@@ -32,7 +31,6 @@
 
 class SVGSwitchElement FINAL : public SVGStyledTransformableElement,
                                public SVGTests,
-                               public SVGLangSpace,
                                public SVGExternalResourcesRequired {
 public:
     static PassRefPtr<SVGSwitchElement> create(const QualifiedName&, Document*);
diff --git a/Source/WebCore/svg/SVGSwitchElement.idl b/Source/WebCore/svg/SVGSwitchElement.idl
index 722be30..2db1eb0 100644
--- a/Source/WebCore/svg/SVGSwitchElement.idl
+++ b/Source/WebCore/svg/SVGSwitchElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGSwitchElement : SVGStyledElement,
-                               SVGLangSpace,
                                SVGTransformable {
 };
 
diff --git a/Source/WebCore/svg/SVGSymbolElement.h b/Source/WebCore/svg/SVGSymbolElement.h
index d72babe..6bbdfd7 100644
--- a/Source/WebCore/svg/SVGSymbolElement.h
+++ b/Source/WebCore/svg/SVGSymbolElement.h
@@ -27,13 +27,11 @@
 #include "SVGAnimatedRect.h"
 #include "SVGExternalResourcesRequired.h"
 #include "SVGFitToViewBox.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledElement.h"
 
 namespace WebCore {
 
 class SVGSymbolElement FINAL : public SVGStyledElement,
-                               public SVGLangSpace,
                                public SVGExternalResourcesRequired,
                                public SVGFitToViewBox {
 public:
diff --git a/Source/WebCore/svg/SVGSymbolElement.idl b/Source/WebCore/svg/SVGSymbolElement.idl
index d763205..17914ef 100644
--- a/Source/WebCore/svg/SVGSymbolElement.idl
+++ b/Source/WebCore/svg/SVGSymbolElement.idl
@@ -25,7 +25,7 @@
 
 [
     Conditional=SVG
-] interface SVGSymbolElement : SVGStyledElement, SVGLangSpace {
+] interface SVGSymbolElement : SVGStyledElement {
 };
 
 SVGSymbolElement implements SVGExternalResourcesRequired;
diff --git a/Source/WebCore/svg/SVGTextContentElement.h b/Source/WebCore/svg/SVGTextContentElement.h
index 73dc6b8..57db70f 100644
--- a/Source/WebCore/svg/SVGTextContentElement.h
+++ b/Source/WebCore/svg/SVGTextContentElement.h
@@ -26,7 +26,6 @@
 #include "SVGAnimatedEnumeration.h"
 #include "SVGAnimatedLength.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledElement.h"
 #include "SVGTests.h"
 
@@ -69,7 +68,6 @@
 
 class SVGTextContentElement : public SVGStyledElement,
                               public SVGTests,
-                              public SVGLangSpace,
                               public SVGExternalResourcesRequired {
 public:
     // Forward declare enumerations in the W3C naming scheme, for IDL generation.
diff --git a/Source/WebCore/svg/SVGTextContentElement.idl b/Source/WebCore/svg/SVGTextContentElement.idl
index 99cb2f2..efcbdb9 100644
--- a/Source/WebCore/svg/SVGTextContentElement.idl
+++ b/Source/WebCore/svg/SVGTextContentElement.idl
@@ -25,8 +25,7 @@
 
 [
     Conditional=SVG
-] interface SVGTextContentElement : SVGStyledElement,
-                                    SVGLangSpace {
+] interface SVGTextContentElement : SVGStyledElement {
     // lengthAdjust Types
     const unsigned short LENGTHADJUST_UNKNOWN          = 0;
     const unsigned short LENGTHADJUST_SPACING          = 1;
diff --git a/Source/WebCore/svg/SVGTitleElement.h b/Source/WebCore/svg/SVGTitleElement.h
index 8da00a1..da9e180 100644
--- a/Source/WebCore/svg/SVGTitleElement.h
+++ b/Source/WebCore/svg/SVGTitleElement.h
@@ -22,13 +22,11 @@
 #define SVGTitleElement_h
 #if ENABLE(SVG)
 
-#include "SVGLangSpace.h"
 #include "SVGStyledElement.h"
 
 namespace WebCore {
 
-class SVGTitleElement FINAL : public SVGStyledElement,
-                              public SVGLangSpace {
+class SVGTitleElement FINAL : public SVGStyledElement {
 public:
     static PassRefPtr<SVGTitleElement> create(const QualifiedName&, Document*);
 
diff --git a/Source/WebCore/svg/SVGTitleElement.idl b/Source/WebCore/svg/SVGTitleElement.idl
index 49af690..9895c7a 100644
--- a/Source/WebCore/svg/SVGTitleElement.idl
+++ b/Source/WebCore/svg/SVGTitleElement.idl
@@ -25,7 +25,6 @@
 
 [
     Conditional=SVG
-] interface SVGTitleElement : SVGStyledElement,
-                                              SVGLangSpace {
+] interface SVGTitleElement : SVGStyledElement {
 };
 
diff --git a/Source/WebCore/svg/SVGUseElement.h b/Source/WebCore/svg/SVGUseElement.h
index 007ff2d..ec87c98 100644
--- a/Source/WebCore/svg/SVGUseElement.h
+++ b/Source/WebCore/svg/SVGUseElement.h
@@ -27,7 +27,6 @@
 #include "SVGAnimatedBoolean.h"
 #include "SVGAnimatedLength.h"
 #include "SVGExternalResourcesRequired.h"
-#include "SVGLangSpace.h"
 #include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 #include "SVGURIReference.h"
@@ -39,7 +38,6 @@
 
 class SVGUseElement FINAL : public SVGStyledTransformableElement,
                             public SVGTests,
-                            public SVGLangSpace,
                             public SVGExternalResourcesRequired,
                             public SVGURIReference,
                             public CachedSVGDocumentClient {
diff --git a/Source/WebCore/svg/SVGUseElement.idl b/Source/WebCore/svg/SVGUseElement.idl
index 815afdb..bd6e847 100644
--- a/Source/WebCore/svg/SVGUseElement.idl
+++ b/Source/WebCore/svg/SVGUseElement.idl
@@ -26,7 +26,6 @@
 [
     Conditional=SVG
 ] interface SVGUseElement : SVGStyledElement,
-                            SVGLangSpace,
                             SVGTransformable {
     readonly attribute SVGAnimatedLength   x;
     readonly attribute SVGAnimatedLength   y;