2006-11-03 Zack Rusin <zack@kde.org>
[WebKit-https.git] / WebCore / platform / qt / LoaderFunctionsQt.cpp
index e8d625f..129225b 100644 (file)
  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
 #include "config.h"
 
 #include <wtf/Vector.h>
+#if PLATFORM(KDE)
 #include <kio/netaccess.h>
+#endif
 
 #include <QFile>
 
 #include "Cache.h"
 #include "loader.h"
 #include "FrameQt.h"
+#include "Request.h"
+#include "ResourceHandle.h"
+#include "ResourceRequest.h"
 #include "DocLoader.h"
 #include "CachedResource.h"
 #include "DeprecatedString.h"
 
 namespace WebCore {
 
-Vector<char> ServeSynchronousRequest(Loader*, DocLoader *docLoader, const ResourceRequest&, KURL& url, DeprecatedString&)
+Vector<char> ServeSynchronousRequest(Loader*, DocLoader *docLoader, const ResourceRequest& request, ResourceResponse&)
 {
     // FIXME: Handle last paremeter: "responseHeaders"
     FrameQt* frame = QtFrame(docLoader->frame());
@@ -51,20 +56,31 @@ Vector<char> ServeSynchronousRequest(Loader*, DocLoader *docLoader, const Resour
 
     // FIXME: We shouldn't use temporary files for sync jobs!
     QString tempFile;
-    if (!KIO::NetAccess::download(KUrl(url.url()), tempFile, 0))
+#if PLATFORM(KDE)
+    if (!KIO::NetAccess::download(KUrl(request.url().url()), tempFile, 0))
         return Vector<char>();
+#else
+    KURL url = request.url();
+    if (!url.isLocalFile())
+        return Vector<char>();
+    tempFile = url.path();
+#endif
 
     QFile file(tempFile);
     if (!file.open(QIODevice::ReadOnly)) {
+#if PLATFORM(KDE)
         KIO::NetAccess::removeTempFile(tempFile);
+#endif
         return Vector<char>();
     }
 
     ASSERT(!file.atEnd());
 
     QByteArray content = file.readAll();
+#if PLATFORM(KDE)
     KIO::NetAccess::removeTempFile(tempFile);
-    
+#endif
+
     Vector<char> resultBuffer;
     resultBuffer.append(content.data(), content.size());
 
@@ -136,9 +152,9 @@ time_t CacheObjectExpiresTime(DocLoader*, PlatformResponse)
     return 0;
 }
 
-void CachedResource::setResponse(PlatformResponse response)
+void CachedResource::setPlatformResponse(PlatformResponse response)
 {
-    m_response = response;
+    m_platformResponse = response;
 }
 
 void CachedResource::setAllData(PlatformData allData)