Reviewed by Maciej.
Fix: http://bugs.webkit.org/show_bug.cgi?id=11257
Removed Mac platform dependance, changed WebCore functions to
use PlatformResponse/PlatformData rather than NSURLResponse/
NSData.
* loader/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::checkNotify):
* loader/CachedImage.cpp:
(WebCore::CachedImage::createImage):
* loader/CachedResource.cpp:
(WebCore::CachedResource::~CachedResource):
* loader/CachedResource.h:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::response):
(WebCore::CachedResource::allData):
* loader/LoaderFunctions.h:
* loader/loader.cpp:
(WebCore::Loader::receivedResponse):
* loader/mac/LoaderFunctionsMac.mm:
(WebCore::ResponseMIMEType):
(WebCore::ResponseIsMultipart):
(WebCore::CacheObjectExpiresTime):
(WebCore::CachedResource::setResponse):
(WebCore::CachedResource::setAllData):
* platform/qt/TemporaryLinkStubs.cpp:
(WebCore::CacheObjectExpiresTime):
(WebCore::ResponseIsMultipart):
(WebCore::ResponseMIMEType):
(WebCore::CachedResource::setResponse):
(WebCore::CachedResource::setAllData):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::CacheObjectExpiresTime):
(WebCore::ResponseIsMultipart):
(WebCore::ResponseMIMEType):
(WebCore::CachedResource::setResponse):
(WebCore::CachedResource::setAllData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@17056
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2006-10-14 David Carson <dacarson@gmail.com>
+
+ Reviewed by Maciej.
+
+ Fix: http://bugs.webkit.org/show_bug.cgi?id=11257
+ Removed Mac platform dependance, changed WebCore functions to
+ use PlatformResponse/PlatformData rather than NSURLResponse/
+ NSData.
+
+ * loader/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::checkNotify):
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::createImage):
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::~CachedResource):
+ * loader/CachedResource.h:
+ (WebCore::CachedResource::CachedResource):
+ (WebCore::CachedResource::response):
+ (WebCore::CachedResource::allData):
+ * loader/LoaderFunctions.h:
+ * loader/loader.cpp:
+ (WebCore::Loader::receivedResponse):
+ * loader/mac/LoaderFunctionsMac.mm:
+ (WebCore::ResponseMIMEType):
+ (WebCore::ResponseIsMultipart):
+ (WebCore::CacheObjectExpiresTime):
+ (WebCore::CachedResource::setResponse):
+ (WebCore::CachedResource::setAllData):
+ * platform/qt/TemporaryLinkStubs.cpp:
+ (WebCore::CacheObjectExpiresTime):
+ (WebCore::ResponseIsMultipart):
+ (WebCore::ResponseMIMEType):
+ (WebCore::CachedResource::setResponse):
+ (WebCore::CachedResource::setAllData):
+ * platform/win/TemporaryLinkStubs.cpp:
+ (WebCore::CacheObjectExpiresTime):
+ (WebCore::ResponseIsMultipart):
+ (WebCore::ResponseMIMEType):
+ (WebCore::CachedResource::setResponse):
+ (WebCore::CachedResource::setAllData):
+
2006-10-14 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
Reviewed by Maciej.
CachedResourceClientWalker w(m_clients);
while (CachedResourceClient *c = w.next()) {
-#if __APPLE__
if (m_response && !IsResponseURLEqualToURL(m_response, m_url))
c->setCSSStyleSheet(ResponseURL(m_response), m_decoder->encoding().name(), m_sheet);
else
-#endif
c->setCSSStyleSheet(m_url, m_decoder->encoding().name(), m_sheet);
}
}
{
// Create the image if it doesn't yet exist.
if (!m_image)
-#if __APPLE__
m_image = new Image(this, ResponseMIMEType(m_response) == "application/pdf");
-#else
- m_image = new Image(this, false);
-#endif
}
Vector<char>& CachedImage::bufferData(const char* bytes, int addedSize, Request* request)
abort();
Cache::removeFromLRUList(this);
m_deleted = true;
-#if __APPLE__
setResponse(0);
setAllData(0);
-#endif
}
Vector<char>& CachedResource::bufferData(const char* bytes, int addedSize, Request* request)
#include "CachePolicy.h"
#include "PlatformString.h"
+#include "ResourceLoaderClient.h" // defines PlatformResponse and PlatformData
#include <wtf/HashSet.h>
#include <wtf/Vector.h>
#include <time.h>
-#ifdef __OBJC__
-@class NSData;
-@class NSURLResponse;
-#else
-class NSData;
-class NSURLResponse;
-#endif
-
namespace WebCore {
class CachedResourceClient;
class Request;
m_free = false;
m_cachePolicy = cachePolicy;
m_request = 0;
-#if __APPLE__
m_response = 0;
m_allData = 0;
-#endif
m_expireDate = expireDate;
m_deleted = false;
m_expireDateChanged = false;
void setRequest(Request*);
-#if __APPLE__
- NSURLResponse* response() const { return m_response; }
- void setResponse(NSURLResponse*);
- NSData* allData() const { return m_allData; }
- void setAllData(NSData*);
-#endif
+ PlatformResponse response() const { return m_response; }
+ void setResponse(PlatformResponse);
+ PlatformData allData() const { return m_allData; }
+ void setAllData(PlatformData);
bool canDelete() const { return m_clients.isEmpty() && !m_request; }
String m_accept;
Request* m_request;
-#if __APPLE__
- NSURLResponse *m_response;
- NSData *m_allData;
-#endif
+ PlatformResponse m_response;
+ PlatformData m_allData;
Type m_type;
Status m_status;
*/
#include <wtf/Vector.h>
+#include "ResourceLoaderClient.h" // Defines PlatformResponse
#ifdef __OBJC__
@class NSDictionary;
@class NSString;
-@class NSURLResponse;
@interface NSDictionary (WebCore_Extras)
+ (id)_webcore_dictionaryWithHeaderString:(NSString *)string;
#else
class NSDictionary;
class NSString;
-class NSURLResponse;
#endif
namespace WebCore {
class CachedResource;
class DeprecatedString;
class DocLoader;
-class KURL;
class Loader;
class Request;
class String;
-class ResourceLoader;
Vector<char> ServeSynchronousRequest(Loader*, DocLoader*, ResourceLoader*, KURL& finalURL, DeprecatedString& headers);
void CheckCacheObjectStatus(DocLoader*, CachedResource*);
bool CheckIfReloading(DocLoader*);
-bool IsResponseURLEqualToURL(NSURLResponse*, const String& URL);
-DeprecatedString ResponseURL(NSURLResponse*);
-DeprecatedString ResponseMIMEType(NSURLResponse*);
-bool ResponseIsMultipart(NSURLResponse*);
+bool IsResponseURLEqualToURL(PlatformResponse , const String& URL);
+DeprecatedString ResponseURL(PlatformResponse);
+DeprecatedString ResponseMIMEType(PlatformResponse);
+bool ResponseIsMultipart(PlatformResponse);
int NumberOfPendingOrLoadingRequests(DocLoader*);
-time_t CacheObjectExpiresTime(DocLoader*, NSURLResponse*);
+time_t CacheObjectExpiresTime(DocLoader*, PlatformResponse);
NSString* HeaderStringFromDictionary(NSDictionary* headers, int statusCode);
}
void Loader::receivedResponse(ResourceLoader* job, PlatformResponse response)
{
-#ifdef __APPLE__
Request* req = m_requestsLoading.get(job);
ASSERT(req);
ASSERT(response);
if (!req->cachedObject()->isImage())
job->cancel();
}
-#endif
}
void Loader::receivedData(ResourceLoader* job, const char* data, int size)
}
}
-bool IsResponseURLEqualToURL(NSURLResponse *response, const String& m_url)
+bool IsResponseURLEqualToURL(PlatformResponse response, const String& m_url)
{
NSURL *responseURL = [(NSURLResponse *)response URL];
NSString *urlString = [responseURL absoluteString];
return !memcmp(buffer.data(), m_url.characters(), length * sizeof(UChar));
}
-DeprecatedString ResponseURL(NSURLResponse *response)
+DeprecatedString ResponseURL(PlatformResponse response)
{
BEGIN_BLOCK_OBJC_EXCEPTIONS;
return NULL;
}
-DeprecatedString ResponseMIMEType(NSURLResponse *response)
+DeprecatedString ResponseMIMEType(PlatformResponse response)
{
BEGIN_BLOCK_OBJC_EXCEPTIONS;
return DeprecatedString::fromNSString([(NSURLResponse *)response MIMEType]);
return DeprecatedString();
}
-bool ResponseIsMultipart(NSURLResponse *response)
+bool ResponseIsMultipart(PlatformResponse response)
{
BEGIN_BLOCK_OBJC_EXCEPTIONS;
return [[response MIMEType] isEqualToString:@"multipart/x-mixed-replace"];
return false;
}
-time_t CacheObjectExpiresTime(DocLoader *docLoader, NSURLResponse *response)
+time_t CacheObjectExpiresTime(DocLoader *docLoader, PlatformResponse response)
{
BEGIN_BLOCK_OBJC_EXCEPTIONS;
return 0;
}
-void CachedResource::setResponse(NSURLResponse *response)
+void CachedResource::setResponse(PlatformResponse response)
{
HardRetain(response);
BEGIN_BLOCK_OBJC_EXCEPTIONS;
m_response = response;
}
-void CachedResource::setAllData(NSData *allData)
+void CachedResource::setAllData(PlatformData allData)
{
HardRetain(allData);
BEGIN_BLOCK_OBJC_EXCEPTIONS;
void CheckCacheObjectStatus(DocLoader*, CachedResource*) { }
bool CheckIfReloading(WebCore::DocLoader*) { return false; }
Vector<char> ServeSynchronousRequest(Loader*, DocLoader*, ResourceLoader*, KURL&, DeprecatedString&) { notImplemented(); return Vector<char>(); }
+time_t CacheObjectExpiresTime(DocLoader*, PlatformResponse*) { return 0; }
+bool ResponseIsMultipart(PlatformResponse*) { return false; }
+DeprecatedString ResponseMIMEType(PlatformResponse) { return DeprecatedString(); }
+bool IsResponseURLEqualToURL(PlatformResponse , const String& URL) { return false; }
+DeprecatedString ResponseURL(PlatformResponse) { return DeprecatedString(); }
+CachedResource::setResponse(PlatformResponse) { notImplemented(); }
+CachedResource::setAllData(PlatformData) { notImplemented(); }
}
bool WebCore::historyContains(DeprecatedString const&) { return false; }
bool CheckIfReloading(WebCore::DocLoader*) { return false; }
void CheckCacheObjectStatus(DocLoader*, CachedResource*) { }
+time_t CacheObjectExpiresTime(DocLoader*, PlatformResponse*) { return 0; }
+bool ResponseIsMultipart(PlatformResponse*) { return false; }
+DeprecatedString ResponseMIMEType(PlatformResponse) { return DeprecatedString(); }
+bool IsResponseURLEqualToURL(PlatformResponse , const String& URL) { return false; }
+DeprecatedString ResponseURL(PlatformResponse) { return DeprecatedString(); }
+CachedResource::setResponse(PlatformResponse) { notImplemented(); }
+CachedResource::setAllData(PlatformData) { notImplemented(); }
}