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

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

Issue 2620463002: Show service worker navigation preload requests in DevTools Network tab (Closed)
Patch Set: reuse existing instrumentation for network Created 3 years, 11 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
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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 #include "platform/mhtml/MHTMLArchive.h" 72 #include "platform/mhtml/MHTMLArchive.h"
73 #include "platform/network/NetworkUtils.h" 73 #include "platform/network/NetworkUtils.h"
74 #include "platform/network/ResourceLoadPriority.h" 74 #include "platform/network/ResourceLoadPriority.h"
75 #include "platform/network/ResourceTimingInfo.h" 75 #include "platform/network/ResourceTimingInfo.h"
76 #include "platform/weborigin/SchemeRegistry.h" 76 #include "platform/weborigin/SchemeRegistry.h"
77 #include "platform/weborigin/SecurityPolicy.h" 77 #include "platform/weborigin/SecurityPolicy.h"
78 #include "public/platform/WebCachePolicy.h" 78 #include "public/platform/WebCachePolicy.h"
79 #include "public/platform/WebDocumentSubresourceFilter.h" 79 #include "public/platform/WebDocumentSubresourceFilter.h"
80 #include "public/platform/WebInsecureRequestPolicy.h" 80 #include "public/platform/WebInsecureRequestPolicy.h"
81 #include "public/platform/WebViewScheduler.h" 81 #include "public/platform/WebViewScheduler.h"
82 #include "wtf/CurrentTime.h"
82 #include "wtf/Vector.h" 83 #include "wtf/Vector.h"
83 #include <algorithm> 84 #include <algorithm>
84 #include <memory> 85 #include <memory>
85 86
86 namespace blink { 87 namespace blink {
87 88
88 namespace { 89 namespace {
89 90
90 void emitWarningForDocWriteScripts(const String& url, Document& document) { 91 void emitWarningForDocWriteScripts(const String& url, Document& document) {
91 String message = "A Parser-blocking, cross-origin script, " + url + 92 String message = "A Parser-blocking, cross-origin script, " + url +
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 InspectorSendRequestEvent::data(identifier, frame(), request)); 406 InspectorSendRequestEvent::data(identifier, frame(), request));
406 // For initial requests, prepareRequest() is called in 407 // For initial requests, prepareRequest() is called in
407 // willStartLoadingResource(), before revalidation policy is determined. That 408 // willStartLoadingResource(), before revalidation policy is determined. That
408 // call doesn't exist for redirects, so call preareRequest() here. 409 // call doesn't exist for redirects, so call preareRequest() here.
409 if (!redirectResponse.isNull()) { 410 if (!redirectResponse.isNull()) {
410 prepareRequest(request); 411 prepareRequest(request);
411 } else { 412 } else {
412 frame()->loader().progress().willStartLoading(identifier, 413 frame()->loader().progress().willStartLoading(identifier,
413 request.priority()); 414 request.priority());
414 } 415 }
415 InspectorInstrumentation::willSendRequest(frame(), identifier, 416 InspectorInstrumentation::willSendRequest(
416 masterDocumentLoader(), request, 417 frame()->document(), identifier, masterDocumentLoader(), request,
417 redirectResponse, initiatorInfo); 418 redirectResponse, initiatorInfo, monotonicallyIncreasingTime(),
419 currentTime());
418 if (frame()->frameScheduler()) 420 if (frame()->frameScheduler())
419 frame()->frameScheduler()->didStartLoading(identifier); 421 frame()->frameScheduler()->didStartLoading(identifier);
420 } 422 }
421 423
422 void FrameFetchContext::dispatchDidReceiveResponse( 424 void FrameFetchContext::dispatchDidReceiveResponse(
423 unsigned long identifier, 425 unsigned long identifier,
424 const ResourceResponse& response, 426 const ResourceResponse& response,
425 WebURLRequest::FrameType frameType, 427 WebURLRequest::FrameType frameType,
426 WebURLRequest::RequestContext requestContext, 428 WebURLRequest::RequestContext requestContext,
427 Resource* resource) { 429 Resource* resource) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 encodedDataLength); 461 encodedDataLength);
460 } 462 }
461 463
462 void FrameFetchContext::dispatchDidFinishLoading(unsigned long identifier, 464 void FrameFetchContext::dispatchDidFinishLoading(unsigned long identifier,
463 double finishTime, 465 double finishTime,
464 int64_t encodedDataLength) { 466 int64_t encodedDataLength) {
465 TRACE_EVENT1("devtools.timeline", "ResourceFinish", "data", 467 TRACE_EVENT1("devtools.timeline", "ResourceFinish", "data",
466 InspectorResourceFinishEvent::data(identifier, finishTime, false, 468 InspectorResourceFinishEvent::data(identifier, finishTime, false,
467 encodedDataLength)); 469 encodedDataLength));
468 frame()->loader().progress().completeProgress(identifier); 470 frame()->loader().progress().completeProgress(identifier);
469 InspectorInstrumentation::didFinishLoading(frame(), identifier, finishTime, 471 InspectorInstrumentation::didFinishLoading(frame()->document(), identifier,
470 encodedDataLength); 472 finishTime, encodedDataLength);
471 if (frame()->frameScheduler()) 473 if (frame()->frameScheduler())
472 frame()->frameScheduler()->didStopLoading(identifier); 474 frame()->frameScheduler()->didStopLoading(identifier);
473 } 475 }
474 476
475 void FrameFetchContext::dispatchDidFail(unsigned long identifier, 477 void FrameFetchContext::dispatchDidFail(unsigned long identifier,
476 const ResourceError& error, 478 const ResourceError& error,
477 int64_t encodedDataLength, 479 int64_t encodedDataLength,
478 bool isInternalRequest) { 480 bool isInternalRequest) {
479 TRACE_EVENT1("devtools.timeline", "ResourceFinish", "data", 481 TRACE_EVENT1("devtools.timeline", "ResourceFinish", "data",
480 InspectorResourceFinishEvent::data(identifier, 0, true, 482 InspectorResourceFinishEvent::data(identifier, 0, true,
481 encodedDataLength)); 483 encodedDataLength));
482 frame()->loader().progress().completeProgress(identifier); 484 frame()->loader().progress().completeProgress(identifier);
483 InspectorInstrumentation::didFailLoading(frame(), identifier, error); 485 InspectorInstrumentation::didFailLoading(frame()->document(), identifier,
486 error);
484 // Notification to FrameConsole should come AFTER InspectorInstrumentation 487 // Notification to FrameConsole should come AFTER InspectorInstrumentation
485 // call, DevTools front-end relies on this. 488 // call, DevTools front-end relies on this.
486 if (!isInternalRequest) 489 if (!isInternalRequest)
487 frame()->console().didFailLoading(identifier, error); 490 frame()->console().didFailLoading(identifier, error);
488 if (frame()->frameScheduler()) 491 if (frame()->frameScheduler())
489 frame()->frameScheduler()->didStopLoading(identifier); 492 frame()->frameScheduler()->didStopLoading(identifier);
490 } 493 }
491 494
492 void FrameFetchContext::dispatchDidLoadResourceFromMemoryCache( 495 void FrameFetchContext::dispatchDidLoadResourceFromMemoryCache(
493 unsigned long identifier, 496 unsigned long identifier,
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after
1044 1047
1045 if (response.hasMajorCertificateErrors()) { 1048 if (response.hasMajorCertificateErrors()) {
1046 MixedContentChecker::handleCertificateError(frame(), response, frameType, 1049 MixedContentChecker::handleCertificateError(frame(), response, frameType,
1047 requestContext); 1050 requestContext);
1048 } 1051 }
1049 1052
1050 frame()->loader().progress().incrementProgress(identifier, response); 1053 frame()->loader().progress().incrementProgress(identifier, response);
1051 frameLoaderClient()->dispatchDidReceiveResponse(response); 1054 frameLoaderClient()->dispatchDidReceiveResponse(response);
1052 DocumentLoader* documentLoader = masterDocumentLoader(); 1055 DocumentLoader* documentLoader = masterDocumentLoader();
1053 InspectorInstrumentation::didReceiveResourceResponse( 1056 InspectorInstrumentation::didReceiveResourceResponse(
1054 frame(), identifier, documentLoader, response, resource); 1057 frame()->document(), identifier, documentLoader, response, resource);
1055 // It is essential that inspector gets resource response BEFORE console. 1058 // It is essential that inspector gets resource response BEFORE console.
1056 frame()->console().reportResourceResponseReceived(documentLoader, identifier, 1059 frame()->console().reportResourceResponseReceived(documentLoader, identifier,
1057 response); 1060 response);
1058 } 1061 }
1059 1062
1060 DEFINE_TRACE(FrameFetchContext) { 1063 DEFINE_TRACE(FrameFetchContext) {
1061 visitor->trace(m_document); 1064 visitor->trace(m_document);
1062 visitor->trace(m_documentLoader); 1065 visitor->trace(m_documentLoader);
1063 FetchContext::trace(visitor); 1066 FetchContext::trace(visitor);
1064 } 1067 }
1065 1068
1066 } // namespace blink 1069 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698