diff options
author | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-05 13:32:19 +0000 |
---|---|---|
committer | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-05 13:32:19 +0000 |
commit | a007e737fd2fd716291a43c9ae24335769994692 (patch) | |
tree | f7def255a42534b36d5afb857a5eec11702ac3e7 /chrome/browser/ui | |
parent | cd9adcb8fd0c85a18fa78ce4cda3a7981d9aae07 (diff) | |
download | chromium_src-a007e737fd2fd716291a43c9ae24335769994692.zip chromium_src-a007e737fd2fd716291a43c9ae24335769994692.tar.gz chromium_src-a007e737fd2fd716291a43c9ae24335769994692.tar.bz2 |
Prevent accelerators from toggling the bookmark bar when disabled by policy.
BookmarkBarEnabled policy also sets the kShowBookmarkBar pref, so that the pref is disabled in the preferences UI.
BUG=90731
TEST=Set the BookmarkBarEnabled policy. When true, the bookmark bar is always shown on the NTP. When false, it is never shown anywhere. In either case, it can't be modified by the user.
Review URL: http://codereview.chromium.org/7564011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95608 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui')
-rw-r--r-- | chrome/browser/ui/browser.cc | 20 | ||||
-rw-r--r-- | chrome/browser/ui/browser.h | 3 | ||||
-rw-r--r-- | chrome/browser/ui/cocoa/browser_window_cocoa.mm | 5 | ||||
-rw-r--r-- | chrome/browser/ui/gtk/browser_window_gtk.cc | 9 | ||||
-rw-r--r-- | chrome/browser/ui/toolbar/wrench_menu_model.cc | 8 |
5 files changed, 26 insertions, 19 deletions
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc index 34fbf01..2c51194 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc @@ -292,6 +292,7 @@ Browser::Browser(Type type, Profile* profile) profile_pref_registrar_.Init(profile_->GetPrefs()); profile_pref_registrar_.Add(prefs::kDevToolsDisabled, this); profile_pref_registrar_.Add(prefs::kEditBookmarksEnabled, this); + profile_pref_registrar_.Add(prefs::kEnableBookmarkBar, this); profile_pref_registrar_.Add(prefs::kInstantEnabled, this); profile_pref_registrar_.Add(prefs::kIncognitoModeAvailability, this); @@ -3728,6 +3729,8 @@ void Browser::Observe(int type, g_browser_process->devtools_manager()->CloseAllClientHosts(); } else if (pref_name == prefs::kEditBookmarksEnabled) { UpdateCommandsForBookmarkEditing(); + } else if (pref_name == prefs::kEnableBookmarkBar) { + UpdateCommandsForBookmarkBar(); } else if (pref_name == prefs::kAllowFileSelectionDialogs) { UpdateSaveAsState(GetContentRestrictionsForSelectedTab()); UpdateOpenFileState(); @@ -4043,8 +4046,6 @@ void Browser::UpdateCommandsForFullscreenMode(bool is_fullscreen) { // Show various bits of UI command_updater_.UpdateCommandEnabled(IDC_DEVELOPER_MENU, show_main_ui); command_updater_.UpdateCommandEnabled(IDC_FEEDBACK, show_main_ui); - command_updater_.UpdateCommandEnabled(IDC_SHOW_BOOKMARK_BAR, - browser_defaults::bookmarks_enabled && show_main_ui); command_updater_.UpdateCommandEnabled(IDC_IMPORT_SETTINGS, show_main_ui); command_updater_.UpdateCommandEnabled(IDC_SYNC_BOOKMARKS, show_main_ui && profile_->GetOriginalProfile()->IsSyncAccessible()); @@ -4059,6 +4060,8 @@ void Browser::UpdateCommandsForFullscreenMode(bool is_fullscreen) { #if defined (ENABLE_PROFILING) && !defined(NO_TCMALLOC) command_updater_.UpdateCommandEnabled(IDC_PROFILING_ENABLED, show_main_ui); #endif + + UpdateCommandsForBookmarkBar(); } void Browser::UpdateCommandsForTabState() { @@ -4159,6 +4162,19 @@ void Browser::UpdateCommandsForBookmarkEditing() { enabled && CanBookmarkAllTabs()); } +void Browser::UpdateCommandsForBookmarkBar() { +#if !defined(OS_MACOSX) + const bool show_main_ui = is_type_tabbed() && + (!window_ || !window_->IsFullscreen()); +#else + const bool show_main_ui = is_type_tabbed(); +#endif + command_updater_.UpdateCommandEnabled(IDC_SHOW_BOOKMARK_BAR, + browser_defaults::bookmarks_enabled && + !profile_->GetPrefs()->IsManagedPreference(prefs::kEnableBookmarkBar) && + show_main_ui); +} + void Browser::UpdateSaveAsState(int content_restrictions) { bool enabled = !(content_restrictions & CONTENT_RESTRICTION_SAVE); PrefService* state = g_browser_process->local_state(); diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h index d043c18..da003f6 100644 --- a/chrome/browser/ui/browser.h +++ b/chrome/browser/ui/browser.h @@ -963,6 +963,9 @@ class Browser : public TabHandlerDelegate, // Updates commands for bookmark editing. void UpdateCommandsForBookmarkEditing(); + // Updates commands that affect the bookmark bar. + void UpdateCommandsForBookmarkBar(); + // Update commands whose state depends on whether the window is in fullscreen // mode. void UpdateCommandsForFullscreenMode(bool is_fullscreen); diff --git a/chrome/browser/ui/cocoa/browser_window_cocoa.mm b/chrome/browser/ui/cocoa/browser_window_cocoa.mm index afb3828..8a10859 100644 --- a/chrome/browser/ui/cocoa/browser_window_cocoa.mm +++ b/chrome/browser/ui/cocoa/browser_window_cocoa.mm @@ -278,10 +278,7 @@ void BrowserWindowCocoa::FocusChromeOSStatus() { } bool BrowserWindowCocoa::IsBookmarkBarVisible() const { - return (browser_->profile()->GetPrefs()->GetBoolean( - prefs::kShowBookmarkBar) && - browser_->profile()->GetPrefs()->GetBoolean( - prefs::kEnableBookmarkBar)); + return browser_->profile()->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); } bool BrowserWindowCocoa::IsBookmarkBarAnimating() const { diff --git a/chrome/browser/ui/gtk/browser_window_gtk.cc b/chrome/browser/ui/gtk/browser_window_gtk.cc index e568191..6320fcb 100644 --- a/chrome/browser/ui/gtk/browser_window_gtk.cc +++ b/chrome/browser/ui/gtk/browser_window_gtk.cc @@ -912,12 +912,9 @@ void BrowserWindowGtk::RotatePaneFocus(bool forwards) { } bool BrowserWindowGtk::IsBookmarkBarVisible() const { - return (browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR) && - bookmark_bar_.get() && - browser_->profile()->GetPrefs()->GetBoolean( - prefs::kShowBookmarkBar) && - browser_->profile()->GetPrefs()->GetBoolean( - prefs::kEnableBookmarkBar)); + return browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR) && + bookmark_bar_.get() && + browser_->profile()->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); } bool BrowserWindowGtk::IsBookmarkBarAnimating() const { diff --git a/chrome/browser/ui/toolbar/wrench_menu_model.cc b/chrome/browser/ui/toolbar/wrench_menu_model.cc index 59e9787..8837d90 100644 --- a/chrome/browser/ui/toolbar/wrench_menu_model.cc +++ b/chrome/browser/ui/toolbar/wrench_menu_model.cc @@ -318,13 +318,7 @@ bool WrenchMenuModel::IsCommandIdChecked(int command_id) const { } bool WrenchMenuModel::IsCommandIdEnabled(int command_id) const { - switch (command_id) { - case IDC_SHOW_BOOKMARK_BAR: - return !browser_->profile()->GetPrefs()->IsManagedPreference( - prefs::kEnableBookmarkBar); - default: - return browser_->command_updater()->IsCommandEnabled(command_id); - } + return browser_->command_updater()->IsCommandEnabled(command_id); } bool WrenchMenuModel::IsCommandIdVisible(int command_id) const { |