Title: [254908] releases/WebKitGTK/webkit-2.26
- Revision
- 254908
- Author
- [email protected]
- Date
- 2020-01-22 02:26:44 -0800 (Wed, 22 Jan 2020)
Log Message
Merge r251957 - SVG pair properties must be detached from their owner before it's deleted
https://bugs.webkit.org/show_bug.cgi?id=203545
Reviewed by Simon Fraser.
Source/WebCore:
SVGAnimatedPropertyPairAccessor needs to override its detach() method so
each of its pair properties detaches itself from the owner.
SVGPointerMemberAccessor does the same thing but for a single property
which covers all the list properties as well.
Test: svg/custom/pair-properties-detach.html
* svg/properties/SVGAnimatedPropertyPairAccessor.h:
LayoutTests:
* svg/custom/pair-properties-detach-expected.txt: Added.
* svg/custom/pair-properties-detach.html: Added.
Modified Paths
Added Paths
Diff
Modified: releases/WebKitGTK/webkit-2.26/LayoutTests/ChangeLog (254907 => 254908)
--- releases/WebKitGTK/webkit-2.26/LayoutTests/ChangeLog 2020-01-22 10:26:39 UTC (rev 254907)
+++ releases/WebKitGTK/webkit-2.26/LayoutTests/ChangeLog 2020-01-22 10:26:44 UTC (rev 254908)
@@ -1,3 +1,13 @@
+2019-11-01 Said Abou-Hallawa <[email protected]>
+
+ SVG pair properties must be detached from their owner before it's deleted
+ https://bugs.webkit.org/show_bug.cgi?id=203545
+
+ Reviewed by Simon Fraser.
+
+ * svg/custom/pair-properties-detach-expected.txt: Added.
+ * svg/custom/pair-properties-detach.html: Added.
+
2019-10-09 Zalan Bujtas <[email protected]>
RunResolver::rangeForRendererWithOffsets should check for range end
Added: releases/WebKitGTK/webkit-2.26/LayoutTests/svg/custom/pair-properties-detach-expected.txt (0 => 254908)
--- releases/WebKitGTK/webkit-2.26/LayoutTests/svg/custom/pair-properties-detach-expected.txt (rev 0)
+++ releases/WebKitGTK/webkit-2.26/LayoutTests/svg/custom/pair-properties-detach-expected.txt 2020-01-22 10:26:44 UTC (rev 254908)
@@ -0,0 +1,13 @@
+This test checks detaching the SVG pair properties from the owner element.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS angle.baseVal.value = 100 is 100
+PASS type.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO is SVGMarkerElement.SVG_MARKER_ORIENT_AUTO
+PASS radiusX.baseVal = 100 is 100
+PASS orderX.baseVal = 100 is 100
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: releases/WebKitGTK/webkit-2.26/LayoutTests/svg/custom/pair-properties-detach.html (0 => 254908)
--- releases/WebKitGTK/webkit-2.26/LayoutTests/svg/custom/pair-properties-detach.html (rev 0)
+++ releases/WebKitGTK/webkit-2.26/LayoutTests/svg/custom/pair-properties-detach.html 2020-01-22 10:26:44 UTC (rev 254908)
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script>
+description("This test checks detaching the SVG pair properties from the owner element.");
+
+if (window.testRunner) {
+ gc = function() { window.GCController.collect() };
+} else if (!window.gc)
+ gc = function() { };
+
+var angle = document.createElementNS("http://www.w3.org/2000/svg", "marker").orientAngle;
+var type = document.createElementNS("http://www.w3.org/2000/svg", "marker").orientType;
+var radiusX = document.createElementNS("http://www.w3.org/2000/svg", "feMorphology").radiusX;
+var orderX = document.createElementNS("http://www.w3.org/2000/svg", "feConvolveMatrix").orderX;
+
+gc();
+
+shouldBe("angle.baseVal.value = 100", "100");
+shouldBe("type.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO", "SVGMarkerElement.SVG_MARKER_ORIENT_AUTO");
+shouldBe("radiusX.baseVal = 100", "100");
+shouldBe("orderX.baseVal = 100", "100");
+
+successfullyParsed = true;
+</script>
+<script src=""
+</body>
+</html>
Modified: releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog (254907 => 254908)
--- releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog 2020-01-22 10:26:39 UTC (rev 254907)
+++ releases/WebKitGTK/webkit-2.26/Source/WebCore/ChangeLog 2020-01-22 10:26:44 UTC (rev 254908)
@@ -1,3 +1,19 @@
+2019-11-01 Said Abou-Hallawa <[email protected]>
+
+ SVG pair properties must be detached from their owner before it's deleted
+ https://bugs.webkit.org/show_bug.cgi?id=203545
+
+ Reviewed by Simon Fraser.
+
+ SVGAnimatedPropertyPairAccessor needs to override its detach() method so
+ each of its pair properties detaches itself from the owner.
+ SVGPointerMemberAccessor does the same thing but for a single property
+ which covers all the list properties as well.
+
+ Test: svg/custom/pair-properties-detach.html
+
+ * svg/properties/SVGAnimatedPropertyPairAccessor.h:
+
2019-10-09 Zalan Bujtas <[email protected]>
RunResolver::rangeForRendererWithOffsets should check for range end
Modified: releases/WebKitGTK/webkit-2.26/Source/WebCore/svg/properties/SVGAnimatedPropertyPairAccessor.h (254907 => 254908)
--- releases/WebKitGTK/webkit-2.26/Source/WebCore/svg/properties/SVGAnimatedPropertyPairAccessor.h 2020-01-22 10:26:39 UTC (rev 254907)
+++ releases/WebKitGTK/webkit-2.26/Source/WebCore/svg/properties/SVGAnimatedPropertyPairAccessor.h 2020-01-22 10:26:44 UTC (rev 254908)
@@ -58,6 +58,12 @@
Ref<AnimatedPropertyType2>& property2(OwnerType& owner) const { return m_accessor2.property(owner); }
const Ref<AnimatedPropertyType2>& property2(const OwnerType& owner) const { return m_accessor2.property(owner); }
+ void detach(const OwnerType& owner) const override
+ {
+ property1(owner)->detach();
+ property2(owner)->detach();
+ }
+
bool matches(const OwnerType& owner, const SVGAnimatedProperty& animatedProperty) const override
{
return m_accessor1.matches(owner, animatedProperty) || m_accessor2.matches(owner, animatedProperty);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes