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

Side by Side Diff: content/browser/loader/resource_loader.cc

Issue 1422573008: Plumbing SSLPrivateKey (//net) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removing un-needed forward decl. Created 5 years, 1 month 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 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/loader/resource_loader.h" 5 #include "content/browser/loader/resource_loader.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/profiler/scoped_tracker.h" 10 #include "base/profiler/scoped_tracker.h"
(...skipping 17 matching lines...) Expand all
28 #include "content/public/browser/signed_certificate_timestamp_store.h" 28 #include "content/public/browser/signed_certificate_timestamp_store.h"
29 #include "content/public/common/content_client.h" 29 #include "content/public/common/content_client.h"
30 #include "content/public/common/content_switches.h" 30 #include "content/public/common/content_switches.h"
31 #include "content/public/common/process_type.h" 31 #include "content/public/common/process_type.h"
32 #include "content/public/common/resource_response.h" 32 #include "content/public/common/resource_response.h"
33 #include "content/public/common/security_style.h" 33 #include "content/public/common/security_style.h"
34 #include "net/base/io_buffer.h" 34 #include "net/base/io_buffer.h"
35 #include "net/base/load_flags.h" 35 #include "net/base/load_flags.h"
36 #include "net/http/http_response_headers.h" 36 #include "net/http/http_response_headers.h"
37 #include "net/ssl/client_cert_store.h" 37 #include "net/ssl/client_cert_store.h"
38 #include "net/ssl/ssl_platform_key.h"
39 #include "net/ssl/ssl_private_key.h"
38 #include "net/url_request/redirect_info.h" 40 #include "net/url_request/redirect_info.h"
39 #include "net/url_request/url_request_status.h" 41 #include "net/url_request/url_request_status.h"
40 42
41 using base::TimeDelta; 43 using base::TimeDelta;
42 using base::TimeTicks; 44 using base::TimeTicks;
43 45
44 namespace content { 46 namespace content {
45 namespace { 47 namespace {
46 48
47 void StoreSignedCertificateTimestamps( 49 void StoreSignedCertificateTimestamps(
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 DCHECK_CURRENTLY_ON(BrowserThread::IO); 418 DCHECK_CURRENTLY_ON(BrowserThread::IO);
417 419
418 DVLOG(1) << "ContinueSSLRequest() url: " << request_->url().spec(); 420 DVLOG(1) << "ContinueSSLRequest() url: " << request_->url().spec();
419 421
420 request_->ContinueDespiteLastError(); 422 request_->ContinueDespiteLastError();
421 } 423 }
422 424
423 void ResourceLoader::ContinueWithCertificate(net::X509Certificate* cert) { 425 void ResourceLoader::ContinueWithCertificate(net::X509Certificate* cert) {
424 DCHECK(ssl_client_auth_handler_); 426 DCHECK(ssl_client_auth_handler_);
425 ssl_client_auth_handler_.reset(); 427 ssl_client_auth_handler_.reset();
426 request_->ContinueWithCertificate(cert); 428 if (!cert) {
429 request_->ContinueWithCertificate(nullptr, nullptr);
430 return;
431 }
432 scoped_refptr<net::SSLPrivateKey> private_key =
433 net::FetchClientCertPrivateKey(cert);
434 request_->ContinueWithCertificate(cert, private_key.get());
427 } 435 }
428 436
429 void ResourceLoader::CancelCertificateSelection() { 437 void ResourceLoader::CancelCertificateSelection() {
430 DCHECK(ssl_client_auth_handler_); 438 DCHECK(ssl_client_auth_handler_);
431 ssl_client_auth_handler_.reset(); 439 ssl_client_auth_handler_.reset();
432 request_->CancelWithError(net::ERR_SSL_CLIENT_AUTH_CERT_NEEDED); 440 request_->CancelWithError(net::ERR_SSL_CLIENT_AUTH_CERT_NEEDED);
433 } 441 }
434 442
435 void ResourceLoader::Resume() { 443 void ResourceLoader::Resume() {
436 DCHECK(!is_transferring_); 444 DCHECK(!is_transferring_);
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 case net::URLRequestStatus::FAILED: 715 case net::URLRequestStatus::FAILED:
708 status = STATUS_UNDEFINED; 716 status = STATUS_UNDEFINED;
709 break; 717 break;
710 } 718 }
711 719
712 UMA_HISTOGRAM_ENUMERATION("Net.Prefetch.Pattern", status, STATUS_MAX); 720 UMA_HISTOGRAM_ENUMERATION("Net.Prefetch.Pattern", status, STATUS_MAX);
713 } 721 }
714 } 722 }
715 723
716 } // namespace content 724 } // namespace content
OLDNEW
« no previous file with comments | « chrome/browser/devtools/devtools_network_transaction.cc ('k') | content/browser/loader/resource_loader_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698