[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:57:10 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 934b9b33cc4f0741ca86f6791bf5b18d0e16ef0f
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Nov 5 01:25:54 2002 +0000
- fixed 3091714 -- reproducible assert cachedObject->response
in KWQCheckCacheObjectStatus
* khtml/misc/loader.cpp: (Loader::slotFinished):
For APPLE_CHANGES, don't finish the load if it's an error.
* kwq/KWQResourceLoader.mm:
(-[KWQResourceLoader finishJobAndHandle]): Shared code for the
three following methods.
(-[KWQResourceLoader cancel]): Use setError(1) again instead of
just keeping the load around forever.
(-[KWQResourceLoader reportError]): Ditto.
(-[KWQResourceLoader finish]): Use finishJobAndHandle to share
code with the two above.
* khtml/khtml_part.cpp:
(KHTMLPart::init): Put the slotLoaderRequestStarted and
slotLoaderRequestDone connect lines inside ifdefs.
(KHTMLPart::~KHTMLPart): Same for disconnect.
* kwq/KWQSignal.h: Remove code for the DocLoader signals.
* kwq/KWQSignal.mm: (KWQSignal::call): Ditto.
* kwq/KWQSignalStubs.mm:
(Loader::requestDone): Ditto.
(Loader::requestFailed): Ditto.
(Loader::requestStarted): Ditto.
* kwq/KWQSlot.h: Ditto.
* kwq/KWQSlot.mm:
(KWQSlot::KWQSlot): Ditto.
(KWQSlot::call): Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2557 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index a03c165..a9ae789 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,36 @@
+2002-11-04 Darin Adler <darin at apple.com>
+
+ - fixed 3091714 -- reproducible assert cachedObject->response
+ in KWQCheckCacheObjectStatus
+
+ * khtml/misc/loader.cpp: (Loader::slotFinished):
+ For APPLE_CHANGES, don't finish the load if it's an error.
+
+ * kwq/KWQResourceLoader.mm:
+ (-[KWQResourceLoader finishJobAndHandle]): Shared code for the
+ three following methods.
+ (-[KWQResourceLoader cancel]): Use setError(1) again instead of
+ just keeping the load around forever.
+ (-[KWQResourceLoader reportError]): Ditto.
+ (-[KWQResourceLoader finish]): Use finishJobAndHandle to share
+ code with the two above.
+
+ * khtml/khtml_part.cpp:
+ (KHTMLPart::init): Put the slotLoaderRequestStarted and
+ slotLoaderRequestDone connect lines inside ifdefs.
+ (KHTMLPart::~KHTMLPart): Same for disconnect.
+
+ * kwq/KWQSignal.h: Remove code for the DocLoader signals.
+ * kwq/KWQSignal.mm: (KWQSignal::call): Ditto.
+ * kwq/KWQSignalStubs.mm:
+ (Loader::requestDone): Ditto.
+ (Loader::requestFailed): Ditto.
+ (Loader::requestStarted): Ditto.
+ * kwq/KWQSlot.h: Ditto.
+ * kwq/KWQSlot.mm:
+ (KWQSlot::KWQSlot): Ditto.
+ (KWQSlot::call): Ditto.
+
2002-11-04 Maciej Stachowiak <mjs at apple.com>
Changes to send NSEvents all the way through WebCore and then pass
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index a03c165..a9ae789 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,36 @@
+2002-11-04 Darin Adler <darin at apple.com>
+
+ - fixed 3091714 -- reproducible assert cachedObject->response
+ in KWQCheckCacheObjectStatus
+
+ * khtml/misc/loader.cpp: (Loader::slotFinished):
+ For APPLE_CHANGES, don't finish the load if it's an error.
+
+ * kwq/KWQResourceLoader.mm:
+ (-[KWQResourceLoader finishJobAndHandle]): Shared code for the
+ three following methods.
+ (-[KWQResourceLoader cancel]): Use setError(1) again instead of
+ just keeping the load around forever.
+ (-[KWQResourceLoader reportError]): Ditto.
+ (-[KWQResourceLoader finish]): Use finishJobAndHandle to share
+ code with the two above.
+
+ * khtml/khtml_part.cpp:
+ (KHTMLPart::init): Put the slotLoaderRequestStarted and
+ slotLoaderRequestDone connect lines inside ifdefs.
+ (KHTMLPart::~KHTMLPart): Same for disconnect.
+
+ * kwq/KWQSignal.h: Remove code for the DocLoader signals.
+ * kwq/KWQSignal.mm: (KWQSignal::call): Ditto.
+ * kwq/KWQSignalStubs.mm:
+ (Loader::requestDone): Ditto.
+ (Loader::requestFailed): Ditto.
+ (Loader::requestStarted): Ditto.
+ * kwq/KWQSlot.h: Ditto.
+ * kwq/KWQSlot.mm:
+ (KWQSlot::KWQSlot): Ditto.
+ (KWQSlot::call): Ditto.
+
2002-11-04 Maciej Stachowiak <mjs at apple.com>
Changes to send NSEvents all the way through WebCore and then pass
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index a03c165..a9ae789 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,36 @@
+2002-11-04 Darin Adler <darin at apple.com>
+
+ - fixed 3091714 -- reproducible assert cachedObject->response
+ in KWQCheckCacheObjectStatus
+
+ * khtml/misc/loader.cpp: (Loader::slotFinished):
+ For APPLE_CHANGES, don't finish the load if it's an error.
+
+ * kwq/KWQResourceLoader.mm:
+ (-[KWQResourceLoader finishJobAndHandle]): Shared code for the
+ three following methods.
+ (-[KWQResourceLoader cancel]): Use setError(1) again instead of
+ just keeping the load around forever.
+ (-[KWQResourceLoader reportError]): Ditto.
+ (-[KWQResourceLoader finish]): Use finishJobAndHandle to share
+ code with the two above.
+
+ * khtml/khtml_part.cpp:
+ (KHTMLPart::init): Put the slotLoaderRequestStarted and
+ slotLoaderRequestDone connect lines inside ifdefs.
+ (KHTMLPart::~KHTMLPart): Same for disconnect.
+
+ * kwq/KWQSignal.h: Remove code for the DocLoader signals.
+ * kwq/KWQSignal.mm: (KWQSignal::call): Ditto.
+ * kwq/KWQSignalStubs.mm:
+ (Loader::requestDone): Ditto.
+ (Loader::requestFailed): Ditto.
+ (Loader::requestStarted): Ditto.
+ * kwq/KWQSlot.h: Ditto.
+ * kwq/KWQSlot.mm:
+ (KWQSlot::KWQSlot): Ditto.
+ (KWQSlot::call): Ditto.
+
2002-11-04 Maciej Stachowiak <mjs at apple.com>
Changes to send NSEvents all the way through WebCore and then pass
diff --git a/WebCore/khtml/khtml_part.cpp b/WebCore/khtml/khtml_part.cpp
index 41e2233..9af325a 100644
--- a/WebCore/khtml/khtml_part.cpp
+++ b/WebCore/khtml/khtml_part.cpp
@@ -223,6 +223,10 @@ void KHTMLPart::init( KHTMLView *view, GUIProfile prof )
d->m_bJavaEnabled = KHTMLFactory::defaultHTMLSettings()->isJavaEnabled();
d->m_bPluginsEnabled = KHTMLFactory::defaultHTMLSettings()->isPluginsEnabled();
+#if APPLE_CHANGES
+ kwq = new KWQKHTMLPart(this);
+#endif
+
#if !APPLE_CHANGES
connect( this, SIGNAL( completed() ),
this, SLOT( updateActions() ) );
@@ -232,11 +236,6 @@ void KHTMLPart::init( KHTMLView *view, GUIProfile prof )
this, SLOT( updateActions() ) );
d->m_popupMenuXML = KXMLGUIFactory::readConfigFile( locate( "data", "khtml/khtml_popupmenu.rc", KHTMLFactory::instance() ) );
-#endif
-
-#if APPLE_CHANGES
- kwq = new KWQKHTMLPart(this);
-#endif
connect( khtml::Cache::loader(), SIGNAL( requestStarted( khtml::DocLoader*, khtml::CachedObject* ) ),
this, SLOT( slotLoaderRequestStarted( khtml::DocLoader*, khtml::CachedObject* ) ) );
@@ -244,6 +243,7 @@ void KHTMLPart::init( KHTMLView *view, GUIProfile prof )
this, SLOT( slotLoaderRequestDone( khtml::DocLoader*, khtml::CachedObject *) ) );
connect( khtml::Cache::loader(), SIGNAL( requestFailed( khtml::DocLoader*, khtml::CachedObject *) ),
this, SLOT( slotLoaderRequestDone( khtml::DocLoader*, khtml::CachedObject *) ) );
+#endif
findTextBegin(); //reset find variables
@@ -278,12 +278,14 @@ KHTMLPart::~KHTMLPart()
if (!d->m_bComplete)
closeURL();
+#if !APPLE_CHANGES
disconnect( khtml::Cache::loader(), SIGNAL( requestStarted( khtml::DocLoader*, khtml::CachedObject* ) ),
this, SLOT( slotLoaderRequestStarted( khtml::DocLoader*, khtml::CachedObject* ) ) );
disconnect( khtml::Cache::loader(), SIGNAL( requestDone( khtml::DocLoader*, khtml::CachedObject *) ),
this, SLOT( slotLoaderRequestDone( khtml::DocLoader*, khtml::CachedObject *) ) );
disconnect( khtml::Cache::loader(), SIGNAL( requestFailed( khtml::DocLoader*, khtml::CachedObject *) ),
this, SLOT( slotLoaderRequestDone( khtml::DocLoader*, khtml::CachedObject *) ) );
+#endif
clear();
@@ -1508,20 +1510,18 @@ void KHTMLPart::slotFinishedParsing()
checkCompleted();
}
+#if !APPLE_CHANGES
+
void KHTMLPart::slotLoaderRequestStarted( khtml::DocLoader* dl, khtml::CachedObject *obj )
{
if ( obj && obj->type() == khtml::CachedObject::Image && d->m_doc && d->m_doc->docLoader() == dl ) {
KHTMLPart* p = this;
while ( p ) {
-#if !APPLE_CHANGES
KHTMLPart* op = p;
-#endif
p->d->m_totalObjectCount++;
p = p->parentPart();
-#if !APPLE_CHANGES
if ( !p && d->m_loadedObjects <= d->m_totalObjectCount )
QTimer::singleShot( 200, op, SLOT( slotProgressUpdate() ) );
-#endif
}
}
}
@@ -1531,23 +1531,17 @@ void KHTMLPart::slotLoaderRequestDone( khtml::DocLoader* dl, khtml::CachedObject
if ( obj && obj->type() == khtml::CachedObject::Image && d->m_doc && d->m_doc->docLoader() == dl ) {
KHTMLPart* p = this;
while ( p ) {
-#if !APPLE_CHANGES
KHTMLPart* op = p;
-#endif
p->d->m_loadedObjects++;
p = p->parentPart();
-#if !APPLE_CHANGES
if ( !p && d->m_loadedObjects <= d->m_totalObjectCount && d->m_jobPercent >= 100 )
QTimer::singleShot( 200, op, SLOT( slotProgressUpdate() ) );
-#endif
}
}
checkCompleted();
}
-#if !APPLE_CHANGES
-
void KHTMLPart::slotProgressUpdate()
{
int percent;
diff --git a/WebCore/khtml/misc/loader.cpp b/WebCore/khtml/misc/loader.cpp
index c8bfc17..c767390 100644
--- a/WebCore/khtml/misc/loader.cpp
+++ b/WebCore/khtml/misc/loader.cpp
@@ -1223,6 +1223,10 @@ kdDebug(6060) << "Loader::slotFinished, url = " << j->url().url() << " expires "
r->object->setExpireDate(expireDate, false);
}
+#if APPLE_CHANGES
+ // We don't want to ever finish the load in the case of an error because we don't want them cached.
+ if (!j->error())
+#endif
r->object->finish();
#ifdef CACHE_DEBUG
diff --git a/WebCore/kwq/KWQResourceLoader.mm b/WebCore/kwq/KWQResourceLoader.mm
index 8bd1a8e..0238462 100644
--- a/WebCore/kwq/KWQResourceLoader.mm
+++ b/WebCore/kwq/KWQResourceLoader.mm
@@ -78,7 +78,7 @@ using KIO::TransferJob;
[handle release];
}
-- (void)cancel
+- (void)finishJobAndHandle
{
TransferJob *job = _job;
id <WebCoreResourceHandle> handle = _handle;
@@ -86,31 +86,33 @@ using KIO::TransferJob;
_handle = nil;
if (job) {
- job->setError(1);
- job->setLoader(nil);
+ _loader->slotFinished(job);
}
+ delete job;
[handle release];
}
+- (void)cancel
+{
+ if (_job) {
+ _job->setError(1);
+ }
+ [self finishJobAndHandle];
+}
+
- (void)reportError
{
+ ASSERT(_job);
+ ASSERT(_handle);
_job->setError(1);
- [self finish];
+ [self finishJobAndHandle];
}
- (void)finish
{
ASSERT(_job);
ASSERT(_handle);
-
- TransferJob *job = _job;
- id <WebCoreResourceHandle> handle = _handle;
- _job = 0;
- _handle = nil;
-
- _loader->slotFinished(job);
- delete job;
- [handle release];
+ [self finishJobAndHandle];
}
@end
diff --git a/WebCore/kwq/KWQSignal.h b/WebCore/kwq/KWQSignal.h
index 05d0a4c..4be7555 100644
--- a/WebCore/kwq/KWQSignal.h
+++ b/WebCore/kwq/KWQSignal.h
@@ -42,7 +42,6 @@ public:
void call(int) const;
void call(const QString &) const;
void call(KIO::Job *) const;
- void call(khtml::DocLoader *, khtml::CachedObject *) const;
private:
// forbid copying and assignment
diff --git a/WebCore/kwq/KWQSignal.mm b/WebCore/kwq/KWQSignal.mm
index 8f7e05e..ec21627 100644
--- a/WebCore/kwq/KWQSignal.mm
+++ b/WebCore/kwq/KWQSignal.mm
@@ -30,9 +30,6 @@
using KIO::Job;
-using khtml::CachedObject;
-using khtml::DocLoader;
-
KWQSignal::KWQSignal(QObject *object, const char *name)
: _object(object), _next(object->_signalListHead), _name(name)
{
@@ -131,15 +128,3 @@ void KWQSignal::call(Job *j) const
}
}
}
-
-void KWQSignal::call(DocLoader *l, CachedObject *o) const
-{
- if (!_object->_signalsBlocked) {
- KWQObjectSenderScope senderScope(_object);
- QValueList<KWQSlot> copiedSlots(_slots);
- QValueListConstIterator<KWQSlot> end = copiedSlots.end();
- for (QValueListConstIterator<KWQSlot> it = copiedSlots.begin(); it != end; ++it) {
- (*it).call(l, o);
- }
- }
-}
diff --git a/WebCore/kwq/KWQSignalStubs.mm b/WebCore/kwq/KWQSignalStubs.mm
index 5ebb7ea..5314fe6 100644
--- a/WebCore/kwq/KWQSignalStubs.mm
+++ b/WebCore/kwq/KWQSignalStubs.mm
@@ -39,17 +39,14 @@ void KHTMLView::cleared()
void Loader::requestDone(DocLoader *l, CachedObject *o)
{
- kwq->_requestDone.call(l, o);
}
void Loader::requestFailed(DocLoader *l, CachedObject *o)
{
- kwq->_requestFailed.call(l, o);
}
void Loader::requestStarted(DocLoader *l, CachedObject *o)
{
- kwq->_requestStarted.call(l, o);
}
Tokenizer::Tokenizer()
diff --git a/WebCore/kwq/KWQSlot.h b/WebCore/kwq/KWQSlot.h
index 334272f..0e35b8d 100644
--- a/WebCore/kwq/KWQSlot.h
+++ b/WebCore/kwq/KWQSlot.h
@@ -34,11 +34,6 @@ namespace KIO {
class Job;
}
-namespace khtml {
- class CachedObject;
- class DocLoader;
-}
-
// Like strcmp, but ignores spaces.
bool KWQNamesMatch(const char *a, const char *b);
@@ -55,7 +50,6 @@ public:
void call(int) const;
void call(const QString &) const;
void call(KIO::Job *) const;
- void call(khtml::DocLoader *, khtml::CachedObject *) const;
friend bool operator==(const KWQSlot &, const KWQSlot &);
diff --git a/WebCore/kwq/KWQSlot.mm b/WebCore/kwq/KWQSlot.mm
index 7ec58e8..e4ca0f3 100644
--- a/WebCore/kwq/KWQSlot.mm
+++ b/WebCore/kwq/KWQSlot.mm
@@ -53,8 +53,6 @@ enum FunctionNumber {
slotChildStarted,
slotClicked,
slotFinishedParsing,
- slotLoaderRequestDone,
- slotLoaderRequestStarted,
slotParentCompleted,
slotParentDestroyed,
slotRedirect,
@@ -90,12 +88,6 @@ KWQSlot::KWQSlot(QObject *object, const char *member) : m_object(0)
} else if (KWQNamesMatch(member, SLOT(slotFinishedParsing()))) {
ASSERT(dynamic_cast<KHTMLPart *>(object));
m_function = slotFinishedParsing;
- } else if (KWQNamesMatch(member, SLOT(slotLoaderRequestDone(khtml::DocLoader *, khtml::CachedObject *)))) {
- ASSERT(dynamic_cast<KHTMLPart *>(object));
- m_function = slotLoaderRequestDone;
- } else if (KWQNamesMatch(member, SLOT(slotLoaderRequestStarted(khtml::DocLoader *, khtml::CachedObject *)))) {
- ASSERT(dynamic_cast<KHTMLPart *>(object));
- m_function = slotLoaderRequestStarted;
} else if (KWQNamesMatch(member, SLOT(slotParentCompleted()))) {
ASSERT(dynamic_cast<KHTMLPart *>(object));
m_function = slotParentCompleted;
@@ -238,24 +230,6 @@ void KWQSlot::call(Job *job) const
call();
}
-void KWQSlot::call(DocLoader *loader, CachedObject *cachedObject) const
-{
- if (!m_object) {
- return;
- }
-
- switch (m_function) {
- case slotLoaderRequestDone:
- static_cast<KHTMLPart *>(m_object.pointer())->slotLoaderRequestDone(loader, cachedObject);
- return;
- case slotLoaderRequestStarted:
- static_cast<KHTMLPart *>(m_object.pointer())->slotLoaderRequestStarted(loader, cachedObject);
- return;
- }
-
- call();
-}
-
bool operator==(const KWQSlot &a, const KWQSlot &b)
{
return a.m_object == b.m_object && (a.m_object == 0 || a.m_function == b.m_function);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list