Changeset 37252

Show
Ignore:
Timestamp:
10/03/08 13:20:01 (7 weeks ago)
Author:
simon.fraser@apple.com
Message:

2008-10-03 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Make setStyle() take a const RenderStyle, to ensure that an
earlier RenderStyle::diff() remains valid.

Location:
trunk/WebCore
Files:
46 modified

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r37251 r37252  
     12008-10-03  Simon Fraser  <simon.fraser@apple.com> 
     2 
     3        Reviewed by Dave Hyatt 
     4 
     5        Make setStyle() take a const RenderStyle, to ensure that an 
     6        earlier RenderStyle::diff() remains valid. 
     7 
     8        * rendering/RenderBR.cpp: 
     9        * rendering/RenderBR.h: 
     10        * rendering/RenderBlock.cpp: 
     11        * rendering/RenderBlock.h: 
     12        * rendering/RenderBox.cpp: 
     13        * rendering/RenderBox.h: 
     14        * rendering/RenderButton.cpp: 
     15        * rendering/RenderButton.h: 
     16        * rendering/RenderFieldset.cpp: 
     17        * rendering/RenderFieldset.h: 
     18        * rendering/RenderFileUploadControl.cpp: 
     19        * rendering/RenderFileUploadControl.h: 
     20        * rendering/RenderInline.cpp: 
     21        * rendering/RenderInline.h: 
     22        * rendering/RenderListBox.cpp: 
     23        * rendering/RenderListBox.h: 
     24        * rendering/RenderListItem.cpp: 
     25        * rendering/RenderListItem.h: 
     26        * rendering/RenderListMarker.cpp: 
     27        * rendering/RenderListMarker.h: 
     28        * rendering/RenderMenuList.cpp: 
     29        * rendering/RenderMenuList.h: 
     30        * rendering/RenderObject.cpp: 
     31        (WebCore::RenderObject::setStyle): 
     32        * rendering/RenderObject.h: 
     33        * rendering/RenderReplaced.cpp: 
     34        * rendering/RenderReplaced.h: 
     35        * rendering/RenderSVGBlock.cpp: 
     36        (WebCore::RenderSVGBlock::setStyle): 
     37        * rendering/RenderSVGBlock.h: 
     38        * rendering/RenderSVGGradientStop.cpp: 
     39        * rendering/RenderSVGGradientStop.h: 
     40        * rendering/RenderSlider.cpp: 
     41        * rendering/RenderSlider.h: 
     42        * rendering/RenderTable.cpp: 
     43        * rendering/RenderTable.h: 
     44        * rendering/RenderTableCell.cpp: 
     45        * rendering/RenderTableCell.h: 
     46        * rendering/RenderTableRow.cpp: 
     47        * rendering/RenderTableRow.h: 
     48        * rendering/RenderText.cpp: 
     49        * rendering/RenderText.h: 
     50        * rendering/RenderTextControl.cpp: 
     51        * rendering/RenderTextControl.h: 
     52        * rendering/RenderWidget.cpp: 
     53        * rendering/RenderWidget.h: 
     54        * rendering/style/RenderStyle.h: 
     55        (WebCore::RenderStyle::isDisplayReplacedType): 
     56        (WebCore::RenderStyle::isDisplayInlineType): 
     57 
    1582008-10-03  David Hyatt  <hyatt@apple.com> 
    259 
  • trunk/WebCore/rendering/RenderBR.cpp

    r34693 r37252  
    8383} 
    8484 
    85 void RenderBR::setStyle(RenderStyle* newStyle) 
     85void RenderBR::setStyle(const RenderStyle* newStyle) 
    8686{ 
    8787    RenderText::setStyle(newStyle); 
  • trunk/WebCore/rendering/RenderBR.h

    r34693 r37252  
    4848    virtual int lineHeight(bool firstLine, bool isRootLineBox = false) const; 
    4949    virtual int baselinePosition(bool firstLine, bool isRootLineBox = false) const; 
    50     virtual void setStyle(RenderStyle*); 
     50    virtual void setStyle(const RenderStyle*); 
    5151 
    5252    // overrides 
  • trunk/WebCore/rendering/RenderBlock.cpp

    r37220 r37252  
    147147} 
    148148 
    149 void RenderBlock::setStyle(RenderStyle* newStyle) 
     149void RenderBlock::setStyle(const RenderStyle* newStyle) 
    150150{ 
    151151    setReplaced(newStyle->isDisplayReplacedType()); 
  • trunk/WebCore/rendering/RenderBlock.h

    r36513 r37252  
    107107    virtual void repaintOverhangingFloats(bool paintAllDescendants); 
    108108 
    109     virtual void setStyle(RenderStyle*); 
     109    virtual void setStyle(const RenderStyle*); 
    110110 
    111111    virtual void layout(); 
  • trunk/WebCore/rendering/RenderBox.cpp

    r36758 r37252  
    7373} 
    7474 
    75 void RenderBox::setStyle(RenderStyle* newStyle) 
     75void RenderBox::setStyle(const RenderStyle* newStyle) 
    7676{ 
    7777    bool wasFloating = isFloating(); 
  • trunk/WebCore/rendering/RenderBox.h

    r36082 r37252  
    3737    virtual const char* renderName() const { return "RenderBox"; } 
    3838 
    39     virtual void setStyle(RenderStyle*); 
     39    virtual void setStyle(const RenderStyle*); 
    4040    virtual void paint(PaintInfo&, int tx, int ty); 
    4141    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty, HitTestAction); 
  • trunk/WebCore/rendering/RenderButton.cpp

    r36107 r37252  
    6565} 
    6666 
    67 void RenderButton::setStyle(RenderStyle* style) 
     67void RenderButton::setStyle(const RenderStyle* style) 
    6868{ 
    6969    if (m_inner) { 
  • trunk/WebCore/rendering/RenderButton.h

    r35950 r37252  
    4646    virtual bool createsAnonymousWrapper() const { return true; } 
    4747 
    48     virtual void setStyle(RenderStyle*); 
     48    virtual void setStyle(const RenderStyle*); 
    4949    virtual void updateFromElement(); 
    5050 
  • trunk/WebCore/rendering/RenderFieldset.cpp

    r34715 r37252  
    261261} 
    262262 
    263 void RenderFieldset::setStyle(RenderStyle* newStyle) 
     263void RenderFieldset::setStyle(const RenderStyle* newStyle) 
    264264{ 
    265265    RenderBlock::setStyle(newStyle); 
  • trunk/WebCore/rendering/RenderFieldset.h

    r36670 r37252  
    4242    virtual RenderObject* layoutLegend(bool relayoutChildren); 
    4343 
    44     virtual void setStyle(RenderStyle*); 
     44    virtual void setStyle(const RenderStyle*); 
    4545 
    4646    virtual void calcPrefWidths(); 
  • trunk/WebCore/rendering/RenderFileUploadControl.cpp

    r37220 r37252  
    7272} 
    7373 
    74 void RenderFileUploadControl::setStyle(RenderStyle* newStyle) 
     74void RenderFileUploadControl::setStyle(const RenderStyle* newStyle) 
    7575{ 
    7676    RenderBlock::setStyle(newStyle); 
     
    135135} 
    136136 
    137 RenderStyle* RenderFileUploadControl::createButtonStyle(RenderStyle* parentStyle) const 
     137RenderStyle* RenderFileUploadControl::createButtonStyle(const RenderStyle* parentStyle) const 
    138138{ 
    139139    RenderStyle* style = getPseudoStyle(RenderStyle::FILE_UPLOAD_BUTTON); 
  • trunk/WebCore/rendering/RenderFileUploadControl.h

    r32958 r37252  
    4040    virtual const char* renderName() const { return "RenderFileUploadControl"; } 
    4141 
    42     virtual void setStyle(RenderStyle*); 
     42    virtual void setStyle(const RenderStyle*); 
    4343    virtual void updateFromElement(); 
    4444    virtual void calcPrefWidths(); 
     
    5656private: 
    5757    int maxFilenameWidth() const; 
    58     RenderStyle* createButtonStyle(RenderStyle* parentStyle) const; 
     58    RenderStyle* createButtonStyle(const RenderStyle* parentStyle) const; 
    5959 
    6060    RefPtr<HTMLInputElement> m_button; 
  • trunk/WebCore/rendering/RenderInline.cpp

    r35186 r37252  
    4242} 
    4343 
    44 void RenderInline::setStyle(RenderStyle* newStyle) 
     44void RenderInline::setStyle(const RenderStyle* newStyle) 
    4545{ 
    4646    RenderFlow::setStyle(newStyle); 
  • trunk/WebCore/rendering/RenderInline.h

    r25754 r37252  
    5151                   RenderObject* newChild, RenderFlow* oldCont); 
    5252 
    53     virtual void setStyle(RenderStyle*); 
     53    virtual void setStyle(const RenderStyle*); 
    5454 
    5555    virtual void layout() { } // Do nothing for layout() 
  • trunk/WebCore/rendering/RenderListBox.cpp

    r37223 r37252  
    9191} 
    9292 
    93 void RenderListBox::setStyle(RenderStyle* style) 
     93void RenderListBox::setStyle(const RenderStyle* style) 
    9494{ 
    9595    RenderBlock::setStyle(style); 
  • trunk/WebCore/rendering/RenderListBox.h

    r37223 r37252  
    4848    virtual bool isListBox() const { return true; } 
    4949 
    50     virtual void setStyle(RenderStyle*); 
     50    virtual void setStyle(const RenderStyle*); 
    5151    virtual void updateFromElement(); 
    5252 
  • trunk/WebCore/rendering/RenderListItem.cpp

    r36321 r37252  
    4949} 
    5050 
    51 void RenderListItem::setStyle(RenderStyle* newStyle) 
     51void RenderListItem::setStyle(const RenderStyle* newStyle) 
    5252{ 
    5353    RenderBlock::setStyle(newStyle); 
  • trunk/WebCore/rendering/RenderListItem.h

    r25754 r37252  
    4040    virtual void destroy(); 
    4141 
    42     virtual void setStyle(RenderStyle*); 
     42    virtual void setStyle(const RenderStyle*); 
    4343 
    4444    int value() const { if (!m_isValueUpToDate) updateValueNow(); return m_value; } 
  • trunk/WebCore/rendering/RenderListMarker.cpp

    r34693 r37252  
    486486} 
    487487 
    488 void RenderListMarker::setStyle(RenderStyle* s) 
     488void RenderListMarker::setStyle(const RenderStyle* s) 
    489489{ 
    490490    if (style() && (s->listStylePosition() != style()->listStylePosition() || s->listStyleType() != style()->listStyleType())) 
  • trunk/WebCore/rendering/RenderListMarker.h

    r34693 r37252  
    4343    virtual bool isListMarker() const { return true; } 
    4444 
    45     virtual void setStyle(RenderStyle*); 
     45    virtual void setStyle(const RenderStyle*); 
    4646 
    4747    virtual void paint(PaintInfo&, int tx, int ty); 
  • trunk/WebCore/rendering/RenderMenuList.cpp

    r37220 r37252  
    118118} 
    119119 
    120 void RenderMenuList::setStyle(RenderStyle* newStyle) 
     120void RenderMenuList::setStyle(const RenderStyle* newStyle) 
    121121{ 
    122122    bool fontChanged = !style() || style()->font() != newStyle->font(); 
  • trunk/WebCore/rendering/RenderMenuList.h

    r31517 r37252  
    5252    virtual bool canHaveChildren() const { return false; } 
    5353 
    54     virtual void setStyle(RenderStyle*); 
     54    virtual void setStyle(const RenderStyle*); 
    5555    virtual void updateFromElement(); 
    5656 
  • trunk/WebCore/rendering/RenderObject.cpp

    r37137 r37252  
    21612161} 
    21622162 
    2163 void RenderObject::setStyle(RenderStyle* style) 
     2163void RenderObject::setStyle(const RenderStyle* style) 
    21642164{ 
    21652165    if (m_style == style) 
     
    23022302 
    23032303    RenderStyle* oldStyle = m_style; 
    2304     m_style = style; 
     2304    m_style = const_cast<RenderStyle*>(style); 
     2305    if (m_style) 
     2306        m_style->ref(); 
    23052307 
    23062308    updateFillImages(oldStyle ? oldStyle->backgroundLayers() : 0, m_style ? m_style->backgroundLayers() : 0); 
     
    23102312    updateImage(oldStyle ? oldStyle->maskBoxImage().image() : 0, m_style ? m_style->maskBoxImage().image() : 0); 
    23112313 
    2312     if (m_style) 
    2313         m_style->ref(); 
    2314  
    2315     if (oldStyle) 
     2314    if (oldStyle) { 
    23162315        oldStyle->deref(renderArena()); 
     2316        oldStyle = 0; 
     2317    } 
    23172318 
    23182319    setHasBoxDecorations(m_style->hasBorder() || m_style->hasBackground() || m_style->hasAppearance() || m_style->boxShadow()); 
  • trunk/WebCore/rendering/RenderObject.h

    r36670 r37252  
    556556 
    557557    // Set the style of the object and update the state of the object accordingly. 
    558     virtual void setStyle(RenderStyle*); 
     558    virtual void setStyle(const RenderStyle*); 
    559559 
    560560    // Updates only the local style ptr of the object.  Does not update the state of the object, 
  • trunk/WebCore/rendering/RenderReplaced.cpp

    r35828 r37252  
    6262} 
    6363 
    64 void RenderReplaced::setStyle(RenderStyle* newStyle) 
     64void RenderReplaced::setStyle(const RenderStyle* newStyle) 
    6565{ 
    6666    bool hadStyle = style(); 
  • trunk/WebCore/rendering/RenderReplaced.h

    r34693 r37252  
    4343    virtual int minimumReplacedHeight() const { return 0; } 
    4444 
    45     virtual void setStyle(RenderStyle*); 
     45    virtual void setStyle(const RenderStyle*); 
    4646 
    4747    virtual void paint(PaintInfo&, int tx, int ty); 
  • trunk/WebCore/rendering/RenderSVGBlock.cpp

    r26821 r37252  
    3636} 
    3737 
    38 void RenderSVGBlock::setStyle(RenderStyle* style)  
     38void RenderSVGBlock::setStyle(const RenderStyle* style)  
    3939{ 
    40     RenderStyle* useStyle = style; 
     40    const RenderStyle* useStyle = style; 
    4141 
    4242    // SVG text layout code expects us to be a block-level style element.    
     
    4444        setChildrenInline(false); 
    4545    else if (useStyle->isDisplayInlineType()) { 
    46         useStyle = new (renderArena()) RenderStyle(); 
    47         useStyle->inheritFrom(style); 
    48         useStyle->setDisplay(BLOCK); 
     46        RenderStyle* newStyle = new (renderArena()) RenderStyle(); 
     47        newStyle->inheritFrom(style); 
     48        newStyle->setDisplay(BLOCK); 
     49        useStyle = newStyle; 
    4950    } 
    5051 
  • trunk/WebCore/rendering/RenderSVGBlock.h

    r25754 r37252  
    3434public: 
    3535    RenderSVGBlock(SVGElement*); 
    36     virtual void setStyle(RenderStyle*); 
     36    virtual void setStyle(const RenderStyle*); 
    3737}; 
    3838 
  • trunk/WebCore/rendering/RenderSVGGradientStop.cpp

    r29951 r37252  
    4343} 
    4444 
    45 void RenderSVGGradientStop::setStyle(RenderStyle* style) 
     45void RenderSVGGradientStop::setStyle(const RenderStyle* style) 
    4646{ 
    4747    RenderObject::setStyle(style); 
  • trunk/WebCore/rendering/RenderSVGGradientStop.h

    r29951 r37252  
    4141         
    4242        virtual void layout(); 
    43         virtual void setStyle(RenderStyle*); 
     43        virtual void setStyle(const RenderStyle*); 
    4444         
    4545    private: 
  • trunk/WebCore/rendering/RenderSlider.cpp

    r37247 r37252  
    165165} 
    166166 
    167 void RenderSlider::setStyle(RenderStyle* newStyle) 
     167void RenderSlider::setStyle(const RenderStyle* newStyle) 
    168168{ 
    169169    RenderBlock::setStyle(newStyle); 
     
    177177} 
    178178 
    179 RenderStyle* RenderSlider::createThumbStyle(RenderStyle* parentStyle, RenderStyle* oldStyle) 
     179RenderStyle* RenderSlider::createThumbStyle(const RenderStyle* parentStyle, const RenderStyle* oldStyle) 
    180180{ 
    181181    RenderStyle* style; 
  • trunk/WebCore/rendering/RenderSlider.h

    r34693 r37252  
    4242        virtual int baselinePosition( bool, bool ) const; 
    4343        virtual void calcPrefWidths(); 
    44         virtual void setStyle(RenderStyle*); 
     44        virtual void setStyle(const RenderStyle*); 
    4545        virtual void layout(); 
    4646        virtual void updateFromElement(); 
     
    6161 
    6262    private: 
    63         RenderStyle* createThumbStyle(RenderStyle* parentStyle, RenderStyle* oldStyle = 0); 
     63        RenderStyle* createThumbStyle(const RenderStyle* parentStyle, const RenderStyle* oldStyle = 0); 
    6464        int trackSize(); 
    6565 
  • trunk/WebCore/rendering/RenderTable.cpp

    r35899 r37252  
    7171} 
    7272 
    73 void RenderTable::setStyle(RenderStyle* newStyle) 
     73void RenderTable::setStyle(const RenderStyle* newStyle) 
    7474{ 
    7575    ETableLayout oldTableLayout = style() ? style()->tableLayout() : TAUTO; 
  • trunk/WebCore/rendering/RenderTable.h

    r35899 r37252  
    6767    virtual bool isTable() const { return true; } 
    6868 
    69     virtual void setStyle(RenderStyle*); 
     69    virtual void setStyle(const RenderStyle*); 
    7070 
    7171    virtual bool avoidsFloats() const { return true; } 
  • trunk/WebCore/rendering/RenderTableCell.cpp

    r37219 r37252  
    221221} 
    222222 
    223 void RenderTableCell::setStyle(RenderStyle* newStyle) 
     223void RenderTableCell::setStyle(const RenderStyle* newStyle) 
    224224{ 
    225225    if (parent() && section() && style() && style()->height() != newStyle->height()) 
  • trunk/WebCore/rendering/RenderTableCell.h

    r34693 r37252  
    6565    virtual void calcWidth(); 
    6666    virtual void setWidth(int); 
    67     virtual void setStyle(RenderStyle*); 
     67    virtual void setStyle(const RenderStyle*); 
    6868 
    6969    virtual bool expandsToEncloseOverhangingFloats() const { return true; } 
  • trunk/WebCore/rendering/RenderTableRow.cpp

    r37219 r37252  
    5555} 
    5656 
    57 void RenderTableRow::setStyle(RenderStyle* newStyle) 
     57void RenderTableRow::setStyle(const RenderStyle* newStyle)