RESOLVED FIXED 54575
Assertion failure in DrawingAreaImpl::display when calling WKPageForceRepaint on a page that uses accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=54575
Summary Assertion failure in DrawingAreaImpl::display when calling WKPageForceRepaint...
Adam Roben (:aroben)
Reported 2011-02-16 11:27:01 PST
If you call WKPageForceRepaint on a page that uses accelerated compositing, the web process fails an assertion in DrawingAreaImpl::display: ASSERTION FAILED: !m_layerTreeHost /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp(356) : void WebKit::DrawingAreaImpl::display() -> WebKit::DrawingAreaImpl::display() -> WebKit::DrawingAreaImpl::forceRepaint() -> WebKit::WebPage::forceRepaint(unsigned long long) -> void CoreIPC::callMemberFunction<WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long), unsigned long long>(CoreIPC::Arguments1<unsigned long long> const&, WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long)) -> void CoreIPC::handleMessage<Messages::WebPage::ForceRepaint, WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long)>(CoreIPC::ArgumentDecoder*, WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long)) -> WebKit::WebPage::didReceiveWebPageMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) -> WebKit::WebPage::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) -> WebKit::WebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) -> CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message<CoreIPC::ArgumentDecoder>&) -> CoreIPC::Connection::dispatchMessages() -> MemberFunctionWorkItem0<CoreIPC::Connection>::execute() -> RunLoop::performWork() -> RunLoop::performWork(void*) -> __CFRunLoopDoSources0 -> __CFRunLoopRun -> CFRunLoopRunSpecific -> RunCurrentEventLoopInMode -> ReceiveNextEventCommon -> BlockUntilNextEventMatchingListInMode -> _DPSNextEvent -> -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] -> -[NSApplication run] -> RunLoop::run() -> WebKit::WebProcessMain(WebKit::CommandLine const&) -> _ZL10WebKitMainRKN6WebKit11CommandLineE -> WebKitMain -> main -> start -> 0x6
Attachments
Patch (3.55 KB, patch)
2011-02-16 12:16 PST, Anders Carlsson
no flags
Patch (13.68 KB, patch)
2011-02-16 12:35 PST, Anders Carlsson
aroben: review+
Adam Roben (:aroben)
Comment 1 2011-02-16 11:30:28 PST
Anders Carlsson
Comment 2 2011-02-16 12:16:10 PST
Adam Roben (:aroben)
Comment 3 2011-02-16 12:18:02 PST
Comment on attachment 82673 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=82673&action=review Please add a test case. > Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:149 > + if (m_layerTreeHost) { > + m_layerTreeHost->forceRepaint(); > + > + return; > + } I don't think you need the extra blank line in here.
Anders Carlsson
Comment 4 2011-02-16 12:35:47 PST
Adam Roben (:aroben)
Comment 5 2011-02-16 12:36:58 PST
Comment on attachment 82675 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=82675&action=review > Tools/TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp:52 > + WKRetainPtr<WKContextRef> context(AdoptWK, WKContextCreate()); You can use Util::adoptWK here instead if you like. > Tools/TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp:62 > + WKRetainPtr<WKURLRef> url(AdoptWK, Util::createURLForResource("simple-accelerated-compositing", "html")); You can use Util::adoptWK here instead.
Anders Carlsson
Comment 6 2011-02-16 12:39:03 PST
Note You need to log in before you can comment on or make changes to this bug.