[Webkit-unassigned] [Bug 93453] New: SVG+animation+viewBox+relative-size via <html:img> = FractionalLayoutUnit error log.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Aug 8 02:00:44 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=93453
Summary: SVG+animation+viewBox+relative-size via <html:img> =
FractionalLayoutUnit error log.
Product: WebKit
Version: 528+ (Nightly build)
Platform: All
OS/Version: All
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: SVG
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: kinaba at chromium.org
CC: zimmermann at kde.org
Created an attachment (id=157154)
--> (https://bugs.webkit.org/attachment.cgi?id=157154&action=review)
Loading from an HTML <img src="foo.svg" width="256" height="20"/> reproduces the issue.
Reduction of an issue reported at http://crbug.com/129465.
I have seen it on debug build of Chromium and DumpRenderTree (on Linux).
If an SVG image
* with viewBox attribute,
* without width/height attributes,
* and with <animate> element
is loaded via html <img> element, it triggers the following diagnosing message:
ERROR: !(isInBounds(value))
../../third_party/WebKit/Source/WebCore/platform/FractionalLayoutUnit.h(79) : WebCore::FractionalLayoutUnit::FractionalLayoutUnit(float)
I don't see any visible trouble in SVG rendering result, but in the originally reported case,
this message is infinitely generated and floods my console.
Substituting the line with an assertion, I got the following stack trace in DumpRenderTree,
and the "out-of-bound" value was -NaN.
base::debug::StackTrace::StackTrace() [0x7f8bd9c2dffe]
base::(anonymous namespace)::StackDumpSignalHandler() [0x7f8bd9ca0e74]
0x7f8bd1e0caf0
WebCore::FractionalLayoutUnit::FractionalLayoutUnit() [0x7f8bd5a413fe]
WebCore::FractionalLayoutUnit::FractionalLayoutUnit() [0x7f8bd5a3e13f]
WebCore::FractionalLayoutPoint::FractionalLayoutPoint() [0x7f8bd5a60bea]
WebCore::FractionalLayoutPoint::FractionalLayoutPoint() [0x7f8bd5a60bad]
WebCore::roundedLayoutPoint() [0x7f8bd5a5cecc]
WebCore::RenderBox::mapLocalToContainer() [0x7f8bd5b0407e]
WebCore::RenderSVGRoot::mapLocalToContainer() [0x7f8bd608f369]
WebCore::SVGRenderSupport::mapLocalToContainer() [0x7f8bd60a6306]
WebCore::RenderSVGModelObject::mapLocalToContainer() [0x7f8bd606546b]
WebCore::RenderObject::localToContainerQuad() [0x7f8bd5c0347b]
WebCore::RenderSVGModelObject::outlineBoundsForRepaint() [0x7f8bd60655b2]
WebCore::LayoutRepainter::LayoutRepainter() [0x7f8bd5a83040]
WebCore::RenderSVGShape::layout() [0x7f8bd6092ef0]
WebCore::SVGRenderSupport::layoutChildren() [0x7f8bd60a6d17]
WebCore::RenderSVGRoot::layout() [0x7f8bd608e2e2]
WebCore::FrameView::layout() [0x7f8bd6ba2e15]
WebCore::FrameView::visibleContentsResized() [0x7f8bd6ba7fd6]
WebCore::ScrollView::updateScrollbars() [0x7f8bd62a869d]
WebCore::ScrollView::setFrameRect() [0x7f8bd62ac4f4]
WebCore::FrameView::setFrameRect() [0x7f8bd6ba02ef]
WebCore::Widget::resize() [0x7f8bd51b748e]
WebCore::SVGImage::dataChanged() [0x7f8bd623840b]
WebCore::Image::setData() [0x7f8bd6351af5]
WebCore::CachedImage::data() [0x7f8bd6b16ec7]
WebCore::SubresourceLoader::didFinishLoading() [0x7f8bd6af96e9]
WebCore::ResourceLoader::didFinishLoading() [0x7f8bd6af4605]
WebCore::ResourceHandleInternal::didFinishLoading() [0x7f8bd6413652]
webkit_glue::WebURLLoaderImpl::Context::OnCompletedRequest() [0x7f8bd9f58253]
(anonymous namespace)::RequestProxy::NotifyCompletedRequest() [0x5d9285]
base::internal::RunnableAdapter<>::Run() [0x5d96d4]
base::internal::InvokeHelper<>::MakeItSo() [0x5d960b]
base::internal::Invoker<>::Run() [0x5d959a]
base::Callback<>::Run() [0x7f8bd9c2429e]
MessageLoop::RunTask() [0x7f8bd9c6e104]
MessageLoop::DeferOrRunPendingTask() [0x7f8bd9c6e41b]
MessageLoop::DoWork() [0x7f8bd9c6e5f5]
base::MessagePumpGlib::RunWithDispatcher() [0x7f8bd9c05b52]
base::MessagePumpGlib::Run() [0x7f8bd9c06069]
MessageLoop::RunInternal() [0x7f8bd9c6dbe6]
MessageLoop::RunHandler() [0x7f8bd9c6da95]
base::RunLoop::Run() [0x7f8bd9ca7e52]
MessageLoop::Run() [0x7f8bd9c6d331]
webkit_support::RunMessageLoop() [0x542741]
TestShell::waitTestFinished() [0x49836f]
TestShell::runFileTest() [0x48feaa]
runTest() [0x45ad1c]
main [0x45aa35]
If I directly load the SVG file, or load it via <iframe> or <embed> element, there was no problem.
Adding absolute size info to SVG or dropping viewBox attribute also dissolved the message flood.
As far as I looked, SVGImage::frameView() has size (0,0) in this case and it is causing 0/0 = NaN
in SVGPreserveAspectRatio::getCTM.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list