Changeset 139229 in webkit


Ignore:
Timestamp:
Jan 9, 2013 12:46:17 PM (11 years ago)
Author:
Alexandru Chiculita
Message:

Assertion Failure in WebCore::RenderLayerCompositor::updateCompositingLayers
https://bugs.webkit.org/show_bug.cgi?id=106419

Reviewed by Simon Fraser.

Source/WebCore:

No new tests added, just un-skipped 3 existing tests.

RenderLayerCompositor::updateCompositingLayers is being called with a pending layout, so computing the
layers at that point would be useless & error-prone as they will be using incorrect layout values. If a layout is pending it means that
RenderLayerCompositor::updateCompositingLayers would get called again after the pending layout ends, so any values calculated at that point would be
overwritten immediately. This patch removes the old ASSERT and makes it a return instead.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateCompositingLayers):

LayoutTests:

Re-added skipped tests as this patch resolves the flakiness.

  • platform/mac/TestExpectations:
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r139228 r139229  
     12013-01-09  Alexandru Chiculita  <achicu@adobe.com>
     2
     3        Assertion Failure in WebCore::RenderLayerCompositor::updateCompositingLayers
     4        https://bugs.webkit.org/show_bug.cgi?id=106419
     5
     6        Reviewed by Simon Fraser.
     7
     8        Re-added skipped tests as this patch resolves the flakiness.
     9
     10        * platform/mac/TestExpectations:
     11
    1122013-01-09  Roger Fong  <roger_fong@apple.com>
    213
  • trunk/LayoutTests/platform/mac/TestExpectations

    r139223 r139229  
    12741274webkit.org/b/106415 fast/workers/worker-lifecycle.html [ Pass Failure ]
    12751275
    1276 webkit.org/b/106419 [ Debug ] dom/html/level2/html/HTMLDocument11.html [ Crash Failure ]
    1277 webkit.org/b/106419 [ Debug ] dom/html/level2/html/HTMLDocument01.html [ Crash Failure ]
    1278 webkit.org/b/106419 [ Debug ] dom/html/level2/html/HTMLBodyElement09.html [ Crash Failure ]
    1279 
  • trunk/Source/WebCore/ChangeLog

    r139223 r139229  
     12013-01-09  Alexandru Chiculita  <achicu@adobe.com>
     2
     3        Assertion Failure in WebCore::RenderLayerCompositor::updateCompositingLayers
     4        https://bugs.webkit.org/show_bug.cgi?id=106419
     5
     6        Reviewed by Simon Fraser.
     7
     8        No new tests added, just un-skipped 3 existing tests.
     9
     10        RenderLayerCompositor::updateCompositingLayers is being called with a pending layout, so computing the
     11        layers at that point would be useless & error-prone as they will be using incorrect layout values. If a layout is pending it means that
     12        RenderLayerCompositor::updateCompositingLayers would get called again after the pending layout ends, so any values calculated at that point would be
     13        overwritten immediately. This patch removes the old ASSERT and makes it a return instead.
     14
     15        * rendering/RenderLayerCompositor.cpp:
     16        (WebCore::RenderLayerCompositor::updateCompositingLayers):
     17
    1182013-01-09  Robert Hogan  <robert@webkit.org>
    219
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r139146 r139229  
    403403        return;
    404404
     405    // Avoid updating the layers with old values. Compositing layers will be updated after the layout is finished.
     406    if (m_renderView->needsLayout())
     407        return;
     408
    405409    if (m_forceCompositingMode && !m_compositing)
    406410        enableCompositingMode(true);
     
    408412    if (!m_reevaluateCompositingAfterLayout && !m_compositing)
    409413        return;
    410 
    411     ASSERT(!m_renderView->needsLayout());
    412414
    413415    AnimationUpdateBlock animationUpdateBlock(m_renderView->frameView()->frame()->animation());
Note: See TracChangeset for help on using the changeset viewer.