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

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: Respond to comments and fix compilation errors. Created 6 years, 7 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 &&
32 if (url.scheme() == "ws" && sts && sts->GetDomainState( 32 sts->ShouldUpgradeToSSL(url.host(),
33 url.host(), SSLConfigService::IsSNIAvailable(ssl), &domain_state) && 33 SSLConfigService::IsSNIAvailable(ssl))) {
34 domain_state.ShouldUpgradeToSSL()) {
35 url::Replacements<char> replacements; 34 url::Replacements<char> replacements;
36 static const char kNewScheme[] = "wss"; 35 static const char kNewScheme[] = "wss";
37 replacements.SetScheme(kNewScheme, url::Component(0, strlen(kNewScheme))); 36 replacements.SetScheme(kNewScheme, url::Component(0, strlen(kNewScheme)));
38 socket_url = url.ReplaceComponents(replacements); 37 socket_url = url.ReplaceComponents(replacements);
39 } 38 }
40 return SocketStreamJobManager::GetInstance()->CreateJob( 39 return SocketStreamJobManager::GetInstance()->CreateJob(
41 socket_url, delegate, context, cookie_store); 40 socket_url, delegate, context, cookie_store);
42 } 41 }
43 42
44 SocketStreamJob::SocketStreamJob() {} 43 SocketStreamJob::SocketStreamJob() {}
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 } 84 }
86 85
87 void SocketStreamJob::DetachContext() { 86 void SocketStreamJob::DetachContext() {
88 if (socket_.get()) 87 if (socket_.get())
89 socket_->DetachContext(); 88 socket_->DetachContext();
90 } 89 }
91 90
92 SocketStreamJob::~SocketStreamJob() {} 91 SocketStreamJob::~SocketStreamJob() {}
93 92
94 } // namespace net 93 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698