[SVG2] SVGSymbolElement should inherits SVGGraphicsElement
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 30 Oct 2019 03:14:51 +0000 (03:14 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 30 Oct 2019 03:14:51 +0000 (03:14 +0000)
https://bugs.webkit.org/show_bug.cgi?id=203573

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-10-29
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

* web-platform-tests/svg/idlharness.window-expected.txt:

Source/WebCore:

The spec link is:
    https://www.w3.org/TR/SVG2/struct.html#InterfaceSVGSymbolElement

* svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::SVGSymbolElement):
(WebCore::SVGSymbolElement::parseAttribute):
* svg/SVGSymbolElement.h:
* svg/SVGSymbolElement.idl:

LayoutTests:

* svg/dom/svg2-inheritance-expected.txt:
* svg/dom/svg2-inheritance.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251764 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/svg/idlharness.window-expected.txt
LayoutTests/svg/dom/svg2-inheritance-expected.txt
LayoutTests/svg/dom/svg2-inheritance.html
Source/WebCore/ChangeLog
Source/WebCore/svg/SVGSymbolElement.cpp
Source/WebCore/svg/SVGSymbolElement.h
Source/WebCore/svg/SVGSymbolElement.idl

index 55155fd..25dc6e5 100644 (file)
@@ -1,3 +1,13 @@
+2019-10-29  Said Abou-Hallawa  <sabouhallawa@apple.com>
+
+        [SVG2] SVGSymbolElement should inherits SVGGraphicsElement
+        https://bugs.webkit.org/show_bug.cgi?id=203573
+
+        Reviewed by Simon Fraser.
+
+        * svg/dom/svg2-inheritance-expected.txt:
+        * svg/dom/svg2-inheritance.html:
+
 2019-10-29  Wenson Hsieh  <wenson_hsieh@apple.com>
 
         REGRESSION (r251693): [iOS] Unable to change selection after focusing an element with keyboard attached
index 213ee3a..0ebcf57 100644 (file)
@@ -1,3 +1,12 @@
+2019-10-29  Said Abou-Hallawa  <sabouhallawa@apple.com>
+
+        [SVG2] SVGSymbolElement should inherits SVGGraphicsElement
+        https://bugs.webkit.org/show_bug.cgi?id=203573
+
+        Reviewed by Simon Fraser.
+
+        * web-platform-tests/svg/idlharness.window-expected.txt:
+
 2019-10-29  Simon Fraser  <simon.fraser@apple.com>
 
         Align CSS hsl() -> rgb() color conversion with the spec
index c17ec4a..d83c56d 100644 (file)
@@ -511,14 +511,10 @@ PASS SVGElement interface: objects.title must inherit property "ownerSVGElement"
 PASS SVGElement interface: objects.title must inherit property "viewportElement" with the proper type 
 FAIL SVGElement interface: objects.title must inherit property "correspondingElement" with the proper type assert_inherits: property "correspondingElement" not found in prototype chain
 FAIL SVGElement interface: objects.title must inherit property "correspondingUseElement" with the proper type assert_inherits: property "correspondingUseElement" not found in prototype chain
-FAIL SVGSymbolElement interface: existence and properties of interface object assert_equals: prototype of SVGSymbolElement is not SVGGraphicsElement expected function "function SVGGraphicsElement() {
-    [native code]
-}" but got function "function SVGElement() {
-    [native code]
-}"
+PASS SVGSymbolElement interface: existence and properties of interface object 
 PASS SVGSymbolElement interface object length 
 PASS SVGSymbolElement interface object name 
-FAIL SVGSymbolElement interface: existence and properties of interface prototype object assert_equals: prototype of SVGSymbolElement.prototype is not SVGGraphicsElement.prototype expected object "[object SVGGraphicsElementPrototype]" but got object "[object SVGElementPrototype]"
+PASS SVGSymbolElement interface: existence and properties of interface prototype object 
 PASS SVGSymbolElement interface: existence and properties of interface prototype object's "constructor" property 
 PASS SVGSymbolElement interface: existence and properties of interface prototype object's @@unscopables property 
 PASS SVGSymbolElement interface: attribute viewBox 
@@ -527,13 +523,13 @@ PASS SVGSymbolElement must be primary interface of objects.symbol
 PASS Stringification of objects.symbol 
 PASS SVGSymbolElement interface: objects.symbol must inherit property "viewBox" with the proper type 
 PASS SVGSymbolElement interface: objects.symbol must inherit property "preserveAspectRatio" with the proper type 
-FAIL SVGGraphicsElement interface: objects.symbol must inherit property "transform" with the proper type assert_inherits: property "transform" not found in prototype chain
-FAIL SVGGraphicsElement interface: objects.symbol must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type assert_inherits: property "getBBox" not found in prototype chain
-FAIL SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.symbol with too few arguments must throw TypeError assert_inherits: property "getBBox" not found in prototype chain
-FAIL SVGGraphicsElement interface: objects.symbol must inherit property "getCTM()" with the proper type assert_inherits: property "getCTM" not found in prototype chain
-FAIL SVGGraphicsElement interface: objects.symbol must inherit property "getScreenCTM()" with the proper type assert_inherits: property "getScreenCTM" not found in prototype chain
-FAIL SVGGraphicsElement interface: objects.symbol must inherit property "requiredExtensions" with the proper type assert_inherits: property "requiredExtensions" not found in prototype chain
-FAIL SVGGraphicsElement interface: objects.symbol must inherit property "systemLanguage" with the proper type assert_inherits: property "systemLanguage" not found in prototype chain
+PASS SVGGraphicsElement interface: objects.symbol must inherit property "transform" with the proper type 
+PASS SVGGraphicsElement interface: objects.symbol must inherit property "getBBox(SVGBoundingBoxOptions)" with the proper type 
+PASS SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on objects.symbol with too few arguments must throw TypeError 
+PASS SVGGraphicsElement interface: objects.symbol must inherit property "getCTM()" with the proper type 
+PASS SVGGraphicsElement interface: objects.symbol must inherit property "getScreenCTM()" with the proper type 
+PASS SVGGraphicsElement interface: objects.symbol must inherit property "requiredExtensions" with the proper type 
+PASS SVGGraphicsElement interface: objects.symbol must inherit property "systemLanguage" with the proper type 
 PASS SVGElement interface: objects.symbol must inherit property "className" with the proper type 
 PASS SVGElement interface: objects.symbol must inherit property "ownerSVGElement" with the proper type 
 PASS SVGElement interface: objects.symbol must inherit property "viewportElement" with the proper type 
index 63efaee..736d3e4 100644 (file)
@@ -106,7 +106,7 @@ PASS SVGStopElement inherits SVGElement
 PASS SVGStringList inherits Object
 PASS SVGStyleElement inherits SVGElement
 PASS SVGSwitchElement inherits SVGGraphicsElement
-PASS SVGSymbolElement inherits SVGElement
+PASS SVGSymbolElement inherits SVGGraphicsElement
 PASS SVGTRefElement inherits SVGTextPositioningElement
 PASS SVGTSpanElement inherits SVGTextPositioningElement
 PASS SVGTextContentElement inherits SVGGraphicsElement
index 51ed11a..267908a 100644 (file)
@@ -134,7 +134,7 @@ checkParent("SVGStopElement", "SVGElement");
 checkParent("SVGStringList", "Object");
 checkParent("SVGStyleElement", "SVGElement");
 checkParent("SVGSwitchElement", "SVGGraphicsElement");
-checkParent("SVGSymbolElement", "SVGElement");
+checkParent("SVGSymbolElement", "SVGGraphicsElement");
 checkParent("SVGTRefElement", "SVGTextPositioningElement");
 checkParent("SVGTSpanElement", "SVGTextPositioningElement");
 checkParent("SVGTextContentElement", "SVGGraphicsElement");
index 2de0d3e..0b15ba9 100644 (file)
@@ -1,3 +1,19 @@
+2019-10-29  Said Abou-Hallawa  <sabouhallawa@apple.com>
+
+        [SVG2] SVGSymbolElement should inherits SVGGraphicsElement
+        https://bugs.webkit.org/show_bug.cgi?id=203573
+
+        Reviewed by Simon Fraser.
+
+        The spec link is:
+            https://www.w3.org/TR/SVG2/struct.html#InterfaceSVGSymbolElement
+
+        * svg/SVGSymbolElement.cpp:
+        (WebCore::SVGSymbolElement::SVGSymbolElement):
+        (WebCore::SVGSymbolElement::parseAttribute):
+        * svg/SVGSymbolElement.h:
+        * svg/SVGSymbolElement.idl:
+
 2019-10-29  Jiewen Tan  <jiewen_tan@apple.com>
 
         [WebAuthn] Add more information to _WKWebAuthenticationPanel
index 3f37e1b..f5cd737 100644 (file)
@@ -32,7 +32,7 @@ namespace WebCore {
 WTF_MAKE_ISO_ALLOCATED_IMPL(SVGSymbolElement);
 
 inline SVGSymbolElement::SVGSymbolElement(const QualifiedName& tagName, Document& document)
-    : SVGElement(tagName, document)
+    : SVGGraphicsElement(tagName, document)
     , SVGFitToViewBox(this)
 {
     ASSERT(hasTagName(SVGNames::symbolTag));
@@ -45,7 +45,7 @@ Ref<SVGSymbolElement> SVGSymbolElement::create(const QualifiedName& tagName, Doc
 
 void SVGSymbolElement::parseAttribute(const QualifiedName& name, const AtomString& value)
 {
-    SVGElement::parseAttribute(name, value);
+    SVGGraphicsElement::parseAttribute(name, value);
     SVGFitToViewBox::parseAttribute(name, value);
 }
 
index befa3b4..fa75228 100644 (file)
 
 #pragma once
 
-#include "SVGElement.h"
 #include "SVGFitToViewBox.h"
+#include "SVGGraphicsElement.h"
 
 namespace WebCore {
 
-class SVGSymbolElement final : public SVGElement, public SVGFitToViewBox {
+class SVGSymbolElement final : public SVGGraphicsElement, public SVGFitToViewBox {
     WTF_MAKE_ISO_ALLOCATED(SVGSymbolElement);
 public:
     static Ref<SVGSymbolElement> create(const QualifiedName&, Document&);
@@ -34,7 +34,7 @@ public:
 private:
     SVGSymbolElement(const QualifiedName&, Document&);
 
-    using PropertyRegistry = SVGPropertyOwnerRegistry<SVGSymbolElement, SVGElement, SVGFitToViewBox>;
+    using PropertyRegistry = SVGPropertyOwnerRegistry<SVGSymbolElement, SVGGraphicsElement, SVGFitToViewBox>;
     const SVGPropertyRegistry& propertyRegistry() const final { return m_propertyRegistry; }
 
     void parseAttribute(const QualifiedName&, const AtomString&) override;
index 926d55c..a79e751 100644 (file)
@@ -23,7 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-interface SVGSymbolElement : SVGElement {
+interface SVGSymbolElement : SVGGraphicsElement {
 };
 
 SVGSymbolElement implements SVGFitToViewBox;