Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Side by Side Diff: chrome/browser/ui/browser.cc

Issue 7564011: Prevent accelerators from toggling the bookmark bar when disabled by policy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/ui/browser.h" 5 #include "chrome/browser/ui/browser.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #include <shellapi.h> 9 #include <shellapi.h>
10 #endif // OS_WIN 10 #endif // OS_WIN
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 PrefService* local_state = g_browser_process->local_state(); 284 PrefService* local_state = g_browser_process->local_state();
285 if (local_state) { 285 if (local_state) {
286 local_pref_registrar_.Init(local_state); 286 local_pref_registrar_.Init(local_state);
287 local_pref_registrar_.Add(prefs::kPrintingEnabled, this); 287 local_pref_registrar_.Add(prefs::kPrintingEnabled, this);
288 local_pref_registrar_.Add(prefs::kAllowFileSelectionDialogs, this); 288 local_pref_registrar_.Add(prefs::kAllowFileSelectionDialogs, this);
289 } 289 }
290 290
291 profile_pref_registrar_.Init(profile_->GetPrefs()); 291 profile_pref_registrar_.Init(profile_->GetPrefs());
292 profile_pref_registrar_.Add(prefs::kDevToolsDisabled, this); 292 profile_pref_registrar_.Add(prefs::kDevToolsDisabled, this);
293 profile_pref_registrar_.Add(prefs::kEditBookmarksEnabled, this); 293 profile_pref_registrar_.Add(prefs::kEditBookmarksEnabled, this);
294 profile_pref_registrar_.Add(prefs::kEnableBookmarkBar, this);
294 profile_pref_registrar_.Add(prefs::kInstantEnabled, this); 295 profile_pref_registrar_.Add(prefs::kInstantEnabled, this);
295 profile_pref_registrar_.Add(prefs::kIncognitoEnabled, this); 296 profile_pref_registrar_.Add(prefs::kIncognitoEnabled, this);
296 297
297 InitCommandState(); 298 InitCommandState();
298 BrowserList::AddBrowser(this); 299 BrowserList::AddBrowser(this);
299 300
300 // NOTE: These prefs all need to be explicitly destroyed in the destructor 301 // NOTE: These prefs all need to be explicitly destroyed in the destructor
301 // or you'll get a nasty surprise when you run the incognito tests. 302 // or you'll get a nasty surprise when you run the incognito tests.
302 encoding_auto_detect_.Init(prefs::kWebKitUsesUniversalDetector, 303 encoding_auto_detect_.Init(prefs::kWebKitUsesUniversalDetector,
303 profile_->GetPrefs(), NULL); 304 profile_->GetPrefs(), NULL);
(...skipping 3404 matching lines...) Expand 10 before | Expand all | Expand 10 after
3708 } else if (pref_name == prefs::kIncognitoEnabled) { 3709 } else if (pref_name == prefs::kIncognitoEnabled) {
3709 command_updater_.UpdateCommandEnabled( 3710 command_updater_.UpdateCommandEnabled(
3710 IDC_NEW_INCOGNITO_WINDOW, 3711 IDC_NEW_INCOGNITO_WINDOW,
3711 profile_->GetPrefs()->GetBoolean(prefs::kIncognitoEnabled)); 3712 profile_->GetPrefs()->GetBoolean(prefs::kIncognitoEnabled));
3712 } else if (pref_name == prefs::kDevToolsDisabled) { 3713 } else if (pref_name == prefs::kDevToolsDisabled) {
3713 UpdateCommandsForDevTools(); 3714 UpdateCommandsForDevTools();
3714 if (profile_->GetPrefs()->GetBoolean(prefs::kDevToolsDisabled)) 3715 if (profile_->GetPrefs()->GetBoolean(prefs::kDevToolsDisabled))
3715 g_browser_process->devtools_manager()->CloseAllClientHosts(); 3716 g_browser_process->devtools_manager()->CloseAllClientHosts();
3716 } else if (pref_name == prefs::kEditBookmarksEnabled) { 3717 } else if (pref_name == prefs::kEditBookmarksEnabled) {
3717 UpdateCommandsForBookmarkEditing(); 3718 UpdateCommandsForBookmarkEditing();
3719 } else if (pref_name == prefs::kEnableBookmarkBar) {
3720 UpdateCommandsForBookmarkBar();
3718 } else if (pref_name == prefs::kAllowFileSelectionDialogs) { 3721 } else if (pref_name == prefs::kAllowFileSelectionDialogs) {
3719 UpdateSaveAsState(GetContentRestrictionsForSelectedTab()); 3722 UpdateSaveAsState(GetContentRestrictionsForSelectedTab());
3720 UpdateOpenFileState(); 3723 UpdateOpenFileState();
3721 } else { 3724 } else {
3722 NOTREACHED(); 3725 NOTREACHED();
3723 } 3726 }
3724 break; 3727 break;
3725 } 3728 }
3726 3729
3727 case chrome::NOTIFICATION_TAB_CONTENT_SETTINGS_CHANGED: { 3730 case chrome::NOTIFICATION_TAB_CONTENT_SETTINGS_CHANGED: {
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
4014 command_updater_.UpdateCommandEnabled( 4017 command_updater_.UpdateCommandEnabled(
4015 IDC_FOCUS_PREVIOUS_PANE, main_not_fullscreen); 4018 IDC_FOCUS_PREVIOUS_PANE, main_not_fullscreen);
4016 command_updater_.UpdateCommandEnabled( 4019 command_updater_.UpdateCommandEnabled(
4017 IDC_FOCUS_BOOKMARKS, main_not_fullscreen); 4020 IDC_FOCUS_BOOKMARKS, main_not_fullscreen);
4018 command_updater_.UpdateCommandEnabled( 4021 command_updater_.UpdateCommandEnabled(
4019 IDC_FOCUS_CHROMEOS_STATUS, main_not_fullscreen); 4022 IDC_FOCUS_CHROMEOS_STATUS, main_not_fullscreen);
4020 4023
4021 // Show various bits of UI 4024 // Show various bits of UI
4022 command_updater_.UpdateCommandEnabled(IDC_DEVELOPER_MENU, show_main_ui); 4025 command_updater_.UpdateCommandEnabled(IDC_DEVELOPER_MENU, show_main_ui);
4023 command_updater_.UpdateCommandEnabled(IDC_FEEDBACK, show_main_ui); 4026 command_updater_.UpdateCommandEnabled(IDC_FEEDBACK, show_main_ui);
4024 command_updater_.UpdateCommandEnabled(IDC_SHOW_BOOKMARK_BAR,
4025 browser_defaults::bookmarks_enabled && show_main_ui);
4026 command_updater_.UpdateCommandEnabled(IDC_IMPORT_SETTINGS, show_main_ui); 4027 command_updater_.UpdateCommandEnabled(IDC_IMPORT_SETTINGS, show_main_ui);
4027 command_updater_.UpdateCommandEnabled(IDC_SYNC_BOOKMARKS, 4028 command_updater_.UpdateCommandEnabled(IDC_SYNC_BOOKMARKS,
4028 show_main_ui && profile_->IsSyncAccessible()); 4029 show_main_ui && profile_->IsSyncAccessible());
4029 4030
4030 command_updater_.UpdateCommandEnabled(IDC_OPTIONS, show_main_ui); 4031 command_updater_.UpdateCommandEnabled(IDC_OPTIONS, show_main_ui);
4031 command_updater_.UpdateCommandEnabled(IDC_EDIT_SEARCH_ENGINES, show_main_ui); 4032 command_updater_.UpdateCommandEnabled(IDC_EDIT_SEARCH_ENGINES, show_main_ui);
4032 command_updater_.UpdateCommandEnabled(IDC_VIEW_PASSWORDS, show_main_ui); 4033 command_updater_.UpdateCommandEnabled(IDC_VIEW_PASSWORDS, show_main_ui);
4033 command_updater_.UpdateCommandEnabled(IDC_ABOUT, show_main_ui); 4034 command_updater_.UpdateCommandEnabled(IDC_ABOUT, show_main_ui);
4034 command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui); 4035 command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui);
4035 command_updater_.UpdateCommandEnabled(IDC_TOGGLE_VERTICAL_TABS, show_main_ui); 4036 command_updater_.UpdateCommandEnabled(IDC_TOGGLE_VERTICAL_TABS, show_main_ui);
4036 command_updater_.UpdateCommandEnabled(IDC_COMPACT_NAVBAR, show_main_ui); 4037 command_updater_.UpdateCommandEnabled(IDC_COMPACT_NAVBAR, show_main_ui);
4037 #if defined (ENABLE_PROFILING) && !defined(NO_TCMALLOC) 4038 #if defined (ENABLE_PROFILING) && !defined(NO_TCMALLOC)
4038 command_updater_.UpdateCommandEnabled(IDC_PROFILING_ENABLED, show_main_ui); 4039 command_updater_.UpdateCommandEnabled(IDC_PROFILING_ENABLED, show_main_ui);
4039 #endif 4040 #endif
4041
4042 UpdateCommandsForBookmarkBar();
4040 } 4043 }
4041 4044
4042 void Browser::UpdateCommandsForTabState() { 4045 void Browser::UpdateCommandsForTabState() {
4043 TabContents* current_tab = GetSelectedTabContents(); 4046 TabContents* current_tab = GetSelectedTabContents();
4044 TabContentsWrapper* current_tab_wrapper = GetSelectedTabContentsWrapper(); 4047 TabContentsWrapper* current_tab_wrapper = GetSelectedTabContentsWrapper();
4045 if (!current_tab || !current_tab_wrapper) // May be NULL during tab restore. 4048 if (!current_tab || !current_tab_wrapper) // May be NULL during tab restore.
4046 return; 4049 return;
4047 4050
4048 // Navigation commands 4051 // Navigation commands
4049 NavigationController& nc = current_tab->controller(); 4052 NavigationController& nc = current_tab->controller();
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
4130 bool enabled = 4133 bool enabled =
4131 profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled) && 4134 profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled) &&
4132 browser_defaults::bookmarks_enabled; 4135 browser_defaults::bookmarks_enabled;
4133 4136
4134 command_updater_.UpdateCommandEnabled(IDC_BOOKMARK_PAGE, 4137 command_updater_.UpdateCommandEnabled(IDC_BOOKMARK_PAGE,
4135 enabled && is_type_tabbed()); 4138 enabled && is_type_tabbed());
4136 command_updater_.UpdateCommandEnabled(IDC_BOOKMARK_ALL_TABS, 4139 command_updater_.UpdateCommandEnabled(IDC_BOOKMARK_ALL_TABS,
4137 enabled && CanBookmarkAllTabs()); 4140 enabled && CanBookmarkAllTabs());
4138 } 4141 }
4139 4142
4143 void Browser::UpdateCommandsForBookmarkBar() {
4144 #if !defined(OS_MACOSX)
4145 const bool show_main_ui = is_type_tabbed() &&
4146 (!window_ || !window_->IsFullscreen());
4147 #else
4148 const bool show_main_ui = is_type_tabbed();
4149 #endif
4150 command_updater_.UpdateCommandEnabled(IDC_SHOW_BOOKMARK_BAR,
4151 browser_defaults::bookmarks_enabled &&
4152 !profile_->GetPrefs()->IsManagedPreference(prefs::kEnableBookmarkBar) &&
4153 show_main_ui);
4154 }
4155
4140 void Browser::UpdateSaveAsState(int content_restrictions) { 4156 void Browser::UpdateSaveAsState(int content_restrictions) {
4141 bool enabled = !(content_restrictions & CONTENT_RESTRICTION_SAVE); 4157 bool enabled = !(content_restrictions & CONTENT_RESTRICTION_SAVE);
4142 PrefService* state = g_browser_process->local_state(); 4158 PrefService* state = g_browser_process->local_state();
4143 if (state) 4159 if (state)
4144 enabled = enabled && state->GetBoolean(prefs::kAllowFileSelectionDialogs); 4160 enabled = enabled && state->GetBoolean(prefs::kAllowFileSelectionDialogs);
4145 4161
4146 command_updater_.UpdateCommandEnabled(IDC_SAVE_PAGE, enabled); 4162 command_updater_.UpdateCommandEnabled(IDC_SAVE_PAGE, enabled);
4147 } 4163 }
4148 4164
4149 void Browser::UpdateOpenFileState() { 4165 void Browser::UpdateOpenFileState() {
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
4814 } 4830 }
4815 4831
4816 void Browser::ShowSyncSetup() { 4832 void Browser::ShowSyncSetup() {
4817 ProfileSyncService* service = 4833 ProfileSyncService* service =
4818 profile()->GetOriginalProfile()->GetProfileSyncService(); 4834 profile()->GetOriginalProfile()->GetProfileSyncService();
4819 if (service->HasSyncSetupCompleted()) 4835 if (service->HasSyncSetupCompleted())
4820 ShowOptionsTab(chrome::kSyncSetupSubPage); 4836 ShowOptionsTab(chrome::kSyncSetupSubPage);
4821 else 4837 else
4822 service->ShowLoginDialog(); 4838 service->ShowLoginDialog();
4823 } 4839 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698