[Webkit-unassigned] [Bug 92753] [Qt] Snowshoe desktop crashes when opening a new tab
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Aug 8 00:48:16 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=92753
--- Comment #11 from Balazs Kelemen <kbalazs at webkit.org> 2012-08-08 00:48:37 PST ---
(In reply to comment #9)
> (From update of attachment 156946 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=156946&action=review
>
> > Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:-180
> > - // This is necessary for running layout tests. Since in this case we are not waiting for a UIProcess to reply nicely.
> > - // Instead we are just triggering forceRepaint. But we still want to have the scripted animation callbacks being executed.
> > - syncDisplayState();
> > -
>
> You'll need to keep this if you agree with the comment below.
But from now we will use forceSyncAsync for testing, and it does a syncDisplayState before sending back the reply (in performScheduledLayerFlush after the timer fires), so I think we can remove it from forceRepaint.
>
> > Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:183
> > - flushPendingLayerChanges();
> > +
> > + performScheduledLayerFlush();
>
> Please move the m_waitingForUIProcess check at the top of flushPendingLayerChange instead to make sure that we keep the behavior relatively to m_isSuspended and didPerformScheduledLayerFlush().
> It will also make sure that we check this variable in the same method that we reset it.
>
Ok.
> > Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:192
> > +bool LayerTreeCoordinator::forceRepaintAsync(uint64_t callbackID)
> > +{
> > + // We expect the UI process to not require a new repaint until the previous one has finished.
> > + ASSERT(!m_forceRepaintAsyncCallbackID);
> > + m_forceRepaintAsyncCallbackID = callbackID;
> > + return true;
> > }
>
> You're missing a scheduleLayerFlush() in here somewhere, no?
Yes.
> Also, I would prefer safely doing this before assigning m_forceRepaintAsyncCallbackID and comment that this is just a clumsy safety measure instead of asserting:
>
> if (m_forceRepaintAsyncCallbackID)
> m_webPage->send(Messages::WebPageProxy::VoidCallback(m_forceRepaintAsyncCallbackID));
Sending back the message without actually performing the repaint? I don't think that makes sense.
>
> > Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:206
> > + if (!m_layerTreeHost) {
>
> Place this at the beginning, you don't want to invalidate and layout if you're not going to do anything with it here.
Yep.
>
> > Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp:207
> > + // FIXME: this could be implemented for the non composited path as well.
>
> It's a FIXME that might never be fixed and we have no need for it now, I think it would be better to avoid it.
Ok.
--
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