Title: [140267] trunk
Revision
140267
Author
[email protected]
Date
2013-01-19 22:32:29 -0800 (Sat, 19 Jan 2013)

Log Message

Refactor SVGSVGElement to inherit from SVGStyledTransformableElement
https://bugs.webkit.org/show_bug.cgi?id=107393

Reviewed by Dirk Schulze.

Source/WebCore:

This patch refactors SVGSVGElement to inherit from SVGStyledTransformableElement instead
of SVGStyledLocatableElement. In a followup patch, SVGStyledTransformableElement will
be refactored into SVGGraphicsElement which will match the spec:
https://svgwg.org/svg2-draft/single-page.html#struct-InterfaceSVGSVGElement

Tests: svg/transforms/svgsvgelement-transform-expected.svg
       svg/transforms/svgsvgelement-transform.svg

* svg/SVGSVGElement.cpp:
(WebCore):
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::didMoveToNewDocument):
(WebCore::SVGSVGElement::parseAttribute):
(WebCore::SVGSVGElement::insertedInto):
(WebCore::SVGSVGElement::removedFrom):
* svg/SVGSVGElement.h:
(SVGSVGElement):
* svg/SVGSVGElement.idl:

LayoutTests:

* svg/transforms/svgsvgelement-transform-expected.svg: Added.
* svg/transforms/svgsvgelement-transform.svg: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (140266 => 140267)


--- trunk/LayoutTests/ChangeLog	2013-01-20 05:04:30 UTC (rev 140266)
+++ trunk/LayoutTests/ChangeLog	2013-01-20 06:32:29 UTC (rev 140267)
@@ -1,3 +1,13 @@
+2013-01-19  Philip Rogers  <[email protected]>
+
+        Refactor SVGSVGElement to inherit from SVGStyledTransformableElement
+        https://bugs.webkit.org/show_bug.cgi?id=107393
+
+        Reviewed by Dirk Schulze.
+
+        * svg/transforms/svgsvgelement-transform-expected.svg: Added.
+        * svg/transforms/svgsvgelement-transform.svg: Added.
+
 2013-01-19  Mikhail Pozdnyakov  <[email protected]>
 
         Delegated scrolling: Assertion on attempt to show a CSS sticky element

Added: trunk/LayoutTests/svg/transforms/svgsvgelement-transform-expected.svg (0 => 140267)


--- trunk/LayoutTests/svg/transforms/svgsvgelement-transform-expected.svg	                        (rev 0)
+++ trunk/LayoutTests/svg/transforms/svgsvgelement-transform-expected.svg	2013-01-20 06:32:29 UTC (rev 140267)
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400">
+  <!-- After webkit.org/b/107394 lands, this expected result will need to be updated to: -->
+  <!-- <rect width="100" height="100" fill="green"/> -->
+  <rect width="100" height="100" fill="red"/>
+  <rect width="50" height="50" fill="green"/>
+  <text x="0" y="120">This test passes if a green square is visible, and no red.</text>
+</svg>

Added: trunk/LayoutTests/svg/transforms/svgsvgelement-transform.svg (0 => 140267)


--- trunk/LayoutTests/svg/transforms/svgsvgelement-transform.svg	                        (rev 0)
+++ trunk/LayoutTests/svg/transforms/svgsvgelement-transform.svg	2013-01-20 06:32:29 UTC (rev 140267)
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400">
+  <!-- Test that SVGSVGElements are transformable. -->
+  <!-- After webkit.org/b/107394 lands, the expected result will need to be updated. -->
+  <rect width="100" height="100" fill="red" />
+  <svg width="50" height="50" transform="scale(2)">
+    <rect width="50" height="50" fill="green"/>
+  </svg>
+  <text x="0" y="120">This test passes if a green square is visible, and no red.</text>
+</svg>

Modified: trunk/Source/WebCore/ChangeLog (140266 => 140267)


--- trunk/Source/WebCore/ChangeLog	2013-01-20 05:04:30 UTC (rev 140266)
+++ trunk/Source/WebCore/ChangeLog	2013-01-20 06:32:29 UTC (rev 140267)
@@ -1,5 +1,31 @@
 2013-01-19  Philip Rogers  <[email protected]>
 
+        Refactor SVGSVGElement to inherit from SVGStyledTransformableElement
+        https://bugs.webkit.org/show_bug.cgi?id=107393
+
+        Reviewed by Dirk Schulze.
+
+        This patch refactors SVGSVGElement to inherit from SVGStyledTransformableElement instead
+        of SVGStyledLocatableElement. In a followup patch, SVGStyledTransformableElement will
+        be refactored into SVGGraphicsElement which will match the spec:
+        https://svgwg.org/svg2-draft/single-page.html#struct-InterfaceSVGSVGElement
+
+        Tests: svg/transforms/svgsvgelement-transform-expected.svg
+               svg/transforms/svgsvgelement-transform.svg
+
+        * svg/SVGSVGElement.cpp:
+        (WebCore):
+        (WebCore::SVGSVGElement::SVGSVGElement):
+        (WebCore::SVGSVGElement::didMoveToNewDocument):
+        (WebCore::SVGSVGElement::parseAttribute):
+        (WebCore::SVGSVGElement::insertedInto):
+        (WebCore::SVGSVGElement::removedFrom):
+        * svg/SVGSVGElement.h:
+        (SVGSVGElement):
+        * svg/SVGSVGElement.idl:
+
+2013-01-19  Philip Rogers  <[email protected]>
+
         Merge SVGStylable into SVGStyledElement
         https://bugs.webkit.org/show_bug.cgi?id=106877
 

Modified: trunk/Source/WebCore/svg/SVGSVGElement.cpp (140266 => 140267)


--- trunk/Source/WebCore/svg/SVGSVGElement.cpp	2013-01-20 05:04:30 UTC (rev 140266)
+++ trunk/Source/WebCore/svg/SVGSVGElement.cpp	2013-01-20 06:32:29 UTC (rev 140267)
@@ -78,12 +78,12 @@
     REGISTER_LOCAL_ANIMATED_PROPERTY(externalResourcesRequired)
     REGISTER_LOCAL_ANIMATED_PROPERTY(viewBox)
     REGISTER_LOCAL_ANIMATED_PROPERTY(preserveAspectRatio)
-    REGISTER_PARENT_ANIMATED_PROPERTIES(SVGStyledLocatableElement)
+    REGISTER_PARENT_ANIMATED_PROPERTIES(SVGStyledTransformableElement)
     REGISTER_PARENT_ANIMATED_PROPERTIES(SVGTests)
 END_REGISTER_ANIMATED_PROPERTIES
 
 inline SVGSVGElement::SVGSVGElement(const QualifiedName& tagName, Document* doc)
-    : SVGStyledLocatableElement(tagName, doc)
+    : SVGStyledTransformableElement(tagName, doc)
     , m_x(LengthModeWidth)
     , m_y(LengthModeHeight)
     , m_width(LengthModeWidth, "100%")
@@ -117,7 +117,7 @@
     if (oldDocument)
         oldDocument->unregisterForPageCacheSuspensionCallbacks(this);
     document()->registerForPageCacheSuspensionCallbacks(this);
-    SVGStyledLocatableElement::didMoveToNewDocument(oldDocument);
+    SVGStyledTransformableElement::didMoveToNewDocument(oldDocument);
 }
 
 const AtomicString& SVGSVGElement::contentScriptType() const
@@ -275,7 +275,7 @@
                || SVGFitToViewBox::parseAttribute(this, name, value)
                || SVGZoomAndPan::parseAttribute(this, name, value)) {
     } else
-        SVGStyledLocatableElement::parseAttribute(name, value);
+        SVGStyledTransformableElement::parseAttribute(name, value);
 
     reportAttributeParsingError(parseError, name, value);
 }
@@ -510,14 +510,14 @@
         if (!document()->parsing() && !document()->processingLoadEvent() && document()->loadEventFinished() && !timeContainer()->isStarted())
             timeContainer()->begin();
     }
-    return SVGStyledLocatableElement::insertedInto(rootParent);
+    return SVGStyledTransformableElement::insertedInto(rootParent);
 }
 
 void SVGSVGElement::removedFrom(ContainerNode* rootParent)
 {
     if (rootParent->inDocument())
         document()->accessSVGExtensions()->removeTimeContainer(this);
-    SVGStyledLocatableElement::removedFrom(rootParent);
+    SVGStyledTransformableElement::removedFrom(rootParent);
 }
 
 void SVGSVGElement::pauseAnimations()

Modified: trunk/Source/WebCore/svg/SVGSVGElement.h (140266 => 140267)


--- trunk/Source/WebCore/svg/SVGSVGElement.h	2013-01-20 05:04:30 UTC (rev 140266)
+++ trunk/Source/WebCore/svg/SVGSVGElement.h	2013-01-20 06:32:29 UTC (rev 140267)
@@ -29,7 +29,7 @@
 #include "SVGExternalResourcesRequired.h"
 #include "SVGFitToViewBox.h"
 #include "SVGLangSpace.h"
-#include "SVGStyledLocatableElement.h"
+#include "SVGStyledTransformableElement.h"
 #include "SVGTests.h"
 #include "SVGZoomAndPan.h"
 
@@ -42,7 +42,7 @@
 class SVGViewElement;
 class SMILTimeContainer;
 
-class SVGSVGElement : public SVGStyledLocatableElement,
+class SVGSVGElement : public SVGStyledTransformableElement,
                       public SVGTests,
                       public SVGLangSpace,
                       public SVGExternalResourcesRequired,
@@ -51,8 +51,8 @@
 public:
     static PassRefPtr<SVGSVGElement> create(const QualifiedName&, Document*);
 
-    using SVGStyledLocatableElement::ref;
-    using SVGStyledLocatableElement::deref;
+    using SVGStyledTransformableElement::ref;
+    using SVGStyledTransformableElement::deref;
 
     virtual bool isValid() const { return SVGTests::isValid(); }
     virtual bool supportsFocus() const { return true; }

Modified: trunk/Source/WebCore/svg/SVGSVGElement.idl (140266 => 140267)


--- trunk/Source/WebCore/svg/SVGSVGElement.idl	2013-01-20 05:04:30 UTC (rev 140266)
+++ trunk/Source/WebCore/svg/SVGSVGElement.idl	2013-01-20 06:32:29 UTC (rev 140267)
@@ -29,7 +29,7 @@
                                             SVGTests,
                                             SVGLangSpace,
                                             SVGExternalResourcesRequired,
-                                            SVGLocatable,
+                                            SVGTransformable,
                                             SVGFitToViewBox,
                                             SVGZoomAndPan {
     readonly attribute SVGAnimatedLength x;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to