Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 339f49b72a953872fd41f36ac6f3a660b9c485f1
https://github.com/WebKit/WebKit/commit/339f49b72a953872fd41f36ac6f3a660b9c485f1
Author: Yusuke Suzuki <[email protected]>
Date: 2023-10-19 (Thu, 19 Oct 2023)
Changed paths:
M LayoutTests/imported/w3c/resources/import-expectations.json
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/async-01-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/async-01.svg
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/defer-01-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/defer-01.svg
A LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/defer.js
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/ellipse-hittest-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/ellipse-hittest.html
A LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/log.py
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/module-01-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/module-01.svg
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/rect-hittest-001-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/rect-hittest-001.html
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/rect-hittest-002-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/rect-hittest-002.html
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-pointer-events-bbox-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-pointer-events-bbox.html
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-root-border-radius-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-root-border-radius.html
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-small-big-path-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-small-big-path.html
M
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/w3c-import.log
M Source/WebCore/rendering/svg/RenderSVGEllipse.cpp
M Source/WebCore/rendering/svg/RenderSVGEllipse.h
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGEllipse.cpp
M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGEllipse.h
Log Message:
-----------
[SVG] Fix ellipse hit testing in the non-circle case
https://bugs.webkit.org/show_bug.cgi?id=249764
rdar://103756227
Reviewed by Cameron McCormack.
This is importing blink's fix for SVG ellipse hit-testing fix[1].
We are using fast path for SVG ellipse hit-testing. But this fast path only
works for circle shape,
and it does not work with the other ellipses. The reason why the current fast
path does not work is
that we are assuming that half-stroke-width is enough to compute hit-test with
radius from the center-point.
But this only works with circle and this does not work with ellipse.
Now due to the previous improvement, we can detect ShapeType::Circle and
ShapeType::Ellipse.
We leverage this to limit the case using fast path.
This fixes some WPT failures:
web-platform-tests/svg/interact/scripted/ellipse-hittest.html.
Previously they were failing, but now we pass with this change.
[1]:
https://chromium.googlesource.com/chromium/blink/+/fb46751341e395b641b691670c1c70e90bae30d4
* LayoutTests/imported/w3c/resources/import-expectations.json:
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/async-01-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/async-01.svg:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/defer-01-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/defer-01.svg:
Added.
* LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/defer.js:
Added.
(t.step):
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/ellipse-hittest-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/ellipse-hittest.html:
Added.
* LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/log.py:
Added.
(main):
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/module-01-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/module-01.svg:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/rect-hittest-001-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/rect-hittest-001.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/rect-hittest-002-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/rect-hittest-002.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-pointer-events-bbox-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-pointer-events-bbox.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-root-border-radius-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-root-border-radius.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-small-big-path-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/svg-small-big-path.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/svg/interact/scripted/w3c-import.log:
* Source/WebCore/rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::canUseStrokeHitTestFastPath const):
(WebCore::RenderSVGEllipse::shapeDependentStrokeContains):
* Source/WebCore/rendering/svg/RenderSVGEllipse.h:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGEllipse.cpp:
(WebCore::LegacyRenderSVGEllipse::canUseStrokeHitTestFastPath const):
(WebCore::LegacyRenderSVGEllipse::shapeDependentStrokeContains):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGEllipse.h:
Canonical link: https://commits.webkit.org/269554@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes