diff options
author | pastarmovj@chromium.org <pastarmovj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-11 15:43:15 +0000 |
---|---|---|
committer | pastarmovj@chromium.org <pastarmovj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-11 15:43:15 +0000 |
commit | b3be10fa08cc43c7b49cde6c2a33f317849be9be (patch) | |
tree | ac63925d0b255df2f9b1a51274834f64ca7ad878 /chrome/browser | |
parent | afcb5ab4ed9707f422abb83b472506ad360aaeaa (diff) | |
download | chromium_src-b3be10fa08cc43c7b49cde6c2a33f317849be9be.zip chromium_src-b3be10fa08cc43c7b49cde6c2a33f317849be9be.tar.gz chromium_src-b3be10fa08cc43c7b49cde6c2a33f317849be9be.tar.bz2 |
Implemented policy for disabling the bookmark bar.
BUG=49604
TEST=unit_tests ConfigurationPolicy*
Review URL: http://codereview.chromium.org/6718039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81102 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
15 files changed, 54 insertions, 11 deletions
diff --git a/chrome/browser/bookmarks/bookmark_context_menu_controller.cc b/chrome/browser/bookmarks/bookmark_context_menu_controller.cc index 7e09c7d..a509026 100644 --- a/chrome/browser/bookmarks/bookmark_context_menu_controller.cc +++ b/chrome/browser/bookmarks/bookmark_context_menu_controller.cc @@ -268,6 +268,10 @@ bool BookmarkContextMenuController::IsCommandIdEnabled(int command_id) const { return bookmark_utils::GetParentForNewNodes( parent_, selection_, NULL) != NULL; + case IDC_BOOKMARK_BAR_ALWAYS_SHOW: + return !profile_->GetPrefs()->IsManagedPreference( + prefs::kEnableBookmarkBar); + case IDC_COPY: case IDC_CUT: return !selection_.empty() && !is_root_node; diff --git a/chrome/browser/policy/config_dir_policy_provider_unittest.cc b/chrome/browser/policy/config_dir_policy_provider_unittest.cc index d2dfc23..595b27d 100644 --- a/chrome/browser/policy/config_dir_policy_provider_unittest.cc +++ b/chrome/browser/policy/config_dir_policy_provider_unittest.cc @@ -356,6 +356,9 @@ INSTANTIATE_TEST_CASE_P( key::kTranslateEnabled), ValueTestParams::ForBooleanPolicy( kPolicyAllowOutdatedPlugins, - key::kAllowOutdatedPlugins))); + key::kAllowOutdatedPlugins), + ValueTestParams::ForBooleanPolicy( + kPolicyBookmarkBarEnabled, + key::kBookmarkBarEnabled))); } // namespace policy diff --git a/chrome/browser/policy/configuration_policy_pref_store.cc b/chrome/browser/policy/configuration_policy_pref_store.cc index 17f18d1..10ed825 100644 --- a/chrome/browser/policy/configuration_policy_pref_store.cc +++ b/chrome/browser/policy/configuration_policy_pref_store.cc @@ -269,6 +269,7 @@ const ConfigurationPolicyPrefKeeper::PolicyToPreferenceMapEntry { Value::TYPE_BOOLEAN, kPolicyCloudPrintProxyEnabled, prefs::kCloudPrintProxyEnabled }, { Value::TYPE_BOOLEAN, kPolicyTranslateEnabled, prefs::kEnableTranslate }, + { Value::TYPE_BOOLEAN, kPolicyBookmarkBarEnabled, prefs::kEnableBookmarkBar }, { Value::TYPE_BOOLEAN, kPolicyAllowOutdatedPlugins, prefs::kPluginsAllowOutdated }, @@ -990,6 +991,8 @@ ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList() { { kPolicyTranslateEnabled, Value::TYPE_BOOLEAN, key::kTranslateEnabled }, { kPolicyAllowOutdatedPlugins, Value::TYPE_BOOLEAN, key::kAllowOutdatedPlugins }, + { kPolicyBookmarkBarEnabled, Value::TYPE_BOOLEAN, + key::kBookmarkBarEnabled }, #if defined(OS_CHROMEOS) { kPolicyChromeOsLockOnIdleSuspend, Value::TYPE_BOOLEAN, diff --git a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc index ab54828..d6f5a57 100644 --- a/chrome/browser/policy/configuration_policy_pref_store_unittest.cc +++ b/chrome/browser/policy/configuration_policy_pref_store_unittest.cc @@ -207,7 +207,9 @@ INSTANTIATE_TEST_CASE_P( TypeAndName(kPolicyTranslateEnabled, prefs::kEnableTranslate), TypeAndName(kPolicyAllowOutdatedPlugins, - prefs::kPluginsAllowOutdated))); + prefs::kPluginsAllowOutdated), + TypeAndName(kPolicyBookmarkBarEnabled, + prefs::kEnableBookmarkBar))); #if defined(OS_CHROMEOS) INSTANTIATE_TEST_CASE_P( diff --git a/chrome/browser/policy/configuration_policy_provider_mac_unittest.cc b/chrome/browser/policy/configuration_policy_provider_mac_unittest.cc index c248f77..edfbdb2 100644 --- a/chrome/browser/policy/configuration_policy_provider_mac_unittest.cc +++ b/chrome/browser/policy/configuration_policy_provider_mac_unittest.cc @@ -327,6 +327,9 @@ INSTANTIATE_TEST_CASE_P( key::kTranslateEnabled), PolicyTestParams::ForBooleanPolicy( kPolicyAllowOutdatedPlugins, - key::kAllowOutdatedPlugins))); + key::kAllowOutdatedPlugins), + PolicyTestParams::ForBooleanPolicy( + kPolicyBookmarkBarEnabled, + key::kBookmarkBarEnabled))); } // namespace policy diff --git a/chrome/browser/policy/configuration_policy_provider_win_unittest.cc b/chrome/browser/policy/configuration_policy_provider_win_unittest.cc index f1427c9..9323e90 100644 --- a/chrome/browser/policy/configuration_policy_provider_win_unittest.cc +++ b/chrome/browser/policy/configuration_policy_provider_win_unittest.cc @@ -485,6 +485,9 @@ INSTANTIATE_TEST_CASE_P( key::kTranslateEnabled), PolicyTestParams::ForBooleanPolicy( kPolicyAllowOutdatedPlugins, - key::kAllowOutdatedPlugins))); + key::kAllowOutdatedPlugins), + PolicyTestParams::ForBooleanPolicy( + kPolicyBookmarkBarEnabled, + key::kBookmarkBarEnabled))); } // namespace policy diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc index 445ad54..554750d 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc @@ -2116,6 +2116,7 @@ void Browser::RegisterUserPrefs(PrefService* prefs) { prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); prefs->RegisterBooleanPref(prefs::kUseVerticalTabs, false); prefs->RegisterBooleanPref(prefs::kEnableTranslate, true); + prefs->RegisterBooleanPref(prefs::kEnableBookmarkBar, true); prefs->RegisterBooleanPref(prefs::kRemotingHasSetupCompleted, false); prefs->RegisterStringPref(prefs::kCloudPrintEmail, std::string()); prefs->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, true); diff --git a/chrome/browser/ui/cocoa/browser_window_cocoa.mm b/chrome/browser/ui/cocoa/browser_window_cocoa.mm index 46bc955..de0d680 100644 --- a/chrome/browser/ui/cocoa/browser_window_cocoa.mm +++ b/chrome/browser/ui/cocoa/browser_window_cocoa.mm @@ -265,7 +265,10 @@ void BrowserWindowCocoa::FocusChromeOSStatus() { } bool BrowserWindowCocoa::IsBookmarkBarVisible() const { - return browser_->profile()->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); + return (browser_->profile()->GetPrefs()->GetBoolean( + prefs::kShowBookmarkBar) && + browser_->profile()->GetPrefs()->GetBoolean( + prefs::kEnableBookmarkBar)); } bool BrowserWindowCocoa::IsBookmarkBarAnimating() const { diff --git a/chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc b/chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc index 00e2168..83718999 100644 --- a/chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc +++ b/chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc @@ -795,7 +795,8 @@ void BookmarkBarGtk::StartThrobbingAfterAllocation(GtkWidget* item) { } bool BookmarkBarGtk::IsAlwaysShown() { - return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); + return (profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar) && + profile_->GetPrefs()->GetBoolean(prefs::kEnableBookmarkBar)); } void BookmarkBarGtk::AnimationProgressed(const ui::Animation* animation) { diff --git a/chrome/browser/ui/gtk/browser_window_gtk.cc b/chrome/browser/ui/gtk/browser_window_gtk.cc index 891b4b7..faf58d0 100644 --- a/chrome/browser/ui/gtk/browser_window_gtk.cc +++ b/chrome/browser/ui/gtk/browser_window_gtk.cc @@ -827,9 +827,12 @@ void BrowserWindowGtk::RotatePaneFocus(bool forwards) { } bool BrowserWindowGtk::IsBookmarkBarVisible() const { - return browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR) && - bookmark_bar_.get() && - browser_->profile()->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); + return (browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR) && + bookmark_bar_.get() && + browser_->profile()->GetPrefs()->GetBoolean( + prefs::kShowBookmarkBar) && + browser_->profile()->GetPrefs()->GetBoolean( + prefs::kEnableBookmarkBar)); } bool BrowserWindowGtk::IsBookmarkBarAnimating() const { @@ -1214,7 +1217,9 @@ void BrowserWindowGtk::MaybeShowBookmarkBar(bool animate) { if (show_bar && contents && !contents->ShouldShowBookmarkBar()) { PrefService* prefs = contents->profile()->GetPrefs(); - show_bar = prefs->GetBoolean(prefs::kShowBookmarkBar) && !IsFullscreen(); + show_bar = prefs->GetBoolean(prefs::kShowBookmarkBar) && + prefs->GetBoolean(prefs::kEnableBookmarkBar) && + !IsFullscreen(); } if (show_bar) { diff --git a/chrome/browser/ui/toolbar/wrench_menu_model.cc b/chrome/browser/ui/toolbar/wrench_menu_model.cc index 177f93e..f17cabc 100644 --- a/chrome/browser/ui/toolbar/wrench_menu_model.cc +++ b/chrome/browser/ui/toolbar/wrench_menu_model.cc @@ -270,6 +270,10 @@ bool WrenchMenuModel::IsCommandIdChecked(int command_id) const { } bool WrenchMenuModel::IsCommandIdEnabled(int command_id) const { + if (command_id == IDC_SHOW_BOOKMARK_BAR) { + return !browser_->profile()->GetPrefs()->IsManagedPreference( + prefs::kEnableBookmarkBar); + } return browser_->command_updater()->IsCommandEnabled(command_id); } diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc index a229593..8c22e23 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc @@ -719,7 +719,8 @@ int BookmarkBarView::GetToolbarOverlap() const { } bool BookmarkBarView::IsAlwaysShown() const { - return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); + return (profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar) && + profile_->GetPrefs()->GetBoolean(prefs::kEnableBookmarkBar)); } bool BookmarkBarView::OnNewTabPage() const { diff --git a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.cc b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.cc index 15e1a24..cc70df0 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_views.cc @@ -254,6 +254,10 @@ bool BookmarkContextMenuControllerViews::IsCommandEnabled(int id) const { return bookmark_utils::GetParentForNewNodes( parent_, selection_, NULL) != NULL; + case IDC_BOOKMARK_BAR_ALWAYS_SHOW: + return !profile_->GetPrefs()->IsManagedPreference( + prefs::kEnableBookmarkBar); + case IDC_COPY: case IDC_CUT: return !selection_.empty() && !is_root_node; diff --git a/chrome/browser/ui/webui/new_tab_ui.cc b/chrome/browser/ui/webui/new_tab_ui.cc index 1f0604d..69957fc 100644 --- a/chrome/browser/ui/webui/new_tab_ui.cc +++ b/chrome/browser/ui/webui/new_tab_ui.cc @@ -406,6 +406,10 @@ void NewTabUI::Observe(NotificationType type, break; } case NotificationType::BOOKMARK_BAR_VISIBILITY_PREF_CHANGED: { + if (GetProfile()->GetPrefs()->IsManagedPreference( + prefs::kEnableBookmarkBar)) { + break; + } if (GetProfile()->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar)) CallJavascriptFunction("bookmarkBarAttached"); else diff --git a/chrome/browser/ui/webui/ntp_resource_cache.cc b/chrome/browser/ui/webui/ntp_resource_cache.cc index 438cb64..ab3c63f 100644 --- a/chrome/browser/ui/webui/ntp_resource_cache.cc +++ b/chrome/browser/ui/webui/ntp_resource_cache.cc @@ -157,6 +157,7 @@ NTPResourceCache::NTPResourceCache(Profile* profile) : profile_(profile) { // Watch for pref changes that cause us to need to invalidate the HTML cache. pref_change_registrar_.Init(profile_->GetPrefs()); pref_change_registrar_.Add(prefs::kShowBookmarkBar, this); + pref_change_registrar_.Add(prefs::kEnableBookmarkBar, this); pref_change_registrar_.Add(prefs::kNTPShownSections, this); } @@ -200,6 +201,7 @@ void NTPResourceCache::Observe(NotificationType type, } else if (NotificationType::PREF_CHANGED == type) { std::string* pref_name = Details<std::string>(details).ptr(); if (*pref_name == prefs::kShowBookmarkBar || + *pref_name == prefs::kEnableBookmarkBar || *pref_name == prefs::kHomePageIsNewTabPage || *pref_name == prefs::kNTPShownSections) { new_tab_incognito_html_ = NULL; |