[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