Changeset 143380 in webkit


Ignore:
Timestamp:
Feb 19, 2013 1:51:19 PM (11 years ago)
Author:
esprehn@chromium.org
Message:

Remove RenderText::updateText
https://bugs.webkit.org/show_bug.cgi?id=109991

Reviewed by Eric Seidel.

There's no reason for the generic RenderText::updateText virtual hook
anymore now that r143060 made RenderQuote stop setting dirty bits during
layout since the hook is only used by RenderCounter.

Instead add updateCounterIfNeeded and make it clear this is a hack for
counters.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::updateCounterIfNeeded): Added, not handles the counter specific hack.
(WebCore::dirtyLineBoxesForRenderer):
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

  • rendering/RenderCounter.cpp:

(WebCore::RenderCounter::updateCounter):

  • rendering/RenderCounter.h:

(RenderCounter):

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::styleDidChange):
(WebCore::RenderQuote::updateDepth):

  • rendering/RenderQuote.h:

(RenderQuote):

  • rendering/RenderText.h:

(RenderText):

Location:
trunk/Source/WebCore
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r143377 r143380  
     12013-02-19  Elliott Sprehn  <esprehn@chromium.org>
     2
     3        Remove RenderText::updateText
     4        https://bugs.webkit.org/show_bug.cgi?id=109991
     5
     6        Reviewed by Eric Seidel.
     7
     8        There's no reason for the generic RenderText::updateText virtual hook
     9        anymore now that r143060 made RenderQuote stop setting dirty bits during
     10        layout since the hook is only used by RenderCounter.
     11
     12        Instead add updateCounterIfNeeded and make it clear this is a hack for
     13        counters.
     14
     15        * rendering/RenderBlockLineLayout.cpp:
     16        (WebCore::updateCounterIfNeeded): Added, not handles the counter specific hack.
     17        (WebCore::dirtyLineBoxesForRenderer):
     18        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
     19        * rendering/RenderCounter.cpp:
     20        (WebCore::RenderCounter::updateCounter):
     21        * rendering/RenderCounter.h:
     22        (RenderCounter):
     23        * rendering/RenderQuote.cpp:
     24        (WebCore::RenderQuote::styleDidChange):
     25        (WebCore::RenderQuote::updateDepth):
     26        * rendering/RenderQuote.h:
     27        (RenderQuote):
     28        * rendering/RenderText.h:
     29        (RenderText):
     30
    1312013-02-19  Tony Chang  <tony@chromium.org>
    232
  • trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp

    r142659 r143380  
    3030#include "RenderArena.h"
    3131#include "RenderCombineText.h"
     32#include "RenderCounter.h"
    3233#include "RenderFlowThread.h"
    3334#include "RenderInline.h"
     
    427428}
    428429
     430// FIXME: Don't let counters mark themselves as needing pref width recalcs during layout
     431// so we don't need this hack.
     432static inline void updateCounterIfNeeded(RenderText* o)
     433{
     434    if (!o->preferredLogicalWidthsDirty() || !o->isCounter())
     435        return;
     436    toRenderCounter(o)->updateCounter();
     437}
     438
    429439static inline void dirtyLineBoxesForRenderer(RenderObject* o, bool fullLayout)
    430440{
    431441    if (o->isText()) {
    432442        RenderText* renderText = toRenderText(o);
    433         renderText->updateTextIfNeeded(); // FIXME: Counters depend on this hack. No clue why. Should be investigated and removed.
     443        updateCounterIfNeeded(renderText);
    434444        renderText->dirtyLineBoxes(fullLayout);
    435445    } else
     
    27832793
    27842794            if (renderTextInfo.m_text != t) {
    2785                 t->updateTextIfNeeded();
     2795                updateCounterIfNeeded(t);
    27862796                renderTextInfo.m_text = t;
    27872797                renderTextInfo.m_font = &f;
  • trunk/Source/WebCore/rendering/RenderCounter.cpp

    r142056 r143380  
    513513}
    514514
    515 void RenderCounter::updateText()
     515void RenderCounter::updateCounter()
    516516{
    517517    computePreferredLogicalWidths(0);
  • trunk/Source/WebCore/rendering/RenderCounter.h

    r140640 r143380  
    4141    static void rendererStyleChanged(RenderObject*, const RenderStyle* oldStyle, const RenderStyle* newStyle);
    4242
     43    void updateCounter();
     44
    4345protected:
    4446    virtual void willBeDestroyed();
     
    4951    virtual PassRefPtr<StringImpl> originalText() const;
    5052   
    51     virtual void updateText() OVERRIDE;
    5253    virtual void computePreferredLogicalWidths(float leadWidth) OVERRIDE;
    5354
  • trunk/Source/WebCore/rendering/RenderQuote.cpp

    r143060 r143380  
    6161{
    6262    RenderText::styleDidChange(diff, oldStyle);
    63     updateText();
     63    setText(originalText());
    6464}
    6565
     
    249249}
    250250
    251 void RenderQuote::updateText()
    252 {
    253     setText(originalText());
    254 }
    255 
    256251const QuotesData* RenderQuote::quotesData() const
    257252{
     
    353348    }
    354349    if (oldDepth != m_depth)
    355         updateText();
     350        setText(originalText());
    356351}
    357352
  • trunk/Source/WebCore/rendering/RenderQuote.h

    r143060 r143380  
    3838    void attachQuote();
    3939
    40     virtual void updateText() OVERRIDE;
    41 
    4240private:
    4341    void detachQuote();
     
    4846    virtual PassRefPtr<StringImpl> originalText() const OVERRIDE;
    4947    virtual void styleDidChange(StyleDifference, const RenderStyle*) OVERRIDE;
    50 
    51     // We don't override insertedIntoTree to call attachQuote() as it would be attached
    52     // too early and get the wrong depth since generated content is inserted into anonymous
    53     // renderers before going into the main render tree. Once we can ensure that insertIntoTree,
    54     // is called on an attached tree, we should override it here.
    55 
    5648    virtual void willBeRemovedFromTree() OVERRIDE;
    5749
  • trunk/Source/WebCore/rendering/RenderText.h

    r142398 r143380  
    4545
    4646    virtual PassRefPtr<StringImpl> originalText() const;
    47 
    48     void updateTextIfNeeded()
    49     {
    50         if (preferredLogicalWidthsDirty())
    51             updateText();
    52     }
    5347
    5448    void extractTextBox(InlineTextBox*);
     
    153147    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
    154148
    155     virtual void updateText() { }
    156149    virtual void setTextInternal(PassRefPtr<StringImpl>);
    157150    virtual UChar previousCharacter() const;
Note: See TracChangeset for help on using the changeset viewer.