Diff
Modified: trunk/Source/WebCore/ChangeLog (94002 => 94003)
--- trunk/Source/WebCore/ChangeLog 2011-08-29 19:23:00 UTC (rev 94002)
+++ trunk/Source/WebCore/ChangeLog 2011-08-29 19:26:46 UTC (rev 94003)
@@ -1,3 +1,31 @@
+2011-08-29 Nate Chapin <[email protected]>
+
+ Plumb ResourceLoaderOptions out to CachedResourceLoader::requestResource().
+ This will be needed in order for DocumentThreadableLoader to become a CachedResourceClient.
+ https://bugs.webkit.org/show_bug.cgi?id=66018
+
+ Reviewed by Antti Koivisto.
+
+ No new tests, refactor only.
+
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::load):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::CachedResource):
+ (WebCore::CachedResource::load):
+ * loader/cache/CachedResource.h:
+ (WebCore::CachedResource::load):
+ (WebCore::CachedResource::setResourceLoaderOptions):
+ (WebCore::CachedResource::sendResourceLoadCallbacks):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
+ (WebCore::CachedResourceLoader::requestResource):
+ (WebCore::CachedResourceLoader::loadResource):
+ * loader/cache/CachedResourceLoader.h:
+ * loader/cache/CachedResourceRequest.cpp:
+ (WebCore::CachedResourceRequest::load):
+ * loader/cache/CachedResourceRequest.h:
+
2011-08-29 Chris Palmer <[email protected]>
Fix failures when FFT size is changed.
Modified: trunk/Source/WebCore/loader/cache/CachedImage.cpp (94002 => 94003)
--- trunk/Source/WebCore/loader/cache/CachedImage.cpp 2011-08-29 19:23:00 UTC (rev 94002)
+++ trunk/Source/WebCore/loader/cache/CachedImage.cpp 2011-08-29 19:26:46 UTC (rev 94003)
@@ -84,7 +84,7 @@
void CachedImage::load(CachedResourceLoader* cachedResourceLoader)
{
if (!cachedResourceLoader || cachedResourceLoader->autoLoadImages())
- CachedResource::load(cachedResourceLoader, true, DoSecurityCheck, true);
+ CachedResource::load(cachedResourceLoader, true, DoSecurityCheck);
else
setLoading(false);
}
Modified: trunk/Source/WebCore/loader/cache/CachedResource.cpp (94002 => 94003)
--- trunk/Source/WebCore/loader/cache/CachedResource.cpp 2011-08-29 19:23:00 UTC (rev 94002)
+++ trunk/Source/WebCore/loader/cache/CachedResource.cpp 2011-08-29 19:26:46 UTC (rev 94003)
@@ -92,11 +92,11 @@
, m_preloadResult(PreloadNotReferenced)
, m_inLiveDecodedResourcesList(false)
, m_requestedFromNetworkingLayer(false)
- , m_sendResourceLoadCallbacks(true)
, m_inCache(false)
, m_loading(false)
, m_type(type)
, m_status(Pending)
+ , m_options(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials)
#ifndef NDEBUG
, m_deleted(false)
, m_lruIndex(0)
@@ -131,11 +131,10 @@
m_owningCachedResourceLoader->removeCachedResource(this);
}
-void CachedResource::load(CachedResourceLoader* cachedResourceLoader, bool incremental, SecurityCheckPolicy securityCheck, bool sendResourceLoadCallbacks)
+void CachedResource::load(CachedResourceLoader* cachedResourceLoader, bool incremental, SecurityCheckPolicy securityCheck)
{
- m_sendResourceLoadCallbacks = sendResourceLoadCallbacks;
m_loading = true;
- m_request = CachedResourceRequest::load(cachedResourceLoader, this, incremental, securityCheck, sendResourceLoadCallbacks);
+ m_request = CachedResourceRequest::load(cachedResourceLoader, this, incremental, securityCheck, m_options);
if (m_request) {
m_status = Pending;
cachedResourceLoader->incrementRequestCount(this);
Modified: trunk/Source/WebCore/loader/cache/CachedResource.h (94002 => 94003)
--- trunk/Source/WebCore/loader/cache/CachedResource.h 2011-08-29 19:23:00 UTC (rev 94002)
+++ trunk/Source/WebCore/loader/cache/CachedResource.h 2011-08-29 19:26:46 UTC (rev 94003)
@@ -27,6 +27,7 @@
#include "FrameLoaderTypes.h"
#include "PlatformString.h"
#include "PurgePriority.h"
+#include "ResourceLoaderOptions.h"
#include "ResourceLoadPriority.h"
#include "ResourceRequest.h"
#include "ResourceResponse.h"
@@ -85,8 +86,8 @@
CachedResource(const ResourceRequest&, Type);
virtual ~CachedResource();
- virtual void load(CachedResourceLoader* cachedResourceLoader) { load(cachedResourceLoader, false, DoSecurityCheck, true); }
- void load(CachedResourceLoader*, bool incremental, SecurityCheckPolicy, bool sendResourceLoadCallbacks);
+ virtual void load(CachedResourceLoader* cachedResourceLoader) { load(cachedResourceLoader, false, DoSecurityCheck); }
+ void load(CachedResourceLoader*, bool incremental, SecurityCheckPolicy);
virtual void setEncoding(const String&) { }
virtual String encoding() const { return String(); }
@@ -193,9 +194,10 @@
bool wasCanceled() const { return m_status == Canceled; }
bool errorOccurred() const { return (m_status == LoadError || m_status == DecodeError); }
-
- bool sendResourceLoadCallbacks() const { return m_sendResourceLoadCallbacks; }
+ void setResourceLoaderOptions(const ResourceLoaderOptions& options) { m_options = options; }
+ bool sendResourceLoadCallbacks() const { return m_options.sendLoadCallbacks == SendCallbacks; }
+
virtual void destroyDecodedData() { }
void setOwningCachedResourceLoader(CachedResourceLoader* cachedResourceLoader) { m_owningCachedResourceLoader = cachedResourceLoader; }
@@ -270,7 +272,6 @@
bool m_inLiveDecodedResourcesList : 1;
bool m_requestedFromNetworkingLayer : 1;
- bool m_sendResourceLoadCallbacks : 1;
bool m_inCache : 1;
bool m_loading : 1;
@@ -278,6 +279,8 @@
unsigned m_type : 3; // Type
unsigned m_status : 3; // Status
+ ResourceLoaderOptions m_options;
+
#ifndef NDEBUG
bool m_deleted;
unsigned m_lruIndex;
Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (94002 => 94003)
--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2011-08-29 19:23:00 UTC (rev 94002)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2011-08-29 19:26:46 UTC (rev 94003)
@@ -170,9 +170,10 @@
bool inCache = memoryCache()->add(userSheet);
if (!inCache)
userSheet->setInCache(true);
-
- userSheet->load(this, /*incremental*/ false, SkipSecurityCheck, /*sendResourceLoadCallbacks*/ false);
+ userSheet->setResourceLoaderOptions(ResourceLoaderOptions(DoNotSendCallbacks, SniffContent, BufferData, AllowStoredCredentials));
+ userSheet->load(this, /*incremental*/ false, SkipSecurityCheck);
+
if (!inCache)
userSheet->setInCache(false);
@@ -311,7 +312,7 @@
return true;
}
-CachedResource* CachedResourceLoader::requestResource(CachedResource::Type type, ResourceRequest& request, const String& charset, ResourceLoadPriority priority, bool forPreload)
+CachedResource* CachedResourceLoader::requestResource(CachedResource::Type type, ResourceRequest& request, const String& charset, ResourceLoadPriority priority, bool forPreload, const ResourceLoaderOptions& options)
{
KURL url = ""
@@ -342,11 +343,11 @@
switch (determineRevalidationPolicy(type, request, forPreload, resource)) {
case Load:
- resource = loadResource(type, request, charset, priority);
+ resource = loadResource(type, request, charset, priority, options);
break;
case Reload:
memoryCache()->remove(resource);
- resource = loadResource(type, request, charset, priority);
+ resource = loadResource(type, request, charset, priority, options);
break;
case Revalidate:
resource = revalidateResource(resource, priority);
@@ -393,7 +394,7 @@
return newResource;
}
-CachedResource* CachedResourceLoader::loadResource(CachedResource::Type type, ResourceRequest& request, const String& charset, ResourceLoadPriority priority)
+CachedResource* CachedResourceLoader::loadResource(CachedResource::Type type, ResourceRequest& request, const String& charset, ResourceLoadPriority priority, const ResourceLoaderOptions& options)
{
ASSERT(!memoryCache()->resourceForURL(request.url()));
@@ -409,6 +410,7 @@
resource->setInCache(true);
resource->setLoadPriority(priority);
+ resource->setResourceLoaderOptions(options);
resource->load(this);
if (!inCache) {
Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.h (94002 => 94003)
--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.h 2011-08-29 19:23:00 UTC (rev 94002)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.h 2011-08-29 19:26:46 UTC (rev 94003)
@@ -107,10 +107,12 @@
bool checkInsecureContent(CachedResource::Type, const KURL&) const;
private:
- CachedResource* requestResource(CachedResource::Type, ResourceRequest&, const String& charset, ResourceLoadPriority = ResourceLoadPriorityUnresolved, bool isPreload = false);
- CachedResource* revalidateResource(CachedResource*, ResourceLoadPriority priority);
- CachedResource* loadResource(CachedResource::Type, ResourceRequest&, const String& charset, ResourceLoadPriority);
- void requestPreload(CachedResource::Type, ResourceRequest& url, const String& charset);
+ // FIXME: The default value for ResourceLoaderOptions will always be used currently.
+ // It is plumbed for http://bugs.webkit.org/show_bug.cgi?id=61225 .
+ CachedResource* requestResource(CachedResource::Type, ResourceRequest&, const String& charset, ResourceLoadPriority = ResourceLoadPriorityUnresolved, bool isPreload = false, const ResourceLoaderOptions& = ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials));
+ CachedResource* revalidateResource(CachedResource*, ResourceLoadPriority);
+ CachedResource* loadResource(CachedResource::Type, ResourceRequest&, const String& charset, ResourceLoadPriority, const ResourceLoaderOptions&);
+ void requestPreload(CachedResource::Type, ResourceRequest&, const String& charset);
enum RevalidationPolicy { Use, Revalidate, Reload, Load };
RevalidationPolicy determineRevalidationPolicy(CachedResource::Type, ResourceRequest&, bool forPreload, CachedResource* existingResource) const;
Modified: trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp (94002 => 94003)
--- trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp 2011-08-29 19:23:00 UTC (rev 94002)
+++ trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp 2011-08-29 19:26:46 UTC (rev 94003)
@@ -87,7 +87,7 @@
{
}
-PassOwnPtr<CachedResourceRequest> CachedResourceRequest::load(CachedResourceLoader* cachedResourceLoader, CachedResource* resource, bool incremental, SecurityCheckPolicy securityCheck, bool sendResourceLoadCallbacks)
+PassOwnPtr<CachedResourceRequest> CachedResourceRequest::load(CachedResourceLoader* cachedResourceLoader, CachedResource* resource, bool incremental, SecurityCheckPolicy securityCheck, const ResourceLoaderOptions& options)
{
OwnPtr<CachedResourceRequest> request = adoptPtr(new CachedResourceRequest(cachedResourceLoader, resource, incremental));
@@ -124,8 +124,7 @@
ResourceLoadPriority priority = resource->loadPriority();
resourceRequest.setPriority(priority);
- RefPtr<SubresourceLoader> loader = resourceLoadScheduler()->scheduleSubresourceLoad(cachedResourceLoader->document()->frame(), request.get(), resourceRequest, priority, securityCheck,
- ResourceLoaderOptions(sendResourceLoadCallbacks ? SendCallbacks : DoNotSendCallbacks, SniffContent, BufferData, AllowStoredCredentials));
+ RefPtr<SubresourceLoader> loader = resourceLoadScheduler()->scheduleSubresourceLoad(cachedResourceLoader->document()->frame(), request.get(), resourceRequest, priority, securityCheck, options);
if (!loader || loader->reachedTerminalState()) {
// FIXME: What if resources in other frames were waiting for this revalidation?
LOG(ResourceLoading, "Cannot start loading '%s'", resource->url().string().latin1().data());
Modified: trunk/Source/WebCore/loader/cache/CachedResourceRequest.h (94002 => 94003)
--- trunk/Source/WebCore/loader/cache/CachedResourceRequest.h 2011-08-29 19:23:00 UTC (rev 94002)
+++ trunk/Source/WebCore/loader/cache/CachedResourceRequest.h 2011-08-29 19:26:46 UTC (rev 94003)
@@ -23,6 +23,8 @@
#define CachedResourceRequest_h
#include "FrameLoaderTypes.h"
+#include "ResourceHandle.h"
+#include "ResourceLoaderOptions.h"
#include "SubresourceLoaderClient.h"
#include <wtf/HashMap.h>
#include <wtf/Noncopyable.h>
@@ -41,7 +43,7 @@
class CachedResourceRequest : private SubresourceLoaderClient {
public:
- static PassOwnPtr<CachedResourceRequest> load(CachedResourceLoader*, CachedResource*, bool incremental, SecurityCheckPolicy, bool sendResourceLoadCallbacks);
+ static PassOwnPtr<CachedResourceRequest> load(CachedResourceLoader*, CachedResource*, bool incremental, SecurityCheckPolicy, const ResourceLoaderOptions&);
~CachedResourceRequest();
CachedResourceLoader* cachedResourceLoader() const { return m_cachedResourceLoader; }