Title: [94003] trunk/Source/WebCore
Revision
94003
Author
[email protected]
Date
2011-08-29 12:26:46 -0700 (Mon, 29 Aug 2011)

Log Message

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:

Modified Paths

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; }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to