Changeset 211792 in webkit


Ignore:
Timestamp:
Feb 7, 2017 1:33:29 AM (7 years ago)
Author:
Carlos Garcia Campos
Message:

Merge r211348 - [Threaded Compositor] Crash when detaching the CoordinatedGraphicsScene
https://bugs.webkit.org/show_bug.cgi?id=167547

Reviewed by Michael Catanzaro.

It seems that commitSceneState() can be called after the CoordinatedGraphicsScene has been detached.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::commitSceneState): Return early if scene has been detached.
(WebKit::CoordinatedGraphicsScene::detach): Take the render queue lock before clearing the render queue.

Location:
releases/WebKitGTK/webkit-2.14/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • releases/WebKitGTK/webkit-2.14/Source/WebKit2/ChangeLog

    r211791 r211792  
     12017-01-28  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [Threaded Compositor] Crash when detaching the CoordinatedGraphicsScene
     4        https://bugs.webkit.org/show_bug.cgi?id=167547
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        It seems that commitSceneState() can be called after the CoordinatedGraphicsScene has been detached.
     9
     10        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
     11        (WebKit::CoordinatedGraphicsScene::commitSceneState): Return early if scene has been detached.
     12        (WebKit::CoordinatedGraphicsScene::detach): Take the render queue lock before clearing the render queue.
     13
    1142017-01-28  Carlos Garcia Campos  <cgarcia@igalia.com>
    215
  • releases/WebKitGTK/webkit-2.14/Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp

    r205641 r211792  
    599599void CoordinatedGraphicsScene::commitSceneState(const CoordinatedGraphicsState& state)
    600600{
     601    if (!m_client)
     602        return;
     603
    601604    m_renderedContentsScrollPosition = state.scrollPosition;
    602605
     
    708711{
    709712    ASSERT(isMainThread());
    710     m_renderQueue.clear();
    711713    m_isActive = false;
    712714    m_client = nullptr;
     715    LockHolder locker(m_renderQueueMutex);
     716    m_renderQueue.clear();
    713717}
    714718
Note: See TracChangeset for help on using the changeset viewer.