OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "base/message_loop.h" | 5 #include "base/message_loop.h" |
6 #include "base/thread.h" | 6 #include "base/thread.h" |
7 #include "chrome/browser/browser_process.h" | 7 #include "chrome/browser/browser_process.h" |
8 #include "chrome/browser/io_thread.h" | 8 #include "chrome/browser/io_thread.h" |
9 #include "chrome/browser/net/ssl_config_service_manager.h" | 9 #include "chrome/browser/net/ssl_config_service_manager.h" |
10 #include "chrome/browser/pref_member.h" | 10 #include "chrome/browser/pref_member.h" |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 | 75 |
76 // Store SSL config settings in |config|, directly from the preferences. Must | 76 // Store SSL config settings in |config|, directly from the preferences. Must |
77 // only be called from UI thread. | 77 // only be called from UI thread. |
78 void GetSSLConfigFromPrefs(net::SSLConfig* config); | 78 void GetSSLConfigFromPrefs(net::SSLConfig* config); |
79 | 79 |
80 // The prefs (should only be accessed from UI thread) | 80 // The prefs (should only be accessed from UI thread) |
81 BooleanPrefMember rev_checking_enabled_; | 81 BooleanPrefMember rev_checking_enabled_; |
82 BooleanPrefMember ssl2_enabled_; | 82 BooleanPrefMember ssl2_enabled_; |
83 BooleanPrefMember ssl3_enabled_; | 83 BooleanPrefMember ssl3_enabled_; |
84 BooleanPrefMember tls1_enabled_; | 84 BooleanPrefMember tls1_enabled_; |
| 85 bool otr_mode_; |
85 | 86 |
86 scoped_refptr<SSLConfigServicePref> ssl_config_service_; | 87 scoped_refptr<SSLConfigServicePref> ssl_config_service_; |
87 | 88 |
88 DISALLOW_COPY_AND_ASSIGN(SSLConfigServiceManagerPref); | 89 DISALLOW_COPY_AND_ASSIGN(SSLConfigServiceManagerPref); |
89 }; | 90 }; |
90 | 91 |
91 SSLConfigServiceManagerPref::SSLConfigServiceManagerPref(Profile* profile) | 92 SSLConfigServiceManagerPref::SSLConfigServiceManagerPref(Profile* profile) |
92 : ssl_config_service_(new SSLConfigServicePref()) { | 93 : ssl_config_service_(new SSLConfigServicePref()) { |
93 RegisterUserPrefs(profile->GetPrefs()); | 94 RegisterUserPrefs(profile->GetPrefs()); |
94 | 95 |
95 rev_checking_enabled_.Init(prefs::kCertRevocationCheckingEnabled, | 96 rev_checking_enabled_.Init(prefs::kCertRevocationCheckingEnabled, |
96 profile->GetPrefs(), this); | 97 profile->GetPrefs(), this); |
97 ssl2_enabled_.Init(prefs::kSSL2Enabled, profile->GetPrefs(), this); | 98 ssl2_enabled_.Init(prefs::kSSL2Enabled, profile->GetPrefs(), this); |
98 ssl3_enabled_.Init(prefs::kSSL3Enabled, profile->GetPrefs(), this); | 99 ssl3_enabled_.Init(prefs::kSSL3Enabled, profile->GetPrefs(), this); |
99 tls1_enabled_.Init(prefs::kTLS1Enabled, profile->GetPrefs(), this); | 100 tls1_enabled_.Init(prefs::kTLS1Enabled, profile->GetPrefs(), this); |
100 | 101 |
101 // Initialize from UI thread. This is okay as there shouldn't be anything on | 102 // Initialize from UI thread. This is okay as there shouldn't be anything on |
102 // the IO thread trying to access it yet. | 103 // the IO thread trying to access it yet. |
| 104 if (profile->IsOffTheRecord()) |
| 105 otr_mode_ = true; |
| 106 else |
| 107 otr_mode_ = false; |
103 GetSSLConfigFromPrefs(&ssl_config_service_->cached_config_); | 108 GetSSLConfigFromPrefs(&ssl_config_service_->cached_config_); |
104 } | 109 } |
105 | 110 |
106 // static | 111 // static |
107 void SSLConfigServiceManagerPref::RegisterUserPrefs(PrefService* user_prefs) { | 112 void SSLConfigServiceManagerPref::RegisterUserPrefs(PrefService* user_prefs) { |
108 net::SSLConfig default_config; | 113 net::SSLConfig default_config; |
109 user_prefs->RegisterBooleanPref(prefs::kCertRevocationCheckingEnabled, | 114 user_prefs->RegisterBooleanPref(prefs::kCertRevocationCheckingEnabled, |
110 default_config.rev_checking_enabled); | 115 default_config.rev_checking_enabled); |
111 user_prefs->RegisterBooleanPref(prefs::kSSL2Enabled, | 116 user_prefs->RegisterBooleanPref(prefs::kSSL2Enabled, |
112 default_config.ssl2_enabled); | 117 default_config.ssl2_enabled); |
(...skipping 25 matching lines...) Expand all Loading... |
138 new_config)); | 143 new_config)); |
139 } | 144 } |
140 } | 145 } |
141 | 146 |
142 void SSLConfigServiceManagerPref::GetSSLConfigFromPrefs( | 147 void SSLConfigServiceManagerPref::GetSSLConfigFromPrefs( |
143 net::SSLConfig* config) { | 148 net::SSLConfig* config) { |
144 config->rev_checking_enabled = rev_checking_enabled_.GetValue(); | 149 config->rev_checking_enabled = rev_checking_enabled_.GetValue(); |
145 config->ssl2_enabled = ssl2_enabled_.GetValue(); | 150 config->ssl2_enabled = ssl2_enabled_.GetValue(); |
146 config->ssl3_enabled = ssl3_enabled_.GetValue(); | 151 config->ssl3_enabled = ssl3_enabled_.GetValue(); |
147 config->tls1_enabled = tls1_enabled_.GetValue(); | 152 config->tls1_enabled = tls1_enabled_.GetValue(); |
| 153 config->otr_mode = otr_mode_; |
148 } | 154 } |
149 | 155 |
150 //////////////////////////////////////////////////////////////////////////////// | 156 //////////////////////////////////////////////////////////////////////////////// |
151 // SSLConfigServiceManager | 157 // SSLConfigServiceManager |
152 | 158 |
153 // static | 159 // static |
154 SSLConfigServiceManager* SSLConfigServiceManager::CreateDefaultManager( | 160 SSLConfigServiceManager* SSLConfigServiceManager::CreateDefaultManager( |
155 Profile* profile) { | 161 Profile* profile) { |
156 return new SSLConfigServiceManagerPref(profile); | 162 return new SSLConfigServiceManagerPref(profile); |
157 } | 163 } |
OLD | NEW |