Changeset 125953 in webkit


Ignore:
Timestamp:
Aug 17, 2012 5:10:11 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, rolling out r125940.
http://trac.webkit.org/changeset/125940
https://bugs.webkit.org/show_bug.cgi?id=94398

"Causes crashes on the bots
http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r125944%20(2626)/fast/css
/first-letter-removed-added-crash-log.txt" (Requested by
bradee-oh on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-17

  • rendering/RenderListItem.cpp:
  • rendering/RenderListItem.h:

(RenderListItem):

  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:

(RenderObject):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::removeChildNode):

  • rendering/RenderObjectChildList.h:

(RenderObjectChildList):

  • rendering/RenderQuote.cpp:
  • rendering/RenderQuote.h:
  • rendering/RenderRegion.cpp:
  • rendering/RenderRegion.h:

(RenderRegion):

Location:
trunk/Source/WebCore
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r125951 r125953  
     12012-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
     2
     3        Unreviewed, rolling out r125940.
     4        http://trac.webkit.org/changeset/125940
     5        https://bugs.webkit.org/show_bug.cgi?id=94398
     6
     7        "Causes crashes on the bots
     8        http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r125944%20(2626)/fast/css
     9        /first-letter-removed-added-crash-log.txt" (Requested by
     10        bradee-oh on #webkit).
     11
     12        * rendering/RenderListItem.cpp:
     13        * rendering/RenderListItem.h:
     14        (RenderListItem):
     15        * rendering/RenderObject.cpp:
     16        * rendering/RenderObject.h:
     17        (RenderObject):
     18        * rendering/RenderObjectChildList.cpp:
     19        (WebCore::RenderObjectChildList::removeChildNode):
     20        * rendering/RenderObjectChildList.h:
     21        (RenderObjectChildList):
     22        * rendering/RenderQuote.cpp:
     23        * rendering/RenderQuote.h:
     24        * rendering/RenderRegion.cpp:
     25        * rendering/RenderRegion.h:
     26        (RenderRegion):
     27
    1282012-08-17  Sukolsak Sakshuwong  <sukolsak@google.com>
    229
  • trunk/Source/WebCore/rendering/RenderListItem.cpp

    r125940 r125953  
    8080{
    8181    RenderBlock::insertedIntoTree();
    82 
    83     updateListMarkerNumbers();
    84 }
    85 
    86 void RenderListItem::willBeRemovedFromTree()
    87 {
    88     RenderBlock::willBeRemovedFromTree();
    8982
    9083    updateListMarkerNumbers();
  • trunk/Source/WebCore/rendering/RenderListItem.h

    r125940 r125953  
    6060
    6161    virtual void insertedIntoTree() OVERRIDE;
    62     virtual void willBeRemovedFromTree() OVERRIDE;
    6362
    6463    virtual bool isEmpty() const;
  • trunk/Source/WebCore/rendering/RenderObject.cpp

    r125940 r125953  
    23962396}
    23972397
    2398 void RenderObject::willBeRemovedFromTree()
    2399 {
    2400     ASSERT(isRooted());
    2401 
    2402     // If we remove a visible child from an invisible parent, we don't know the layer visibility any more.
    2403     RenderLayer* layer = 0;
    2404     if (parent()->style()->visibility() != VISIBLE && style()->visibility() == VISIBLE && !hasLayer()) {
    2405         if ((layer = parent()->enclosingLayer()))
    2406             layer->dirtyVisibleContentStatus();
    2407     }
    2408 
    2409     // Keep our layer hierarchy updated.
    2410     if (firstChild() || hasLayer()) {
    2411         if (!layer)
    2412             layer = parent()->enclosingLayer();
    2413         removeLayers(layer);
    2414     }
    2415 
    2416     if (isOutOfFlowPositioned() && parent()->childrenInline())
    2417         parent()->dirtyLinesFromChangedChild(this);
    2418 
    2419     if (inRenderFlowThread()) {
    2420         if (isBox())
    2421             enclosingRenderFlowThread()->removeRenderBoxRegionInfo(toRenderBox(this));
    2422         enclosingRenderFlowThread()->clearRenderObjectCustomStyle(this);
    2423     }
    2424 
    2425     if (RenderNamedFlowThread* containerFlowThread = parent()->enclosingRenderNamedFlowThread())
    2426         containerFlowThread->removeFlowChild(this);
    2427 
    2428 #if ENABLE(SVG)
    2429     // Update cached boundaries in SVG renderers, if a child is removed.
    2430     parent()->setNeedsBoundariesUpdate();
    2431 #endif
    2432 }
    2433 
    24342398void RenderObject::destroyAndCleanupAnonymousWrappers()
    24352399{
  • trunk/Source/WebCore/rendering/RenderObject.h

    r125940 r125953  
    940940
    941941    virtual void insertedIntoTree();
    942     virtual void willBeRemovedFromTree();
    943942
    944943private:
  • trunk/Source/WebCore/rendering/RenderObjectChildList.cpp

    r125940 r125953  
    6464}
    6565
    66 RenderObject* RenderObjectChildList::removeChildNode(RenderObject* owner, RenderObject* oldChild, bool notifyRenderer)
     66RenderObject* RenderObjectChildList::removeChildNode(RenderObject* owner, RenderObject* oldChild, bool fullRemove)
    6767{
    6868    ASSERT(oldChild->parent() == owner);
     
    7474    // that a positioned child got yanked).  We also repaint, so that the area exposed when the child
    7575    // disappears gets repainted properly.
    76     if (!owner->documentBeingDestroyed() && notifyRenderer && oldChild->everHadLayout()) {
     76    if (!owner->documentBeingDestroyed() && fullRemove && oldChild->everHadLayout()) {
    7777        oldChild->setNeedsLayoutAndPrefWidthsRecalc();
    7878        if (oldChild->isBody())
     
    8686        toRenderBox(oldChild)->deleteLineBoxWrapper();
    8787
    88     if (!owner->documentBeingDestroyed() && notifyRenderer)
    89         oldChild->willBeRemovedFromTree();
     88    if (!owner->documentBeingDestroyed() && fullRemove) {
     89        // if we remove visible child from an invisible parent, we don't know the layer visibility any more
     90        RenderLayer* layer = 0;
     91        if (owner->style()->visibility() != VISIBLE && oldChild->style()->visibility() == VISIBLE && !oldChild->hasLayer()) {
     92            if ((layer = owner->enclosingLayer()))
     93                layer->dirtyVisibleContentStatus();
     94        }
     95
     96         // Keep our layer hierarchy updated.
     97        if (oldChild->firstChild() || oldChild->hasLayer()) {
     98            if (!layer)
     99                layer = owner->enclosingLayer();
     100            oldChild->removeLayers(layer);
     101        }
     102
     103        if (oldChild->isListItem())
     104            toRenderListItem(oldChild)->updateListMarkerNumbers();
     105
     106        if (oldChild->isOutOfFlowPositioned() && owner->childrenInline())
     107            owner->dirtyLinesFromChangedChild(oldChild);
     108
     109        if (oldChild->isRenderRegion())
     110            toRenderRegion(oldChild)->detachRegion();
     111
     112        if (oldChild->isQuote())
     113            toRenderQuote(oldChild)->detachQuote();
     114
     115        if (oldChild->inRenderFlowThread()) {
     116            if (oldChild->isBox())
     117                oldChild->enclosingRenderFlowThread()->removeRenderBoxRegionInfo(toRenderBox(oldChild));
     118            oldChild->enclosingRenderFlowThread()->clearRenderObjectCustomStyle(oldChild);
     119        }
     120
     121        if (RenderNamedFlowThread* containerFlowThread = owner->enclosingRenderNamedFlowThread())
     122            containerFlowThread->removeFlowChild(oldChild);
     123
     124#if ENABLE(SVG)
     125        // Update cached boundaries in SVG renderers, if a child is removed.
     126        owner->setNeedsBoundariesUpdate();
     127#endif
     128    }
    90129   
    91130    // If oldChild is the start or end of the selection, then clear the selection to
  • trunk/Source/WebCore/rendering/RenderObjectChildList.h

    r125940 r125953  
    5353    void destroyLeftoverChildren();
    5454
    55     RenderObject* removeChildNode(RenderObject* owner, RenderObject*, bool notifyRenderer = true);
     55    RenderObject* removeChildNode(RenderObject* owner, RenderObject*, bool fullRemove = true);
    5656    void appendChildNode(RenderObject* owner, RenderObject*, bool notifyRenderer = true);
    5757    void insertChildNode(RenderObject* owner, RenderObject* child, RenderObject* before, bool notifyRenderer = true);
  • trunk/Source/WebCore/rendering/RenderQuote.cpp

    r125940 r125953  
    4949    detachQuote();
    5050    RenderText::willBeDestroyed();
    51 }
    52 
    53 void RenderQuote::willBeRemovedFromTree()
    54 {
    55     RenderText::willBeRemovedFromTree();
    56 
    57     detachQuote();
    5851}
    5952
  • trunk/Source/WebCore/rendering/RenderQuote.h

    r125940 r125953  
    5050    // is called on an attached tree, we should override it here.
    5151
    52     virtual void willBeRemovedFromTree() OVERRIDE;
    53 
    5452    const QuotesData* quotesData() const;
    5553    void updateDepth();
  • trunk/Source/WebCore/rendering/RenderRegion.cpp

    r125940 r125953  
    365365}
    366366
    367 void RenderRegion::willBeRemovedFromTree()
    368 {
    369     RenderReplaced::willBeRemovedFromTree();
    370 
    371     detachRegion();
    372 }
    373 
    374367PassRefPtr<RenderStyle> RenderRegion::computeStyleInRegion(const RenderObject* object)
    375368{
  • trunk/Source/WebCore/rendering/RenderRegion.h

    r125940 r125953  
    102102
    103103    virtual void insertedIntoTree() OVERRIDE;
    104     virtual void willBeRemovedFromTree() OVERRIDE;
    105104
    106105    PassRefPtr<RenderStyle> computeStyleInRegion(const RenderObject*);
Note: See TracChangeset for help on using the changeset viewer.