summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authormnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-30 14:14:01 +0000
committermnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-30 14:14:01 +0000
commit0138b4a799f9a40992c6f8ea5a43bf40f8a620f0 (patch)
treeedc25299410679f9af9248a0cfe8c8cb95916d92 /chrome
parent01d0b90a9dbac157dc639f472a4c2bec51a6118d (diff)
downloadchromium_src-0138b4a799f9a40992c6f8ea5a43bf40f8a620f0.zip
chromium_src-0138b4a799f9a40992c6f8ea5a43bf40f8a620f0.tar.gz
chromium_src-0138b4a799f9a40992c6f8ea5a43bf40f8a620f0.tar.bz2
Update password manager prefs UI on policy refresh.
Preferences.xib changes: Bind Enabled state of password manager radio matrix and button to the new @properties. BUG=52830 TEST=Change password manager policy, watch preferences UI. Review URL: http://codereview.chromium.org/3241005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57857 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/app/nibs/Preferences.xib77
-rw-r--r--chrome/browser/cocoa/preferences_window_controller.h4
-rw-r--r--chrome/browser/cocoa/preferences_window_controller.mm15
-rw-r--r--chrome/browser/gtk/options/content_page_gtk.cc22
-rw-r--r--chrome/browser/gtk/options/content_page_gtk.h1
-rw-r--r--chrome/browser/views/options/content_page_view.cc13
6 files changed, 67 insertions, 65 deletions
diff --git a/chrome/app/nibs/Preferences.xib b/chrome/app/nibs/Preferences.xib
index 1ab2914..b6a22de 100644
--- a/chrome/app/nibs/Preferences.xib
+++ b/chrome/app/nibs/Preferences.xib
@@ -12,9 +12,9 @@
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="79"/>
- <integer value="74"/>
<integer value="482"/>
+ <integer value="74"/>
+ <integer value="79"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -3816,38 +3816,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
- <string key="label">enabled: isPasswordManagerEnabled</string>
- <reference key="source" ref="1019357609"/>
- <reference key="destination" ref="1001"/>
- <object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="1019357609"/>
- <reference key="NSDestination" ref="1001"/>
- <string key="NSLabel">enabled: isPasswordManagerEnabled</string>
- <string key="NSBinding">enabled</string>
- <string key="NSKeyPath">isPasswordManagerEnabled</string>
- <int key="NSNibBindingConnectorVersion">2</int>
- </object>
- </object>
- <int key="connectionID">713</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBBindingConnection" key="connection">
- <string key="label">enabled: isPasswordManagerEnabled</string>
- <reference key="source" ref="667220499"/>
- <reference key="destination" ref="1001"/>
- <object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="667220499"/>
- <reference key="NSDestination" ref="1001"/>
- <string key="NSLabel">enabled: isPasswordManagerEnabled</string>
- <string key="NSBinding">enabled</string>
- <string key="NSKeyPath">isPasswordManagerEnabled</string>
- <int key="NSNibBindingConnectorVersion">2</int>
- </object>
- </object>
- <int key="connectionID">714</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBBindingConnection" key="connection">
<string key="label">enabled: showHomeButtonEnabled</string>
<reference key="source" ref="136601899"/>
<reference key="destination" ref="1001"/>
@@ -4014,6 +3982,38 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
<int key="connectionID">756</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: passwordManagerChoiceEnabled</string>
+ <reference key="source" ref="1019357609"/>
+ <reference key="destination" ref="1001"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="1019357609"/>
+ <reference key="NSDestination" ref="1001"/>
+ <string key="NSLabel">enabled: passwordManagerChoiceEnabled</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">passwordManagerChoiceEnabled</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">757</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBBindingConnection" key="connection">
+ <string key="label">enabled: passwordManagerButtonEnabled</string>
+ <reference key="source" ref="667220499"/>
+ <reference key="destination" ref="1001"/>
+ <object class="NSNibBindingConnector" key="connector">
+ <reference key="NSSource" ref="667220499"/>
+ <reference key="NSDestination" ref="1001"/>
+ <string key="NSLabel">enabled: passwordManagerButtonEnabled</string>
+ <string key="NSBinding">enabled</string>
+ <string key="NSKeyPath">passwordManagerButtonEnabled</string>
+ <int key="NSNibBindingConnectorVersion">2</int>
+ </object>
+ </object>
+ <int key="connectionID">758</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -5794,7 +5794,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">756</int>
+ <int key="maxID">758</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -6068,13 +6068,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="className">NSWindow</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
- <string key="minorKey">browser/cocoa/framed_browser_window.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSWindow</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
<string key="minorKey">browser/cocoa/themed_window.h</string>
</object>
</object>
diff --git a/chrome/browser/cocoa/preferences_window_controller.h b/chrome/browser/cocoa/preferences_window_controller.h
index 6011364..2afec1f 100644
--- a/chrome/browser/cocoa/preferences_window_controller.h
+++ b/chrome/browser/cocoa/preferences_window_controller.h
@@ -104,6 +104,8 @@ class ProfileSyncService;
scoped_nsobject<NSColor> syncStatusNoErrorBackgroundColor_;
scoped_nsobject<NSColor> syncLinkNoErrorBackgroundColor_;
scoped_nsobject<NSColor> syncErrorBackgroundColor_;
+ BOOL passwordManagerChoiceEnabled_;
+ BOOL passwordManagerButtonEnabled_;
BOOL autoFillSettingsButtonEnabled_;
// Under the hood panel
@@ -188,6 +190,8 @@ class ProfileSyncService;
// Usable from cocoa bindings to hook up the custom home pages table.
@property (nonatomic, readonly) CustomHomePagesModel* customPagesSource;
@property (assign, nonatomic) BOOL showHomeButtonEnabled;
+@property (nonatomic) BOOL passwordManagerChoiceEnabled;
+@property (nonatomic) BOOL passwordManagerButtonEnabled;
@property (assign, nonatomic) BOOL autoFillSettingsButtonEnabled;
@property (assign, nonatomic) BOOL proxiesConfigureButtonEnabled;
@property (assign, nonatomic) BOOL restoreButtonsEnabled;
diff --git a/chrome/browser/cocoa/preferences_window_controller.mm b/chrome/browser/cocoa/preferences_window_controller.mm
index 7c62797..a3026f9 100644
--- a/chrome/browser/cocoa/preferences_window_controller.mm
+++ b/chrome/browser/cocoa/preferences_window_controller.mm
@@ -421,6 +421,8 @@ class ManagedPrefsBannerState : public ManagedPrefsBannerBase {
@synthesize showHomeButtonEnabled = showHomeButtonEnabled_;
@synthesize autoFillSettingsButtonEnabled = autoFillSettingsButtonEnabled_;
+@synthesize passwordManagerChoiceEnabled = passwordManagerChoiceEnabled_;
+@synthesize passwordManagerButtonEnabled = passwordManagerButtonEnabled_;
@synthesize proxiesConfigureButtonEnabled = proxiesConfigureButtonEnabled_;
@synthesize restoreButtonsEnabled = restoreButtonsEnabled_;
@synthesize restoreURLsEnabled = restoreURLsEnabled_;
@@ -495,6 +497,9 @@ class ManagedPrefsBannerState : public ManagedPrefsBannerBase {
bool autofill_disabled_by_policy =
autoFillEnabled_.IsManaged() && !autoFillEnabled_.GetValue();
[self setAutoFillSettingsButtonEnabled:!autofill_disabled_by_policy];
+ [self setPasswordManagerChoiceEnabled:!askSavePasswords_.IsManaged()];
+ [self setPasswordManagerButtonEnabled:
+ !askSavePasswords_.IsManaged() || askSavePasswords_.GetValue()];
// Initialize the proxy pref set observer.
proxyPrefs_.reset(
@@ -1237,6 +1242,9 @@ const int kDisabledIndex = 1;
if (*prefName == prefs::kPasswordManagerEnabled) {
[self setPasswordManagerEnabledIndex:askSavePasswords_.GetValue() ?
kEnabledIndex : kDisabledIndex];
+ [self setPasswordManagerChoiceEnabled:!askSavePasswords_.IsManaged()];
+ [self setPasswordManagerButtonEnabled:
+ !askSavePasswords_.IsManaged() || askSavePasswords_.GetValue()];
}
if (*prefName == prefs::kAutoFillEnabled) {
bool autofill_disabled_by_policy =
@@ -1364,18 +1372,13 @@ const int kDisabledIndex = 1;
else
[self recordUserAction:UserMetricsAction(
"Options_PasswordManager_Disable")];
- askSavePasswords_.SetValue(value == kEnabledIndex ? true : false);
+ askSavePasswords_.SetValueIfNotManaged(value == kEnabledIndex ? true : false);
}
- (NSInteger)passwordManagerEnabledIndex {
return askSavePasswords_.GetValue() ? kEnabledIndex : kDisabledIndex;
}
-// Returns whether the password manager buttons should be enabled.
-- (BOOL)isPasswordManagerEnabled {
- return !askSavePasswords_.IsManaged();
-}
-
- (void)setIsUsingDefaultTheme:(BOOL)value {
if (value)
[self recordUserAction:UserMetricsAction(
diff --git a/chrome/browser/gtk/options/content_page_gtk.cc b/chrome/browser/gtk/options/content_page_gtk.cc
index 66eb534..13b2cea 100644
--- a/chrome/browser/gtk/options/content_page_gtk.cc
+++ b/chrome/browser/gtk/options/content_page_gtk.cc
@@ -162,6 +162,14 @@ void ContentPageGtk::NotifyPrefChanged(const std::string* pref_name) {
gtk_toggle_button_set_active(
GTK_TOGGLE_BUTTON(passwords_neversave_radio_), TRUE);
}
+ bool isPasswordManagerEnabled = !ask_to_save_passwords_.IsManaged();
+ gtk_widget_set_sensitive(passwords_asktosave_radio_,
+ isPasswordManagerEnabled);
+ gtk_widget_set_sensitive(passwords_neversave_radio_,
+ isPasswordManagerEnabled);
+ gtk_widget_set_sensitive(show_passwords_button_,
+ isPasswordManagerEnabled ||
+ ask_to_save_passwords_.GetValue());
}
if (!pref_name || *pref_name == prefs::kAutoFillEnabled) {
bool disabled_by_policy = form_autofill_enabled_.IsManaged() &&
@@ -229,21 +237,13 @@ GtkWidget* ContentPageGtk::InitPasswordSavingGroup() {
// depend on the spacing above.
GtkWidget* button_hbox = gtk_hbox_new(FALSE, gtk_util::kLabelSpacing);
gtk_container_add(GTK_CONTAINER(vbox), button_hbox);
- GtkWidget* show_passwords_button = gtk_button_new_with_label(
+ show_passwords_button_ = gtk_button_new_with_label(
l10n_util::GetStringUTF8(IDS_OPTIONS_PASSWORDS_SHOWPASSWORDS).c_str());
- g_signal_connect(show_passwords_button, "clicked",
+ g_signal_connect(show_passwords_button_, "clicked",
G_CALLBACK(OnShowPasswordsButtonClickedThunk), this);
- gtk_box_pack_start(GTK_BOX(button_hbox), show_passwords_button, FALSE,
+ gtk_box_pack_start(GTK_BOX(button_hbox), show_passwords_button_, FALSE,
FALSE, 0);
- bool isPasswordManagerEnabled = !ask_to_save_passwords_.IsManaged();
- gtk_widget_set_sensitive(passwords_asktosave_radio_,
- isPasswordManagerEnabled);
- gtk_widget_set_sensitive(passwords_neversave_radio_,
- isPasswordManagerEnabled);
- gtk_widget_set_sensitive(show_passwords_button,
- isPasswordManagerEnabled);
-
return vbox;
}
diff --git a/chrome/browser/gtk/options/content_page_gtk.h b/chrome/browser/gtk/options/content_page_gtk.h
index 37fc39b..286e28c 100644
--- a/chrome/browser/gtk/options/content_page_gtk.h
+++ b/chrome/browser/gtk/options/content_page_gtk.h
@@ -68,6 +68,7 @@ class ContentPageGtk : public OptionsPageBase,
// Widgets for the Password saving group.
GtkWidget* passwords_asktosave_radio_;
GtkWidget* passwords_neversave_radio_;
+ GtkWidget* show_passwords_button_;
// Widgets for the AutoFill group.
GtkWidget* autofill_button_;
diff --git a/chrome/browser/views/options/content_page_view.cc b/chrome/browser/views/options/content_page_view.cc
index d49c024..41b9ffa 100644
--- a/chrome/browser/views/options/content_page_view.cc
+++ b/chrome/browser/views/options/content_page_view.cc
@@ -222,12 +222,6 @@ void ContentPageView::InitControlLayout() {
profile()->GetPrefs(), this);
is_using_default_theme_.Init(prefs::kCurrentThemeID,
profile()->GetPrefs(), this);
-
- // Disable UI elements that are managed via policy.
- bool enablePasswordManagerElements = !ask_to_save_passwords_.IsManaged();
- passwords_asktosave_radio_->SetEnabled(enablePasswordManagerElements);
- passwords_neversave_radio_->SetEnabled(enablePasswordManagerElements);
- show_passwords_button_->SetEnabled(enablePasswordManagerElements);
}
void ContentPageView::NotifyPrefChanged(const std::string* pref_name) {
@@ -237,6 +231,13 @@ void ContentPageView::NotifyPrefChanged(const std::string* pref_name) {
} else {
passwords_neversave_radio_->SetChecked(true);
}
+
+ // Disable UI elements that are managed via policy.
+ bool enablePasswordManagerElements = !ask_to_save_passwords_.IsManaged();
+ passwords_asktosave_radio_->SetEnabled(enablePasswordManagerElements);
+ passwords_neversave_radio_->SetEnabled(enablePasswordManagerElements);
+ show_passwords_button_->SetEnabled(enablePasswordManagerElements ||
+ ask_to_save_passwords_.GetValue());
}
if (!pref_name || *pref_name == prefs::kAutoFillEnabled) {
bool disabled_by_policy = form_autofill_enabled_.IsManaged() &&