| Index: content/browser/loader/resource_loader.cc
|
| diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc
|
| index eee044c6aaf87a0119371de0a8722a239657692f..06fa49fea815da5642aebf0c675c0dd4ecc6e63a 100644
|
| --- a/content/browser/loader/resource_loader.cc
|
| +++ b/content/browser/loader/resource_loader.cc
|
| @@ -8,20 +8,21 @@
|
|
|
| #include "base/command_line.h"
|
| #include "base/location.h"
|
| #include "base/metrics/histogram.h"
|
| #include "base/profiler/scoped_tracker.h"
|
| #include "base/single_thread_task_runner.h"
|
| #include "base/thread_task_runner_handle.h"
|
| #include "base/time/time.h"
|
| #include "content/browser/appcache/appcache_interceptor.h"
|
| #include "content/browser/child_process_security_policy_impl.h"
|
| +#include "content/browser/frame_host/navigation_user_data.h"
|
| #include "content/browser/loader/cross_site_resource_handler.h"
|
| #include "content/browser/loader/detachable_resource_handler.h"
|
| #include "content/browser/loader/resource_loader_delegate.h"
|
| #include "content/browser/loader/resource_request_info_impl.h"
|
| #include "content/browser/service_worker/service_worker_request_handler.h"
|
| #include "content/browser/ssl/ssl_client_auth_handler.h"
|
| #include "content/browser/ssl/ssl_manager.h"
|
| #include "content/browser/ssl/ssl_policy.h"
|
| #include "content/common/ssl_status_serialization.h"
|
| #include "content/public/browser/cert_store.h"
|
| @@ -121,21 +122,20 @@ void PopulateResourceResponse(ResourceRequestInfoImpl* info,
|
| net::IsCertStatusError(ssl_status.cert_status) &&
|
| !net::IsCertStatusMinorError(ssl_status.cert_status);
|
| } else {
|
| // We should not have any SSL state.
|
| DCHECK(!request->ssl_info().cert_status);
|
| DCHECK_EQ(request->ssl_info().security_bits, -1);
|
| DCHECK_EQ(request->ssl_info().key_exchange_info, 0);
|
| DCHECK(!request->ssl_info().connection_status);
|
| }
|
| }
|
| -
|
| } // namespace
|
|
|
| ResourceLoader::ResourceLoader(scoped_ptr<net::URLRequest> request,
|
| scoped_ptr<ResourceHandler> handler,
|
| ResourceLoaderDelegate* delegate)
|
| : deferred_stage_(DEFERRED_NONE),
|
| request_(std::move(request)),
|
| handler_(std::move(handler)),
|
| delegate_(delegate),
|
| is_transferring_(false),
|
| @@ -538,21 +538,20 @@ void ResourceLoader::CancelRequestInternal(int error, bool from_renderer) {
|
| void ResourceLoader::CompleteResponseStarted() {
|
| ResourceRequestInfoImpl* info = GetRequestInfo();
|
| scoped_refptr<ResourceResponse> response(new ResourceResponse());
|
| PopulateResourceResponse(info, request_.get(), response.get());
|
|
|
| delegate_->DidReceiveResponse(this);
|
|
|
| // TODO(darin): Remove ScopedTracker below once crbug.com/475761 is fixed.
|
| tracked_objects::ScopedTracker tracking_profile(
|
| FROM_HERE_WITH_EXPLICIT_FUNCTION("475761 OnResponseStarted()"));
|
| -
|
| bool defer = false;
|
| if (!handler_->OnResponseStarted(response.get(), &defer)) {
|
| Cancel();
|
| } else if (defer) {
|
| read_deferral_start_time_ = base::TimeTicks::Now();
|
| deferred_stage_ = DEFERRED_READ; // Read first chunk when resumed.
|
| }
|
| }
|
|
|
| void ResourceLoader::StartReading(bool is_continuation) {
|
|
|