Changeset 214501 in webkit


Ignore:
Timestamp:
Mar 28, 2017 3:48:26 PM (7 years ago)
Author:
Antti Koivisto
Message:

Missing render tree position invalidation when tearing down renderers for display:contents subtree
https://bugs.webkit.org/show_bug.cgi?id=170199
<rdar://problem/31260856>

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/shadow-dom/slot-renderer-teardown.html

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):

Invalidate the render tree position in case we do a teardown for an element without renderer.

LayoutTests:

  • fast/shadow-dom/slot-renderer-teardown-expected.txt: Added.
  • fast/shadow-dom/slot-renderer-teardown.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r214500 r214501  
     12017-03-28  Antti Koivisto  <antti@apple.com>
     2
     3        Missing render tree position invalidation when tearing down renderers for display:contents subtree
     4        https://bugs.webkit.org/show_bug.cgi?id=170199
     5        <rdar://problem/31260856>
     6
     7        Reviewed by Zalan Bujtas.
     8
     9        * fast/shadow-dom/slot-renderer-teardown-expected.txt: Added.
     10        * fast/shadow-dom/slot-renderer-teardown.html: Added.
     11
    1122017-03-28  Ryan Haddad  <ryanhaddad@apple.com>
    213
  • trunk/Source/WebCore/ChangeLog

    r214500 r214501  
     12017-03-28  Antti Koivisto  <antti@apple.com>
     2
     3        Missing render tree position invalidation when tearing down renderers for display:contents subtree
     4        https://bugs.webkit.org/show_bug.cgi?id=170199
     5        <rdar://problem/31260856>
     6
     7        Reviewed by Zalan Bujtas.
     8
     9        Test: fast/shadow-dom/slot-renderer-teardown.html
     10
     11        * style/RenderTreeUpdater.cpp:
     12        (WebCore::RenderTreeUpdater::updateElementRenderer):
     13
     14            Invalidate the render tree position in case we do a teardown for an element without renderer.
     15
    1162017-03-28  Ryan Haddad  <ryanhaddad@apple.com>
    217
  • trunk/Source/WebCore/style/RenderTreeUpdater.cpp

    r214232 r214501  
    260260    bool shouldTearDownRenderers = update.change == Style::Detach
    261261        && (element.renderer() || element.isNamedFlowContentElement() || element.hasDisplayContents());
    262     if (shouldTearDownRenderers)
     262    if (shouldTearDownRenderers) {
     263        if (!element.renderer()) {
     264            // We may be tearing down a descendant renderer cached in renderTreePosition.
     265            renderTreePosition().invalidateNextSibling();
     266        }
    263267        tearDownRenderers(element, TeardownType::KeepHoverAndActive);
     268    }
    264269
    265270    bool hasDisplayContents = update.style->display() == CONTENTS;
Note: See TracChangeset for help on using the changeset viewer.