| OLD | NEW |
| 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 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 391 const FetchInitiatorInfo& initiator_info) { | 391 const FetchInitiatorInfo& initiator_info) { |
| 392 if (IsDetached()) | 392 if (IsDetached()) |
| 393 return; | 393 return; |
| 394 | 394 |
| 395 if (redirect_response.IsNull()) { | 395 if (redirect_response.IsNull()) { |
| 396 // Progress doesn't care about redirects, only notify it when an | 396 // Progress doesn't care about redirects, only notify it when an |
| 397 // initial request is sent. | 397 // initial request is sent. |
| 398 GetFrame()->Loader().Progress().WillStartLoading(identifier, | 398 GetFrame()->Loader().Progress().WillStartLoading(identifier, |
| 399 request.Priority()); | 399 request.Priority()); |
| 400 } | 400 } |
| 401 probe::willSendRequest(GetFrame(), identifier, MasterDocumentLoader(), | 401 probe::willSendRequest(GetFrame()->GetDocument(), identifier, |
| 402 request, redirect_response, initiator_info); | 402 MasterDocumentLoader(), request, redirect_response, |
| 403 initiator_info); |
| 403 if (GetFrame()->FrameScheduler()) | 404 if (GetFrame()->FrameScheduler()) |
| 404 GetFrame()->FrameScheduler()->DidStartLoading(identifier); | 405 GetFrame()->FrameScheduler()->DidStartLoading(identifier); |
| 405 } | 406 } |
| 406 | 407 |
| 407 void FrameFetchContext::DispatchDidReceiveResponse( | 408 void FrameFetchContext::DispatchDidReceiveResponse( |
| 408 unsigned long identifier, | 409 unsigned long identifier, |
| 409 const ResourceResponse& response, | 410 const ResourceResponse& response, |
| 410 WebURLRequest::FrameType frame_type, | 411 WebURLRequest::FrameType frame_type, |
| 411 WebURLRequest::RequestContext request_context, | 412 WebURLRequest::RequestContext request_context, |
| 412 Resource* resource, | 413 Resource* resource, |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 LinkLoader::kLoadAll, nullptr); | 445 LinkLoader::kLoadAll, nullptr); |
| 445 | 446 |
| 446 if (response.HasMajorCertificateErrors()) { | 447 if (response.HasMajorCertificateErrors()) { |
| 447 MixedContentChecker::HandleCertificateError(GetFrame(), response, | 448 MixedContentChecker::HandleCertificateError(GetFrame(), response, |
| 448 frame_type, request_context); | 449 frame_type, request_context); |
| 449 } | 450 } |
| 450 | 451 |
| 451 GetFrame()->Loader().Progress().IncrementProgress(identifier, response); | 452 GetFrame()->Loader().Progress().IncrementProgress(identifier, response); |
| 452 GetLocalFrameClient()->DispatchDidReceiveResponse(response); | 453 GetLocalFrameClient()->DispatchDidReceiveResponse(response); |
| 453 DocumentLoader* document_loader = MasterDocumentLoader(); | 454 DocumentLoader* document_loader = MasterDocumentLoader(); |
| 454 probe::didReceiveResourceResponse(GetFrame(), identifier, document_loader, | 455 probe::didReceiveResourceResponse(GetFrame()->GetDocument(), identifier, |
| 455 response, resource); | 456 document_loader, response, resource); |
| 456 // It is essential that inspector gets resource response BEFORE console. | 457 // It is essential that inspector gets resource response BEFORE console. |
| 457 GetFrame()->Console().ReportResourceResponseReceived(document_loader, | 458 GetFrame()->Console().ReportResourceResponseReceived(document_loader, |
| 458 identifier, response); | 459 identifier, response); |
| 459 | 460 |
| 460 // MainResource responses were already added, skip them here. | 461 // MainResource responses were already added, skip them here. |
| 461 if (RuntimeEnabledFeatures::ServerTimingEnabled() && | 462 if (RuntimeEnabledFeatures::ServerTimingEnabled() && |
| 462 resource->GetType() != Resource::kMainResource && | 463 resource->GetType() != Resource::kMainResource && |
| 463 GetFrame()->GetDocument() && GetFrame()->GetDocument()->domWindow()) { | 464 GetFrame()->GetDocument() && GetFrame()->GetDocument()->domWindow()) { |
| 464 LocalDOMWindow* localDOMWindow = GetFrame()->GetDocument()->domWindow(); | 465 LocalDOMWindow* localDOMWindow = GetFrame()->GetDocument()->domWindow(); |
| 465 DOMWindowPerformance::performance(*localDOMWindow) | 466 DOMWindowPerformance::performance(*localDOMWindow) |
| 466 ->AddServerTiming(response, | 467 ->AddServerTiming(response, |
| 467 localDOMWindow->HasLoadEventFired() | 468 localDOMWindow->HasLoadEventFired() |
| 468 ? PerformanceBase::ShouldAddToBuffer::Never | 469 ? PerformanceBase::ShouldAddToBuffer::Never |
| 469 : PerformanceBase::ShouldAddToBuffer::Always); | 470 : PerformanceBase::ShouldAddToBuffer::Always); |
| 470 } | 471 } |
| 471 } | 472 } |
| 472 | 473 |
| 473 void FrameFetchContext::DispatchDidReceiveData(unsigned long identifier, | 474 void FrameFetchContext::DispatchDidReceiveData(unsigned long identifier, |
| 474 const char* data, | 475 const char* data, |
| 475 int data_length) { | 476 int data_length) { |
| 476 if (IsDetached()) | 477 if (IsDetached()) |
| 477 return; | 478 return; |
| 478 | 479 |
| 479 GetFrame()->Loader().Progress().IncrementProgress(identifier, data_length); | 480 GetFrame()->Loader().Progress().IncrementProgress(identifier, data_length); |
| 480 probe::didReceiveData(GetFrame(), identifier, data, data_length); | 481 probe::didReceiveData(GetFrame()->GetDocument(), identifier, |
| 482 MasterDocumentLoader(), data, data_length); |
| 481 } | 483 } |
| 482 | 484 |
| 483 void FrameFetchContext::DispatchDidReceiveEncodedData(unsigned long identifier, | 485 void FrameFetchContext::DispatchDidReceiveEncodedData(unsigned long identifier, |
| 484 int encoded_data_length) { | 486 int encoded_data_length) { |
| 485 if (IsDetached()) | 487 if (IsDetached()) |
| 486 return; | 488 return; |
| 487 | 489 probe::didReceiveEncodedDataLength(GetFrame()->GetDocument(), identifier, |
| 488 probe::didReceiveEncodedDataLength(GetFrame(), identifier, | |
| 489 encoded_data_length); | 490 encoded_data_length); |
| 490 } | 491 } |
| 491 | 492 |
| 492 void FrameFetchContext::DispatchDidDownloadData(unsigned long identifier, | 493 void FrameFetchContext::DispatchDidDownloadData(unsigned long identifier, |
| 493 int data_length, | 494 int data_length, |
| 494 int encoded_data_length) { | 495 int encoded_data_length) { |
| 495 if (IsDetached()) | 496 if (IsDetached()) |
| 496 return; | 497 return; |
| 497 | 498 |
| 498 GetFrame()->Loader().Progress().IncrementProgress(identifier, data_length); | 499 GetFrame()->Loader().Progress().IncrementProgress(identifier, data_length); |
| 499 probe::didReceiveData(GetFrame(), identifier, 0, data_length); | 500 probe::didReceiveData(GetFrame()->GetDocument(), identifier, |
| 500 probe::didReceiveEncodedDataLength(GetFrame(), identifier, | 501 MasterDocumentLoader(), 0, data_length); |
| 502 probe::didReceiveEncodedDataLength(GetFrame()->GetDocument(), identifier, |
| 501 encoded_data_length); | 503 encoded_data_length); |
| 502 } | 504 } |
| 503 | 505 |
| 504 void FrameFetchContext::DispatchDidFinishLoading(unsigned long identifier, | 506 void FrameFetchContext::DispatchDidFinishLoading(unsigned long identifier, |
| 505 double finish_time, | 507 double finish_time, |
| 506 int64_t encoded_data_length, | 508 int64_t encoded_data_length, |
| 507 int64_t decoded_body_length) { | 509 int64_t decoded_body_length) { |
| 508 if (IsDetached()) | 510 if (IsDetached()) |
| 509 return; | 511 return; |
| 510 | 512 |
| 511 GetFrame()->Loader().Progress().CompleteProgress(identifier); | 513 GetFrame()->Loader().Progress().CompleteProgress(identifier); |
| 512 probe::didFinishLoading(GetFrame(), identifier, finish_time, | 514 probe::didFinishLoading(GetFrame()->GetDocument(), identifier, |
| 515 MasterDocumentLoader(), finish_time, |
| 513 encoded_data_length, decoded_body_length); | 516 encoded_data_length, decoded_body_length); |
| 514 if (GetFrame()->FrameScheduler()) | 517 if (GetFrame()->FrameScheduler()) |
| 515 GetFrame()->FrameScheduler()->DidStopLoading(identifier); | 518 GetFrame()->FrameScheduler()->DidStopLoading(identifier); |
| 516 } | 519 } |
| 517 | 520 |
| 518 void FrameFetchContext::DispatchDidFail(unsigned long identifier, | 521 void FrameFetchContext::DispatchDidFail(unsigned long identifier, |
| 519 const ResourceError& error, | 522 const ResourceError& error, |
| 520 int64_t encoded_data_length, | 523 int64_t encoded_data_length, |
| 521 bool is_internal_request) { | 524 bool is_internal_request) { |
| 522 if (IsDetached()) | 525 if (IsDetached()) |
| 523 return; | 526 return; |
| 524 | 527 |
| 525 GetFrame()->Loader().Progress().CompleteProgress(identifier); | 528 GetFrame()->Loader().Progress().CompleteProgress(identifier); |
| 526 probe::didFailLoading(GetFrame(), identifier, error); | 529 probe::didFailLoading(GetFrame()->GetDocument(), identifier, error); |
| 527 // Notification to FrameConsole should come AFTER InspectorInstrumentation | 530 // Notification to FrameConsole should come AFTER InspectorInstrumentation |
| 528 // call, DevTools front-end relies on this. | 531 // call, DevTools front-end relies on this. |
| 529 if (!is_internal_request) | 532 if (!is_internal_request) |
| 530 GetFrame()->Console().DidFailLoading(identifier, error); | 533 GetFrame()->Console().DidFailLoading(identifier, error); |
| 531 if (GetFrame()->FrameScheduler()) | 534 if (GetFrame()->FrameScheduler()) |
| 532 GetFrame()->FrameScheduler()->DidStopLoading(identifier); | 535 GetFrame()->FrameScheduler()->DidStopLoading(identifier); |
| 533 } | 536 } |
| 534 | 537 |
| 535 void FrameFetchContext::DispatchDidLoadResourceFromMemoryCache( | 538 void FrameFetchContext::DispatchDidLoadResourceFromMemoryCache( |
| 536 unsigned long identifier, | 539 unsigned long identifier, |
| (...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 892 return nullptr; | 895 return nullptr; |
| 893 DocumentLoader* document_loader = MasterDocumentLoader(); | 896 DocumentLoader* document_loader = MasterDocumentLoader(); |
| 894 return document_loader ? document_loader->GetSubresourceFilter() : nullptr; | 897 return document_loader ? document_loader->GetSubresourceFilter() : nullptr; |
| 895 } | 898 } |
| 896 | 899 |
| 897 bool FrameFetchContext::ShouldBlockRequestByInspector( | 900 bool FrameFetchContext::ShouldBlockRequestByInspector( |
| 898 const ResourceRequest& resource_request) const { | 901 const ResourceRequest& resource_request) const { |
| 899 if (IsDetached()) | 902 if (IsDetached()) |
| 900 return false; | 903 return false; |
| 901 bool should_block_request = false; | 904 bool should_block_request = false; |
| 902 probe::shouldBlockRequest(GetFrame(), resource_request, | 905 probe::shouldBlockRequest(GetFrame()->GetDocument(), resource_request, |
| 903 &should_block_request); | 906 &should_block_request); |
| 904 return should_block_request; | 907 return should_block_request; |
| 905 } | 908 } |
| 906 | 909 |
| 907 void FrameFetchContext::DispatchDidBlockRequest( | 910 void FrameFetchContext::DispatchDidBlockRequest( |
| 908 const ResourceRequest& resource_request, | 911 const ResourceRequest& resource_request, |
| 909 const FetchInitiatorInfo& fetch_initiator_info, | 912 const FetchInitiatorInfo& fetch_initiator_info, |
| 910 ResourceRequestBlockedReason blocked_reason) const { | 913 ResourceRequestBlockedReason blocked_reason) const { |
| 911 if (IsDetached()) | 914 if (IsDetached()) |
| 912 return; | 915 return; |
| 913 probe::didBlockRequest(GetFrame(), resource_request, MasterDocumentLoader(), | 916 probe::didBlockRequest(GetFrame()->GetDocument(), resource_request, |
| 914 fetch_initiator_info, blocked_reason); | 917 MasterDocumentLoader(), fetch_initiator_info, |
| 918 blocked_reason); |
| 915 } | 919 } |
| 916 | 920 |
| 917 bool FrameFetchContext::ShouldBypassMainWorldCSP() const { | 921 bool FrameFetchContext::ShouldBypassMainWorldCSP() const { |
| 918 if (IsDetached()) | 922 if (IsDetached()) |
| 919 return false; | 923 return false; |
| 920 | 924 |
| 921 return GetFrame()->GetScriptController().ShouldBypassMainWorldCSP(); | 925 return GetFrame()->GetScriptController().ShouldBypassMainWorldCSP(); |
| 922 } | 926 } |
| 923 | 927 |
| 924 bool FrameFetchContext::IsSVGImageChromeClient() const { | 928 bool FrameFetchContext::IsSVGImageChromeClient() const { |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1126 } | 1130 } |
| 1127 | 1131 |
| 1128 DEFINE_TRACE(FrameFetchContext) { | 1132 DEFINE_TRACE(FrameFetchContext) { |
| 1129 visitor->Trace(document_loader_); | 1133 visitor->Trace(document_loader_); |
| 1130 visitor->Trace(document_); | 1134 visitor->Trace(document_); |
| 1131 visitor->Trace(frozen_state_); | 1135 visitor->Trace(frozen_state_); |
| 1132 BaseFetchContext::Trace(visitor); | 1136 BaseFetchContext::Trace(visitor); |
| 1133 } | 1137 } |
| 1134 | 1138 |
| 1135 } // namespace blink | 1139 } // namespace blink |
| OLD | NEW |