Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(283)

Side by Side Diff: third_party/WebKit/Source/core/loader/FrameFetchContext.cpp

Issue 2030883002: Rename FrameFetchContext::ensureLoaderForNotifications. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated comment. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/WebKit/Source/core/loader/FrameFetchContext.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 if (m_documentLoader->request().httpMethod() == "POST") { 269 if (m_documentLoader->request().httpMethod() == "POST") {
270 if (mainResourceCachePolicy == WebCachePolicy::ReturnCacheDataDontLo ad) 270 if (mainResourceCachePolicy == WebCachePolicy::ReturnCacheDataDontLo ad)
271 return WebCachePolicy::ReturnCacheDataElseLoad; 271 return WebCachePolicy::ReturnCacheDataElseLoad;
272 return WebCachePolicy::UseProtocolCachePolicy; 272 return WebCachePolicy::UseProtocolCachePolicy;
273 } 273 }
274 return memoryCachePolicyToResourceRequestCachePolicy(getCachePolicy()); 274 return memoryCachePolicyToResourceRequestCachePolicy(getCachePolicy());
275 } 275 }
276 return WebCachePolicy::UseProtocolCachePolicy; 276 return WebCachePolicy::UseProtocolCachePolicy;
277 } 277 }
278 278
279 // FIXME(http://crbug.com/274173): 279 // The |m_documentLoader| is null in the FrameFetchContext of an imported docume nt.
280 // |loader| can be null if the resource is loaded from imported document. 280 // FIXME(http://crbug.com/274173): This means Inspector, which uses DocumentLoad er
281 // This means inspector, which uses DocumentLoader as an grouping entity, 281 // as a grouping entity, cannot see imported documents.
282 // cannot see imported documents. 282 inline DocumentLoader* FrameFetchContext::masterDocumentLoader() const
283 inline DocumentLoader* FrameFetchContext::ensureLoaderForNotifications() const
284 { 283 {
285 return m_documentLoader ? m_documentLoader.get() : frame()->loader().documen tLoader(); 284 return m_documentLoader ? m_documentLoader.get() : frame()->loader().documen tLoader();
286 } 285 }
287 286
288 void FrameFetchContext::dispatchDidChangeResourcePriority(unsigned long identifi er, ResourceLoadPriority loadPriority, int intraPriorityValue) 287 void FrameFetchContext::dispatchDidChangeResourcePriority(unsigned long identifi er, ResourceLoadPriority loadPriority, int intraPriorityValue)
289 { 288 {
290 frame()->loader().client()->dispatchDidChangeResourcePriority(identifier, lo adPriority, intraPriorityValue); 289 frame()->loader().client()->dispatchDidChangeResourcePriority(identifier, lo adPriority, intraPriorityValue);
291 TRACE_EVENT_INSTANT1("devtools.timeline", "ResourceChangePriority", TRACE_EV ENT_SCOPE_THREAD, "data", InspectorChangeResourcePriorityEvent::data(identifier, loadPriority)); 290 TRACE_EVENT_INSTANT1("devtools.timeline", "ResourceChangePriority", TRACE_EV ENT_SCOPE_THREAD, "data", InspectorChangeResourcePriorityEvent::data(identifier, loadPriority));
292 InspectorInstrumentation::didChangeResourcePriority(frame(), identifier, loa dPriority); 291 InspectorInstrumentation::didChangeResourcePriority(frame(), identifier, loa dPriority);
293 } 292 }
294 293
295 void FrameFetchContext::dispatchWillSendRequest(unsigned long identifier, Resour ceRequest& request, const ResourceResponse& redirectResponse, const FetchInitiat orInfo& initiatorInfo) 294 void FrameFetchContext::dispatchWillSendRequest(unsigned long identifier, Resour ceRequest& request, const ResourceResponse& redirectResponse, const FetchInitiat orInfo& initiatorInfo)
296 { 295 {
297 frame()->loader().applyUserAgent(request); 296 frame()->loader().applyUserAgent(request);
298 frame()->loader().client()->dispatchWillSendRequest(m_documentLoader, identi fier, request, redirectResponse); 297 frame()->loader().client()->dispatchWillSendRequest(m_documentLoader, identi fier, request, redirectResponse);
299 TRACE_EVENT_INSTANT1("devtools.timeline", "ResourceSendRequest", TRACE_EVENT _SCOPE_THREAD, "data", InspectorSendRequestEvent::data(identifier, frame(), requ est)); 298 TRACE_EVENT_INSTANT1("devtools.timeline", "ResourceSendRequest", TRACE_EVENT _SCOPE_THREAD, "data", InspectorSendRequestEvent::data(identifier, frame(), requ est));
300 InspectorInstrumentation::willSendRequest(frame(), identifier, ensureLoaderF orNotifications(), request, redirectResponse, initiatorInfo); 299 InspectorInstrumentation::willSendRequest(frame(), identifier, masterDocumen tLoader(), request, redirectResponse, initiatorInfo);
301 } 300 }
302 301
303 void FrameFetchContext::dispatchDidReceiveResponse(unsigned long identifier, con st ResourceResponse& response, WebURLRequest::FrameType frameType, WebURLRequest ::RequestContext requestContext, Resource* resource) 302 void FrameFetchContext::dispatchDidReceiveResponse(unsigned long identifier, con st ResourceResponse& response, WebURLRequest::FrameType frameType, WebURLRequest ::RequestContext requestContext, Resource* resource)
304 { 303 {
305 LinkLoader::CanLoadResources resourceLoadingPolicy = LinkLoader::LoadResourc esAndPreconnect; 304 LinkLoader::CanLoadResources resourceLoadingPolicy = LinkLoader::LoadResourc esAndPreconnect;
306 MixedContentChecker::checkMixedPrivatePublic(frame(), response.remoteIPAddre ss()); 305 MixedContentChecker::checkMixedPrivatePublic(frame(), response.remoteIPAddre ss());
307 if (m_documentLoader == frame()->loader().provisionalDocumentLoader()) { 306 if (m_documentLoader == frame()->loader().provisionalDocumentLoader()) {
308 ResourceFetcher* fetcher = nullptr; 307 ResourceFetcher* fetcher = nullptr;
309 if (frame()->document()) 308 if (frame()->document())
310 fetcher = frame()->document()->fetcher(); 309 fetcher = frame()->document()->fetcher();
311 m_documentLoader->clientHintsPreferences().updateFromAcceptClientHintsHe ader(response.httpHeaderField(HTTPNames::Accept_CH), fetcher); 310 m_documentLoader->clientHintsPreferences().updateFromAcceptClientHintsHe ader(response.httpHeaderField(HTTPNames::Accept_CH), fetcher);
312 // When response is received with a provisional docloader, the resource haven't committed yet, and we cannot load resources, only preconnect. 311 // When response is received with a provisional docloader, the resource haven't committed yet, and we cannot load resources, only preconnect.
313 resourceLoadingPolicy = LinkLoader::DoNotLoadResources; 312 resourceLoadingPolicy = LinkLoader::DoNotLoadResources;
314 } 313 }
315 LinkLoader::loadLinksFromHeader(response.httpHeaderField(HTTPNames::Link), r esponse.url(), frame()->document(), NetworkHintsInterfaceImpl(), resourceLoading Policy, nullptr); 314 LinkLoader::loadLinksFromHeader(response.httpHeaderField(HTTPNames::Link), r esponse.url(), frame()->document(), NetworkHintsInterfaceImpl(), resourceLoading Policy, nullptr);
316 315
317 if (response.hasMajorCertificateErrors()) 316 if (response.hasMajorCertificateErrors())
318 MixedContentChecker::handleCertificateError(frame(), response, frameType , requestContext); 317 MixedContentChecker::handleCertificateError(frame(), response, frameType , requestContext);
319 318
320 frame()->loader().progress().incrementProgress(identifier, response); 319 frame()->loader().progress().incrementProgress(identifier, response);
321 frame()->loader().client()->dispatchDidReceiveResponse(m_documentLoader, ide ntifier, response); 320 frame()->loader().client()->dispatchDidReceiveResponse(m_documentLoader, ide ntifier, response);
322 TRACE_EVENT_INSTANT1("devtools.timeline", "ResourceReceiveResponse", TRACE_E VENT_SCOPE_THREAD, "data", InspectorReceiveResponseEvent::data(identifier, frame (), response)); 321 TRACE_EVENT_INSTANT1("devtools.timeline", "ResourceReceiveResponse", TRACE_E VENT_SCOPE_THREAD, "data", InspectorReceiveResponseEvent::data(identifier, frame (), response));
323 DocumentLoader* documentLoader = ensureLoaderForNotifications(); 322 DocumentLoader* documentLoader = masterDocumentLoader();
324 InspectorInstrumentation::didReceiveResourceResponse(frame(), identifier, do cumentLoader, response, resource); 323 InspectorInstrumentation::didReceiveResourceResponse(frame(), identifier, do cumentLoader, response, resource);
325 // It is essential that inspector gets resource response BEFORE console. 324 // It is essential that inspector gets resource response BEFORE console.
326 frame()->console().reportResourceResponseReceived(documentLoader, identifier , response); 325 frame()->console().reportResourceResponseReceived(documentLoader, identifier , response);
327 } 326 }
328 327
329 void FrameFetchContext::dispatchDidReceiveData(unsigned long identifier, const c har* data, int dataLength, int encodedDataLength) 328 void FrameFetchContext::dispatchDidReceiveData(unsigned long identifier, const c har* data, int dataLength, int encodedDataLength)
330 { 329 {
331 frame()->loader().progress().incrementProgress(identifier, dataLength); 330 frame()->loader().progress().incrementProgress(identifier, dataLength);
332 TRACE_EVENT_INSTANT1("devtools.timeline", "ResourceReceivedData", TRACE_EVEN T_SCOPE_THREAD, "data", InspectorReceiveDataEvent::data(identifier, frame(), enc odedDataLength)); 331 TRACE_EVENT_INSTANT1("devtools.timeline", "ResourceReceivedData", TRACE_EVEN T_SCOPE_THREAD, "data", InspectorReceiveDataEvent::data(identifier, frame(), enc odedDataLength));
333 InspectorInstrumentation::didReceiveData(frame(), identifier, data, dataLeng th, encodedDataLength); 332 InspectorInstrumentation::didReceiveData(frame(), identifier, data, dataLeng th, encodedDataLength);
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 message = "Unsafe attempt to load URL " + url.elidedString() + " from fr ame with URL " + m_document->url().elidedString() + ". Domains, protocols and po rts must match.\n"; 441 message = "Unsafe attempt to load URL " + url.elidedString() + " from fr ame with URL " + m_document->url().elidedString() + ". Domains, protocols and po rts must match.\n";
443 442
444 frame()->document()->addConsoleMessage(ConsoleMessage::create(SecurityMessag eSource, ErrorMessageLevel, message)); 443 frame()->document()->addConsoleMessage(ConsoleMessage::create(SecurityMessag eSource, ErrorMessageLevel, message));
445 } 444 }
446 445
447 bool FrameFetchContext::canRequest(Resource::Type type, const ResourceRequest& r esourceRequest, const KURL& url, const ResourceLoaderOptions& options, bool forP reload, FetchRequest::OriginRestriction originRestriction) const 446 bool FrameFetchContext::canRequest(Resource::Type type, const ResourceRequest& r esourceRequest, const KURL& url, const ResourceLoaderOptions& options, bool forP reload, FetchRequest::OriginRestriction originRestriction) const
448 { 447 {
449 ResourceRequestBlockedReason reason = canRequestInternal(type, resourceReque st, url, options, forPreload, originRestriction, resourceRequest.redirectStatus( )); 448 ResourceRequestBlockedReason reason = canRequestInternal(type, resourceReque st, url, options, forPreload, originRestriction, resourceRequest.redirectStatus( ));
450 if (reason != ResourceRequestBlockedReasonNone) { 449 if (reason != ResourceRequestBlockedReasonNone) {
451 if (!forPreload) 450 if (!forPreload)
452 InspectorInstrumentation::didBlockRequest(frame(), resourceRequest, ensureLoaderForNotifications(), options.initiatorInfo, reason); 451 InspectorInstrumentation::didBlockRequest(frame(), resourceRequest, masterDocumentLoader(), options.initiatorInfo, reason);
453 return false; 452 return false;
454 } 453 }
455 return true; 454 return true;
456 } 455 }
457 456
458 bool FrameFetchContext::allowResponse(Resource::Type type, const ResourceRequest & resourceRequest, const KURL& url, const ResourceLoaderOptions& options) const 457 bool FrameFetchContext::allowResponse(Resource::Type type, const ResourceRequest & resourceRequest, const KURL& url, const ResourceLoaderOptions& options) const
459 { 458 {
460 ResourceRequestBlockedReason reason = canRequestInternal(type, resourceReque st, url, options, false, FetchRequest::UseDefaultOriginRestrictionForType, Redir ectStatus::FollowedRedirect); 459 ResourceRequestBlockedReason reason = canRequestInternal(type, resourceReque st, url, options, false, FetchRequest::UseDefaultOriginRestrictionForType, Redir ectStatus::FollowedRedirect);
461 if (reason != ResourceRequestBlockedReasonNone) { 460 if (reason != ResourceRequestBlockedReasonNone) {
462 InspectorInstrumentation::didBlockRequest(frame(), resourceRequest, ensu reLoaderForNotifications(), options.initiatorInfo, reason); 461 InspectorInstrumentation::didBlockRequest(frame(), resourceRequest, mast erDocumentLoader(), options.initiatorInfo, reason);
463 return false; 462 return false;
464 } 463 }
465 return true; 464 return true;
466 } 465 }
467 466
468 ResourceRequestBlockedReason FrameFetchContext::canRequestInternal(Resource::Typ e type, const ResourceRequest& resourceRequest, const KURL& url, const ResourceL oaderOptions& options, bool forPreload, FetchRequest::OriginRestriction originRe striction, ResourceRequest::RedirectStatus redirectStatus) const 467 ResourceRequestBlockedReason FrameFetchContext::canRequestInternal(Resource::Typ e type, const ResourceRequest& resourceRequest, const KURL& url, const ResourceL oaderOptions& options, bool forPreload, FetchRequest::OriginRestriction originRe striction, ResourceRequest::RedirectStatus redirectStatus) const
469 { 468 {
470 if (InspectorInstrumentation::shouldBlockRequest(frame(), resourceRequest)) 469 if (InspectorInstrumentation::shouldBlockRequest(frame(), resourceRequest))
471 return ResourceRequestBlockedReasonInspector; 470 return ResourceRequestBlockedReasonInspector;
472 471
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
813 } 812 }
814 813
815 DEFINE_TRACE(FrameFetchContext) 814 DEFINE_TRACE(FrameFetchContext)
816 { 815 {
817 visitor->trace(m_document); 816 visitor->trace(m_document);
818 visitor->trace(m_documentLoader); 817 visitor->trace(m_documentLoader);
819 FetchContext::trace(visitor); 818 FetchContext::trace(visitor);
820 } 819 }
821 820
822 } // namespace blink 821 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/loader/FrameFetchContext.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698