Changeset 96060 in webkit
- Timestamp:
- Sep 26, 2011 6:29:20 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r96054 r96060 1 2011-09-26 Nate Chapin <japhet@chromium.org> 2 3 Clean up CachedResource::load(). Collapse its 4 logic into a single callsite, taking just a 5 CachedResourceLoader and a ResourceLoaderOptions. 6 7 1. Its 'incremental' parameter is redundant. 8 2. With 'incremental' removed, the SecurityCheckPolicy is the only 9 parameter difference between the CachedResource::load() variants. 10 Making it a part of ResourceLoaderOptions removes yet another random 11 enum that is passed around individually. 12 3. We currently have to call setResourceLoaderOptions() before load() on a 13 new CachedResource, so we should just take the ResourceLoaderOptions in load(). 14 15 https://bugs.webkit.org/show_bug.cgi?id=67443 16 17 Reviewed by Antti Koivisto. 18 19 No new tests, refactor only. 20 21 * loader/DocumentThreadableLoader.cpp: 22 * loader/FrameLoaderTypes.h: Move SecurityCheckPolicy to ResourceLoaderOptions.h. 23 * loader/MainResourceLoader.cpp: 24 * loader/NetscapePlugInStreamLoader.cpp: 25 * loader/ResourceLoadScheduler.cpp: 26 * loader/ResourceLoadScheduler.h: 27 * loader/ResourceLoader.cpp: Enforce SecurityCheckPolicy here instead of SubresourceLoader. 28 * loader/ResourceLoaderOptions.h: Store SecurityCheckPolicy on ResourceLoaderOptions. 29 * loader/SubresourceLoader.cpp: 30 * loader/SubresourceLoader.h: 31 * loader/cache/CachedFont.cpp: 32 * loader/cache/CachedFont.h: 33 * loader/cache/CachedImage.cpp: 34 * loader/cache/CachedImage.h: 35 * loader/cache/CachedResource.cpp: 36 * loader/cache/CachedResource.h: 37 * loader/cache/CachedResourceLoader.cpp: 38 (WebCore::defaultCachedResourceOptions): Define the default ResourceLoaderOptions for 39 CachedResource loads here instead of as a default parameter on requestResource(). 40 * loader/cache/CachedResourceLoader.h: 41 * loader/cache/CachedResourceRequest.cpp: 42 (WebCore::CachedResourceRequest::didReceiveData): Remove m_incremental, since its purpose 43 is already enforced in the data() implementation of every CachedResource that doesn't want 44 incremental loads. 45 * loader/cache/CachedResourceRequest.h: 46 1 47 2011-09-26 Joshua Bell <jsbell@chromium.org> 2 48 -
trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp
r95901 r96060 310 310 // Any credential should have been removed from the cross-site requests. 311 311 const KURL& requestURL = request.url(); 312 m_options.securityCheck = securityCheck; 312 313 ASSERT(m_sameOriginRequest || requestURL.user().isEmpty()); 313 314 ASSERT(m_sameOriginRequest || requestURL.pass().isEmpty()); … … 336 337 // Clear the loader so that any callbacks from SubresourceLoader::create will not have the old loader. 337 338 m_loader = 0; 338 m_loader = resourceLoadScheduler()->scheduleSubresourceLoad(m_document->frame(), this, request, ResourceLoadPriorityMedium, securityCheck,options);339 m_loader = resourceLoadScheduler()->scheduleSubresourceLoad(m_document->frame(), this, request, ResourceLoadPriorityMedium, options); 339 340 return; 340 341 } -
trunk/Source/WebCore/loader/FrameLoaderTypes.h
r85256 r96060 104 104 }; 105 105 106 enum SecurityCheckPolicy {107 SkipSecurityCheck,108 DoSecurityCheck109 };110 111 106 // Passed to FrameLoader::urlSelected() and ScriptController::executeIfJavaScriptURL() 112 107 // to control whether, in the case of a JavaScript URL, executeIfJavaScriptURL() should -
trunk/Source/WebCore/loader/MainResourceLoader.cpp
r95919 r96060 61 61 62 62 MainResourceLoader::MainResourceLoader(Frame* frame) 63 : ResourceLoader(frame, ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForCrossOriginCredentials ))63 : ResourceLoader(frame, ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForCrossOriginCredentials, SkipSecurityCheck)) 64 64 , m_dataLoadTimer(this, &MainResourceLoader::handleDataLoadNow) 65 65 , m_loadingMultipartContent(false) -
trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp
r95768 r96060 37 37 38 38 NetscapePlugInStreamLoader::NetscapePlugInStreamLoader(Frame* frame, NetscapePlugInStreamLoaderClient* client) 39 : ResourceLoader(frame, ResourceLoaderOptions(SendCallbacks, SniffContent, DoNotBufferData, AllowStoredCredentials, AskClientForCrossOriginCredentials ))39 : ResourceLoader(frame, ResourceLoaderOptions(SendCallbacks, SniffContent, DoNotBufferData, AllowStoredCredentials, AskClientForCrossOriginCredentials, SkipSecurityCheck)) 40 40 , m_client(client) 41 41 { -
trunk/Source/WebCore/loader/ResourceLoadScheduler.cpp
r95901 r96060 86 86 } 87 87 88 PassRefPtr<SubresourceLoader> ResourceLoadScheduler::scheduleSubresourceLoad(Frame* frame, SubresourceLoaderClient* client, const ResourceRequest& request, ResourceLoadPriority priority, SecurityCheckPolicy securityCheck,const ResourceLoaderOptions& options)89 { 90 RefPtr<SubresourceLoader> loader = SubresourceLoader::create(frame, client, request, securityCheck,options);88 PassRefPtr<SubresourceLoader> ResourceLoadScheduler::scheduleSubresourceLoad(Frame* frame, SubresourceLoaderClient* client, const ResourceRequest& request, ResourceLoadPriority priority, const ResourceLoaderOptions& options) 89 { 90 RefPtr<SubresourceLoader> loader = SubresourceLoader::create(frame, client, request, options); 91 91 if (loader) 92 92 scheduleLoad(loader.get(), priority); -
trunk/Source/WebCore/loader/ResourceLoadScheduler.h
r95901 r96060 52 52 friend ResourceLoadScheduler* resourceLoadScheduler(); 53 53 54 PassRefPtr<SubresourceLoader> scheduleSubresourceLoad(Frame*, SubresourceLoaderClient*, const ResourceRequest&, ResourceLoadPriority, SecurityCheckPolicy,const ResourceLoaderOptions&);54 PassRefPtr<SubresourceLoader> scheduleSubresourceLoad(Frame*, SubresourceLoaderClient*, const ResourceRequest&, ResourceLoadPriority, const ResourceLoaderOptions&); 55 55 PassRefPtr<NetscapePlugInStreamLoader> schedulePluginStreamLoad(Frame*, NetscapePlugInStreamLoaderClient*, const ResourceRequest&); 56 56 void addMainResourceLoad(ResourceLoader*); -
trunk/Source/WebCore/loader/ResourceLoader.cpp
r95919 r96060 114 114 ResourceRequest clientRequest(r); 115 115 116 FrameLoader* frameLoader = m_frame->loader(); 117 if (m_options.securityCheck == DoSecurityCheck && (frameLoader->state() == FrameStateProvisional || !frameLoader->activeDocumentLoader() || frameLoader->activeDocumentLoader()->isStopping())) { 118 releaseResources(); 119 return false; 120 } 121 122 if (m_options.securityCheck == DoSecurityCheck && !m_frame->document()->securityOrigin()->canDisplay(clientRequest.url())) { 123 FrameLoader::reportLocalLoadFailed(m_frame.get(), clientRequest.url().string()); 124 releaseResources(); 125 return false; 126 } 127 116 128 // https://bugs.webkit.org/show_bug.cgi?id=26391 117 129 // The various plug-in implementations call directly to ResourceLoader::load() instead of piping requests -
trunk/Source/WebCore/loader/ResourceLoaderOptions.h
r95901 r96060 50 50 DoNotBufferData 51 51 }; 52 52 53 53 enum ClientCrossOriginCredentialPolicy { 54 54 AskClientForCrossOriginCredentials, … … 56 56 }; 57 57 58 enum SecurityCheckPolicy { 59 SkipSecurityCheck, 60 DoSecurityCheck 61 }; 62 58 63 struct ResourceLoaderOptions { 59 ResourceLoaderOptions() : sendLoadCallbacks(DoNotSendCallbacks), sniffContent(DoNotSniffContent), shouldBufferData(BufferData), allowCredentials(DoNotAllowStoredCredentials), crossOriginCredentialPolicy(DoNotAskClientForCrossOriginCredentials) { }60 ResourceLoaderOptions(SendCallbackPolicy sendLoadCallbacks, ContentSniffingPolicy sniffContent, DataBufferingPolicy shouldBufferData, StoredCredentials allowCredentials, ClientCrossOriginCredentialPolicy crossOriginCredentialPolicy )64 ResourceLoaderOptions() : sendLoadCallbacks(DoNotSendCallbacks), sniffContent(DoNotSniffContent), shouldBufferData(BufferData), allowCredentials(DoNotAllowStoredCredentials), crossOriginCredentialPolicy(DoNotAskClientForCrossOriginCredentials), securityCheck(DoSecurityCheck) { } 65 ResourceLoaderOptions(SendCallbackPolicy sendLoadCallbacks, ContentSniffingPolicy sniffContent, DataBufferingPolicy shouldBufferData, StoredCredentials allowCredentials, ClientCrossOriginCredentialPolicy crossOriginCredentialPolicy, SecurityCheckPolicy securityCheck) 61 66 : sendLoadCallbacks(sendLoadCallbacks) 62 67 , sniffContent(sniffContent) … … 64 69 , allowCredentials(allowCredentials) 65 70 , crossOriginCredentialPolicy(crossOriginCredentialPolicy) 71 , securityCheck(securityCheck) 66 72 { 67 73 } … … 71 77 StoredCredentials allowCredentials; // Whether HTTP credentials and cookies are sent with the request. 72 78 ClientCrossOriginCredentialPolicy crossOriginCredentialPolicy; // Whether we will ask the client for credentials (if we allow credentials at all). 79 SecurityCheckPolicy securityCheck; 73 80 }; 74 81 -
trunk/Source/WebCore/loader/SubresourceLoader.cpp
r95768 r96060 62 62 } 63 63 64 PassRefPtr<SubresourceLoader> SubresourceLoader::create(Frame* frame, SubresourceLoaderClient* client, const ResourceRequest& request, SecurityCheckPolicy securityCheck,const ResourceLoaderOptions& options)64 PassRefPtr<SubresourceLoader> SubresourceLoader::create(Frame* frame, SubresourceLoaderClient* client, const ResourceRequest& request, const ResourceLoaderOptions& options) 65 65 { 66 66 if (!frame) … … 68 68 69 69 FrameLoader* fl = frame->loader(); 70 if (securityCheck == DoSecurityCheck && (fl->state() == FrameStateProvisional || !fl->activeDocumentLoader() || fl->activeDocumentLoader()->isStopping()))71 return 0;72 73 70 ResourceRequest newRequest = request; 74 75 if (securityCheck == DoSecurityCheck && !frame->document()->securityOrigin()->canDisplay(request.url())) {76 FrameLoader::reportLocalLoadFailed(frame, request.url().string());77 return 0;78 }79 71 80 72 // Note: We skip the Content-Security-Policy check here because we check … … 101 93 102 94 RefPtr<SubresourceLoader> subloader(adoptRef(new SubresourceLoader(frame, client, options))); 103 subloader->documentLoader()->addSubresourceLoader(subloader.get());104 95 if (!subloader->init(newRequest)) 105 96 return 0; 97 subloader->documentLoader()->addSubresourceLoader(subloader.get()); 106 98 107 99 return subloader.release(); -
trunk/Source/WebCore/loader/SubresourceLoader.h
r95768 r96060 42 42 class SubresourceLoader : public ResourceLoader { 43 43 public: 44 static PassRefPtr<SubresourceLoader> create(Frame*, SubresourceLoaderClient*, const ResourceRequest&, SecurityCheckPolicy,const ResourceLoaderOptions&);44 static PassRefPtr<SubresourceLoader> create(Frame*, SubresourceLoaderClient*, const ResourceRequest&, const ResourceLoaderOptions&); 45 45 46 46 void clearClient() { m_client = 0; } -
trunk/Source/WebCore/loader/cache/CachedFont.cpp
r95922 r96060 71 71 } 72 72 73 void CachedFont::load(CachedResourceLoader* )73 void CachedFont::load(CachedResourceLoader*, const ResourceLoaderOptions& options) 74 74 { 75 75 // Don't load the file yet. Wait for an access before triggering the load. 76 76 setLoading(true); 77 m_options = options; 77 78 } 78 79 … … 98 99 if (!m_loadInitiated) { 99 100 m_loadInitiated = true; 100 CachedResource::load(dl );101 CachedResource::load(dl, m_options); 101 102 } 102 103 } -
trunk/Source/WebCore/loader/cache/CachedFont.h
r87239 r96060 50 50 virtual ~CachedFont(); 51 51 52 virtual void load(CachedResourceLoader* cachedResourceLoader);52 virtual void load(CachedResourceLoader*, const ResourceLoaderOptions&); 53 53 54 54 virtual void didAddClient(CachedResourceClient*); -
trunk/Source/WebCore/loader/cache/CachedImage.cpp
r95234 r96060 82 82 } 83 83 84 void CachedImage::load(CachedResourceLoader* cachedResourceLoader )84 void CachedImage::load(CachedResourceLoader* cachedResourceLoader, const ResourceLoaderOptions& options) 85 85 { 86 86 if (!cachedResourceLoader || cachedResourceLoader->autoLoadImages()) 87 CachedResource::load(cachedResourceLoader, true, DoSecurityCheck);87 CachedResource::load(cachedResourceLoader, options); 88 88 else 89 89 setLoading(false); -
trunk/Source/WebCore/loader/cache/CachedImage.h
r95103 r96060 43 43 virtual ~CachedImage(); 44 44 45 virtual void load(CachedResourceLoader* cachedResourceLoader);45 virtual void load(CachedResourceLoader*, const ResourceLoaderOptions&); 46 46 47 47 Image* image() const; // Returns the nullImage() if the image is not available yet. -
trunk/Source/WebCore/loader/cache/CachedResource.cpp
r95768 r96060 97 97 , m_type(type) 98 98 , m_status(Pending) 99 , m_options(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForCrossOriginCredentials)100 99 #ifndef NDEBUG 101 100 , m_deleted(false) … … 132 131 } 133 132 134 void CachedResource::load(CachedResourceLoader* cachedResourceLoader, bool incremental, SecurityCheckPolicy securityCheck) 135 { 133 void CachedResource::load(CachedResourceLoader* cachedResourceLoader, const ResourceLoaderOptions& options) 134 { 135 m_options = options; 136 136 m_loading = true; 137 m_request = CachedResourceRequest::load(cachedResourceLoader, this, incremental, securityCheck, m_options);137 m_request = CachedResourceRequest::load(cachedResourceLoader, this, options); 138 138 if (m_request) { 139 139 m_status = Pending; -
trunk/Source/WebCore/loader/cache/CachedResource.h
r94003 r96060 86 86 CachedResource(const ResourceRequest&, Type); 87 87 virtual ~CachedResource(); 88 89 virtual void load(CachedResourceLoader* cachedResourceLoader) { load(cachedResourceLoader, false, DoSecurityCheck); } 90 void load(CachedResourceLoader*, bool incremental, SecurityCheckPolicy); 88 89 virtual void load(CachedResourceLoader*, const ResourceLoaderOptions&); 91 90 92 91 virtual void setEncoding(const String&) { } … … 195 194 bool wasCanceled() const { return m_status == Canceled; } 196 195 bool errorOccurred() const { return (m_status == LoadError || m_status == DecodeError); } 197 198 void setResourceLoaderOptions(const ResourceLoaderOptions& options) { m_options = options; } 196 199 197 bool sendResourceLoadCallbacks() const { return m_options.sendLoadCallbacks == SendCallbacks; } 200 198 … … 243 241 String m_accept; 244 242 OwnPtr<CachedResourceRequest> m_request; 243 ResourceLoaderOptions m_options; 245 244 ResourceLoadPriority m_loadPriority; 246 245 … … 280 279 unsigned m_status : 3; // Status 281 280 282 ResourceLoaderOptions m_options;283 284 281 #ifndef NDEBUG 285 282 bool m_deleted; -
trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp
r95768 r96060 84 84 } 85 85 86 static const ResourceLoaderOptions& defaultCachedResourceOptions() 87 { 88 static ResourceLoaderOptions options(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForCrossOriginCredentials, DoSecurityCheck); 89 return options; 90 } 91 86 92 CachedResourceLoader::CachedResourceLoader(Document* document) 87 93 : m_document(document) … … 134 140 } 135 141 } 136 CachedImage* resource = static_cast<CachedImage*>(requestResource(CachedResource::ImageResource, request, String() ));142 CachedImage* resource = static_cast<CachedImage*>(requestResource(CachedResource::ImageResource, request, String(), defaultCachedResourceOptions())); 137 143 if (autoLoadImages() && resource && resource->stillNeedsLoad()) 138 resource->load(this );144 resource->load(this, defaultCachedResourceOptions()); 139 145 return resource; 140 146 } … … 142 148 CachedFont* CachedResourceLoader::requestFont(ResourceRequest& request) 143 149 { 144 return static_cast<CachedFont*>(requestResource(CachedResource::FontResource, request, String() ));150 return static_cast<CachedFont*>(requestResource(CachedResource::FontResource, request, String(), defaultCachedResourceOptions())); 145 151 } 146 152 147 153 CachedCSSStyleSheet* CachedResourceLoader::requestCSSStyleSheet(ResourceRequest& request, const String& charset, ResourceLoadPriority priority) 148 154 { 149 return static_cast<CachedCSSStyleSheet*>(requestResource(CachedResource::CSSStyleSheet, request, charset, priority));155 return static_cast<CachedCSSStyleSheet*>(requestResource(CachedResource::CSSStyleSheet, request, charset, defaultCachedResourceOptions(), priority)); 150 156 } 151 157 … … 168 174 userSheet->setInCache(true); 169 175 170 userSheet->setResourceLoaderOptions(ResourceLoaderOptions(DoNotSendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForCrossOriginCredentials)); 171 userSheet->load(this, /*incremental*/ false, SkipSecurityCheck); 176 userSheet->load(this, ResourceLoaderOptions(DoNotSendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForCrossOriginCredentials, SkipSecurityCheck)); 172 177 173 178 if (!inCache) … … 179 184 CachedScript* CachedResourceLoader::requestScript(ResourceRequest& request, const String& charset) 180 185 { 181 return static_cast<CachedScript*>(requestResource(CachedResource::Script, request, charset ));186 return static_cast<CachedScript*>(requestResource(CachedResource::Script, request, charset, defaultCachedResourceOptions())); 182 187 } 183 188 … … 185 190 CachedXSLStyleSheet* CachedResourceLoader::requestXSLStyleSheet(ResourceRequest& request) 186 191 { 187 return static_cast<CachedXSLStyleSheet*>(requestResource(CachedResource::XSLStyleSheet, request, String() ));192 return static_cast<CachedXSLStyleSheet*>(requestResource(CachedResource::XSLStyleSheet, request, String(), defaultCachedResourceOptions())); 188 193 } 189 194 #endif … … 194 199 ASSERT(frame()); 195 200 ASSERT(type == CachedResource::LinkPrefetch || type == CachedResource::LinkPrerender || type == CachedResource::LinkSubresource); 196 return requestResource(type, request, String(), priority);201 return requestResource(type, request, String(), defaultCachedResourceOptions(), priority); 197 202 } 198 203 #endif … … 315 320 } 316 321 317 CachedResource* CachedResourceLoader::requestResource(CachedResource::Type type, ResourceRequest& request, const String& charset, ResourceLoadPriority priority, bool forPreload, const ResourceLoaderOptions& options)322 CachedResource* CachedResourceLoader::requestResource(CachedResource::Type type, ResourceRequest& request, const String& charset, const ResourceLoaderOptions& options, ResourceLoadPriority priority, bool forPreload) 318 323 { 319 324 KURL url = request.url(); … … 353 358 break; 354 359 case Revalidate: 355 resource = revalidateResource(resource, priority );360 resource = revalidateResource(resource, priority, options); 356 361 break; 357 362 case Use: … … 370 375 } 371 376 372 CachedResource* CachedResourceLoader::revalidateResource(CachedResource* resource, ResourceLoadPriority priority )377 CachedResource* CachedResourceLoader::revalidateResource(CachedResource* resource, ResourceLoadPriority priority, const ResourceLoaderOptions& options) 373 378 { 374 379 ASSERT(resource); … … 390 395 391 396 newResource->setLoadPriority(priority); 392 newResource->load(this );397 newResource->load(this, options); 393 398 394 399 if (!urlProtocolIsData) … … 413 418 414 419 resource->setLoadPriority(priority); 415 resource->setResourceLoaderOptions(options); 416 resource->load(this); 420 resource->load(this, options); 417 421 418 422 if (!inCache) { … … 552 556 553 557 if (image->stillNeedsLoad()) 554 image->load(this );558 image->load(this, defaultCachedResourceOptions()); 555 559 } 556 560 } … … 682 686 encoding = charset.isEmpty() ? m_document->charset() : charset; 683 687 684 CachedResource* resource = requestResource(type, request, encoding, ResourceLoadPriorityUnresolved, true);688 CachedResource* resource = requestResource(type, request, encoding, defaultCachedResourceOptions(), ResourceLoadPriorityUnresolved, true); 685 689 if (!resource || (m_preloads && m_preloads->contains(resource))) 686 690 return; -
trunk/Source/WebCore/loader/cache/CachedResourceLoader.h
r95768 r96060 110 110 // FIXME: The default value for ResourceLoaderOptions will always be used currently. 111 111 // It is plumbed for http://bugs.webkit.org/show_bug.cgi?id=61225 . 112 CachedResource* requestResource(CachedResource::Type, ResourceRequest&, const String& charset, ResourceLoadPriority = ResourceLoadPriorityUnresolved, bool isPreload = false, const ResourceLoaderOptions& = ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForCrossOriginCredentials));113 CachedResource* revalidateResource(CachedResource*, ResourceLoadPriority );112 CachedResource* requestResource(CachedResource::Type, ResourceRequest&, const String& charset, const ResourceLoaderOptions&, ResourceLoadPriority = ResourceLoadPriorityUnresolved, bool isPreload = false); 113 CachedResource* revalidateResource(CachedResource*, ResourceLoadPriority, const ResourceLoaderOptions&); 114 114 CachedResource* loadResource(CachedResource::Type, ResourceRequest&, const String& charset, ResourceLoadPriority, const ResourceLoaderOptions&); 115 115 void requestPreload(CachedResource::Type, ResourceRequest&, const String& charset); -
trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp
r95580 r96060 75 75 #endif 76 76 77 CachedResourceRequest::CachedResourceRequest(CachedResourceLoader* cachedResourceLoader, CachedResource* resource , bool incremental)77 CachedResourceRequest::CachedResourceRequest(CachedResourceLoader* cachedResourceLoader, CachedResource* resource) 78 78 : m_cachedResourceLoader(cachedResourceLoader) 79 79 , m_resource(resource) 80 , m_incremental(incremental)81 80 , m_multipart(false) 82 81 , m_finishing(false) … … 88 87 } 89 88 90 PassOwnPtr<CachedResourceRequest> CachedResourceRequest::load(CachedResourceLoader* cachedResourceLoader, CachedResource* resource, bool incremental, SecurityCheckPolicy securityCheck,const ResourceLoaderOptions& options)91 { 92 OwnPtr<CachedResourceRequest> request = adoptPtr(new CachedResourceRequest(cachedResourceLoader, resource , incremental));89 PassOwnPtr<CachedResourceRequest> CachedResourceRequest::load(CachedResourceLoader* cachedResourceLoader, CachedResource* resource, const ResourceLoaderOptions& options) 90 { 91 OwnPtr<CachedResourceRequest> request = adoptPtr(new CachedResourceRequest(cachedResourceLoader, resource)); 93 92 94 93 ResourceRequest resourceRequest = resource->resourceRequest(); … … 125 124 resourceRequest.setPriority(priority); 126 125 127 RefPtr<SubresourceLoader> loader = resourceLoadScheduler()->scheduleSubresourceLoad(cachedResourceLoader->document()->frame(), request.get(), resourceRequest, priority, securityCheck,options);126 RefPtr<SubresourceLoader> loader = resourceLoadScheduler()->scheduleSubresourceLoad(cachedResourceLoader->document()->frame(), request.get(), resourceRequest, priority, options); 128 127 if (!loader || loader->reachedTerminalState()) { 129 128 // FIXME: What if resources in other frames were waiting for this revalidation? … … 272 271 RefPtr<SharedBuffer> copiedData = SharedBuffer::create(data, size); 273 272 m_resource->data(copiedData.release(), true); 274 } else if (m_incremental)273 } else 275 274 m_resource->data(loader->resourceData(), false); 276 275 } -
trunk/Source/WebCore/loader/cache/CachedResourceRequest.h
r94003 r96060 44 44 class CachedResourceRequest : private SubresourceLoaderClient { 45 45 public: 46 static PassOwnPtr<CachedResourceRequest> load(CachedResourceLoader*, CachedResource*, bool incremental, SecurityCheckPolicy,const ResourceLoaderOptions&);46 static PassOwnPtr<CachedResourceRequest> load(CachedResourceLoader*, CachedResource*, const ResourceLoaderOptions&); 47 47 ~CachedResourceRequest(); 48 48 … … 50 50 51 51 private: 52 CachedResourceRequest(CachedResourceLoader*, CachedResource* , bool incremental);52 CachedResourceRequest(CachedResourceLoader*, CachedResource*); 53 53 virtual void willSendRequest(SubresourceLoader*, ResourceRequest&, const ResourceResponse&); 54 54 virtual void didReceiveResponse(SubresourceLoader*, const ResourceResponse&); … … 62 62 CachedResourceLoader* m_cachedResourceLoader; 63 63 CachedResource* m_resource; 64 bool m_incremental;65 64 bool m_multipart; 66 65 bool m_finishing; -
trunk/Source/WebCore/loader/icon/IconLoader.cpp
r95768 r96060 73 73 resourceRequest.setPriority(ResourceLoadPriorityLow); 74 74 75 RefPtr<SubresourceLoader> loader = resourceLoadScheduler()->scheduleSubresourceLoad(m_frame, this, resourceRequest, ResourceLoadPriorityLow, DoSecurityCheck, ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials));75 RefPtr<SubresourceLoader> loader = resourceLoadScheduler()->scheduleSubresourceLoad(m_frame, this, resourceRequest, ResourceLoadPriorityLow, ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck)); 76 76 if (!loader) 77 77 LOG_ERROR("Failed to start load for icon at url %s", m_frame->loader()->icon()->url().string().ascii().data());
Note: See TracChangeset
for help on using the changeset viewer.