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

Side by Side Diff: net/socket_stream/socket_stream_job.cc

Issue 103803012: Make HSTS headers not clobber preloaded pins. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase and refactor. (Not done yet.) Created 6 years, 8 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 | Annotate | Revision Log
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 "net/socket_stream/socket_stream_job.h" 5 #include "net/socket_stream/socket_stream_job.h"
6 6
7 #include "base/memory/singleton.h" 7 #include "base/memory/singleton.h"
8 #include "net/http/transport_security_state.h" 8 #include "net/http/transport_security_state.h"
9 #include "net/socket_stream/socket_stream_job_manager.h" 9 #include "net/socket_stream/socket_stream_job_manager.h"
10 #include "net/ssl/ssl_config_service.h" 10 #include "net/ssl/ssl_config_service.h"
(...skipping 10 matching lines...) Expand all
21 21
22 // static 22 // static
23 SocketStreamJob* SocketStreamJob::CreateSocketStreamJob( 23 SocketStreamJob* SocketStreamJob::CreateSocketStreamJob(
24 const GURL& url, 24 const GURL& url,
25 SocketStream::Delegate* delegate, 25 SocketStream::Delegate* delegate,
26 TransportSecurityState* sts, 26 TransportSecurityState* sts,
27 SSLConfigService* ssl, 27 SSLConfigService* ssl,
28 URLRequestContext* context, 28 URLRequestContext* context,
29 CookieStore* cookie_store) { 29 CookieStore* cookie_store) {
30 GURL socket_url(url); 30 GURL socket_url(url);
31 TransportSecurityState::DomainState domain_state; 31 if (url.scheme() == "ws" && sts && sts->ShouldUpgradeToSSL(
32 if (url.scheme() == "ws" && sts && sts->GetDomainState( 32 url.host(), SSLConfigService::IsSNIAvailable(ssl))) {
33 url.host(), SSLConfigService::IsSNIAvailable(ssl), &domain_state) &&
34 domain_state.ShouldUpgradeToSSL()) {
35 url_canon::Replacements<char> replacements; 33 url_canon::Replacements<char> replacements;
36 static const char kNewScheme[] = "wss"; 34 static const char kNewScheme[] = "wss";
37 replacements.SetScheme(kNewScheme, 35 replacements.SetScheme(kNewScheme,
38 url_parse::Component(0, strlen(kNewScheme))); 36 url_parse::Component(0, strlen(kNewScheme)));
39 socket_url = url.ReplaceComponents(replacements); 37 socket_url = url.ReplaceComponents(replacements);
40 } 38 }
41 return SocketStreamJobManager::GetInstance()->CreateJob( 39 return SocketStreamJobManager::GetInstance()->CreateJob(
42 socket_url, delegate, context, cookie_store); 40 socket_url, delegate, context, cookie_store);
43 } 41 }
44 42
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 } 84 }
87 85
88 void SocketStreamJob::DetachContext() { 86 void SocketStreamJob::DetachContext() {
89 if (socket_.get()) 87 if (socket_.get())
90 socket_->DetachContext(); 88 socket_->DetachContext();
91 } 89 }
92 90
93 SocketStreamJob::~SocketStreamJob() {} 91 SocketStreamJob::~SocketStreamJob() {}
94 92
95 } // namespace net 93 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698