[webkit-changes] cvs commit: WebCore/khtml/xsl
xslt_processorimpl.cpp
Eric
eseidel at opensource.apple.com
Tue Dec 20 00:49:51 PST 2005
eseidel 05/12/20 00:49:51
Modified: . ChangeLog
khtml khtml_part.cpp khtmlpart_p.h
khtml/ecma XSLTProcessor.cpp xmlhttprequest.cpp
xmlhttprequest.h
khtml/misc decoder.cpp decoder.h loader.h
khtml/xml dom_docimpl.cpp dom_docimpl.h
khtml/xsl xslt_processorimpl.cpp
Log:
Bug #: 6107
Submitted by: eseidel
Reviewed by: darin
Move Decoder onto Shared<T> and clients onto RefPtr.
http://bugzilla.opendarwin.org/show_bug.cgi?id=6107
No test cases possible, no functional changes.
* khtml/ecma/XSLTProcessor.cpp:
(KJS::XSLTProcessorProtoFunc::callAsFunction):
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::XMLHttpRequest):
(KJS::XMLHttpRequest::~XMLHttpRequest):
(KJS::XMLHttpRequest::changeState):
(KJS::XMLHttpRequest::abort):
(KJS::XMLHttpRequest::slotFinished):
(KJS::XMLHttpRequest::slotData):
* khtml/ecma/xmlhttprequest.h:
* khtml/khtml_part.cpp:
(KHTMLPart::clear):
(KHTMLPart::begin):
(KHTMLPart::write):
* khtml/khtmlpart_p.h:
(KHTMLPartPrivate::KHTMLPartPrivate):
* khtml/misc/decoder.cpp:
(Decoder::Decoder):
(Decoder::~Decoder):
* khtml/misc/decoder.h:
* khtml/misc/loader.h:
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::DocumentImpl):
(DocumentImpl::~DocumentImpl):
(DocumentImpl::prepareMouseEvent):
(DocumentImpl::setDecoder):
* khtml/xml/dom_docimpl.h:
(DOM::DocumentImpl::decoder):
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::XSLTProcessorImpl::createDocumentFromSource):
Revision Changes Path
1.7 +39 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ChangeLog 19 Dec 2005 20:41:45 -0000 1.6
+++ ChangeLog 20 Dec 2005 08:49:45 -0000 1.7
@@ -1,3 +1,42 @@
+2005-12-20 Eric Seidel <eseidel at apple.com>
+
+ Reviewed by darin.
+
+ Move Decoder onto Shared<T> and clients onto RefPtr.
+ http://bugzilla.opendarwin.org/show_bug.cgi?id=6107
+ No test cases possible, no functional changes.
+
+ * khtml/ecma/XSLTProcessor.cpp:
+ (KJS::XSLTProcessorProtoFunc::callAsFunction):
+ * khtml/ecma/xmlhttprequest.cpp:
+ (KJS::XMLHttpRequest::XMLHttpRequest):
+ (KJS::XMLHttpRequest::~XMLHttpRequest):
+ (KJS::XMLHttpRequest::changeState):
+ (KJS::XMLHttpRequest::abort):
+ (KJS::XMLHttpRequest::slotFinished):
+ (KJS::XMLHttpRequest::slotData):
+ * khtml/ecma/xmlhttprequest.h:
+ * khtml/khtml_part.cpp:
+ (KHTMLPart::clear):
+ (KHTMLPart::begin):
+ (KHTMLPart::write):
+ * khtml/khtmlpart_p.h:
+ (KHTMLPartPrivate::KHTMLPartPrivate):
+ * khtml/misc/decoder.cpp:
+ (Decoder::Decoder):
+ (Decoder::~Decoder):
+ * khtml/misc/decoder.h:
+ * khtml/misc/loader.h:
+ * khtml/xml/dom_docimpl.cpp:
+ (DocumentImpl::DocumentImpl):
+ (DocumentImpl::~DocumentImpl):
+ (DocumentImpl::prepareMouseEvent):
+ (DocumentImpl::setDecoder):
+ * khtml/xml/dom_docimpl.h:
+ (DOM::DocumentImpl::decoder):
+ * khtml/xsl/xslt_processorimpl.cpp:
+ (DOM::XSLTProcessorImpl::createDocumentFromSource):
+
2005-12-19 Darin Adler <darin at apple.com>
Reviewed by Maciej.
1.370 +2 -4 WebCore/khtml/khtml_part.cpp
Index: khtml_part.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/khtml_part.cpp,v
retrieving revision 1.369
retrieving revision 1.370
diff -u -r1.369 -r1.370
--- khtml_part.cpp 16 Dec 2005 21:30:35 -0000 1.369
+++ khtml_part.cpp 20 Dec 2005 08:49:45 -0000 1.370
@@ -674,8 +674,6 @@
d->m_doc->deref();
d->m_doc = 0;
- if (d->m_decoder)
- d->m_decoder->deref();
d->m_decoder = 0;
{
@@ -919,7 +917,7 @@
// about to load a new page.
d->m_doc->setBaseURL( baseurl.url() );
if (d->m_decoder)
- d->m_doc->setDecoder(d->m_decoder);
+ d->m_doc->setDecoder(d->m_decoder.get());
d->m_doc->docLoader()->setShowAnimations( d->m_settings->showAnimations() );
KWQ(this)->updatePolicyBaseURL();
@@ -953,7 +951,7 @@
d->m_decoder->setEncoding(defaultEncoding, Decoder::DefaultEncoding);
}
if (d->m_doc)
- d->m_doc->setDecoder(d->m_decoder);
+ d->m_doc->setDecoder(d->m_decoder.get());
}
if ( len == 0 )
return;
1.65 +1 -2 WebCore/khtml/khtmlpart_p.h
Index: khtmlpart_p.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/khtmlpart_p.h,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- khtmlpart_p.h 15 Dec 2005 22:31:28 -0000 1.64
+++ khtmlpart_p.h 20 Dec 2005 08:49:46 -0000 1.65
@@ -101,7 +101,6 @@
KHTMLPartPrivate(QObject* parent)
{
m_doc = 0L;
- m_decoder = 0L;
m_jscript = 0L;
m_runningScripts = 0;
m_job = 0L;
@@ -197,7 +196,7 @@
KHTMLPartBrowserExtension *m_extension;
KHTMLPartBrowserHostExtension *m_hostExtension;
DOM::DocumentImpl *m_doc;
- khtml::Decoder *m_decoder;
+ RefPtr<khtml::Decoder> m_decoder;
QString m_encoding;
QString m_sheetUsed;
#if !APPLE_CANGES
1.5 +1 -1 WebCore/khtml/ecma/XSLTProcessor.cpp
Index: XSLTProcessor.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/ecma/XSLTProcessor.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XSLTProcessor.cpp 11 Dec 2005 02:06:04 -0000 1.4
+++ XSLTProcessor.cpp 20 Dec 2005 08:49:47 -0000 1.5
@@ -129,7 +129,7 @@
DOMString localName = args[1]->toString(exec).domString();
DOMStringImpl *value = processor.getParameter(namespaceURI.impl(), localName.impl()).get();
if (value)
- return jsString(UString(value));
+ return jsString(UString(DOMString(value)));
return jsUndefined();
}
case XSLTProcessor::RemoveParameter:
1.54 +9 -25 WebCore/khtml/ecma/xmlhttprequest.cpp
Index: xmlhttprequest.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/ecma/xmlhttprequest.cpp,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- xmlhttprequest.cpp 19 Dec 2005 19:17:32 -0000 1.53
+++ xmlhttprequest.cpp 20 Dec 2005 08:49:47 -0000 1.54
@@ -260,7 +260,6 @@
async(true),
job(0),
state(Uninitialized),
- decoder(0),
createdDocument(false),
aborted(false)
{
@@ -269,10 +268,7 @@
XMLHttpRequest::~XMLHttpRequest()
{
- delete qObject;
- if (decoder) {
- decoder->deref();
- }
+ delete qObject;
}
void XMLHttpRequest::changeState(XMLHttpRequestState newState)
@@ -282,20 +278,16 @@
if (doc && doc->part() && onReadyStateChangeListener) {
int ignoreException;
- EventImpl *ev = doc->createEvent("HTMLEvents", ignoreException);
- ev->ref();
+ RefPtr<EventImpl> ev = doc->createEvent("HTMLEvents", ignoreException);
ev->initEvent(readystatechangeEvent, true, true);
- onReadyStateChangeListener->handleEventImpl(ev, true);
- ev->deref();
+ onReadyStateChangeListener->handleEventImpl(ev.get(), true);
}
if (doc && doc->part() && state == Completed && onLoadListener) {
int ignoreException;
- EventImpl *ev = doc->createEvent("HTMLEvents", ignoreException);
- ev->ref();
+ RefPtr<EventImpl> ev = doc->createEvent("HTMLEvents", ignoreException);
ev->initEvent(loadEvent, true, true);
- onLoadListener->handleEventImpl(ev, true);
- ev->deref();
+ onLoadListener->handleEventImpl(ev.get(), true);
}
}
}
@@ -417,10 +409,7 @@
job->kill();
job = 0;
}
- if (decoder) {
- decoder->deref();
- decoder = 0;
- }
+ decoder = 0;
aborted = true;
if (hadJob) {
@@ -563,19 +552,14 @@
void XMLHttpRequest::slotFinished(KIO::Job *)
{
- if (decoder) {
+ if (decoder)
response += decoder->flush();
- }
removeFromRequestsByDocument();
job = 0;
changeState(Completed);
-
- if (decoder) {
- decoder->deref();
- decoder = 0;
- }
+ decoder = 0;
JSLock lock;
gcUnprotect(this);
@@ -596,7 +580,7 @@
if (state < Loaded)
changeState(Loaded);
- if (decoder == NULL) {
+ if (!decoder) {
encoding = getCharset(MIMETypeOverride);
if (encoding.isEmpty())
encoding = getCharset(getResponseHeader("Content-Type"));
1.25 +1 -1 WebCore/khtml/ecma/xmlhttprequest.h
Index: xmlhttprequest.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/ecma/xmlhttprequest.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- xmlhttprequest.h 19 Dec 2005 19:17:32 -0000 1.24
+++ xmlhttprequest.h 20 Dec 2005 08:49:47 -0000 1.25
@@ -123,7 +123,7 @@
RefPtr<JSUnprotectedEventListener> onReadyStateChangeListener;
RefPtr<JSUnprotectedEventListener> onLoadListener;
- khtml::Decoder *decoder;
+ RefPtr<khtml::Decoder> decoder;
QString encoding;
QString responseHeaders;
QString MIMETypeOverride;
1.49 +1 -4 WebCore/khtml/misc/decoder.cpp
Index: decoder.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/misc/decoder.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- decoder.cpp 14 Dec 2005 23:31:54 -0000 1.48
+++ decoder.cpp 20 Dec 2005 08:49:48 -0000 1.49
@@ -269,9 +269,7 @@
Decoder::Decoder()
{
- _refCount = 1;
- // latin1
- m_codec = QTextCodec::codecForName("iso8859-1");
+ m_codec = QTextCodec::codecForName("iso8859-1"); // latin1
m_decoder = m_codec->makeDecoder();
enc = 0;
m_type = DefaultEncoding;
@@ -281,7 +279,6 @@
}
Decoder::~Decoder()
{
- assert(_refCount == 0);
delete m_decoder;
}
1.11 +1 -6 WebCore/khtml/misc/decoder.h
Index: decoder.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/misc/decoder.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- decoder.h 21 Nov 2005 01:20:19 -0000 1.10
+++ decoder.h 20 Dec 2005 08:49:48 -0000 1.11
@@ -30,7 +30,7 @@
/**
* @internal
*/
-class Decoder
+class Decoder : public Shared<Decoder>
{
public:
enum EncodingType {
@@ -56,9 +56,6 @@
QString flush() const;
- void ref() { ++_refCount; }
- void deref() { if (!--_refCount) delete this; }
-
protected:
// codec used for decoding. default is Latin1.
QTextCodec *m_codec;
@@ -73,8 +70,6 @@
bool body;
bool beginning;
bool visualRTL;
-
- unsigned _refCount;
};
}
1.49 +2 -2 WebCore/khtml/misc/loader.h
Index: loader.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/misc/loader.h,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- loader.h 15 Dec 2005 22:31:44 -0000 1.48
+++ loader.h 20 Dec 2005 08:49:48 -0000 1.49
@@ -414,7 +414,7 @@
protected:
DOM::DOMString m_sheet;
- Decoder* m_decoder;
+ RefPtr<Decoder> m_decoder;
};
#endif
@@ -440,7 +440,7 @@
protected:
XBL::XBLDocumentImpl* m_document;
- Decoder* m_decoder;
+ RefPtr<Decoder> m_decoder;
};
#endif
1.288 +1 -11 WebCore/khtml/xml/dom_docimpl.cpp
Index: dom_docimpl.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/xml/dom_docimpl.cpp,v
retrieving revision 1.287
retrieving revision 1.288
diff -u -r1.287 -r1.288
--- dom_docimpl.cpp 18 Dec 2005 22:23:27 -0000 1.287
+++ dom_docimpl.cpp 20 Dec 2005 08:49:49 -0000 1.288
@@ -390,7 +390,6 @@
, m_savedRenderer(0)
, m_passwordFields(0)
, m_secureForms(0)
- , m_decoder(0)
, m_createRenderers(true)
, m_designMode(inherit)
, m_hasDashboardRegions(false)
@@ -544,11 +543,7 @@
delete m_accCache;
m_accCache = 0;
}
-
- if (m_decoder){
- m_decoder->deref();
- m_decoder = 0;
- }
+ m_decoder = 0;
if (m_jsEditor) {
delete m_jsEditor;
@@ -1926,7 +1921,6 @@
}
else
ev->url = href;
-// qDebug("url: *%s*", ev->url.qstring().latin1());
}
if (!readonly)
@@ -2753,10 +2747,6 @@
void DocumentImpl::setDecoder(Decoder *decoder)
{
- decoder->ref();
- if (m_decoder) {
- m_decoder->deref();
- }
m_decoder = decoder;
}
1.145 +2 -2 WebCore/khtml/xml/dom_docimpl.h
Index: dom_docimpl.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/xml/dom_docimpl.h,v
retrieving revision 1.144
retrieving revision 1.145
diff -u -r1.144 -r1.145
--- dom_docimpl.h 16 Dec 2005 08:08:21 -0000 1.144
+++ dom_docimpl.h 20 Dec 2005 08:49:50 -0000 1.145
@@ -747,7 +747,7 @@
bool shouldCreateRenderers();
void setDecoder(khtml::Decoder *);
- khtml::Decoder *decoder() const { return m_decoder; }
+ khtml::Decoder *decoder() const { return m_decoder.get(); }
void setDashboardRegionsDirty(bool f) { m_dashboardRegionsDirty = f; }
bool dashboardRegionsDirty() const { return m_dashboardRegionsDirty; }
@@ -781,7 +781,7 @@
int m_passwordFields;
int m_secureForms;
- khtml::Decoder *m_decoder;
+ RefPtr<khtml::Decoder> m_decoder;
mutable QDict<ElementImpl> m_elementsById;
mutable QDict<char> m_idCount;
1.19 +2 -3 WebCore/khtml/xsl/xslt_processorimpl.cpp
Index: xslt_processorimpl.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/xsl/xslt_processorimpl.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- xslt_processorimpl.cpp 18 Dec 2005 22:23:27 -0000 1.18
+++ xslt_processorimpl.cpp 20 Dec 2005 08:49:51 -0000 1.19
@@ -209,10 +209,9 @@
}
result->determineParseMode(documentSource); // Make sure we parse in the correct mode.
- Decoder *decoder = new Decoder;
+ RefPtr<Decoder> decoder = new Decoder;
decoder->setEncoding(sourceEncoding.isEmpty() ? "UTF-8" : sourceEncoding.latin1(), Decoder::EncodingFromXMLHeader);
- result->setDecoder(decoder);
- decoder->deref();
+ result->setDecoder(decoder.get());
result->write(documentSource);
result->finishParsing();
More information about the webkit-changes
mailing list