WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
263351
[SVG] Enable approximate repaint bounding box computation
https://bugs.webkit.org/show_bug.cgi?id=263351
Summary
[SVG] Enable approximate repaint bounding box computation
Yusuke Suzuki
Reported
2023-10-18 17:43:21 PDT
...
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2023-10-18 17:43:44 PDT
<
rdar://problem/117175423
>
Yusuke Suzuki
Comment 2
2023-10-18 17:46:10 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/19262
EWS
Comment 3
2023-10-18 21:30:02 PDT
Committed
269500@main
(2f7437fb0267): <
https://commits.webkit.org/269500@main
> Reviewed commits have been landed. Closing PR #19262 and removing active labels.
Fujii Hironori
Comment 4
2023-10-19 12:46:07 PDT
http/tests/svg/use-custom-property-inheritance.html is crashing after this change.
https://results.webkit.org/?suite=layout-tests&test=http%2Ftests%2Fsvg%2Fuse-custom-property-inheritance.html&style=debug
https://ews-build.s3-us-west-2.amazonaws.com/macOS-AppleSilicon-Ventura-Debug-WK2-Tests-EWS/ca059f9b-18153/http/tests/svg/use-custom-property-inheritance-stderr.txt
ASSERTION FAILED: !renderer.hasNonScalingStroke() /Volumes/Data/worker/macOS-AppleSilicon-Ventura-Debug-Build-EWS/build/Source/WebCore/rendering/svg/SVGRenderSupport.cpp(577) : auto WebCore::SVGRenderSupport::calculateApproximateStrokeBoundingBox(const WebCore::RenderElement &)::(anonymous class)::operator()(const auto &, WebCore::FloatRect) const [renderer:auto = WebCore::LegacyRenderSVGShape] 1 0x12e6cf28c WTFCrash 2 0x282ada7e0 WebCore::BaseAudioContext::isGraphOwner() const 3 0x2856211f8 WebCore::FloatRect WebCore::SVGRenderSupport::calculateApproximateStrokeBoundingBox(WebCore::RenderElement const&)::$_2::operator()<WebCore::LegacyRenderSVGShape>(WebCore::LegacyRenderSVGShape const&, WebCore::FloatRect) const 4 0x2856210a0 WebCore::FloatRect WebCore::SVGRenderSupport::calculateApproximateStrokeBoundingBox(WebCore::RenderElement const&)::$_1::operator()<WebCore::LegacyRenderSVGShape>(WebCore::LegacyRenderSVGShape const&, WebCore::FloatRect) const 5 0x2856137dc auto WebCore::SVGRenderSupport::calculateApproximateStrokeBoundingBox(WebCore::RenderElement const&)::$_0::operator()<WebCore::LegacyRenderSVGShape>(WebCore::LegacyRenderSVGShape const&) const 6 0x285613608 WebCore::SVGRenderSupport::calculateApproximateStrokeBoundingBox(WebCore::RenderElement const&) 7 0x28564b904 WebCore::LegacyRenderSVGShape::calculateApproximateStrokeBoundingBox() const 8 0x28564a644 WebCore::LegacyRenderSVGShape::updateRepaintBoundingBox() 9 0x28564a540 WebCore::LegacyRenderSVGShape::layout() 10 0x285611acc WebCore::SVGRenderSupport::layoutChildren(WebCore::RenderElement&, bool) 11 0x28563c9ac WebCore::LegacyRenderSVGContainer::layout() 12 0x285611acc WebCore::SVGRenderSupport::layoutChildren(WebCore::RenderElement&, bool) 13 0x28563c9ac WebCore::LegacyRenderSVGContainer::layout() 14 0x285611acc WebCore::SVGRenderSupport::layoutChildren(WebCore::RenderElement&, bool) 15 0x28564839c WebCore::LegacyRenderSVGRoot::layout() 16 0x2847d3384 WebCore::LocalFrameViewLayoutContext::performLayout() 17 0x2847b160c WebCore::LocalFrameViewLayoutContext::layout() 18 0x2847cca74 WebCore::LocalFrameView::updateLayoutAndStyleIfNeededRecursive() 19 0x284832188 WebCore::Page::layoutIfNeeded() 20 0x284832ca4 WebCore::Page::updateRendering() 21 0x11a3a5aac WebKit::WebPage::updateRendering() 22 0x119443dc8 WebKit::TiledCoreAnimationDrawingArea::updateRendering(WebKit::TiledCoreAnimationDrawingArea::UpdateRenderingType) 23 0x119443cc8 WebKit::TiledCoreAnimationDrawingArea::forceRepaint() 24 0x11a3a462c WebKit::WebPage::forceRepaintWithoutCallback() 25 0x119cbec04 WKBundlePageForceRepaint 26 0x10184959c WTR::InjectedBundlePage::dump() 27 0x10184d988 WTR::dumpAfterWaitAttributeIsRemoved(OpaqueWKBundlePage const*) 28 0x101848de4 WTR::InjectedBundlePage::frameDidChangeLocation(OpaqueWKBundleFrame const*) 29 0x101847250 WTR::InjectedBundlePage::didFinishLoadForFrame(OpaqueWKBundleFrame const*) 30 0x101845e1c WTR::InjectedBundlePage::didFinishLoadForFrame(OpaqueWKBundlePage const*, OpaqueWKBundleFrame const*, void const**, void const*) 31 0x119cafa18 WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame(WebKit::WebPage&, WebKit::WebFrame&, WTF::RefPtr<API::Object, WTF::RawPtrTraits<API::Object>, WTF::DefaultRefDerefTraits<API::Object>>&) com.apple.WebKit.WebContent.Development terminated (pid 5864) for reason: crash LEAK: 1 WebPageProxy
Yusuke Suzuki
Comment 5
2023-10-19 13:41:53 PDT
(In reply to Fujii Hironori from
comment #4
)
> http/tests/svg/use-custom-property-inheritance.html is crashing after this > change. >
https://results.webkit.org/?suite=layout-tests&test=http%2Ftests%2Fsvg%2Fuse
- > custom-property-inheritance.html&style=debug > >
https://ews-build.s3-us-west-2.amazonaws.com/macOS-AppleSilicon-Ventura
- > Debug-WK2-Tests-EWS/ca059f9b-18153/http/tests/svg/use-custom-property- > inheritance-stderr.txt > > ASSERTION FAILED: !renderer.hasNonScalingStroke() > /Volumes/Data/worker/macOS-AppleSilicon-Ventura-Debug-Build-EWS/build/Source/ > WebCore/rendering/svg/SVGRenderSupport.cpp(577) : auto > WebCore::SVGRenderSupport::calculateApproximateStrokeBoundingBox(const > WebCore::RenderElement &)::(anonymous class)::operator()(const auto &, > WebCore::FloatRect) const [renderer:auto = WebCore::LegacyRenderSVGShape] > 1 0x12e6cf28c WTFCrash > 2 0x282ada7e0 WebCore::BaseAudioContext::isGraphOwner() const > 3 0x2856211f8 WebCore::FloatRect > WebCore::SVGRenderSupport::calculateApproximateStrokeBoundingBox(WebCore:: > RenderElement > const&)::$_2::operator()<WebCore::LegacyRenderSVGShape>(WebCore:: > LegacyRenderSVGShape const&, WebCore::FloatRect) const > 4 0x2856210a0 WebCore::FloatRect > WebCore::SVGRenderSupport::calculateApproximateStrokeBoundingBox(WebCore:: > RenderElement > const&)::$_1::operator()<WebCore::LegacyRenderSVGShape>(WebCore:: > LegacyRenderSVGShape const&, WebCore::FloatRect) const > 5 0x2856137dc auto > WebCore::SVGRenderSupport::calculateApproximateStrokeBoundingBox(WebCore:: > RenderElement > const&)::$_0::operator()<WebCore::LegacyRenderSVGShape>(WebCore:: > LegacyRenderSVGShape const&) const > 6 0x285613608 > WebCore::SVGRenderSupport::calculateApproximateStrokeBoundingBox(WebCore:: > RenderElement const&) > 7 0x28564b904 > WebCore::LegacyRenderSVGShape::calculateApproximateStrokeBoundingBox() const > 8 0x28564a644 WebCore::LegacyRenderSVGShape::updateRepaintBoundingBox() > 9 0x28564a540 WebCore::LegacyRenderSVGShape::layout() > 10 0x285611acc > WebCore::SVGRenderSupport::layoutChildren(WebCore::RenderElement&, bool) > 11 0x28563c9ac WebCore::LegacyRenderSVGContainer::layout() > 12 0x285611acc > WebCore::SVGRenderSupport::layoutChildren(WebCore::RenderElement&, bool) > 13 0x28563c9ac WebCore::LegacyRenderSVGContainer::layout() > 14 0x285611acc > WebCore::SVGRenderSupport::layoutChildren(WebCore::RenderElement&, bool) > 15 0x28564839c WebCore::LegacyRenderSVGRoot::layout() > 16 0x2847d3384 WebCore::LocalFrameViewLayoutContext::performLayout() > 17 0x2847b160c WebCore::LocalFrameViewLayoutContext::layout() > 18 0x2847cca74 > WebCore::LocalFrameView::updateLayoutAndStyleIfNeededRecursive() > 19 0x284832188 WebCore::Page::layoutIfNeeded() > 20 0x284832ca4 WebCore::Page::updateRendering() > 21 0x11a3a5aac WebKit::WebPage::updateRendering() > 22 0x119443dc8 > WebKit::TiledCoreAnimationDrawingArea::updateRendering(WebKit:: > TiledCoreAnimationDrawingArea::UpdateRenderingType) > 23 0x119443cc8 WebKit::TiledCoreAnimationDrawingArea::forceRepaint() > 24 0x11a3a462c WebKit::WebPage::forceRepaintWithoutCallback() > 25 0x119cbec04 WKBundlePageForceRepaint > 26 0x10184959c WTR::InjectedBundlePage::dump() > 27 0x10184d988 WTR::dumpAfterWaitAttributeIsRemoved(OpaqueWKBundlePage > const*) > 28 0x101848de4 > WTR::InjectedBundlePage::frameDidChangeLocation(OpaqueWKBundleFrame const*) > 29 0x101847250 > WTR::InjectedBundlePage::didFinishLoadForFrame(OpaqueWKBundleFrame const*) > 30 0x101845e1c > WTR::InjectedBundlePage::didFinishLoadForFrame(OpaqueWKBundlePage const*, > OpaqueWKBundleFrame const*, void const**, void const*) > 31 0x119cafa18 > WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame(WebKit:: > WebPage&, WebKit::WebFrame&, WTF::RefPtr<API::Object, > WTF::RawPtrTraits<API::Object>, WTF::DefaultRefDerefTraits<API::Object>>&) > com.apple.WebKit.WebContent.Development terminated (pid 5864) for reason: > crash > LEAK: 1 WebPageProxy
Oops, this assertion is stale. I'll remove it.
Yusuke Suzuki
Comment 6
2023-10-19 14:20:33 PDT
https://github.com/WebKit/WebKit/commit/cd9fc42579dc0b7307a9c1bb3f48a2115f1443c8
Fixed in this. It is a bit strange that the original patch was landed with safe-merge-queue :(
Mark Lam
Comment 7
2023-10-23 00:41:41 PDT
***
Bug 262409
has been marked as a duplicate of this bug. ***
Fujii Hironori
Comment 8
2024-08-21 00:29:12 PDT
Regressed:
Bug 277624
– REGRESSION (
269500@main
Safari 17.5): Masked Curved Line Rendering Issue
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug