[webkit-changes] cvs commit: WebCore/khtml/rendering
render_block.cpp render_text.cpp render_text.h
Maciej
mjs at opensource.apple.com
Tue Aug 30 22:12:55 PDT 2005
mjs 05/08/30 22:12:55
Modified: . ChangeLog
khtml/rendering render_block.cpp render_text.cpp
render_text.h
Log:
Reviewed by Justin.
<rdar://problem/4232371> leak of DOMStringImpl called from DOMStringImpl::substring, seen running webkit tests
<rdar://problem/4232355> leak of DOMStringImpl called from RenderTextFragment::originalString, seen running webkit tests
Test cases added: None, these leaks were already caught by the layout tests.
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::updateFirstLetter):
* khtml/rendering/render_container.cpp:
(RenderContainer::updatePseudoChild):
* khtml/rendering/render_text.cpp:
(RenderText::setStyle):
(RenderText::originalString):
(RenderTextFragment::originalString):
* khtml/rendering/render_text.h:
Revision Changes Path
1.49 +19 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- ChangeLog 31 Aug 2005 05:09:02 -0000 1.48
+++ ChangeLog 31 Aug 2005 05:12:53 -0000 1.49
@@ -1,5 +1,24 @@
2005-08-30 Maciej Stachowiak <mjs at apple.com>
+ Reviewed by Justin.
+
+ <rdar://problem/4232371> leak of DOMStringImpl called from DOMStringImpl::substring, seen running webkit tests
+ <rdar://problem/4232355> leak of DOMStringImpl called from RenderTextFragment::originalString, seen running webkit tests
+
+ Test cases added: None, these leaks were already caught by the layout tests.
+
+ * khtml/rendering/render_block.cpp:
+ (khtml::RenderBlock::updateFirstLetter):
+ * khtml/rendering/render_container.cpp:
+ (RenderContainer::updatePseudoChild):
+ * khtml/rendering/render_text.cpp:
+ (RenderText::setStyle):
+ (RenderText::originalString):
+ (RenderTextFragment::originalString):
+ * khtml/rendering/render_text.h:
+
+2005-08-30 Maciej Stachowiak <mjs at apple.com>
+
Reviewed by Vicki
<rdar://problem/4231978> many leaks of StyleSurroundData called beneath RenderStyle::setMarginTop, seen running webkit tests
1.201 +4 -4 WebCore/khtml/rendering/render_block.cpp
Index: render_block.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_block.cpp,v
retrieving revision 1.200
retrieving revision 1.201
diff -u -r1.200 -r1.201
--- render_block.cpp 31 Aug 2005 05:09:03 -0000 1.200
+++ render_block.cpp 31 Aug 2005 05:12:54 -0000 1.201
@@ -3343,10 +3343,10 @@
// The original string is going to be either a generated content string or a DOM node's
// string. We want the original string before it got transformed in case first-letter has
// no text-transform or a different text-transform applied to it.
- DOMStringImpl* oldText = textObj->originalString();
+ SharedPtr<DOMStringImpl> oldText = textObj->originalString();
KHTMLAssert(oldText);
- if (oldText && oldText->l >= 1) {
+ if (oldText.notNull() && oldText->l >= 1) {
unsigned int length = 0;
while ( length < oldText->l &&
( (oldText->s+length)->isSpace() || (oldText->s+length)->isPunct() ) )
@@ -3355,7 +3355,7 @@
//kdDebug( 6040 ) << "letter= '" << DOMString(oldText->substring(0,length)).qstring() << "'" << endl;
RenderTextFragment* remainingText =
- new (renderArena()) RenderTextFragment(textObj->node(), oldText, length, oldText->l-length);
+ new (renderArena()) RenderTextFragment(textObj->node(), oldText.get(), length, oldText->l-length);
remainingText->setStyle(textObj->style());
if (remainingText->element())
remainingText->element()->setRenderer(remainingText);
@@ -3365,7 +3365,7 @@
firstLetterContainer->addChild(remainingText, nextObj);
RenderTextFragment* letter =
- new (renderArena()) RenderTextFragment(remainingText->node(), oldText, 0, length);
+ new (renderArena()) RenderTextFragment(remainingText->node(), oldText.get(), 0, length);
RenderStyle* newStyle = new (renderArena()) RenderStyle();
newStyle->inheritFrom(pseudoStyle);
letter->setStyle(newStyle);
1.193 +7 -7 WebCore/khtml/rendering/render_text.cpp
Index: render_text.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_text.cpp,v
retrieving revision 1.192
retrieving revision 1.193
diff -u -r1.192 -r1.193
--- render_text.cpp 30 Aug 2005 09:30:21 -0000 1.192
+++ render_text.cpp 31 Aug 2005 05:12:54 -0000 1.193
@@ -805,9 +805,9 @@
RenderObject::setStyle( _style );
if (needToTransformText) {
- DOM::DOMStringImpl* textToTransform = originalString();
- if (textToTransform)
- setText(textToTransform, true);
+ SharedPtr<DOMStringImpl> textToTransform = originalString();
+ if (textToTransform.notNull())
+ setText(textToTransform.get(), true);
}
#if APPLE_CHANGES
// setText also calls cacheWidths(), so there is no need to call it again in that case.
@@ -900,9 +900,9 @@
return false;
}
-DOM::DOMStringImpl* RenderText::originalString() const
+SharedPtr<DOMStringImpl> RenderText::originalString() const
{
- return element() ? element()->string() : 0;
+ return element() ? SharedPtr<DOMStringImpl>(element()->string()) : SharedPtr<DOMStringImpl>();
}
void RenderText::absoluteRects(QValueList<QRect>& rects, int _tx, int _ty)
@@ -1889,7 +1889,7 @@
return true;
}
-DOM::DOMStringImpl* RenderTextFragment::originalString() const
+SharedPtr<DOMStringImpl> RenderTextFragment::originalString() const
{
DOM::DOMStringImpl* result = 0;
if (element())
@@ -1898,7 +1898,7 @@
result = contentString();
if (result && (start() > 0 || start() < result->l))
result = result->substring(start(), end());
- return result;
+ return SharedPtr<DOMStringImpl>(result);
}
#undef BIDI_DEBUG
#undef DEBUG_LAYOUT
1.86 +2 -2 WebCore/khtml/rendering/render_text.h
Index: render_text.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/rendering/render_text.h,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -r1.85 -r1.86
--- render_text.h 29 Aug 2005 18:00:45 -0000 1.85
+++ render_text.h 31 Aug 2005 05:12:54 -0000 1.86
@@ -165,7 +165,7 @@
virtual ~RenderText();
virtual bool isTextFragment() const;
- virtual DOM::DOMStringImpl* originalString() const;
+ virtual SharedPtr<DOM::DOMStringImpl> originalString() const;
virtual const char *renderName() const { return "RenderText"; }
@@ -330,7 +330,7 @@
uint end() const { return m_end; }
DOM::DOMStringImpl* contentString() const { return m_generatedContentStr; }
- virtual DOM::DOMStringImpl* originalString() const;
+ virtual SharedPtr<DOM::DOMStringImpl> originalString() const;
private:
uint m_start;
More information about the webkit-changes
mailing list