CachedResource should efficiently construct its ResourceRequest
https://bugs.webkit.org/show_bug.cgi?id=161609
Patch by Youenn Fablet <[email protected]> on 2016-09-16
Reviewed by Sam Weinig.
Covered by existing tests.
Making CachedResourceLoader take a CachedResourceRequest&& when being asked to load resources.
Making CachedResource et al take a CachedResourceRequest&& as constructor parameter.
CachedResource now sets its options at construction time instead of load time.
This may change some specific behaviors, for instance when loading manually images.
Made some refactoring when both the resource and request are needed, for ResourceTimingInformation.
Made local copies of some CachedResourceRequest fields so that we do not need it after being WTFMoved.
Some of these properties may be put outside CachedResourceRequest in a later refactoring step.
- css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::cachedFont):
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::loadBestFitImage):
(WebCore::CSSImageValue::loadImage):
(WebCore::StyleRuleImport::requestStyleSheet):
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
(WebCore::ScriptElement::requestScriptWithCache):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
- html/parser/HTMLResourcePreloader.cpp:
(WebCore::HTMLResourcePreloader::preload):
- loader/CrossOriginPreflightChecker.cpp:
(WebCore::CrossOriginPreflightChecker::startPreflight):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
(WebCore::ImageLoader::updateFromElement):
(WebCore::LinkLoader::preloadIfNeeded):
(WebCore::LinkLoader::loadLink):
- loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::requestResource):
- loader/ResourceTimingInformation.cpp:
(WebCore::ResourceTimingInformation::storeResourceTimingInitiatorInformation):
- loader/ResourceTimingInformation.h:
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::load):
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
- loader/cache/CachedCSSStyleSheet.h:
- loader/cache/CachedFont.cpp:
(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::load):
(WebCore::CachedFont::beginLoadIfNeeded):
- loader/cache/CachedFont.h:
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::CachedImage):
(WebCore::CachedImage::load):
- loader/cache/CachedImage.h:
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::CachedRawResource):
- loader/cache/CachedRawResource.h:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::load):
(WebCore::CachedResource::loadFrom):
- loader/cache/CachedResource.h:
(WebCore::CachedResource::resourceRequest):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestFont):
(WebCore::CachedResourceLoader::requestTextTrack):
(WebCore::CachedResourceLoader::requestCSSStyleSheet):
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestScript):
(WebCore::CachedResourceLoader::requestXSLStyleSheet):
(WebCore::CachedResourceLoader::requestSVGDocument):
(WebCore::CachedResourceLoader::requestLinkResource):
(WebCore::CachedResourceLoader::requestMedia):
(WebCore::CachedResourceLoader::requestRawResource):
(WebCore::CachedResourceLoader::requestMainResource):
(WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest):
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
(WebCore::CachedResourceLoader::preload):
(WebCore::CachedResourceLoader::checkForPendingPreloads):
(WebCore::CachedResourceLoader::requestPreload):
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedSVGDocument.cpp:
(WebCore::CachedSVGDocument::CachedSVGDocument):
- loader/cache/CachedSVGDocument.h:
- loader/cache/CachedSVGDocumentReference.cpp:
(WebCore::CachedSVGDocumentReference::load):
- loader/cache/CachedSVGFont.cpp:
(WebCore::CachedSVGFont::CachedSVGFont):
- loader/cache/CachedSVGFont.h:
- loader/cache/CachedScript.cpp:
(WebCore::CachedScript::CachedScript):
- loader/cache/CachedScript.h:
- loader/cache/CachedTextTrack.cpp:
(WebCore::CachedTextTrack::CachedTextTrack):
- loader/cache/CachedTextTrack.h:
- loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
(WebCore::CachedXSLStyleSheet::didAddClient):
- loader/cache/CachedXSLStyleSheet.h:
- loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
- platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
(WebCore::WebCoreAVCFResourceLoader::startLoading):
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::startLoading):
- svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::requestImageResource):
- svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::loadFont):
(WebCore::SVGUseElement::updateExternalDocument):
(WebCore::XSLImportRule::loadSheet):