Changeset 260596 in webkit
- Timestamp:
- Apr 23, 2020 1:37:54 PM (4 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r260588 r260596 1 2020-04-23 Rob Buis <rbuis@igalia.com> 2 3 Move applyUserAgentIfNeeded calls to a more central place 4 https://bugs.webkit.org/show_bug.cgi?id=209587 5 6 Reviewed by Darin Adler. 7 8 Make main resource loads stop calling applyUserAgentIfNeeded 9 and instead do it in the CachedResourceLoader. 10 11 * loader/FrameLoader.cpp: 12 (WebCore::FrameLoader::addExtraFieldsToRequest): 13 (WebCore::FrameLoader::loadResourceSynchronously): 14 * loader/appcache/ApplicationCacheGroup.cpp: 15 (WebCore::ApplicationCacheGroup::createRequest): 16 * loader/cache/CachedResourceLoader.cpp: 17 (WebCore::CachedResourceLoader::updateHTTPRequestHeaders): 18 (WebCore::CachedResourceLoader::requestResource): 19 * loader/cache/CachedResourceLoader.h: 20 * loader/cache/CachedResourceRequest.cpp: 21 (WebCore::CachedResourceRequest::updateReferrerAndOriginHeaders): 22 (WebCore::CachedResourceRequest::updateUserAgentHeader): 23 (WebCore::CachedResourceRequest::updateReferrerOriginAndUserAgentHeaders): Deleted. 24 * loader/cache/CachedResourceRequest.h: 25 1 26 2020-04-23 Kenneth Russell <kbr@chromium.org> 2 27 -
trunk/Source/WebCore/loader/FrameLoader.cpp
r260511 r260596 2963 2963 request.setPriority(m_overrideResourceLoadPriorityForTesting.value()); 2964 2964 2965 applyUserAgentIfNeeded(request);2966 2967 2965 // Only set fallback array if it's still empty (later attempts may be incorrect, see bug 117818). 2968 2966 if (request.responseContentDispositionEncodingFallbackArray().isEmpty()) { … … 3066 3064 3067 3065 addExtraFieldsToRequest(initialRequest, IsMainResource::No); 3066 3067 applyUserAgentIfNeeded(initialRequest); 3068 3068 3069 3069 unsigned long identifier = 0; -
trunk/Source/WebCore/loader/appcache/ApplicationCacheGroup.cpp
r260511 r260596 464 464 { 465 465 ResourceRequest request { WTFMove(url) }; 466 m_frame->loader().applyUserAgentIfNeeded(request);467 466 request.setHTTPHeaderField(HTTPHeaderName::CacheControl, HTTPHeaderValues::maxAge0()); 468 467 -
trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp
r260511 r260596 735 735 } 736 736 737 void CachedResourceLoader::updateHTTPRequestHeaders( CachedResource::Type type, CachedResourceRequest& request)737 void CachedResourceLoader::updateHTTPRequestHeaders(FrameLoader& frameLoader, CachedResource::Type type, CachedResourceRequest& request) 738 738 { 739 739 // Implementing steps 7 to 12 of https://fetch.spec.whatwg.org/#http-network-or-cache-fetch 740 740 741 741 // FIXME: We should reconcile handling of MainResource with other resources. 742 if (type != CachedResource::Type::MainResource) { 743 // In some cases we may try to load resources in frameless documents. Such loads always fail. 744 // FIXME: We shouldn't need to do the check on frame. 745 if (auto* frame = this->frame()) 746 request.updateReferrerOriginAndUserAgentHeaders(frame->loader()); 747 } 742 if (type != CachedResource::Type::MainResource) 743 request.updateReferrerAndOriginHeaders(frameLoader); 744 request.updateUserAgentHeader(frameLoader); 748 745 749 746 request.updateAccordingCacheMode(); … … 910 907 911 908 if (request.resourceRequest().url().protocolIsInHTTPFamily()) 912 updateHTTPRequestHeaders( type, request);909 updateHTTPRequestHeaders(frame.loader(), type, request); 913 910 914 911 auto& memoryCache = MemoryCache::singleton(); -
trunk/Source/WebCore/loader/cache/CachedResourceLoader.h
r260511 r260596 176 176 177 177 void prepareFetch(CachedResource::Type, CachedResourceRequest&); 178 void updateHTTPRequestHeaders( CachedResource::Type, CachedResourceRequest&);178 void updateHTTPRequestHeaders(FrameLoader&, CachedResource::Type, CachedResourceRequest&); 179 179 180 180 bool canRequest(CachedResource::Type, const URL&, const CachedResourceRequest&, ForPreload); -
trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp
r260511 r260596 222 222 } 223 223 224 void CachedResourceRequest::updateReferrer OriginAndUserAgentHeaders(FrameLoader& frameLoader)224 void CachedResourceRequest::updateReferrerAndOriginHeaders(FrameLoader& frameLoader) 225 225 { 226 226 // Implementing step 9 to 11 of https://fetch.spec.whatwg.org/#http-network-or-cache-fetch as of 16 March 2018 … … 229 229 outgoingReferrer = m_resourceRequest.httpReferrer(); 230 230 updateRequestReferrer(m_resourceRequest, m_options.referrerPolicy, outgoingReferrer); 231 frameLoader.applyUserAgentIfNeeded(m_resourceRequest);232 231 233 232 if (doesRequestNeedHTTPOriginHeader(m_resourceRequest)) { … … 238 237 } 239 238 239 void CachedResourceRequest::updateUserAgentHeader(FrameLoader& frameLoader) 240 { 241 frameLoader.applyUserAgentIfNeeded(m_resourceRequest); 242 } 243 240 244 bool isRequestCrossOrigin(SecurityOrigin* origin, const URL& requestURL, const ResourceLoaderOptions& options) 241 245 { -
trunk/Source/WebCore/loader/cache/CachedResourceRequest.h
r260511 r260596 79 79 80 80 void updateReferrerPolicy(ReferrerPolicy); 81 void updateReferrerOriginAndUserAgentHeaders(FrameLoader&); 81 void updateReferrerAndOriginHeaders(FrameLoader&); 82 void updateUserAgentHeader(FrameLoader&); 82 83 void upgradeInsecureRequestIfNeeded(Document&); 83 84 void setAcceptHeaderIfNone(CachedResource::Type);
Note: See TracChangeset
for help on using the changeset viewer.