[Webkit-unassigned] [Bug 92753] [Qt] Snowshoe desktop crashes when opening a new tab

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Aug 7 09:07:28 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=92753





--- Comment #9 from Jocelyn Turcotte <jocelyn.turcotte at nokia.com>  2012-08-07 09:07:22 PST ---
(From update of attachment 156946)
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.

> 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.

> 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?
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));

> 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.

> 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.

-- 
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