Title: [220828] releases/WebKitGTK/webkit-2.18
- Revision
- 220828
- Author
- carlo...@webkit.org
- Date
- 2017-08-16 23:11:21 -0700 (Wed, 16 Aug 2017)
Log Message
Merge r220717 - The none smooth stroke applied to an SVG shape breaks its hit testing
https://bugs.webkit.org/show_bug.cgi?id=175506
Patch by Said Abou-Hallawa <sabouhall...@apple.com> on 2017-08-14
Reviewed by Simon Fraser.
Source/WebCore:
Clear RenderSVGShape::m_path when calling RenderSVGRect::updateShapeFromElement().
The m_path will be recalculated when RenderSVGShape::updateShapeFromElement()
is called from RenderSVGRect::shapeDependentStrokeContains().
Test: svg/stroke/stroke-linejoin-click.html
* rendering/svg/RenderSVGRect.cpp:
(WebCore::RenderSVGRect::updateShapeFromElement):
* rendering/svg/RenderSVGShape.h:
(WebCore::RenderSVGShape::clearPath):
LayoutTests:
* svg/stroke/stroke-linejoin-click-expected.html: Added.
* svg/stroke/stroke-linejoin-click.html: Added.
Modified Paths
Added Paths
Diff
Modified: releases/WebKitGTK/webkit-2.18/LayoutTests/ChangeLog (220827 => 220828)
--- releases/WebKitGTK/webkit-2.18/LayoutTests/ChangeLog 2017-08-17 06:08:47 UTC (rev 220827)
+++ releases/WebKitGTK/webkit-2.18/LayoutTests/ChangeLog 2017-08-17 06:11:21 UTC (rev 220828)
@@ -1,3 +1,13 @@
+2017-08-14 Said Abou-Hallawa <sabouhall...@apple.com>
+
+ The none smooth stroke applied to an SVG shape breaks its hit testing
+ https://bugs.webkit.org/show_bug.cgi?id=175506
+
+ Reviewed by Simon Fraser.
+
+ * svg/stroke/stroke-linejoin-click-expected.html: Added.
+ * svg/stroke/stroke-linejoin-click.html: Added.
+
2017-08-14 Zan Dobersek <zdober...@igalia.com>
REGRESSION(r220517-r220521) [GTK] Various compositing tests fail
Added: releases/WebKitGTK/webkit-2.18/LayoutTests/svg/stroke/stroke-linejoin-click-expected.html (0 => 220828)
--- releases/WebKitGTK/webkit-2.18/LayoutTests/svg/stroke/stroke-linejoin-click-expected.html (rev 0)
+++ releases/WebKitGTK/webkit-2.18/LayoutTests/svg/stroke/stroke-linejoin-click-expected.html 2017-08-17 06:11:21 UTC (rev 220828)
@@ -0,0 +1,19 @@
+<style>
+ html, body {
+ margin: 0;
+ padding: 0;
+ }
+ rect {
+ fill: none;
+ stroke-width: 6;
+ stroke-linejoin: round;
+ stroke: green;
+ width: 100px;
+ height: 100px;
+ }
+</style>
+<body>
+ <svg>
+ <rect x="30" y="30"/>
+ </svg>
+</body>
Added: releases/WebKitGTK/webkit-2.18/LayoutTests/svg/stroke/stroke-linejoin-click.html (0 => 220828)
--- releases/WebKitGTK/webkit-2.18/LayoutTests/svg/stroke/stroke-linejoin-click.html (rev 0)
+++ releases/WebKitGTK/webkit-2.18/LayoutTests/svg/stroke/stroke-linejoin-click.html 2017-08-17 06:11:21 UTC (rev 220828)
@@ -0,0 +1,37 @@
+<style>
+ html, body {
+ margin: 0;
+ padding: 0;
+ }
+ rect {
+ fill: none;
+ stroke-width: 6;
+ stroke-linejoin: round;
+ stroke: green;
+ width: 100px;
+ height: 100px;
+ }
+</style>
+<body>
+ <svg>
+ <rect x="10" y="10"/>
+ </svg>
+ <script>
+ function moveRect(rect) {
+ var x = parseFloat(rect.getAttribute("x"));
+ var y = parseFloat(rect.getAttribute("y"));
+ rect.setAttribute('x', x + 10);
+ rect.setAttribute('y', y + 10);
+ }
+
+ (function() {
+ var element = document.elementFromPoint(10, 10);
+ if (element instanceof SVGRectElement)
+ moveRect(element);
+
+ element = document.elementFromPoint(20, 20);
+ if (element instanceof SVGRectElement)
+ moveRect(element);
+ })();
+ </script>
+</body>
Modified: releases/WebKitGTK/webkit-2.18/Source/WebCore/ChangeLog (220827 => 220828)
--- releases/WebKitGTK/webkit-2.18/Source/WebCore/ChangeLog 2017-08-17 06:08:47 UTC (rev 220827)
+++ releases/WebKitGTK/webkit-2.18/Source/WebCore/ChangeLog 2017-08-17 06:11:21 UTC (rev 220828)
@@ -1,3 +1,21 @@
+2017-08-14 Said Abou-Hallawa <sabouhall...@apple.com>
+
+ The none smooth stroke applied to an SVG shape breaks its hit testing
+ https://bugs.webkit.org/show_bug.cgi?id=175506
+
+ Reviewed by Simon Fraser.
+
+ Clear RenderSVGShape::m_path when calling RenderSVGRect::updateShapeFromElement().
+ The m_path will be recalculated when RenderSVGShape::updateShapeFromElement()
+ is called from RenderSVGRect::shapeDependentStrokeContains().
+
+ Test: svg/stroke/stroke-linejoin-click.html
+
+ * rendering/svg/RenderSVGRect.cpp:
+ (WebCore::RenderSVGRect::updateShapeFromElement):
+ * rendering/svg/RenderSVGShape.h:
+ (WebCore::RenderSVGShape::clearPath):
+
2017-08-10 Zan Dobersek <zdober...@igalia.com>
Unreviewed GTK+ build fix for ENABLE_GLES2=ON.
Modified: releases/WebKitGTK/webkit-2.18/Source/WebCore/rendering/svg/RenderSVGRect.cpp (220827 => 220828)
--- releases/WebKitGTK/webkit-2.18/Source/WebCore/rendering/svg/RenderSVGRect.cpp 2017-08-17 06:08:47 UTC (rev 220827)
+++ releases/WebKitGTK/webkit-2.18/Source/WebCore/rendering/svg/RenderSVGRect.cpp 2017-08-17 06:11:21 UTC (rev 220828)
@@ -52,6 +52,7 @@
m_fillBoundingBox = FloatRect();
m_innerStrokeRect = FloatRect();
m_outerStrokeRect = FloatRect();
+ clearPath();
SVGLengthContext lengthContext(&rectElement());
FloatSize boundingBoxSize(lengthContext.valueForLength(style().width(), LengthModeWidth), lengthContext.valueForLength(style().height(), LengthModeHeight));
Modified: releases/WebKitGTK/webkit-2.18/Source/WebCore/rendering/svg/RenderSVGShape.h (220827 => 220828)
--- releases/WebKitGTK/webkit-2.18/Source/WebCore/rendering/svg/RenderSVGShape.h 2017-08-17 06:08:47 UTC (rev 220827)
+++ releases/WebKitGTK/webkit-2.18/Source/WebCore/rendering/svg/RenderSVGShape.h 2017-08-17 06:11:21 UTC (rev 220828)
@@ -63,6 +63,7 @@
ASSERT(m_path);
return *m_path;
}
+ void clearPath() { m_path = nullptr; }
protected:
void element() const = delete;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes