[webkit-changes] cvs commit: WebCore/kwq KWQRenderTreeDebug.cpp

Darin darin at opensource.apple.com
Tue Dec 27 10:26:17 PST 2005


darin       05/12/27 10:26:17

  Modified:    .        ChangeLog
               khtml/html html_inlineimpl.cpp htmlparser.cpp
                        htmltokenizer.cpp htmltokenizer.h
               khtml/rendering render_text.cpp render_text.h
               kwq      KWQRenderTreeDebug.cpp
  Log:
          Reviewed by Geoff and Eric.
  
          - http://bugzilla.opendarwin.org/show_bug.cgi?id=6198
            use RefPtr a few places in RenderText and related classes
  
          * khtml/html/htmltokenizer.h: Use RefPtr for some data members in Token.
          Also removed use of bitfields in Token, since there's no need to optimize storage here.
          * khtml/html/htmlparser.cpp:
          (HTMLParser::parseToken): Update for use of RefPtr in Token.
          (HTMLParser::textCreateErrorCheck): Ditto.
          (HTMLParser::commentCreateErrorCheck): Ditto.
          (HTMLParser::handleIsindex): Ditto.
          * khtml/html/htmltokenizer.cpp:
          (khtml::Token::addAttribute): Ditto.
          (khtml::HTMLTokenizer::processToken): Ditto.
  
          * khtml/rendering/render_text.h: Reduce the number of includes, change
          SOFT_HYPHEN from a macro into a constant. Change originalString function
          to return a PassRefPtr instead of a RefPtr. Make str and m_generatedContentStr
          member be a RefPtr.
          * khtml/rendering/render_text.cpp:
          (khtml::RenderText::previousOffset): Update for use of RefPtr for str.
          (khtml::RenderText::nextOffset): Ditto.
          (khtml::RenderText::RenderText): Ditto.
          (khtml::RenderText::originalString): Change to return PassRefPtr, even though
          it's not necessary at this level (since it's a virtual function).
          (khtml::RenderText::posOfChar): Update for use of RefPtr for str.
          (khtml::RenderText::setText): Ditto.
          (khtml::RenderTextFragment::RenderTextFragment): Ditto.
          (khtml::RenderTextFragment::originalString): Change to return PassRefPtr.
  
          * khtml/html/html_inlineimpl.cpp: Re-sorted list of includes, added newly-needed ones.
          * kwq/KWQRenderTreeDebug.cpp: Added new include needed since QPtrVector is no longer
          included by render_text.h.
  
  Revision  Changes    Path
  1.45      +79 -0     WebCore/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebCore/ChangeLog,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- ChangeLog	27 Dec 2005 18:05:02 -0000	1.44
  +++ ChangeLog	27 Dec 2005 18:26:13 -0000	1.45
  @@ -1,5 +1,42 @@
   2005-12-27  Darin Adler  <darin at apple.com>
   
  +        Reviewed by Geoff and Eric.
  +
  +        - http://bugzilla.opendarwin.org/show_bug.cgi?id=6198
  +          use RefPtr a few places in RenderText and related classes
  +
  +        * khtml/html/htmltokenizer.h: Use RefPtr for some data members in Token.
  +        Also removed use of bitfields in Token, since there's no need to optimize storage here.
  +        * khtml/html/htmlparser.cpp:
  +        (HTMLParser::parseToken): Update for use of RefPtr in Token.
  +        (HTMLParser::textCreateErrorCheck): Ditto.
  +        (HTMLParser::commentCreateErrorCheck): Ditto.
  +        (HTMLParser::handleIsindex): Ditto.
  +        * khtml/html/htmltokenizer.cpp:
  +        (khtml::Token::addAttribute): Ditto.
  +        (khtml::HTMLTokenizer::processToken): Ditto.
  +
  +        * khtml/rendering/render_text.h: Reduce the number of includes, change
  +        SOFT_HYPHEN from a macro into a constant. Change originalString function
  +        to return a PassRefPtr instead of a RefPtr. Make str and m_generatedContentStr
  +        member be a RefPtr.
  +        * khtml/rendering/render_text.cpp:
  +        (khtml::RenderText::previousOffset): Update for use of RefPtr for str.
  +        (khtml::RenderText::nextOffset): Ditto.
  +        (khtml::RenderText::RenderText): Ditto.
  +        (khtml::RenderText::originalString): Change to return PassRefPtr, even though
  +        it's not necessary at this level (since it's a virtual function).
  +        (khtml::RenderText::posOfChar): Update for use of RefPtr for str.
  +        (khtml::RenderText::setText): Ditto.
  +        (khtml::RenderTextFragment::RenderTextFragment): Ditto.
  +        (khtml::RenderTextFragment::originalString): Change to return PassRefPtr.
  +
  +        * khtml/html/html_inlineimpl.cpp: Re-sorted list of includes, added newly-needed ones.
  +        * kwq/KWQRenderTreeDebug.cpp: Added new include needed since QPtrVector is no longer
  +        included by render_text.h.
  +
  +2005-12-27  Darin Adler  <darin at apple.com>
  +
           Fix suggested by Mitz.
   
           - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6240
  @@ -435,6 +472,48 @@
   
   2005-12-22  Darin Adler  <darin at apple.com>
   
  +        Reviewed by NOBODY (OOPS!).
  +
  +        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6198
  +          use RefPtr a few places in RenderText and related classes
  +
  +        * khtml/html/htmlparser.cpp:
  +        (HTMLParser::parseToken): Use get since text pointer is RefPtr now.
  +        (HTMLParser::textCreateErrorCheck): Ditto.
  +        (HTMLParser::commentCreateErrorCheck): Ditto.
  +        (HTMLParser::handleIsindex): Get rid of explicit deref, no longer needed.
  +
  +        * khtml/html/htmltokenizer.h: Make attrs and text fields of Token use
  +        RefPtr. Also stop using bit fields for the flags in Token -- there's no
  +        evidence this makes things faster.
  +        * khtml/html/htmltokenizer.cpp:
  +        (khtml::Token::addAttribute): Get rid of explicit ref, no longer needed.
  +        (khtml::HTMLTokenizer::processToken): Ditto.
  +
  +        * khtml/rendering/render_block.cpp: (khtml::RenderBlock::updateFirstLetter):
  +        Use a PassRefPtr.
  +
  +        * khtml/rendering/render_text.cpp:
  +        (khtml::RenderText::previousOffset): Use get since str pointer is RefPtr now.
  +        (khtml::RenderText::nextOffset): Ditto.
  +        (khtml::RenderText::RenderText): Get rid of explicit ref, no longer needed.
  +        Change to use initializer syntax instead of assignment.
  +        (khtml::RenderText::setStyle): Use PassRefPtr.
  +        (khtml::RenderText::originalString): Ditto.
  +        (khtml::RenderText::setText): Get rid of explicit ref, no longer needed.
  +        (khtml::RenderTextFragment::RenderTextFragment): Get rid of explicit ref,
  +        no longer needed.
  +        (khtml::RenderTextFragment::originalString): Use PassRefPtr.
  +
  +        * khtml/rendering/render_text.h: Change SOFT_HYPEN to be a constant rather than
  +        a preprocessor macro. Used PassRefPtr in a couple places. Made RenderText's str
  +        and RenderTextFragment's m_generatedContentStr be RefPtr.
  +
  +        * khtml/html/html_inlineimpl.cpp: Add a newly-needed include, sort them.
  +        * kwq/KWQRenderTreeDebug.cpp: Add a newly-needed include.
  +
  +2005-12-22  Darin Adler  <darin at apple.com>
  +
           Reviewed by Eric.
   
           - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6193
  
  
  
  1.56      +8 -8      WebCore/khtml/html/html_inlineimpl.cpp
  
  Index: html_inlineimpl.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/html/html_inlineimpl.cpp,v
  retrieving revision 1.55
  retrieving revision 1.56
  diff -u -r1.55 -r1.56
  --- html_inlineimpl.cpp	8 Dec 2005 08:40:26 -0000	1.55
  +++ html_inlineimpl.cpp	27 Dec 2005 18:26:14 -0000	1.56
  @@ -25,20 +25,20 @@
   
   #include "config.h"
   #include "html/html_inlineimpl.h"
  -#include "html/html_imageimpl.h"
  -#include "html/html_documentimpl.h"
   
  -#include "khtmlview.h"
  -#include "khtml_part.h"
   #include "css/csshelper.h"
   #include "css/cssproperties.h"
  -#include "css/cssvalues.h"
   #include "css/cssstyleselector.h"
  -#include "xml/dom2_eventsimpl.h"
  -#include "xml/EventNames.h"
  +#include "css/cssvalues.h"
  +#include "html/html_documentimpl.h"
  +#include "html/html_imageimpl.h"
  +#include "khtml_part.h"
  +#include "khtmlview.h"
   #include "rendering/render_br.h"
  +#include "rendering/render_flow.h"
   #include "rendering/render_image.h"
  -
  +#include "xml/EventNames.h"
  +#include "xml/dom2_eventsimpl.h"
   #include <kdebug.h>
   
   using namespace khtml;
  
  
  
  1.127     +6 -7      WebCore/khtml/html/htmlparser.cpp
  
  Index: htmlparser.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/html/htmlparser.cpp,v
  retrieving revision 1.126
  retrieving revision 1.127
  diff -u -r1.126 -r1.127
  --- htmlparser.cpp	20 Dec 2005 09:16:45 -0000	1.126
  +++ htmlparser.cpp	27 Dec 2005 18:26:14 -0000	1.127
  @@ -217,7 +217,7 @@
       // set attributes
       if (n->isHTMLElement()) {
           HTMLElementImpl *e = static_cast<HTMLElementImpl*>(n);
  -        e->setAttributeMap(t->attrs);
  +        e->setAttributeMap(t->attrs.get());
   
           // take care of optional close tags
           if (e->endTagRequirement() == TagStatusOptional)
  @@ -234,7 +234,7 @@
               ElementImpl* e = static_cast<ElementImpl*>(n);
               e->setAttributeMap(0);
           }
  -            
  +
           if (map == n)
               map = 0;
   
  @@ -601,14 +601,14 @@
   
   bool HTMLParser::textCreateErrorCheck(Token* t, NodeImpl*& result)
   {
  -    result = new TextImpl(document, t->text);
  +    result = new TextImpl(document, t->text.get());
       return false;
   }
   
   bool HTMLParser::commentCreateErrorCheck(Token* t, NodeImpl*& result)
   {
       if (includesCommentsInDOM)
  -        result = new CommentImpl(document, t->text);
  +        result = new CommentImpl(document, t->text.get());
       return false;
   }
   
  @@ -1296,8 +1296,7 @@
   {
       NodeImpl* n = new HTMLDivElementImpl(document);
   
  -    NamedMappedAttrMapImpl* attrs = t->attrs;
  -    t->attrs = 0;
  +    NamedMappedAttrMapImpl* attrs = t->attrs.get();
   
       RefPtr<HTMLIsIndexElementImpl> isIndex = new HTMLIsIndexElementImpl(document, form);
       isIndex->setAttributeMap(attrs);
  @@ -1307,7 +1306,7 @@
       if (attrs) {
           if (AttributeImpl *a = attrs->getAttributeItem(promptAttr))
               text = a->value().domString() + " ";
  -        attrs->deref();
  +        t->attrs = 0;
       }
   
       n->addChild(new HTMLHRElementImpl(document));
  
  
  
  1.130     +1 -4      WebCore/khtml/html/htmltokenizer.cpp
  
  Index: htmltokenizer.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/html/htmltokenizer.cpp,v
  retrieving revision 1.129
  retrieving revision 1.130
  diff -u -r1.129 -r1.130
  --- htmltokenizer.cpp	23 Dec 2005 18:44:17 -0000	1.129
  +++ htmltokenizer.cpp	27 Dec 2005 18:26:14 -0000	1.130
  @@ -142,10 +142,8 @@
       AttributeImpl* a = 0;
       if (!attrName.isEmpty() && attrName != "/") {
           a = new MappedAttributeImpl(attrName, v);
  -        if (!attrs) {
  +        if (!attrs)
               attrs = new NamedMappedAttrMapImpl(0);
  -            attrs->ref();
  -        }
           attrs->insertAttribute(a);
       }
   }
  @@ -1680,7 +1678,6 @@
   
   #endif
           currToken.text = new DOMStringImpl( buffer, dest - buffer );
  -        currToken.text->ref();
           if (currToken.tagName != commentAtom)
               currToken.tagName = textAtom;
       }
  
  
  
  1.48      +8 -28     WebCore/khtml/html/htmltokenizer.h
  
  Index: htmltokenizer.h
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/html/htmltokenizer.h,v
  retrieving revision 1.47
  retrieving revision 1.48
  diff -u -r1.47 -r1.48
  --- htmltokenizer.h	21 Nov 2005 01:20:15 -0000	1.47
  +++ htmltokenizer.h	27 Dec 2005 18:26:14 -0000	1.48
  @@ -64,47 +64,27 @@
   class Token
   {
   public:
  -    Token() {
  -        attrs = 0;
  -        text = 0;
  -        beginTag = true;
  -        flat = false;
  -        //qDebug("new token, creating %08lx", attrs);
  -    }
  +    Token() : beginTag(true), flat(false) { }
   
  -    ~Token() {
  -        if (attrs) attrs->deref();
  -        if (text) text->deref();
  -    }
  -
  -    void addAttribute(DOM::DocumentImpl* doc, const DOM::AtomicString& attrName, const DOM::AtomicString& v);
  +    void addAttribute(DOM::DocumentImpl*, const DOM::AtomicString& attrName, const DOM::AtomicString& v);
   
       bool isOpenTag(const DOM::QualifiedName& fullName) const { return beginTag && fullName.localName() == tagName; }
       bool isCloseTag(const DOM::QualifiedName& fullName) const { return !beginTag && fullName.localName() == tagName; }
   
       void reset()
       {
  -        if (attrs) {
  -            attrs->deref();
  -            attrs = 0;
  -        }
  -        
  +        attrs = 0;
  +        text = 0;        
           tagName = DOM::nullAtom;
  -        
  -        if (text) {
  -            text->deref();
  -            text = 0;
  -        }
  -        
           beginTag = true;
           flat = false;
       }
   
  -    DOM::NamedMappedAttrMapImpl* attrs;
  -    DOM::DOMStringImpl* text;
  +    RefPtr<DOM::NamedMappedAttrMapImpl> attrs;
  +    RefPtr<DOM::DOMStringImpl> text;
       DOM::AtomicString tagName;
  -    bool beginTag : 1;
  -    bool flat : 1;
  +    bool beginTag;
  +    bool flat;
   };
   
   //-----------------------------------------------------------------------------
  
  
  
  1.215     +30 -67    WebCore/khtml/rendering/render_text.cpp
  
  Index: render_text.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/rendering/render_text.cpp,v
  retrieving revision 1.214
  retrieving revision 1.215
  diff -u -r1.214 -r1.215
  --- render_text.cpp	23 Dec 2005 18:44:24 -0000	1.214
  +++ render_text.cpp	27 Dec 2005 18:26:15 -0000	1.215
  @@ -671,32 +671,32 @@
       return m_start + m_len;
   }
   
  -static UBreakIterator *getCharacterBreakIterator(const DOMStringImpl *i)
  +static UBreakIterator* getCharacterBreakIterator(const DOMStringImpl* i)
   {
  -    // The locale is currently ignored when determining character cluster breaks.  This may change
  -    // in the future (according to Deborah Goldsmith).
  +    // The locale is currently ignored when determining character cluster breaks.
  +    // This may change in the future, according to Deborah Goldsmith.
       static bool createdIterator = false;
  -    static UBreakIterator *iterator;
  +    static UBreakIterator* iterator;
       UErrorCode status;
       if (!createdIterator) {
           status = U_ZERO_ERROR;
  -        iterator = ubrk_open(UBRK_CHARACTER, "en_us", NULL, 0, &status);
  +        iterator = ubrk_open(UBRK_CHARACTER, "en_us", 0, 0, &status);
           createdIterator = true;
       }
       if (!iterator)
  -        return NULL;
  +        return 0;
   
       status = U_ZERO_ERROR;
       ubrk_setText(iterator, reinterpret_cast<const UChar *>(i->s), i->l, &status);
       if (status != U_ZERO_ERROR)
  -        return NULL;
  +        return 0;
   
       return iterator;
   }
   
  -int RenderText::previousOffset (int current) const
  +int RenderText::previousOffset(int current) const
   {
  -    UBreakIterator *iterator = getCharacterBreakIterator(str);
  +    UBreakIterator* iterator = getCharacterBreakIterator(str.get());
       if (!iterator)
           return current - 1;
   
  @@ -707,9 +707,9 @@
       return result;
   }
   
  -int RenderText::nextOffset (int current) const
  +int RenderText::nextOffset(int current) const
   {
  -    UBreakIterator *iterator = getCharacterBreakIterator(str);
  +    UBreakIterator* iterator = getCharacterBreakIterator(str.get());
       if (!iterator)
           return current + 1;
       
  @@ -760,27 +760,16 @@
   // -------------------------------------------------------------------------------------
   
   RenderText::RenderText(DOM::NodeImpl* node, DOMStringImpl *_str)
  -    : RenderObject(node), m_linesDirty(false), m_containsReversedText(false)
  +     : RenderObject(node), str(_str), m_firstTextBox(0), m_lastTextBox(0)
  +     , m_minWidth(-1), m_maxWidth(-1), m_selectionState(SelectionNone)
  +     , m_linesDirty(false), m_containsReversedText(false)
  +     , m_allAsciiChecked(false), m_allAscii(false)
  +     , m_monospaceCharacterWidth(0)
   {
  -    // init RenderObject attributes
  -    setRenderText();   // our object inherits from RenderText
  -
  -    m_minWidth = -1;
  -    m_maxWidth = -1;
  -
  -    m_monospaceCharacterWidth = 0;
  -    m_allAsciiChecked = false;
  -    m_allAscii = false;
  -
  -    str = _str;
  -    if (str) {
  +    setRenderText();
  +    if (str)
           str = str->replace('\\', backslashAsCurrencySymbol());
  -        str->ref();
  -    }
       KHTMLAssert(!str || !str->l || str->s);
  -
  -    m_firstTextBox = m_lastTextBox = 0;
  -    m_selectionState = SelectionNone;
   }
   
   void RenderText::setStyle(RenderStyle *_style)
  @@ -802,11 +791,6 @@
       }
   }
   
  -RenderText::~RenderText()
  -{
  -    if(str) str->deref();
  -}
  -
   void RenderText::destroy()
   {
       if (!documentBeingDestroyed()) {
  @@ -885,9 +869,9 @@
       return false;
   }
   
  -RefPtr<DOMStringImpl> RenderText::originalString() const
  +PassRefPtr<DOMStringImpl> RenderText::originalString() const
   {
  -    return element() ? RefPtr<DOMStringImpl>(element()->string()) : RefPtr<DOMStringImpl>();
  +    return element() ? element()->string() : 0;
   }
   
   void RenderText::absoluteRects(QValueList<QRect>& rects, int _tx, int _ty)
  @@ -1094,16 +1078,10 @@
   
   void RenderText::posOfChar(int chr, int &x, int &y)
   {
  -    absolutePosition( x, y, false );
  -
  -    //if( chr > (int) str->l )
  -    //chr = str->l;
  +    absolutePosition(x, y, false);
   
       int pos;
  -    InlineTextBox * s = findNextInlineTextBox( chr, pos );
  -
  -    if ( s )
  -    {
  +    if (InlineTextBox* s = findNextInlineTextBox(chr, pos)) {
           // s is the line containing the character
           x += s->m_x; // this is the x of the beginning of the line, but it's good enough for now
           y += s->m_y;
  @@ -1570,7 +1548,6 @@
                   default:;
               }
           }
  -        str->ref();
       }
   
       cacheWidths();
  @@ -1816,28 +1793,14 @@
       return 0;
   }
   
  -RenderTextFragment::RenderTextFragment(DOM::NodeImpl* _node, DOM::DOMStringImpl* _str,
  -                                       int startOffset, int length)
  -:RenderText(_node, _str->substring(startOffset, length)), 
  -m_start(startOffset), m_end(length), m_generatedContentStr(0)
  -{}
  -
  -RenderTextFragment::RenderTextFragment(DOM::NodeImpl* _node, DOM::DOMStringImpl* _str)
  -:RenderText(_node, _str), m_start(0)
  -{
  -    m_generatedContentStr = _str;
  -    if (_str) {
  -        _str->ref();
  -        m_end = _str->l;
  -    }
  -    else
  -        m_end = 0;
  +RenderTextFragment::RenderTextFragment(DOM::NodeImpl* node, DOM::DOMStringImpl* str, int startOffset, int length)
  +    : RenderText(node, str ? str->substring(startOffset, length) : 0), m_start(startOffset), m_end(length)
  +{
   }
  -    
  -RenderTextFragment::~RenderTextFragment()
  +
  +RenderTextFragment::RenderTextFragment(DOM::NodeImpl* node, DOM::DOMStringImpl* str)
  +    : RenderText(node, str), m_start(0), m_end(str ? str->l : 0), m_generatedContentStr(str)
   {
  -    if (m_generatedContentStr)
  -        m_generatedContentStr->deref();
   }
   
   bool RenderTextFragment::isTextFragment() const
  @@ -1845,7 +1808,7 @@
       return true;
   }
   
  -RefPtr<DOMStringImpl> RenderTextFragment::originalString() const
  +PassRefPtr<DOMStringImpl> RenderTextFragment::originalString() const
   {
       DOM::DOMStringImpl* result = 0;
       if (element())
  @@ -1854,7 +1817,7 @@
           result = contentString();
       if (result && (start() > 0 || start() < result->l))
           result = result->substring(start(), end());
  -    return RefPtr<DOMStringImpl>(result);
  +    return result;
   }
   
   }
  
  
  
  1.95      +24 -30    WebCore/khtml/rendering/render_text.h
  
  Index: render_text.h
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/rendering/render_text.h,v
  retrieving revision 1.94
  retrieving revision 1.95
  diff -u -r1.94 -r1.95
  --- render_text.h	1 Dec 2005 10:32:24 -0000	1.94
  +++ render_text.h	27 Dec 2005 18:26:15 -0000	1.95
  @@ -21,29 +21,28 @@
    * Boston, MA 02111-1307, USA.
    *
    */
  -#ifndef RENDERTEXT_H
  -#define RENDERTEXT_H
   
  -#include "dom/dom_string.h"
  -#include "xml/dom_stringimpl.h"
  -#include "xml/dom_textimpl.h"
  -#include "rendering/render_object.h"
  -#include "rendering/render_flow.h"
  +#ifndef KHTML_RENDERTEXT_H
  +#define KHTML_RENDERTEXT_H
   
  -#include <qptrvector.h>
  -#include <assert.h>
   #include "KWQKHTMLPart.h"
  +#include "rendering/render_line.h"
  +#include "xml/dom_textimpl.h"
  +#include <assert.h>
  +#include <kxmlcore/PassRefPtr.h>
   
   class QPainter;
   class QFontMetrics;
   
   namespace DOM {
  -    class Position;
  +    class DOMString;
  +    class DOMStringImpl;
       class DocumentMarker;
  +    class Position;
   };
   
   // Define a constant for soft hyphen's unicode value.
  -#define SOFT_HYPHEN 173
  +const unsigned short SOFT_HYPHEN = 173;
   
   const int cNoTruncation = -1;
   const int cFullTruncation = -2;
  @@ -51,7 +50,6 @@
   namespace khtml
   {
       class RenderText;
  -    class RenderStyle;
   
   class InlineTextBox : public InlineRunBox
   {
  @@ -162,11 +160,10 @@
       friend class InlineTextBox;
   
   public:
  -    RenderText(DOM::NodeImpl* node, DOM::DOMStringImpl *_str);
  -    virtual ~RenderText();
  +    RenderText(DOM::NodeImpl*, DOM::DOMStringImpl*);
   
       virtual bool isTextFragment() const;
  -    virtual RefPtr<DOM::DOMStringImpl> originalString() const;
  +    virtual PassRefPtr<DOM::DOMStringImpl> originalString() const;
       
       virtual const char *renderName() const { return "RenderText"; }
   
  @@ -178,8 +175,8 @@
       void deleteTextBoxes();
       virtual void destroy();
       
  -    DOM::DOMString data() const { return str; }
  -    DOM::DOMStringImpl *string() const { return str; }
  +    DOM::DOMString data() const { return str.get(); }
  +    DOM::DOMStringImpl* string() const { return str.get(); }
   
       virtual InlineBox* createInlineBox(bool,bool, bool isOnlyRun = false);
       virtual void dirtyLineBoxes(bool fullLayout, bool isRootInlineBox = false);
  @@ -234,11 +231,11 @@
       virtual const QFont &font();
       virtual short verticalPositionHint( bool firstLine ) const;
   
  -    void setText(DOM::DOMStringImpl *text, bool force=false);
  -    void setTextWithOffset(DOM::DOMStringImpl *text, uint offset, uint len, bool force=false);
  +    void setText(DOM::DOMStringImpl*, bool force = false);
  +    void setTextWithOffset(DOM::DOMStringImpl*, uint offset, uint len, bool force = false);
   
       virtual bool canBeSelectionLeaf() const { return true; }
  -    virtual SelectionState selectionState() const {return m_selectionState;}
  +    virtual SelectionState selectionState() const { return m_selectionState; }
       virtual void setSelectionState(SelectionState s);
       virtual QRect selectionRect();
       virtual QRect caretRect(int offset, EAffinity affinity, int *extraWidthToEndOfLine = 0);
  @@ -252,8 +249,7 @@
       const QFontMetrics &metrics(bool firstLine) const;
       const Font *htmlFont(bool firstLine) const;
   
  -    DOM::TextImpl *element() const
  -    { return static_cast<DOM::TextImpl*>(RenderObject::element()); }
  +    DOM::TextImpl *element() const { return static_cast<DOM::TextImpl*>(RenderObject::element()); }
   
       InlineTextBox* firstTextBox() const { return m_firstTextBox; }
       InlineTextBox* lastTextBox() const { return m_lastTextBox; }
  @@ -279,7 +275,7 @@
       InlineTextBox * findNextInlineTextBox( int offset, int &pos ) const;
   
   protected: // members
  -    DOM::DOMStringImpl *str;
  +    RefPtr<DOM::DOMStringImpl> str;
       
       InlineTextBox* m_firstTextBox;
       InlineTextBox* m_lastTextBox;
  @@ -315,23 +311,21 @@
   class RenderTextFragment : public RenderText
   {
   public:
  -    RenderTextFragment(DOM::NodeImpl* _node, DOM::DOMStringImpl* _str,
  -                       int startOffset, int length);
  -    RenderTextFragment(DOM::NodeImpl* _node, DOM::DOMStringImpl* _str);
  -    ~RenderTextFragment();
  +    RenderTextFragment(DOM::NodeImpl*, DOM::DOMStringImpl*, int startOffset, int length);
  +    RenderTextFragment(DOM::NodeImpl*, DOM::DOMStringImpl*);
       
       virtual bool isTextFragment() const;
       
       uint start() const { return m_start; }
       uint end() const { return m_end; }
       
  -    DOM::DOMStringImpl* contentString() const { return m_generatedContentStr; }
  -    virtual RefPtr<DOM::DOMStringImpl> originalString() const;
  +    DOM::DOMStringImpl* contentString() const { return m_generatedContentStr.get(); }
  +    virtual PassRefPtr<DOM::DOMStringImpl> originalString() const;
       
   private:
       uint m_start;
       uint m_end;
  -    DOM::DOMStringImpl* m_generatedContentStr;
  +    RefPtr<DOM::DOMStringImpl> m_generatedContentStr;
   };
   
   inline RenderText *InlineTextBox::textObject() const
  
  
  
  1.51      +4 -20     WebCore/kwq/KWQRenderTreeDebug.cpp
  
  Index: KWQRenderTreeDebug.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/kwq/KWQRenderTreeDebug.cpp,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- KWQRenderTreeDebug.cpp	16 Dec 2005 16:40:16 -0000	1.50
  +++ KWQRenderTreeDebug.cpp	27 Dec 2005 18:26:16 -0000	1.51
  @@ -45,28 +45,12 @@
   
   #include "KWQKHTMLPart.h"
   #include "KWQTextStream.h"
  +#include "KWQPtrVector.h"
   
  -using DOM::DocumentImpl;
  -using DOM::JSEditor;
  -using DOM::NodeImpl;
  -using DOM::Position;
  -
  -using khtml::BorderValue;
  -using khtml::EBorderStyle;
  -using khtml::InlineTextBox;
  -using khtml::RenderLayer;
  -using khtml::RenderObject;
  -using khtml::RenderTableCell;
  -using khtml::RenderWidget;
  -using khtml::RenderText;
  -using khtml::RenderCanvas;
  -using khtml::RenderBR;
  -using khtml::SelectionController;
  -using khtml::transparentColor;
  -using khtml::UPSTREAM;
  +using namespace DOM;
  +using namespace khtml;
   
  -static void writeLayers(QTextStream &ts, const RenderLayer* rootLayer, RenderLayer* l,
  -                        const QRect& paintDirtyRect, int indent=0);
  +static void writeLayers(QTextStream&, const RenderLayer* rootLayer, RenderLayer*, const QRect& paintDirtyRect, int indent = 0);
   
   #if !SVG_SUPPORT
   static QTextStream &operator<<(QTextStream &ts, const QRect &r)
  
  
  



More information about the webkit-changes mailing list