Changeset 24452 in webkit


Ignore:
Timestamp:
Jul 19, 2007 1:09:18 PM (17 years ago)
Author:
antti
Message:

LayoutTests:

Reviewed by Darin.


Test for <rdar://problem/5257371>
Dashcode Client crash when clicking on placemarks in Maps widget in WebCore::DeprecatedPtrListImpl::addIterator

  • fast/flexbox/inline-children-crash-expected.txt: Added.
  • fast/flexbox/inline-children-crash.html: Added.

WebCore:

Reviewed by Darin.

Fix <rdar://problem/5257371>
Dashcode Client crash when clicking on placemarks in Maps widget in WebCore::DeprecatedPtrListImpl::addIterator


FlexibleBoxes should never have inline children. Don't move children out from last remaining anonymous block.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::removeChild): real fix
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox): just to be sure, this is checked elsewhere too
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r24447 r24452  
     12007-07-19  Antti  <antti@apple.com>
     2
     3        Reviewed by Darin.
     4       
     5        Test for <rdar://problem/5257371>
     6        Dashcode Client crash when clicking on placemarks in Maps widget in WebCore::DeprecatedPtrListImpl::addIterator
     7
     8        * fast/flexbox/inline-children-crash-expected.txt: Added.
     9        * fast/flexbox/inline-children-crash.html: Added.
     10
    1112007-07-19  Antti  <antti@apple.com>
    212
  • trunk/WebCore/ChangeLog

    r24451 r24452  
     12007-07-19  Antti  <antti@apple.com>
     2
     3        Reviewed by Darin.
     4
     5        Fix <rdar://problem/5257371>
     6        Dashcode Client crash when clicking on placemarks in Maps widget in WebCore::DeprecatedPtrListImpl::addIterator
     7       
     8        FlexibleBoxes should never have inline children. Don't move children out from last remaining anonymous block.
     9
     10        * rendering/RenderBlock.cpp:
     11        (WebCore::RenderBlock::removeChild): real fix
     12        * rendering/RenderFlexibleBox.cpp:
     13        (WebCore::RenderFlexibleBox::layoutVerticalBox): just to be sure, this is checked elsewhere too
     14
    1152007-07-19  Anders Carlsson  <andersca@apple.com>
    216
  • trunk/WebCore/rendering/RenderBlock.cpp

    r24084 r24452  
    358358
    359359    RenderObject* child = prev ? prev : next;
    360     if (canDeleteAnonymousBlocks && child && !child->previousSibling() && !child->nextSibling()) {
     360    if (canDeleteAnonymousBlocks && child && !child->previousSibling() && !child->nextSibling() && !isFlexibleBox()) {
    361361        // The removal has knocked us down to containing only a single anonymous
    362362        // box.  We can go ahead and pull the content right back up into our
  • trunk/WebCore/rendering/RenderFlexibleBox.cpp

    r21605 r24452  
    705705                   
    706706                    // Dirty all the positioned objects.
    707                     static_cast<RenderBlock*>(child)->markPositionedObjectsForLayout();
    708                     static_cast<RenderBlock*>(child)->clearTruncation();
     707                    if (child->isRenderBlock()) {
     708                        static_cast<RenderBlock*>(child)->markPositionedObjectsForLayout();
     709                        static_cast<RenderBlock*>(child)->clearTruncation();
     710                    }
    709711                }
    710712                child->layoutIfNeeded();
Note: See TracChangeset for help on using the changeset viewer.