⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 98763 in webkit


Ignore:
Timestamp:
Oct 28, 2011, 2:28:39 PM (15 years ago)
Author:
commit-queue@webkit.org
Message:

Crash when splitting inline flows with generated floats
https://bugs.webkit.org/show_bug.cgi?id=70458

Patch by Ken Buchanan <kenrb@chromium.org> on 2011-10-28
Reviewed by David Hyatt.

Source/WebCore:

When lineBoxes on a RenderBlock are being deleted, we now check the floating object list to
ensure references to them are being cleared.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::deleteLineBoxTree): Remove references to lineBox when deleting them

LayoutTests:

Added test for crash condition when splitting inline flows on an object with generated floats.

  • fast/css-generated-content/inline-splitting-with-after-float-crash.html: Added
  • fast/css-generated-content/inline-splitting-with-after-float-crash-expected.txt: Added
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r98751 r98763  
     12011-10-28  Ken Buchanan <kenrb@chromium.org>
     2
     3        Crash when splitting inline flows with generated floats
     4        https://bugs.webkit.org/show_bug.cgi?id=70458
     5
     6        Reviewed by David Hyatt.
     7
     8        Added test for crash condition when splitting inline flows on an object with generated floats.
     9
     10        * fast/css-generated-content/inline-splitting-with-after-float-crash.html: Added
     11        * fast/css-generated-content/inline-splitting-with-after-float-crash-expected.txt: Added
     12
    1132011-10-28  John Gregg  <johnnyg@google.com>
    214
  • trunk/Source/WebCore/ChangeLog

    r98762 r98763  
     12011-10-28  Ken Buchanan <kenrb@chromium.org>
     2
     3        Crash when splitting inline flows with generated floats
     4        https://bugs.webkit.org/show_bug.cgi?id=70458
     5
     6        Reviewed by David Hyatt.
     7
     8        When lineBoxes on a RenderBlock are being deleted, we now check the floating object list to
     9        ensure references to them are being cleared.
     10
     11        * rendering/RenderBlock.cpp:
     12        (WebCore::RenderBlock::deleteLineBoxTree): Remove references to lineBox when deleting them
     13
    1142011-10-28  Simon Fraser  <simon.fraser@apple.com>
    215
  • trunk/Source/WebCore/rendering/RenderBlock.cpp

    • Property svn:executable set to *
    r98748 r98763  
    839839void RenderBlock::deleteLineBoxTree()
    840840{
     841    if (containsFloats()) {
     842        // Clear references to originating lines, since the lines are being deleted
     843        const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set();
     844        FloatingObjectSetIterator end = floatingObjectSet.end();
     845        for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++it) {
     846            ASSERT(!((*it)->m_originatingLine) || (*it)->m_originatingLine->renderer() == this);
     847            (*it)->m_originatingLine = 0;
     848        }
     849    }
    841850    m_lineBoxes.deleteLineBoxTree(renderArena());
    842851}
Note: See TracChangeset for help on using the changeset viewer.