Commit 1188a8e1 authored by isherman@chromium.org's avatar isherman@chromium.org

Unbreak SSL/TLS preferences

Revert part of http://codereview.chromium.org/7314020/.

It turns out that these preferences are stored in local state rather than the user state, and the ability to bind a checkbox to a preference currently only works for user preferences.  Local state preferences needs to be done manually.

BUG=92448
TEST=none


Review URL: http://codereview.chromium.org/7633012

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96529 0039d316-1c4b-4281-b951-d872f2087c98
parent 8d1ccb23
......@@ -186,23 +186,19 @@
i18n-content="certificatesManageButton"></button></div>
<div class="checkbox">
<label>
<input id="sslCheckRevocation" type="checkbox"
pref="ssl.rev_checking.enabled"
metric="Options_CheckCertRevocation">
<input id="sslCheckRevocation" type="checkbox">
<span i18n-content="sslCheckRevocation"></span>
</label>
</div>
<div class="checkbox">
<label>
<input id="sslUseSSL3" type="checkbox"
pref="ssl.ssl3.enabled" metric="Options_SSL3">
<input id="sslUseSSL3" type="checkbox">
<span i18n-content="sslUseSSL3"></span>
</label>
</div>
<div class="checkbox">
<label>
<input id="sslUseTLS1" type="checkbox"
pref="ssl.tls1.enabled" metric="Options_TLS1">
<input id="sslUseTLS1" type="checkbox">
<span i18n-content="sslUseTLS1"></span>
</label>
</div>
......
......@@ -94,6 +94,19 @@ var OptionsPage = options.OptionsPage;
};
}
$('sslCheckRevocation').onclick = function(event) {
chrome.send('checkRevocationCheckboxAction',
[String($('sslCheckRevocation').checked)]);
};
$('sslUseSSL3').onclick = function(event) {
chrome.send('useSSL3CheckboxAction',
[String($('sslUseSSL3').checked)]);
};
$('sslUseTLS1').onclick = function(event) {
chrome.send('useTLS1CheckboxAction',
[String($('sslUseTLS1').checked)]);
};
if ($('backgroundModeCheckbox')) {
$('backgroundModeCheckbox').onclick = function(event) {
chrome.send('backgroundModeAction',
......@@ -206,6 +219,25 @@ var OptionsPage = options.OptionsPage;
}
};
// Set the checked state for the sslCheckRevocation checkbox.
AdvancedOptions.SetCheckRevocationCheckboxState = function(
checked, disabled) {
$('sslCheckRevocation').checked = checked;
$('sslCheckRevocation').disabled = disabled;
};
// Set the checked state for the sslUseSSL3 checkbox.
AdvancedOptions.SetUseSSL3CheckboxState = function(checked, disabled) {
$('sslUseSSL3').checked = checked;
$('sslUseSSL3').disabled = disabled;
};
// Set the checked state for the sslUseTLS1 checkbox.
AdvancedOptions.SetUseTLS1CheckboxState = function(checked, disabled) {
$('sslUseTLS1').checked = checked;
$('sslUseTLS1').disabled = disabled;
};
// Set the checked state for the backgroundModeCheckbox element.
AdvancedOptions.SetBackgroundModeCheckboxState = function(checked) {
$('backgroundModeCheckbox').checked = checked;
......
......@@ -204,6 +204,7 @@ void AdvancedOptionsHandler::Initialize() {
SetupPromptForDownload();
SetupAutoOpenFileTypesDisabledAttribute();
SetupProxySettingsSection();
SetupSSLConfigSettings();
#if !defined(OS_CHROMEOS)
if (cloud_print_proxy_ui_enabled_) {
SetupCloudPrintProxySection();
......@@ -233,6 +234,13 @@ WebUIMessageHandler* AdvancedOptionsHandler::Attach(WebUI* web_ui) {
cloud_print_proxy_enabled_.Init(prefs::kCloudPrintProxyEnabled, prefs, this);
#endif
rev_checking_enabled_.Init(prefs::kCertRevocationCheckingEnabled,
g_browser_process->local_state(), this);
ssl3_enabled_.Init(prefs::kSSL3Enabled, g_browser_process->local_state(),
this);
tls1_enabled_.Init(prefs::kTLS1Enabled, g_browser_process->local_state(),
this);
#if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
background_mode_enabled_.Init(prefs::kBackgroundModeEnabled,
g_browser_process->local_state(),
......@@ -293,6 +301,15 @@ void AdvancedOptionsHandler::RegisterMessages() {
NewCallback(this,
&AdvancedOptionsHandler::ShowNetworkProxySettings));
#endif
web_ui_->RegisterMessageCallback("checkRevocationCheckboxAction",
NewCallback(this,
&AdvancedOptionsHandler::HandleCheckRevocationCheckbox));
web_ui_->RegisterMessageCallback("useSSL3CheckboxAction",
NewCallback(this,
&AdvancedOptionsHandler::HandleUseSSL3Checkbox));
web_ui_->RegisterMessageCallback("useTLS1CheckboxAction",
NewCallback(this,
&AdvancedOptionsHandler::HandleUseTLS1Checkbox));
#if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
web_ui_->RegisterMessageCallback("backgroundModeAction",
NewCallback(this,
......@@ -395,6 +412,37 @@ void AdvancedOptionsHandler::HandleDefaultFontSize(const ListValue* args) {
}
}
void AdvancedOptionsHandler::HandleCheckRevocationCheckbox(
const ListValue* args) {
std::string checked_str = UTF16ToUTF8(ExtractStringValue(args));
bool enabled = checked_str == "true";
UserMetrics::RecordAction(
enabled ?
UserMetricsAction("Options_CheckCertRevocation_Enable") :
UserMetricsAction("Options_CheckCertRevocation_Disable"));
rev_checking_enabled_.SetValue(enabled);
}
void AdvancedOptionsHandler::HandleUseSSL3Checkbox(const ListValue* args) {
std::string checked_str = UTF16ToUTF8(ExtractStringValue(args));
bool enabled = checked_str == "true";
UserMetrics::RecordAction(
enabled ?
UserMetricsAction("Options_SSL3_Enable") :
UserMetricsAction("Options_SSL3_Disable"));
ssl3_enabled_.SetValue(enabled);
}
void AdvancedOptionsHandler::HandleUseTLS1Checkbox(const ListValue* args) {
std::string checked_str = UTF16ToUTF8(ExtractStringValue(args));
bool enabled = checked_str == "true";
UserMetrics::RecordAction(
enabled ?
UserMetricsAction("Options_TLS1_Enable") :
UserMetricsAction("Options_TLS1_Disable"));
tls1_enabled_.SetValue(enabled);
}
#if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
void AdvancedOptionsHandler::HandleBackgroundModeCheckbox(
const ListValue* args) {
......@@ -591,3 +639,25 @@ void AdvancedOptionsHandler::SetupProxySettingsSection() {
web_ui_->CallJavascriptFunction(
"options.AdvancedOptions.SetupProxySettingsSection", disabled, label);
}
void AdvancedOptionsHandler::SetupSSLConfigSettings() {
{
base::FundamentalValue checked(rev_checking_enabled_.GetValue());
base::FundamentalValue disabled(rev_checking_enabled_.IsManaged());
web_ui_->CallJavascriptFunction(
"options.AdvancedOptions.SetCheckRevocationCheckboxState", checked,
disabled);
}
{
base::FundamentalValue checked(ssl3_enabled_.GetValue());
base::FundamentalValue disabled(ssl3_enabled_.IsManaged());
web_ui_->CallJavascriptFunction(
"options.AdvancedOptions.SetUseSSL3CheckboxState", checked, disabled);
}
{
base::FundamentalValue checked(tls1_enabled_.GetValue());
base::FundamentalValue disabled(tls1_enabled_.IsManaged());
web_ui_->CallJavascriptFunction(
"options.AdvancedOptions.SetUseTLS1CheckboxState", checked, disabled);
}
}
......@@ -157,6 +157,11 @@ class AdvancedOptionsHandler
scoped_ptr<CloudPrintSetupHandler> cloud_print_setup_handler_;
#endif
// SSLConfigService prefs.
BooleanPrefMember rev_checking_enabled_;
BooleanPrefMember ssl3_enabled_;
BooleanPrefMember tls1_enabled_;
#if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
BooleanPrefMember background_mode_enabled_;
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment