| Index: content/browser/loader/navigation_resource_handler.cc
|
| diff --git a/content/browser/loader/navigation_resource_handler.cc b/content/browser/loader/navigation_resource_handler.cc
|
| index d7d65c470988ecddb5de8753764113d2b78907fd..4f63fba10a1862d6c208d24bae262674386d7078 100644
|
| --- a/content/browser/loader/navigation_resource_handler.cc
|
| +++ b/content/browser/loader/navigation_resource_handler.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/logging.h"
|
| #include "content/browser/loader/navigation_url_loader_impl_core.h"
|
| #include "content/browser/loader/netlog_observer.h"
|
| +#include "content/browser/loader/resource_loader.h"
|
| #include "content/browser/loader/resource_request_info_impl.h"
|
| #include "content/browser/resource_context_impl.h"
|
| #include "content/browser/streams/stream.h"
|
| @@ -18,6 +19,7 @@
|
| #include "content/public/browser/resource_dispatcher_host_delegate.h"
|
| #include "content/public/browser/stream_handle.h"
|
| #include "content/public/common/resource_response.h"
|
| +#include "content/public/common/ssl_status.h"
|
| #include "net/base/net_errors.h"
|
| #include "net/url_request/url_request.h"
|
|
|
| @@ -26,10 +28,12 @@ namespace content {
|
| NavigationResourceHandler::NavigationResourceHandler(
|
| net::URLRequest* request,
|
| NavigationURLLoaderImplCore* core,
|
| - ResourceDispatcherHostDelegate* resource_dispatcher_host_delegate)
|
| + ResourceDispatcherHostDelegate* resource_dispatcher_host_delegate,
|
| + CertStore* cert_store)
|
| : ResourceHandler(request),
|
| core_(core),
|
| - resource_dispatcher_host_delegate_(resource_dispatcher_host_delegate) {
|
| + resource_dispatcher_host_delegate_(resource_dispatcher_host_delegate),
|
| + cert_store_(cert_store) {
|
| core_->set_resource_handler(this);
|
| writer_.set_immediate_mode(true);
|
| }
|
| @@ -110,8 +114,15 @@ bool NavigationResourceHandler::OnResponseStarted(ResourceResponse* response,
|
| cloned_data = navigation_data->Clone();
|
| }
|
|
|
| + SSLStatus ssl_status;
|
| + if (request()->ssl_info().cert.get()) {
|
| + ResourceLoader::GetSSLStatusForRequest(
|
| + request()->url(), request()->ssl_info(), info->GetChildID(),
|
| + cert_store_, &ssl_status);
|
| + }
|
| +
|
| core_->NotifyResponseStarted(response, writer_.stream()->CreateHandle(),
|
| - std::move(cloned_data));
|
| + ssl_status, std::move(cloned_data));
|
| *defer = true;
|
|
|
| return true;
|
|
|