Changeset 132157 in webkit
- Timestamp:
- Oct 22, 2012 4:35:28 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 added
- 27 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r132009 r132157 1683 1683 loader/cache/CachedResourceHandle.cpp 1684 1684 loader/cache/CachedResourceLoader.cpp 1685 loader/cache/CachedResourceRequest.cpp 1685 1686 loader/cache/CachedScript.cpp 1686 1687 loader/cache/CachedShader.cpp -
trunk/Source/WebCore/ChangeLog
r132156 r132157 1 2012-10-22 Marja Hölttä <marja@chromium.org> 2 3 Refactor CachedResourceLoader: add CachedResourceRequest 4 https://bugs.webkit.org/show_bug.cgi?id=99736 5 6 Reviewed by Adam Barth. 7 8 For fixing bugs 84883 and 92761, 9 CachedResourceLoader::requestResource should take as parameter 10 information about who initiated the request. But the parameter 11 list was already long. This gathers all the parameters into a 12 separate class, CachedResourceRequest. The next step is to add 13 information about who initiated the request into 14 CachedResourceRequest. 15 16 No new tests because no changes in functionality, just moving code 17 around. 18 19 * CMakeLists.txt: 20 * GNUmakefile.list.am: 21 * Target.pri: 22 * WebCore.gypi: 23 * WebCore.vcproj/WebCore.vcproj: 24 * WebCore.xcodeproj/project.pbxproj: 25 * css/CSSFontFaceSrcValue.cpp: 26 (WebCore::CSSFontFaceSrcValue::cachedFont): 27 * css/CSSImageSetValue.cpp: 28 (WebCore::CSSImageSetValue::cachedImageSet): 29 * css/CSSImageValue.cpp: 30 (WebCore::CSSImageValue::cachedImage): 31 * css/StyleRuleImport.cpp: 32 (WebCore::StyleRuleImport::requestStyleSheet): 33 * css/WebKitCSSSVGDocumentValue.cpp: 34 (WebCore::WebKitCSSSVGDocumentValue::load): 35 * css/WebKitCSSShaderValue.cpp: 36 (WebCore::WebKitCSSShaderValue::cachedShader): 37 * dom/ProcessingInstruction.cpp: 38 (WebCore::ProcessingInstruction::checkStyleSheet): 39 * dom/ScriptElement.cpp: 40 (WebCore::ScriptElement::requestScript): 41 * html/HTMLLinkElement.cpp: 42 (WebCore::HTMLLinkElement::process): 43 * loader/DocumentThreadableLoader.cpp: 44 (WebCore::DocumentThreadableLoader::loadRequest): 45 * loader/ImageLoader.cpp: 46 (WebCore::ImageLoader::updateFromElement): 47 * loader/LinkLoader.cpp: 48 (WebCore::LinkLoader::loadLink): 49 * loader/TextTrackLoader.cpp: 50 (WebCore::TextTrackLoader::load): 51 * loader/cache/CachedResourceLoader.cpp: 52 (WebCore::CachedResourceLoader::requestImage): 53 (WebCore::CachedResourceLoader::requestFont): 54 (WebCore::CachedResourceLoader::requestTextTrack): 55 (WebCore::CachedResourceLoader::requestShader): 56 (WebCore::CachedResourceLoader::requestCSSStyleSheet): 57 (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): 58 (WebCore::CachedResourceLoader::requestScript): 59 (WebCore::CachedResourceLoader::requestXSLStyleSheet): 60 (WebCore::CachedResourceLoader::requestSVGDocument): 61 (WebCore::CachedResourceLoader::requestLinkResource): 62 (WebCore::CachedResourceLoader::requestRawResource): 63 (WebCore::CachedResourceLoader::requestResource): 64 (WebCore::CachedResourceLoader::requestPreload): 65 (WebCore::CachedResourceLoader::defaultCachedResourceOptions): 66 (WebCore): 67 * loader/cache/CachedResourceLoader.h: 68 (WebCore): 69 (CachedResourceLoader): 70 * loader/cache/CachedResourceRequest.cpp: Added. 71 (WebCore): 72 (WebCore::CachedResourceRequest::CachedResourceRequest): 73 * loader/cache/CachedResourceRequest.h: Added. 74 (WebCore): 75 (CachedResourceRequest): 76 (WebCore::CachedResourceRequest::mutableResourceRequest): 77 (WebCore::CachedResourceRequest::resourceRequest): 78 (WebCore::CachedResourceRequest::charset): 79 (WebCore::CachedResourceRequest::setCharset): 80 (WebCore::CachedResourceRequest::options): 81 (WebCore::CachedResourceRequest::priority): 82 (WebCore::CachedResourceRequest::forPreload): 83 (WebCore::CachedResourceRequest::setForPreload): 84 (WebCore::CachedResourceRequest::defer): 85 (WebCore::CachedResourceRequest::setDefer): 86 * loader/icon/IconLoader.cpp: 87 (WebCore::IconLoader::startLoading): 88 * svg/SVGFEImageElement.cpp: 89 (WebCore::SVGFEImageElement::requestImageResource): 90 * svg/SVGFontFaceUriElement.cpp: 91 (WebCore::SVGFontFaceUriElement::loadFont): 92 * svg/SVGUseElement.cpp: 93 (WebCore::SVGUseElement::svgAttributeChanged): 94 * xml/XSLImportRule.cpp: 95 (WebCore::XSLImportRule::loadSheet): 96 1 97 2012-10-22 Adam Barth <abarth@webkit.org> 2 98 -
trunk/Source/WebCore/GNUmakefile.list.am
r132009 r132157 3846 3846 Source/WebCore/loader/cache/CachedResourceLoader.cpp \ 3847 3847 Source/WebCore/loader/cache/CachedResourceLoader.h \ 3848 Source/WebCore/loader/cache/CachedResourceRequest.cpp \ 3849 Source/WebCore/loader/cache/CachedResourceRequest.h \ 3848 3850 Source/WebCore/loader/cache/CachedScript.cpp \ 3849 3851 Source/WebCore/loader/cache/CachedScript.h \ -
trunk/Source/WebCore/Target.pri
r132074 r132157 818 818 loader/CrossOriginPreflightResultCache.cpp \ 819 819 loader/cache/CachedResourceLoader.cpp \ 820 loader/cache/CachedResourceRequest.cpp \ 820 821 loader/DocumentLoadTiming.cpp \ 821 822 loader/DocumentLoader.cpp \ -
trunk/Source/WebCore/WebCore.gypi
r132102 r132157 207 207 'loader/cache/CachedResourceHandle.h', 208 208 'loader/cache/CachedResourceLoader.h', 209 'loader/cache/CachedResourceRequest.h', 209 210 'loader/cache/CachedShader.h', 210 211 'loader/cache/CachedStyleSheetClient.h', … … 3064 3065 'loader/cache/CachedResourceHandle.cpp', 3065 3066 'loader/cache/CachedResourceLoader.cpp', 3067 'loader/cache/CachedResourceRequest.cpp', 3066 3068 'loader/cache/CachedScript.cpp', 3067 3069 'loader/cache/CachedScript.h', -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r132087 r132157 28195 28195 </File> 28196 28196 <File 28197 RelativePath="..\loader\cache\CachedResourceRequest.cpp" 28198 > 28199 </File> 28200 <File 28201 RelativePath="..\loader\cache\CachedResourceRequest.h" 28202 > 28203 </File> 28204 <File 28197 28205 RelativePath="..\loader\cache\CachedScript.cpp" 28198 28206 > -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r132009 r132157 1492 1492 503D0CAC14B5B08700F32F57 /* CustomFilterProgramClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 503D0CA914B5B08700F32F57 /* CustomFilterProgramClient.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1493 1493 503D0CAE14B5B0BA00F32F57 /* StyleCustomFilterProgram.h in Headers */ = {isa = PBXBuildFile; fileRef = 503D0CAD14B5B0BA00F32F57 /* StyleCustomFilterProgram.h */; settings = {ATTRIBUTES = (); }; }; 1494 5081E3C33CE580C16EF8B48B /* CachedResourceRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5081E3DF3CFC80C16EF8B48B /* CachedResourceRequest.cpp */; }; 1495 5081E3E03CFF80C16EF8B48B /* CachedResourceRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 5081E3E13D0280C16EF8B48B /* CachedResourceRequest.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1494 1496 508CCA4F13CF106B003151F3 /* RenderFlowThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 508CCA4D13CF106B003151F3 /* RenderFlowThread.h */; }; 1495 1497 508CCA5013CF106B003151F3 /* RenderFlowThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 508CCA4E13CF106B003151F3 /* RenderFlowThread.cpp */; }; … … 12964 12966 BCB16C100979C3BD00467741 /* CachedResourceLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CachedResourceLoader.cpp; sourceTree = "<group>"; }; 12965 12967 BCB16C110979C3BD00467741 /* CachedResourceLoader.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CachedResourceLoader.h; sourceTree = "<group>"; }; 12968 5081E3DF3CFC80C16EF8B48B /* CachedResourceRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CachedResourceRequest.cpp; sourceTree = "<group>"; }; 12969 5081E3E13D0280C16EF8B48B /* CachedResourceRequest.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CachedResourceRequest.h; sourceTree = "<group>"; }; 12966 12970 BCB7735E0C17853D00132BA4 /* JSNodeFilterCondition.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSNodeFilterCondition.cpp; sourceTree = "<group>"; }; 12967 12971 BCB7735F0C17853D00132BA4 /* JSNodeFilterCondition.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSNodeFilterCondition.h; sourceTree = "<group>"; }; … … 19205 19209 BCB16C100979C3BD00467741 /* CachedResourceLoader.cpp */, 19206 19210 BCB16C110979C3BD00467741 /* CachedResourceLoader.h */, 19211 5081E3DF3CFC80C16EF8B48B /* CachedResourceRequest.cpp */, 19212 5081E3E13D0280C16EF8B48B /* CachedResourceRequest.h */, 19207 19213 BCB16C0A0979C3BD00467741 /* CachedScript.cpp */, 19208 19214 BCB16C0B0979C3BD00467741 /* CachedScript.h */, … … 22502 22508 E47B4BE80E71241600038854 /* CachedResourceHandle.h in Headers */, 22503 22509 BCB16C2A0979C3BD00467741 /* CachedResourceLoader.h in Headers */, 22510 5081E3E03CFF80C16EF8B48B /* CachedResourceRequest.h in Headers */, 22504 22511 BCB16C240979C3BD00467741 /* CachedScript.h in Headers */, 22505 22512 BCD533640ED6848900887468 /* CachedScriptSourceProvider.h in Headers */, … … 26125 26132 E47B4BE90E71241600038854 /* CachedResourceHandle.cpp in Sources */, 26126 26133 BCB16C290979C3BD00467741 /* CachedResourceLoader.cpp in Sources */, 26134 5081E3C33CE580C16EF8B48B /* CachedResourceRequest.cpp in Sources */, 26127 26135 BCB16C230979C3BD00467741 /* CachedScript.cpp in Sources */, 26128 26136 5038BE401472AD980095E0D1 /* CachedShader.cpp in Sources */, -
trunk/Source/WebCore/css/CSSFontFaceSrcValue.cpp
r128762 r132157 28 28 #include "CachedFont.h" 29 29 #include "CachedResourceLoader.h" 30 #include "CachedResourceRequest.h" 30 31 #include "Document.h" 31 32 #include "FontCustomPlatformData.h" … … 96 97 { 97 98 if (!m_cachedFont) { 98 ResourceRequest request(document->completeURL(m_resource));99 CachedResourceRequest request(ResourceRequest(document->completeURL(m_resource))); 99 100 m_cachedFont = document->cachedResourceLoader()->requestFont(request); 100 101 } … … 114 115 115 116 } 116 -
trunk/Source/WebCore/css/CSSImageSetValue.cpp
r129466 r132157 33 33 #include "CachedImage.h" 34 34 #include "CachedResourceLoader.h" 35 #include "CachedResourceRequest.h" 35 36 #include "Document.h" 36 37 #include "Page.h" … … 109 110 // and any CSS transforms. https://bugs.webkit.org/show_bug.cgi?id=81698 110 111 ImageWithScale image = bestImageForScaleFactor(); 111 ResourceRequest request(loader->document()->completeURL(image.imageURL));112 CachedResourceRequest request(ResourceRequest(loader->document()->completeURL(image.imageURL))); 112 113 if (CachedResourceHandle<CachedImage> cachedImage = loader->requestImage(request)) { 113 114 m_imageSet = StyleCachedImageSet::create(cachedImage.get(), image.scaleFactor, this); -
trunk/Source/WebCore/css/CSSImageValue.cpp
r128762 r132157 27 27 #include "CachedImage.h" 28 28 #include "CachedResourceLoader.h" 29 #include "CachedResourceRequest.h" 29 30 #include "Document.h" 30 31 #include "MemoryCache.h" … … 83 84 m_accessedImage = true; 84 85 85 ResourceRequest request(loader->document()->completeURL(url));86 CachedResourceRequest request(ResourceRequest(loader->document()->completeURL(url))); 86 87 if (CachedResourceHandle<CachedImage> cachedImage = loader->requestImage(request)) 87 88 m_image = StyleCachedImage::create(cachedImage.get()); -
trunk/Source/WebCore/css/StyleRuleImport.cpp
r128762 r132157 26 26 #include "CachedCSSStyleSheet.h" 27 27 #include "CachedResourceLoader.h" 28 #include "CachedResourceRequest.h" 28 29 #include "Document.h" 29 30 #include "SecurityOrigin.h" … … 116 117 } 117 118 118 ResourceRequest request(absURL);119 CachedResourceRequest request(ResourceRequest(absURL), m_parentStyleSheet->charset()); 119 120 if (m_parentStyleSheet->isUserStyleSheet()) 120 m_cachedSheet = cachedResourceLoader->requestUserCSSStyleSheet(request , m_parentStyleSheet->charset());121 m_cachedSheet = cachedResourceLoader->requestUserCSSStyleSheet(request); 121 122 else 122 m_cachedSheet = cachedResourceLoader->requestCSSStyleSheet(request , m_parentStyleSheet->charset());123 m_cachedSheet = cachedResourceLoader->requestCSSStyleSheet(request); 123 124 if (m_cachedSheet) { 124 125 // if the import rule is issued dynamically, the sheet may be -
trunk/Source/WebCore/css/WebKitCSSSVGDocumentValue.cpp
r128762 r132157 30 30 #include "CSSParser.h" 31 31 #include "CachedResourceLoader.h" 32 #include "CachedResourceRequest.h" 32 33 #include "Document.h" 33 34 #include "WebCoreMemoryInstrumentation.h" … … 53 54 m_loadRequested = true; 54 55 55 ResourceRequest request(loader->document()->completeURL(m_url));56 CachedResourceRequest request(ResourceRequest(loader->document()->completeURL(m_url))); 56 57 m_document = loader->requestSVGDocument(request); 57 58 } -
trunk/Source/WebCore/css/WebKitCSSShaderValue.cpp
r128762 r132157 33 33 #include "WebKitCSSShaderValue.h" 34 34 35 #include "CSSParser.h" 35 36 #include "CachedResourceLoader.h" 36 #include "C SSParser.h"37 #include "CachedResourceRequest.h" 37 38 #include "Document.h" 38 39 #include "StyleCachedShader.h" … … 60 61 m_accessedShader = true; 61 62 62 ResourceRequest request(loader->document()->completeURL(m_url));63 CachedResourceRequest request(ResourceRequest(loader->document()->completeURL(m_url))); 63 64 if (CachedResourceHandle<CachedShader> cachedShader = loader->requestShader(request)) 64 65 m_shader = StyleCachedShader::create(cachedShader.get()); -
trunk/Source/WebCore/dom/ProcessingInstruction.cpp
r130612 r132157 25 25 #include "CachedCSSStyleSheet.h" 26 26 #include "CachedResourceLoader.h" 27 #include "CachedResourceRequest.h" 27 28 #include "CachedXSLStyleSheet.h" 28 29 #include "Document.h" … … 164 165 document()->styleSheetCollection()->addPendingSheet(); 165 166 166 ResourceRequest request(document()->completeURL(href));167 CachedResourceRequest request(ResourceRequest(document()->completeURL(href))); 167 168 #if ENABLE(XSLT) 168 169 if (m_isXSL) … … 174 175 if (charset.isEmpty()) 175 176 charset = document()->charset(); 176 177 m_cachedSheet = document()->cachedResourceLoader()->requestCSSStyleSheet(request, charset); 177 request.setCharset(charset); 178 179 m_cachedSheet = document()->cachedResourceLoader()->requestCSSStyleSheet(request); 178 180 } 179 181 if (m_cachedSheet) -
trunk/Source/WebCore/dom/ScriptElement.cpp
r126968 r132157 27 27 #include "CachedScript.h" 28 28 #include "CachedResourceLoader.h" 29 #include "CachedResourceRequest.h" 29 30 #include "ContentSecurityPolicy.h" 30 31 #include "CrossOriginAccessControl.h" … … 257 258 ASSERT(!m_cachedScript); 258 259 if (!stripLeadingAndTrailingHTMLSpaces(sourceUrl).isEmpty()) { 259 ResourceRequest request = ResourceRequest(m_element->document()->completeURL(sourceUrl));260 CachedResourceRequest request(ResourceRequest(m_element->document()->completeURL(sourceUrl))); 260 261 261 262 String crossOriginMode = m_element->fastGetAttribute(HTMLNames::crossoriginAttr); … … 263 264 m_requestUsesAccessControl = true; 264 265 StoredCredentials allowCredentials = equalIgnoringCase(crossOriginMode, "use-credentials") ? AllowStoredCredentials : DoNotAllowStoredCredentials; 265 updateRequestForAccessControl(request , m_element->document()->securityOrigin(), allowCredentials);266 updateRequestForAccessControl(request.mutableResourceRequest(), m_element->document()->securityOrigin(), allowCredentials); 266 267 } 267 268 m_cachedScript = m_element->document()->cachedResourceLoader()->requestScript(request, scriptCharset()); 268 request.setCharset(scriptCharset()); 269 270 m_cachedScript = m_element->document()->cachedResourceLoader()->requestScript(request); 269 271 m_isExternalScript = true; 270 272 } -
trunk/Source/WebCore/html/HTMLLinkElement.cpp
r129423 r132157 30 30 #include "CachedResource.h" 31 31 #include "CachedResourceLoader.h" 32 #include "CachedResourceRequest.h" 32 33 #include "Document.h" 33 34 #include "DocumentStyleSheetCollection.h" … … 221 222 // Load stylesheets that are not needed for the rendering immediately with low priority. 222 223 ResourceLoadPriority priority = blocking ? ResourceLoadPriorityUnresolved : ResourceLoadPriorityVeryLow; 223 ResourceRequest request(document()->completeURL(m_url));224 m_cachedSheet = document()->cachedResourceLoader()->requestCSSStyleSheet(request , charset, priority);224 CachedResourceRequest request(ResourceRequest(document()->completeURL(m_url)), charset, priority); 225 m_cachedSheet = document()->cachedResourceLoader()->requestCSSStyleSheet(request); 225 226 226 227 if (m_cachedSheet) -
trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp
r128586 r132157 34 34 #include "CachedRawResource.h" 35 35 #include "CachedResourceLoader.h" 36 #include "CachedResourceRequest.h" 36 37 #include "CrossOriginAccessControl.h" 37 38 #include "CrossOriginPreflightResultCache.h" … … 377 378 } 378 379 379 ResourceRequest newRequest(request);380 CachedResourceRequest newRequest(request, options); 380 381 #if ENABLE(INSPECTOR) 381 382 if (m_actualRequest) { … … 383 384 m_preflightRequestIdentifier = m_document->frame()->page()->progress()->createUniqueIdentifier(); 384 385 ResourceResponse redirectResponse = ResourceResponse(); 385 InspectorInstrumentation::willSendRequest(m_document->frame(), m_preflightRequestIdentifier, m_document->frame()->loader()->documentLoader(), newRequest , redirectResponse);386 InspectorInstrumentation::willSendRequest(m_document->frame(), m_preflightRequestIdentifier, m_document->frame()->loader()->documentLoader(), newRequest.mutableResourceRequest(), redirectResponse); 386 387 } 387 388 #endif 388 389 ASSERT(!m_resource); 389 m_resource = m_document->cachedResourceLoader()->requestRawResource(newRequest , options);390 m_resource = m_document->cachedResourceLoader()->requestRawResource(newRequest); 390 391 if (m_resource) { 391 392 #if ENABLE(INSPECTOR) -
trunk/Source/WebCore/loader/ImageLoader.cpp
r131670 r132157 25 25 #include "CachedImage.h" 26 26 #include "CachedResourceLoader.h" 27 #include "CachedResourceRequest.h" 27 28 #include "CrossOriginAccessControl.h" 28 29 #include "Document.h" … … 178 179 CachedResourceHandle<CachedImage> newImage = 0; 179 180 if (!attr.isNull() && !stripLeadingAndTrailingHTMLSpaces(attr).isEmpty()) { 180 ResourceRequest request = ResourceRequest(document()->completeURL(sourceURI(attr)));181 CachedResourceRequest request(ResourceRequest(document()->completeURL(sourceURI(attr)))); 181 182 182 183 String crossOriginMode = client()->sourceElement()->fastGetAttribute(HTMLNames::crossoriginAttr); 183 184 if (!crossOriginMode.isNull()) { 184 185 StoredCredentials allowCredentials = equalIgnoringCase(crossOriginMode, "use-credentials") ? AllowStoredCredentials : DoNotAllowStoredCredentials; 185 updateRequestForAccessControl(request , document()->securityOrigin(), allowCredentials);186 updateRequestForAccessControl(request.mutableResourceRequest(), document()->securityOrigin(), allowCredentials); 186 187 } 187 188 … … 189 190 bool autoLoadOtherImages = document()->cachedResourceLoader()->autoLoadImages(); 190 191 document()->cachedResourceLoader()->setAutoLoadImages(false); 191 newImage = new CachedImage(request );192 newImage = new CachedImage(request.resourceRequest()); 192 193 newImage->setLoading(true); 193 194 newImage->setOwningCachedResourceLoader(document()->cachedResourceLoader()); -
trunk/Source/WebCore/loader/LinkLoader.cpp
r117029 r132157 36 36 #include "CachedCSSStyleSheet.h" 37 37 #include "CachedResourceLoader.h" 38 #include "CachedResourceRequest.h" 38 39 #include "ContainerNode.h" 39 40 #include "DNS.h" … … 120 121 type = CachedResource::LinkSubresource; 121 122 } 122 ResourceRequest linkRequest(document->completeURL(href));123 CachedResourceRequest linkRequest(ResourceRequest(document->completeURL(href)), priority); 123 124 124 125 if (m_cachedLinkResource) { … … 126 127 m_cachedLinkResource = 0; 127 128 } 128 m_cachedLinkResource = document->cachedResourceLoader()->requestLinkResource(type, linkRequest , priority);129 m_cachedLinkResource = document->cachedResourceLoader()->requestLinkResource(type, linkRequest); 129 130 if (m_cachedLinkResource) 130 131 m_cachedLinkResource->addClient(this); -
trunk/Source/WebCore/loader/TextTrackLoader.cpp
r130947 r132157 31 31 32 32 #include "CachedResourceLoader.h" 33 #include "CachedResourceRequest.h" 33 34 #include "CachedTextTrack.h" 34 35 #include "CrossOriginAccessControl.h" … … 154 155 ASSERT(m_scriptExecutionContext->isDocument()); 155 156 Document* document = static_cast<Document*>(m_scriptExecutionContext); 156 ResourceRequest cueRequest(document->completeURL(url));157 CachedResourceRequest cueRequest(ResourceRequest(document->completeURL(url))); 157 158 158 159 if (!crossOriginMode.isNull()) { 159 160 m_crossOriginMode = crossOriginMode; 160 161 StoredCredentials allowCredentials = equalIgnoringCase(crossOriginMode, "use-credentials") ? AllowStoredCredentials : DoNotAllowStoredCredentials; 161 updateRequestForAccessControl(cueRequest , document->securityOrigin(), allowCredentials);162 updateRequestForAccessControl(cueRequest.mutableResourceRequest(), document->securityOrigin(), allowCredentials); 162 163 } else { 163 164 // Cross-origin resources that are not suitably CORS-enabled may not load. -
trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp
r131782 r132157 33 33 #include "CachedImage.h" 34 34 #include "CachedRawResource.h" 35 #include "CachedResourceRequest.h" 35 36 #include "CachedScript.h" 36 37 #include "CachedXSLStyleSheet.h" … … 108 109 } 109 110 110 static const ResourceLoaderOptions& defaultCachedResourceOptions()111 {112 static ResourceLoaderOptions options(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForCrossOriginCredentials, DoSecurityCheck);113 return options;114 }115 116 111 CachedResourceLoader::CachedResourceLoader(DocumentLoader* documentLoader) 117 112 : m_document(0) … … 156 151 } 157 152 158 CachedResourceHandle<CachedImage> CachedResourceLoader::requestImage( ResourceRequest& request)153 CachedResourceHandle<CachedImage> CachedResourceLoader::requestImage(CachedResourceRequest& request) 159 154 { 160 155 if (Frame* f = frame()) { 161 156 if (f->loader()->pageDismissalEventBeingDispatched() != FrameLoader::NoDismissal) { 162 KURL requestURL = request. url();157 KURL requestURL = request.resourceRequest().url(); 163 158 if (requestURL.isValid() && canRequest(CachedResource::ImageResource, requestURL)) 164 159 PingLoader::loadImage(f, requestURL); … … 166 161 } 167 162 } 168 return static_cast<CachedImage*>(requestResource(CachedResource::ImageResource, request, String(), defaultCachedResourceOptions(), ResourceLoadPriorityUnresolved, false, clientDefersImage(request.url()) ? DeferredByClient : NoDefer).get()); 169 } 170 171 CachedResourceHandle<CachedFont> CachedResourceLoader::requestFont(ResourceRequest& request) 172 { 173 return static_cast<CachedFont*>(requestResource(CachedResource::FontResource, request, String(), defaultCachedResourceOptions()).get()); 163 request.setDefer(clientDefersImage(request.resourceRequest().url()) ? DeferredByClient : NoDefer); 164 return static_cast<CachedImage*>(requestResource(CachedResource::ImageResource, request).get()); 165 } 166 167 CachedResourceHandle<CachedFont> CachedResourceLoader::requestFont(CachedResourceRequest& request) 168 { 169 return static_cast<CachedFont*>(requestResource(CachedResource::FontResource, request).get()); 174 170 } 175 171 176 172 #if ENABLE(VIDEO_TRACK) 177 CachedResourceHandle<CachedTextTrack> CachedResourceLoader::requestTextTrack( ResourceRequest& request)178 { 179 return static_cast<CachedTextTrack*>(requestResource(CachedResource::TextTrackResource, request , String(), defaultCachedResourceOptions()).get());173 CachedResourceHandle<CachedTextTrack> CachedResourceLoader::requestTextTrack(CachedResourceRequest& request) 174 { 175 return static_cast<CachedTextTrack*>(requestResource(CachedResource::TextTrackResource, request).get()); 180 176 } 181 177 #endif 182 178 183 179 #if ENABLE(CSS_SHADERS) 184 CachedResourceHandle<CachedShader> CachedResourceLoader::requestShader( ResourceRequest& request)185 { 186 return static_cast<CachedShader*>(requestResource(CachedResource::ShaderResource, request , String(), defaultCachedResourceOptions()).get());187 } 188 #endif 189 190 CachedResourceHandle<CachedCSSStyleSheet> CachedResourceLoader::requestCSSStyleSheet( ResourceRequest& request, const String& charset, ResourceLoadPriority priority)191 { 192 return static_cast<CachedCSSStyleSheet*>(requestResource(CachedResource::CSSStyleSheet, request , charset, defaultCachedResourceOptions(), priority).get());193 } 194 195 CachedResourceHandle<CachedCSSStyleSheet> CachedResourceLoader::requestUserCSSStyleSheet( ResourceRequest& request, const String& charset)196 { 197 KURL url = MemoryCache::removeFragmentIdentifierIfNeeded(request. url());180 CachedResourceHandle<CachedShader> CachedResourceLoader::requestShader(CachedResourceRequest& request) 181 { 182 return static_cast<CachedShader*>(requestResource(CachedResource::ShaderResource, request).get()); 183 } 184 #endif 185 186 CachedResourceHandle<CachedCSSStyleSheet> CachedResourceLoader::requestCSSStyleSheet(CachedResourceRequest& request) 187 { 188 return static_cast<CachedCSSStyleSheet*>(requestResource(CachedResource::CSSStyleSheet, request).get()); 189 } 190 191 CachedResourceHandle<CachedCSSStyleSheet> CachedResourceLoader::requestUserCSSStyleSheet(CachedResourceRequest& request) 192 { 193 KURL url = MemoryCache::removeFragmentIdentifierIfNeeded(request.resourceRequest().url()); 198 194 199 195 if (CachedResource* existing = memoryCache()->resourceForURL(url)) { … … 202 198 memoryCache()->remove(existing); 203 199 } 204 if (url.string() != request. url())205 request. setURL(url);206 207 CachedResourceHandle<CachedCSSStyleSheet> userSheet = new CachedCSSStyleSheet(request , charset);200 if (url.string() != request.resourceRequest().url()) 201 request.mutableResourceRequest().setURL(url); 202 203 CachedResourceHandle<CachedCSSStyleSheet> userSheet = new CachedCSSStyleSheet(request.resourceRequest(), request.charset()); 208 204 209 205 memoryCache()->add(userSheet.get()); … … 215 211 } 216 212 217 CachedResourceHandle<CachedScript> CachedResourceLoader::requestScript( ResourceRequest& request, const String& charset)218 { 219 return static_cast<CachedScript*>(requestResource(CachedResource::Script, request , charset, defaultCachedResourceOptions()).get());213 CachedResourceHandle<CachedScript> CachedResourceLoader::requestScript(CachedResourceRequest& request) 214 { 215 return static_cast<CachedScript*>(requestResource(CachedResource::Script, request).get()); 220 216 } 221 217 222 218 #if ENABLE(XSLT) 223 CachedResourceHandle<CachedXSLStyleSheet> CachedResourceLoader::requestXSLStyleSheet( ResourceRequest& request)224 { 225 return static_cast<CachedXSLStyleSheet*>(requestResource(CachedResource::XSLStyleSheet, request , String(), defaultCachedResourceOptions()).get());219 CachedResourceHandle<CachedXSLStyleSheet> CachedResourceLoader::requestXSLStyleSheet(CachedResourceRequest& request) 220 { 221 return static_cast<CachedXSLStyleSheet*>(requestResource(CachedResource::XSLStyleSheet, request).get()); 226 222 } 227 223 #endif 228 224 229 225 #if ENABLE(SVG) 230 CachedResourceHandle<CachedSVGDocument> CachedResourceLoader::requestSVGDocument( ResourceRequest& request)231 { 232 return static_cast<CachedSVGDocument*>(requestResource(CachedResource::SVGDocumentResource, request , String(), defaultCachedResourceOptions()).get());226 CachedResourceHandle<CachedSVGDocument> CachedResourceLoader::requestSVGDocument(CachedResourceRequest& request) 227 { 228 return static_cast<CachedSVGDocument*>(requestResource(CachedResource::SVGDocumentResource, request).get()); 233 229 } 234 230 #endif 235 231 236 232 #if ENABLE(LINK_PREFETCH) 237 CachedResourceHandle<CachedResource> CachedResourceLoader::requestLinkResource(CachedResource::Type type, ResourceRequest& request, ResourceLoadPriority priority)233 CachedResourceHandle<CachedResource> CachedResourceLoader::requestLinkResource(CachedResource::Type type, CachedResourceRequest& request) 238 234 { 239 235 ASSERT(frame()); 240 236 ASSERT(type == CachedResource::LinkPrefetch || type == CachedResource::LinkSubresource); 241 return requestResource(type, request , String(), defaultCachedResourceOptions(), priority);242 } 243 #endif 244 245 CachedResourceHandle<CachedRawResource> CachedResourceLoader::requestRawResource( ResourceRequest& request, const ResourceLoaderOptions& options)246 { 247 return static_cast<CachedRawResource*>(requestResource(CachedResource::RawResource, request , String(), options, ResourceLoadPriorityUnresolved, false).get());237 return requestResource(type, request); 238 } 239 #endif 240 241 CachedResourceHandle<CachedRawResource> CachedResourceLoader::requestRawResource(CachedResourceRequest& request) 242 { 243 return static_cast<CachedRawResource*>(requestResource(CachedResource::RawResource, request).get()); 248 244 } 249 245 … … 403 399 } 404 400 405 CachedResourceHandle<CachedResource> CachedResourceLoader::requestResource(CachedResource::Type type, ResourceRequest& request, const String& charset, const ResourceLoaderOptions& options, ResourceLoadPriority priority, bool forPreload, DeferOption defer)406 { 407 KURL url = request. url();408 409 LOG(ResourceLoading, "CachedResourceLoader::requestResource '%s', charset '%s', priority=%d, forPreload=%u", url.string().latin1().data(), charset.latin1().data(), priority, forPreload);401 CachedResourceHandle<CachedResource> CachedResourceLoader::requestResource(CachedResource::Type type, CachedResourceRequest& request) 402 { 403 KURL url = request.resourceRequest().url(); 404 405 LOG(ResourceLoading, "CachedResourceLoader::requestResource '%s', charset '%s', priority=%d, forPreload=%u", url.string().latin1().data(), request.charset().latin1().data(), request.priority(), request.forPreload()); 410 406 411 407 // If only the fragment identifiers differ, it is the same resource. … … 415 411 return 0; 416 412 417 if (!canRequest(type, url, forPreload))413 if (!canRequest(type, url, request.forPreload())) 418 414 return 0; 419 415 … … 429 425 CachedResourceHandle<CachedResource> resource = memoryCache()->resourceForURL(url); 430 426 431 if (request. url() != url)432 request. setURL(url);433 434 const RevalidationPolicy policy = determineRevalidationPolicy(type, request , forPreload, resource.get(), defer);427 if (request.resourceRequest().url() != url) 428 request.mutableResourceRequest().setURL(url); 429 430 const RevalidationPolicy policy = determineRevalidationPolicy(type, request.mutableResourceRequest(), request.forPreload(), resource.get(), request.defer()); 435 431 switch (policy) { 436 432 case Reload: … … 438 434 // Fall through 439 435 case Load: 440 resource = loadResource(type, request , charset);436 resource = loadResource(type, request.mutableResourceRequest(), request.charset()); 441 437 break; 442 438 case Revalidate: … … 452 448 return 0; 453 449 454 resource->setLoadPriority( priority);455 if ((policy != Use || resource->stillNeedsLoad()) && NoDefer == defer) {456 resource->load(this, options);450 resource->setLoadPriority(request.priority()); 451 if ((policy != Use || resource->stillNeedsLoad()) && NoDefer == request.defer()) { 452 resource->load(this, request.options()); 457 453 458 454 // We don't support immediate loads, but we do support immediate failure. … … 464 460 } 465 461 466 if (!request. url().protocolIsData())467 m_validatedURLs.add(request. url());462 if (!request.resourceRequest().url().protocolIsData()) 463 m_validatedURLs.add(request.resourceRequest().url()); 468 464 469 465 ASSERT(resource->url() == url.string()); … … 794 790 encoding = charset.isEmpty() ? m_document->charset() : charset; 795 791 796 CachedResourceHandle<CachedResource> resource = requestResource(type, request, encoding, defaultCachedResourceOptions(), ResourceLoadPriorityUnresolved, true); 792 CachedResourceRequest cachedResourceRequest(request, encoding); 793 cachedResourceRequest.setForPreload(true); 794 795 CachedResourceHandle<CachedResource> resource = requestResource(type, cachedResourceRequest); 797 796 if (!resource || (m_preloads && m_preloads->contains(resource.get()))) 798 797 return; … … 913 912 } 914 913 915 } 914 const ResourceLoaderOptions& CachedResourceLoader::defaultCachedResourceOptions() 915 { 916 static ResourceLoaderOptions options(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForCrossOriginCredentials, DoSecurityCheck); 917 return options; 918 } 919 920 } -
trunk/Source/WebCore/loader/cache/CachedResourceLoader.h
r130817 r132157 45 45 class CachedImage; 46 46 class CachedRawResource; 47 class CachedResourceRequest; 47 48 class CachedScript; 48 49 class CachedShader; … … 69 70 70 71 public: 72 enum DeferOption { NoDefer, DeferredByClient }; 71 73 static PassRefPtr<CachedResourceLoader> create(DocumentLoader* documentLoader) { return adoptRef(new CachedResourceLoader(documentLoader)); } 72 74 ~CachedResourceLoader(); 73 75 74 CachedResourceHandle<CachedImage> requestImage( ResourceRequest&);75 CachedResourceHandle<CachedCSSStyleSheet> requestCSSStyleSheet( ResourceRequest&, const String& charset, ResourceLoadPriority = ResourceLoadPriorityUnresolved);76 CachedResourceHandle<CachedCSSStyleSheet> requestUserCSSStyleSheet( ResourceRequest&, const String& charset);77 CachedResourceHandle<CachedScript> requestScript( ResourceRequest&, const String& charset);78 CachedResourceHandle<CachedFont> requestFont( ResourceRequest&);79 CachedResourceHandle<CachedRawResource> requestRawResource( ResourceRequest&, const ResourceLoaderOptions&);76 CachedResourceHandle<CachedImage> requestImage(CachedResourceRequest&); 77 CachedResourceHandle<CachedCSSStyleSheet> requestCSSStyleSheet(CachedResourceRequest&); 78 CachedResourceHandle<CachedCSSStyleSheet> requestUserCSSStyleSheet(CachedResourceRequest&); 79 CachedResourceHandle<CachedScript> requestScript(CachedResourceRequest&); 80 CachedResourceHandle<CachedFont> requestFont(CachedResourceRequest&); 81 CachedResourceHandle<CachedRawResource> requestRawResource(CachedResourceRequest&); 80 82 81 83 #if ENABLE(SVG) 82 CachedResourceHandle<CachedSVGDocument> requestSVGDocument( ResourceRequest&);84 CachedResourceHandle<CachedSVGDocument> requestSVGDocument(CachedResourceRequest&); 83 85 #endif 84 86 #if ENABLE(XSLT) 85 CachedResourceHandle<CachedXSLStyleSheet> requestXSLStyleSheet( ResourceRequest&);87 CachedResourceHandle<CachedXSLStyleSheet> requestXSLStyleSheet(CachedResourceRequest&); 86 88 #endif 87 89 #if ENABLE(LINK_PREFETCH) 88 CachedResourceHandle<CachedResource> requestLinkResource(CachedResource::Type, ResourceRequest&, ResourceLoadPriority = ResourceLoadPriorityUnresolved);90 CachedResourceHandle<CachedResource> requestLinkResource(CachedResource::Type, CachedResourceRequest&); 89 91 #endif 90 92 #if ENABLE(VIDEO_TRACK) 91 CachedResourceHandle<CachedTextTrack> requestTextTrack( ResourceRequest&);93 CachedResourceHandle<CachedTextTrack> requestTextTrack(CachedResourceRequest&); 92 94 #endif 93 95 #if ENABLE(CSS_SHADERS) 94 CachedResourceHandle<CachedShader> requestShader( ResourceRequest&);96 CachedResourceHandle<CachedShader> requestShader(CachedResourceRequest&); 95 97 #endif 96 98 … … 136 138 void reportMemoryUsage(MemoryObjectInfo*) const; 137 139 140 static const ResourceLoaderOptions& defaultCachedResourceOptions(); 141 138 142 private: 139 143 explicit CachedResourceLoader(DocumentLoader*); 140 144 141 enum DeferOption { NoDefer, DeferredByClient }; 142 CachedResourceHandle<CachedResource> requestResource(CachedResource::Type, ResourceRequest&, const String& charset, const ResourceLoaderOptions&, ResourceLoadPriority = ResourceLoadPriorityUnresolved, bool isPreload = false, DeferOption = NoDefer); 145 CachedResourceHandle<CachedResource> requestResource(CachedResource::Type, CachedResourceRequest&); 143 146 CachedResourceHandle<CachedResource> revalidateResource(CachedResource*); 144 147 CachedResourceHandle<CachedResource> loadResource(CachedResource::Type, ResourceRequest&, const String& charset); -
trunk/Source/WebCore/loader/icon/IconLoader.cpp
r130947 r132157 29 29 #include "CachedRawResource.h" 30 30 #include "CachedResourceLoader.h" 31 #include "CachedResourceRequest.h" 31 32 #include "Document.h" 32 33 #include "Frame.h" … … 60 61 return; 61 62 62 ResourceRequest resourceRequest(m_frame->loader()->icon()->url()); 63 CachedResourceRequest request(ResourceRequest(m_frame->loader()->icon()->url()), ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck)); 64 63 65 #if PLATFORM(BLACKBERRY) 64 re sourceRequest.setTargetType(ResourceRequest::TargetIsFavicon);66 request.mutableResourceRequest().setTargetType(ResourceRequest::TargetIsFavicon); 65 67 #endif 66 re sourceRequest.setPriority(ResourceLoadPriorityLow);68 request.mutableResourceRequest().setPriority(ResourceLoadPriorityLow); 67 69 68 m_resource = m_frame->document()->cachedResourceLoader()->requestRawResource(resourceRequest, 69 ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck)); 70 m_resource = m_frame->document()->cachedResourceLoader()->requestRawResource(request); 70 71 if (m_resource) 71 72 m_resource->addClient(this); -
trunk/Source/WebCore/svg/SVGFEImageElement.cpp
r120951 r132157 28 28 #include "CachedImage.h" 29 29 #include "CachedResourceLoader.h" 30 #include "CachedResourceRequest.h" 30 31 #include "ColorSpace.h" 31 32 #include "Document.h" … … 81 82 void SVGFEImageElement::requestImageResource() 82 83 { 83 ResourceRequest request(ownerDocument()->completeURL(href()));84 CachedResourceRequest request(ResourceRequest(ownerDocument()->completeURL(href()))); 84 85 m_cachedImage = document()->cachedResourceLoader()->requestImage(request); 85 86 -
trunk/Source/WebCore/svg/SVGFontFaceUriElement.cpp
r118192 r132157 28 28 #include "CachedFont.h" 29 29 #include "CachedResourceLoader.h" 30 #include "CachedResourceRequest.h" 30 31 #include "Document.h" 31 32 #include "SVGFontFaceElement.h" … … 97 98 if (!href.isNull()) { 98 99 CachedResourceLoader* cachedResourceLoader = document()->cachedResourceLoader(); 99 ResourceRequest request(document()->completeURL(href));100 CachedResourceRequest request(ResourceRequest(document()->completeURL(href))); 100 101 m_cachedFont = cachedResourceLoader->requestFont(request); 101 102 if (m_cachedFont) { -
trunk/Source/WebCore/svg/SVGUseElement.cpp
r131826 r132157 30 30 #include "Attribute.h" 31 31 #include "CachedResourceLoader.h" 32 #include "CachedResourceRequest.h" 32 33 #include "Document.h" 33 34 #include "ElementShadow.h" … … 255 256 KURL url = document()->completeURL(href()); 256 257 if (url.hasFragmentIdentifier()) { 257 ResourceRequest request(url.string());258 CachedResourceRequest request(ResourceRequest(url.string())); 258 259 m_cachedDocument = document()->cachedResourceLoader()->requestSVGDocument(request); 259 260 if (m_cachedDocument) -
trunk/Source/WebCore/xml/XSLImportRule.cpp
r125805 r132157 27 27 #include "CachedXSLStyleSheet.h" 28 28 #include "CachedResourceLoader.h" 29 #include "CachedResourceRequest.h" 29 30 #include "Document.h" 30 31 #include "XSLStyleSheet.h" … … 99 100 } 100 101 101 ResourceRequest request(cachedResourceLoader->document()->completeURL(absHref));102 CachedResourceRequest request(ResourceRequest(cachedResourceLoader->document()->completeURL(absHref))); 102 103 m_cachedSheet = cachedResourceLoader->requestXSLStyleSheet(request); 103 104
Note: See TracChangeset
for help on using the changeset viewer.