Changeset 194426 in webkit


Ignore:
Timestamp:
Dec 27, 2015 2:56:57 PM (8 years ago)
Author:
Alan Bujtas
Message:

Should never be reached failure in WebCore::RenderElement::clearLayoutRootIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=151590

Reviewed by Simon Fraser.

We should always set the layoutroot when a new subtree layout is requested (and convert it
to a full layout when needed). It ensures that renderers are detached cleanly even when
they are set as layoutroot.

Source/WebCore:

Test: fast/block/assert-when-layout-root-is-not-cleared.html

  • page/FrameView.cpp:

(WebCore::FrameView::scheduleRelayoutOfSubtree):

LayoutTests:

  • fast/block/assert-when-layout-root-is-not-cleared-expected.txt: Added.
  • fast/block/assert-when-layout-root-is-not-cleared.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r194421 r194426  
     12015-12-27  Zalan Bujtas  <zalan@apple.com>
     2
     3        Should never be reached failure in WebCore::RenderElement::clearLayoutRootIfNeeded
     4        https://bugs.webkit.org/show_bug.cgi?id=151590
     5
     6        Reviewed by Simon Fraser.
     7
     8        We should always set the layoutroot when a new subtree layout is requested (and convert it
     9        to a full layout when needed). It ensures that renderers are detached cleanly even when
     10        they are set as layoutroot.
     11
     12        * fast/block/assert-when-layout-root-is-not-cleared-expected.txt: Added.
     13        * fast/block/assert-when-layout-root-is-not-cleared.html: Added.
     14
    1152015-12-25  Zalan Bujtas  <zalan@apple.com>
    216
  • trunk/Source/WebCore/ChangeLog

    r194424 r194426  
     12015-12-27  Zalan Bujtas  <zalan@apple.com>
     2
     3        Should never be reached failure in WebCore::RenderElement::clearLayoutRootIfNeeded
     4        https://bugs.webkit.org/show_bug.cgi?id=151590
     5
     6        Reviewed by Simon Fraser.
     7
     8        We should always set the layoutroot when a new subtree layout is requested (and convert it
     9        to a full layout when needed). It ensures that renderers are detached cleanly even when
     10        they are set as layoutroot.
     11
     12        Test: fast/block/assert-when-layout-root-is-not-cleared.html
     13
     14        * page/FrameView.cpp:
     15        (WebCore::FrameView::scheduleRelayoutOfSubtree):
     16
    1172015-12-26  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
    218
  • trunk/Source/WebCore/page/FrameView.cpp

    r194210 r194426  
    26552655
    26562656    if (renderView.needsLayout()) {
    2657         newRelayoutRoot.markContainingBlocksForLayout(ScheduleRelayout::No);
     2657        m_layoutRoot = &newRelayoutRoot;
     2658        convertSubtreeLayoutToFullLayout();
    26582659        return;
    26592660    }
     
    26962697
    26972698    // Just do a full relayout.
     2699    m_layoutRoot = &newRelayoutRoot;
    26982700    convertSubtreeLayoutToFullLayout();
    2699     newRelayoutRoot.markContainingBlocksForLayout(ScheduleRelayout::No);
    27002701    InspectorInstrumentation::didInvalidateLayout(frame());
    27012702}
Note: See TracChangeset for help on using the changeset viewer.