- 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;