| Differences between
and this patch
- Source/WebCore/ChangeLog +16 lines
Lines 1-3 Source/WebCore/ChangeLog_sec1
1
2019-10-22  Said Abou-Hallawa  <sabouhallawa@apple.com>
2
3
        [SVG2] Remove the 'viewTarget' property of SVGViewElement
4
        https://bugs.webkit.org/show_bug.cgi?id=203217
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        The interface of SVGViewElement is defined here:
9
            https://www.w3.org/TR/SVG2/linking.html#InterfaceSVGViewElement.
10
11
        * svg/SVGViewElement.cpp:
12
        (WebCore::SVGViewElement::SVGViewElement):
13
        (WebCore::SVGViewElement::parseAttribute):
14
        * svg/SVGViewElement.h:
15
        * svg/SVGViewElement.idl:
16
1
2019-10-22  youenn fablet  <youenn@apple.com>
17
2019-10-22  youenn fablet  <youenn@apple.com>
2
18
3
        Remove mayHaveServiceWorkerRegisteredForOrigin
19
        Remove mayHaveServiceWorkerRegisteredForOrigin
- Source/WebCore/svg/SVGViewElement.cpp -10 lines
Lines 37-47 inline SVGViewElement::SVGViewElement(co Source/WebCore/svg/SVGViewElement.cpp_sec1
37
    , SVGFitToViewBox(this)
37
    , SVGFitToViewBox(this)
38
{
38
{
39
    ASSERT(hasTagName(SVGNames::viewTag));
39
    ASSERT(hasTagName(SVGNames::viewTag));
40
    
41
    static std::once_flag onceFlag;
42
    std::call_once(onceFlag, [] {
43
        PropertyRegistry::registerProperty<SVGNames::viewTargetAttr, &SVGViewElement::m_viewTarget>();
44
    });
45
}
40
}
46
41
47
Ref<SVGViewElement> SVGViewElement::create(const QualifiedName& tagName, Document& document)
42
Ref<SVGViewElement> SVGViewElement::create(const QualifiedName& tagName, Document& document)
Lines 51-61 Ref<SVGViewElement> SVGViewElement::crea Source/WebCore/svg/SVGViewElement.cpp_sec2
51
46
52
void SVGViewElement::parseAttribute(const QualifiedName& name, const AtomString& value)
47
void SVGViewElement::parseAttribute(const QualifiedName& name, const AtomString& value)
53
{
48
{
54
    if (name == SVGNames::viewTargetAttr) {
55
        m_viewTarget->reset(value);
56
        return;
57
    }
58
59
    SVGElement::parseAttribute(name, value);
49
    SVGElement::parseAttribute(name, value);
60
    SVGFitToViewBox::parseAttribute(name, value);
50
    SVGFitToViewBox::parseAttribute(name, value);
61
    SVGZoomAndPan::parseAttribute(name, value);
51
    SVGZoomAndPan::parseAttribute(name, value);
- Source/WebCore/svg/SVGViewElement.h -3 lines
Lines 37-44 public: Source/WebCore/svg/SVGViewElement.h_sec1
37
    using SVGElement::ref;
37
    using SVGElement::ref;
38
    using SVGElement::deref;
38
    using SVGElement::deref;
39
39
40
    Ref<SVGStringList> viewTarget() { return m_viewTarget.copyRef(); }
41
42
    const SVGSVGElement* targetElement() const { return m_targetElement.get(); }
40
    const SVGSVGElement* targetElement() const { return m_targetElement.get(); }
43
    void setTargetElement(const SVGSVGElement& targetElement) { m_targetElement = makeWeakPtr(targetElement); }
41
    void setTargetElement(const SVGSVGElement& targetElement) { m_targetElement = makeWeakPtr(targetElement); }
44
    void resetTargetElement() { m_targetElement = nullptr; }
42
    void resetTargetElement() { m_targetElement = nullptr; }
Lines 55-61 private: Source/WebCore/svg/SVGViewElement.h_sec2
55
    bool rendererIsNeeded(const RenderStyle&) final { return false; }
53
    bool rendererIsNeeded(const RenderStyle&) final { return false; }
56
54
57
    PropertyRegistry m_propertyRegistry { *this };
55
    PropertyRegistry m_propertyRegistry { *this };
58
    Ref<SVGStringList> m_viewTarget { SVGStringList::create(this) };
59
    WeakPtr<SVGSVGElement> m_targetElement { nullptr };
56
    WeakPtr<SVGSVGElement> m_targetElement { nullptr };
60
};
57
};
61
58
- Source/WebCore/svg/SVGViewElement.idl -1 lines
Lines 24-30 Source/WebCore/svg/SVGViewElement.idl_sec1
24
 */
24
 */
25
25
26
interface SVGViewElement : SVGElement {
26
interface SVGViewElement : SVGElement {
27
    [SameObject] readonly attribute SVGStringList viewTarget;
28
};
27
};
29
28
30
SVGViewElement implements SVGFitToViewBox;
29
SVGViewElement implements SVGFitToViewBox;
- LayoutTests/ChangeLog +10 lines
Lines 1-3 LayoutTests/ChangeLog_sec1
1
2019-10-22  Said Abou-Hallawa  <sabouhallawa@apple.com>
2
3
        [SVG2] Remove the 'viewTarget' property of SVGViewElement
4
        https://bugs.webkit.org/show_bug.cgi?id=203217
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * svg/dom/SVGViewElement-viewTarget-expected.txt: Removed.
9
        * svg/dom/SVGViewElement-viewTarget.html: Removed.
10
1
2019-10-22  Russell Epstein  <repstein@apple.com>
11
2019-10-22  Russell Epstein  <repstein@apple.com>
2
12
3
        Layout Test imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState.https.html is a flaky failure
13
        Layout Test imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState.https.html is a flaky failure
- LayoutTests/imported/w3c/ChangeLog +9 lines
Lines 1-3 LayoutTests/imported/w3c/ChangeLog_sec1
1
2019-10-22  Said Abou-Hallawa  <sabouhallawa@apple.com>
2
3
        [SVG2] Remove the 'viewTarget' property of SVGViewElement
4
        https://bugs.webkit.org/show_bug.cgi?id=203217
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * web-platform-tests/svg/historical-expected.txt:
9
1
2019-10-22  Peng Liu  <peng.liu6@apple.com>
10
2019-10-22  Peng Liu  <peng.liu6@apple.com>
2
11
3
        Cannot run some WPT cases manually
12
        Cannot run some WPT cases manually
- LayoutTests/imported/w3c/web-platform-tests/svg/historical-expected.txt -1 / +1 lines
Lines 35-41 FAIL SVGSVGElement.prototype.screenPixel LayoutTests/imported/w3c/web-platform-tests/svg/historical-expected.txt_sec1
35
FAIL SVGSVGElement.prototype.screenPixelToMillimeterY must be removed assert_false: expected false got true
35
FAIL SVGSVGElement.prototype.screenPixelToMillimeterY must be removed assert_false: expected false got true
36
FAIL SVGSVGElement.prototype.useCurrentView must be removed assert_false: expected false got true
36
FAIL SVGSVGElement.prototype.useCurrentView must be removed assert_false: expected false got true
37
FAIL SVGSVGElement.prototype.viewport must be removed assert_false: expected false got true
37
FAIL SVGSVGElement.prototype.viewport must be removed assert_false: expected false got true
38
FAIL SVGViewElement.prototype.viewTarget must be removed assert_false: expected false got true
38
PASS SVGViewElement.prototype.viewTarget must be removed 
39
PASS SVGPathElement.prototype.getPointAtLength must be moved to SVGGeometryElement.prototype 
39
PASS SVGPathElement.prototype.getPointAtLength must be moved to SVGGeometryElement.prototype 
40
PASS SVGPathElement.prototype.getTotalLength must be moved to SVGGeometryElement.prototype 
40
PASS SVGPathElement.prototype.getTotalLength must be moved to SVGGeometryElement.prototype 
41
PASS SVGPathElement.prototype.pathLength must be moved to SVGGeometryElement.prototype 
41
PASS SVGPathElement.prototype.pathLength must be moved to SVGGeometryElement.prototype 
- LayoutTests/svg/dom/SVGViewElement-viewTarget-expected.txt -23 lines
Lines 1-23 LayoutTests/svg/dom/SVGViewElement-viewTarget-expected.txt_sec1
1
This test checks the SVGStringList API - utilizing the viewTarget property of SVGViewElement
2
3
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4
5
6
7
Check initial viewTarget value
8
PASS viewElement.viewTarget.toString() is "[object SVGStringList]"
9
PASS viewElement.viewTarget.numberOfItems is 1
10
PASS viewElement.viewTarget.getItem(0) is "rect-view"
11
12
Check the uniqueness of viewTarget per SVGViewElement
13
PASS viewElement.viewTarget is viewTarget
14
PASS viewTarget.getItem(0) is "rect-view"
15
16
Check modifying viewTarget
17
PASS viewTarget.replaceItem('circle-view', 0) is "circle-view"
18
PASS viewElement.viewTarget.getItem(0) is "circle-view"
19
PASS viewElement.getAttribute('viewTarget') is "circle-view"
20
PASS successfullyParsed is true
21
22
TEST COMPLETE
23
- LayoutTests/svg/dom/SVGViewElement-viewTarget.html -36 lines
Lines 1-36 LayoutTests/svg/dom/SVGViewElement-viewTarget.html_sec1
1
<html>
2
<head>
3
<script src="../../resources/js-test-pre.js"></script>
4
</head>
5
<body>
6
<p id="description"></p>
7
<div id="console"></div>
8
<script>
9
description("This test checks the SVGStringList API - utilizing the viewTarget property of SVGViewElement");
10
11
var viewElement = document.createElementNS("http://www.w3.org/2000/svg", "view");
12
viewElement.setAttribute("viewTarget", "rect-view");
13
14
debug("");
15
debug("Check initial viewTarget value");
16
shouldBeEqualToString("viewElement.viewTarget.toString()", "[object SVGStringList]");
17
shouldBe("viewElement.viewTarget.numberOfItems", "1");
18
shouldBeEqualToString("viewElement.viewTarget.getItem(0)", "rect-view");
19
20
var viewTarget = viewElement.viewTarget;
21
debug("");
22
debug("Check the uniqueness of viewTarget per SVGViewElement");
23
shouldBe("viewElement.viewTarget", "viewTarget");
24
shouldBeEqualToString("viewTarget.getItem(0)", "rect-view");
25
26
debug("");
27
debug("Check modifying viewTarget");
28
shouldBeEqualToString("viewTarget.replaceItem('circle-view', 0)", "circle-view");
29
shouldBeEqualToString("viewElement.viewTarget.getItem(0)", "circle-view");
30
shouldBeEqualToString("viewElement.getAttribute('viewTarget')", "circle-view");
31
32
successfullyParsed = true;
33
</script>
34
<script src="../../resources/js-test-post.js"></script>
35
</body>
36
</html>

Return to Bug 203217