Fix for busting XMLHTTPRequest.
authorcblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 9 Dec 2004 18:57:20 +0000 (18:57 +0000)
committercblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 9 Dec 2004 18:57:20 +0000 (18:57 +0000)
        Reviewed by kocienda.

        * khtml/misc/loader.cpp:
        (Loader::servePendingRequests): pass true for deliverAllData
        * kwq/KWQKJob.h:
        (KIO::get): take deliverAllData param
        (KIO::http_post): ditto
        * kwq/KWQKJobClasses.h:
        * kwq/KWQKJobClasses.mm:
        (KIO::TransferJob::TransferJob): if deliverAllData, create signal with data param
        (KIO::TransferJob::emitResult): if deliverAllData, call signal with data param

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8161 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog-2005-08-23
WebCore/khtml/misc/loader.cpp
WebCore/kwq/KWQKJob.h
WebCore/kwq/KWQKJobClasses.h
WebCore/kwq/KWQKJobClasses.mm

index 96375de307035ea088f7f5147a0161b1d51ac933..081d2c3fae799bd45470f05dfef4f883cedb58d5 100644 (file)
@@ -1,3 +1,19 @@
+2004-12-09  Chris Blumenberg  <cblu@apple.com>
+
+       Fix for busting XMLHTTPRequest.
+
+        Reviewed by kocienda.
+
+        * khtml/misc/loader.cpp:
+        (Loader::servePendingRequests): pass true for deliverAllData
+        * kwq/KWQKJob.h:
+        (KIO::get): take deliverAllData param
+        (KIO::http_post): ditto
+        * kwq/KWQKJobClasses.h:
+        * kwq/KWQKJobClasses.mm:
+        (KIO::TransferJob::TransferJob): if deliverAllData, create signal with data param
+        (KIO::TransferJob::emitResult): if deliverAllData, call signal with data param
+
 2004-12-09  Ken Kocienda  <kocienda@apple.com>
 
         Reviewed by John
index f769dc64181e874435d83384c8fabf80976b8349..8a9890c2ba383dae890a066d40e48a711957b593 100644 (file)
@@ -1508,8 +1508,12 @@ void Loader::servePendingRequests()
 #endif
 
   KURL u(req->object->url().string());
+#if APPLE_CHANGES
+  KIO::TransferJob* job = KIO::get( u, false, false /*no GUI*/, true);
+#else
   KIO::TransferJob* job = KIO::get( u, false, false /*no GUI*/);
-
+#endif
+  
   job->addMetaData("cache", getCacheControlString(req->object->cachePolicy()));
   if (!req->object->accept().isEmpty())
       job->addMetaData("accept", req->object->accept());
@@ -1557,8 +1561,8 @@ void Loader::servePendingRequests()
 #endif // APPLE_CHANGES
 }
 
-#if !defined(APPLE_CHANGES)
-void Loader::slotFinished( KIO::Job* job, NSData *allData)
+#if !APPLE_CHANGES
+void Loader::slotFinished( KIO::Job* job)
 {
   Request *r = m_requestsLoading.take( job );
   KIO::TransferJob* j = static_cast<KIO::TransferJob*>(job);
index 72d5a668cfa18f4fcb5da8e8a7ff35285fbb8999..c5dfd12005bc8c92f77e42eed135dcf1123d0750 100644 (file)
@@ -35,11 +35,11 @@ namespace KIO {
 
 void http_update_cache(const KURL &, bool, time_t);
 
-inline TransferJob *get(const KURL &url, bool reload, bool)
-    { return new TransferJob(url, reload); }
+inline TransferJob *get(const KURL &url, bool reload, bool, bool deliverAllData=false)
+    { return new TransferJob(url, reload, deliverAllData); }
 
-inline TransferJob *http_post(const KURL& url, const khtml::FormData &postData, bool)
-    { return new TransferJob(url, postData); }
+inline TransferJob *http_post(const KURL& url, const khtml::FormData &postData, bool, bool deliverAllData=false)
+    { return new TransferJob(url, postData, deliverAllData); }
 
 } // namespace KIO
 
index b9e8833ad958b02422f5782455460384fdfeac89..d5e6eaf32faaf99742770599396991b16c80ae4e 100644 (file)
@@ -58,8 +58,8 @@ public:
 
 class TransferJob : public Job {
 public:
-    TransferJob(const KURL &, bool reload);
-    TransferJob(const KURL &, const khtml::FormData &postData);
+    TransferJob(const KURL &, bool reload, bool deliverAllData=false);
+    TransferJob(const KURL &, const khtml::FormData &postData, bool deliverAllData=false);
     ~TransferJob();
 
     int error() const;
@@ -77,8 +77,7 @@ public:
 
     void emitData(const char *, int);
     void emitRedirection(const KURL &);
-    void emitResult();
-    void emitResult(NSData *);
+    void emitResult(NSData *allData=nil);
     void emitReceivedResponse(NSURLResponse *);
 
     khtml::FormData postData() const;
@@ -90,11 +89,12 @@ private:
 
     TransferJobPrivate *d;
 
+    bool m_deliverAllData;
+    
     KWQSignal m_data;
     KWQSignal m_redirection;
-    KWQSignal m_result1;
-    KWQSignal m_result2;
-    KWQSignal m_receivedResponse;
+    KWQSignal m_result;
+    KWQSignal m_receivedResponse;    
 };
 
 } // namespace KIO
index 04736bc1e231ecca0ae4501d761809145f7f5689..97cda7aad37570a939f2591a77a81e481ea7cdc2 100644 (file)
@@ -91,22 +91,22 @@ public:
     QString responseHeaders;
 };
 
-TransferJob::TransferJob(const KURL &url, bool reload)
+TransferJob::TransferJob(const KURL &url, bool reload, bool deliverAllData)
     : d(new TransferJobPrivate(url)),
+      m_deliverAllData(deliverAllData),
       m_data(this, SIGNAL(data(KIO::Job*, const char*, int))),
       m_redirection(this, SIGNAL(redirection(KIO::Job*, const KURL&))),
-      m_result1(this, SIGNAL(result(KIO::Job*))),
-      m_result2(this, SIGNAL(result(KIO::Job*, NSData *))),
+      m_result(this, deliverAllData ? SIGNAL(result(KIO::Job*, NSData *)) : SIGNAL(result(KIO::Job*))),
       m_receivedResponse(this, SIGNAL(receivedResponse(KIO::Job*, NSURLResponse *)))
 {
 }
 
-TransferJob::TransferJob(const KURL &url, const FormData &postData)
+TransferJob::TransferJob(const KURL &url, const FormData &postData, bool deliverAllData)
     : d(new TransferJobPrivate(url, postData)),
+      m_deliverAllData(deliverAllData),
       m_data(this, SIGNAL(data(KIO::Job*, const char*, int))),
       m_redirection(this, SIGNAL(redirection(KIO::Job*, const KURL&))),
-      m_result1(this, SIGNAL(result(KIO::Job*))),
-      m_result2(this, SIGNAL(result(KIO::Job*, NSData *))),
+      m_result(this, deliverAllData ? SIGNAL(result(KIO::Job*, NSData *)) : SIGNAL(result(KIO::Job*))),
       m_receivedResponse(this, SIGNAL(receivedResponse(KIO::Job*, NSURLResponse *)))
 {
 }
@@ -232,14 +232,9 @@ void TransferJob::emitRedirection(const KURL &url)
     m_redirection.call(this, url);
 }
 
-void TransferJob::emitResult()
-{
-    m_result1.call(this);
-}
-
 void TransferJob::emitResult(NSData *allData)
 {
-    m_result2.call(this, allData);
+    m_deliverAllData ? m_result.call(this, allData) : m_result.call(this);
 }
 
 void TransferJob::emitReceivedResponse(NSURLResponse *response)