OLD | NEW |
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/bookmarks/bookmark_context_menu_controller.h" | 5 #include "chrome/browser/bookmarks/bookmark_context_menu_controller.h" |
6 | 6 |
7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
8 #include "chrome/app/chrome_command_ids.h" | 8 #include "chrome/app/chrome_command_ids.h" |
9 #include "chrome/browser/bookmarks/bookmark_editor.h" | 9 #include "chrome/browser/bookmarks/bookmark_editor.h" |
10 #include "chrome/browser/bookmarks/bookmark_folder_editor_controller.h" | 10 #include "chrome/browser/bookmarks/bookmark_folder_editor_controller.h" |
11 #include "chrome/browser/bookmarks/bookmark_model.h" | 11 #include "chrome/browser/bookmarks/bookmark_model.h" |
12 #include "chrome/browser/bookmarks/bookmark_utils.h" | 12 #include "chrome/browser/bookmarks/bookmark_utils.h" |
| 13 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
13 #include "chrome/browser/prefs/pref_service.h" | 14 #include "chrome/browser/prefs/pref_service.h" |
14 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
15 #include "chrome/browser/ui/browser.h" | 16 #include "chrome/browser/ui/browser.h" |
16 #include "chrome/browser/ui/browser_list.h" | 17 #include "chrome/browser/ui/browser_list.h" |
17 #include "chrome/common/pref_names.h" | 18 #include "chrome/common/pref_names.h" |
18 #include "content/browser/tab_contents/page_navigator.h" | 19 #include "content/browser/tab_contents/page_navigator.h" |
19 #include "content/browser/user_metrics.h" | 20 #include "content/browser/user_metrics.h" |
20 #include "grit/generated_resources.h" | 21 #include "grit/generated_resources.h" |
21 #include "ui/base/l10n/l10n_util.h" | 22 #include "ui/base/l10n/l10n_util.h" |
22 | 23 |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 DCHECK(command_id == IDC_BOOKMARK_BAR_ALWAYS_SHOW); | 237 DCHECK(command_id == IDC_BOOKMARK_BAR_ALWAYS_SHOW); |
237 return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); | 238 return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); |
238 } | 239 } |
239 | 240 |
240 bool BookmarkContextMenuController::IsCommandIdEnabled(int command_id) const { | 241 bool BookmarkContextMenuController::IsCommandIdEnabled(int command_id) const { |
241 bool is_root_node = | 242 bool is_root_node = |
242 (selection_.size() == 1 && | 243 (selection_.size() == 1 && |
243 selection_[0]->parent() == model_->root_node()); | 244 selection_[0]->parent() == model_->root_node()); |
244 bool can_edit = | 245 bool can_edit = |
245 profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled); | 246 profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled); |
| 247 IncognitoModePrefs::Availability incognito_avail = |
| 248 IncognitoModePrefs::GetAvailability(profile_->GetPrefs()); |
246 switch (command_id) { | 249 switch (command_id) { |
247 case IDC_BOOKMARK_BAR_OPEN_INCOGNITO: | 250 case IDC_BOOKMARK_BAR_OPEN_INCOGNITO: |
248 return !profile_->IsOffTheRecord() && | 251 return !profile_->IsOffTheRecord() && |
249 profile_->GetPrefs()->GetBoolean(prefs::kIncognitoEnabled); | 252 incognito_avail != IncognitoModePrefs::DISABLED; |
250 | 253 |
251 case IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO: | 254 case IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO: |
252 return HasURLs() && !profile_->IsOffTheRecord() && | 255 return HasURLs() && |
253 profile_->GetPrefs()->GetBoolean(prefs::kIncognitoEnabled); | 256 !profile_->IsOffTheRecord() && |
| 257 incognito_avail != IncognitoModePrefs::DISABLED; |
254 | 258 |
255 case IDC_BOOKMARK_BAR_OPEN_ALL: | 259 case IDC_BOOKMARK_BAR_OPEN_ALL: |
| 260 return HasURLs(); |
256 case IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW: | 261 case IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW: |
257 return HasURLs(); | 262 return HasURLs() && |
| 263 incognito_avail != IncognitoModePrefs::FORCED; |
258 | 264 |
259 case IDC_BOOKMARK_BAR_RENAME_FOLDER: | 265 case IDC_BOOKMARK_BAR_RENAME_FOLDER: |
260 case IDC_BOOKMARK_BAR_EDIT: | 266 case IDC_BOOKMARK_BAR_EDIT: |
261 return selection_.size() == 1 && !is_root_node && can_edit; | 267 return selection_.size() == 1 && !is_root_node && can_edit; |
262 | 268 |
263 case IDC_BOOKMARK_BAR_REMOVE: | 269 case IDC_BOOKMARK_BAR_REMOVE: |
264 return !selection_.empty() && !is_root_node && can_edit; | 270 return !selection_.empty() && !is_root_node && can_edit; |
265 | 271 |
266 case IDC_BOOKMARK_BAR_NEW_FOLDER: | 272 case IDC_BOOKMARK_BAR_NEW_FOLDER: |
267 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: | 273 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: |
(...skipping 30 matching lines...) Expand all Loading... |
298 delegate_->CloseMenu(); | 304 delegate_->CloseMenu(); |
299 } | 305 } |
300 | 306 |
301 bool BookmarkContextMenuController::HasURLs() const { | 307 bool BookmarkContextMenuController::HasURLs() const { |
302 for (size_t i = 0; i < selection_.size(); ++i) { | 308 for (size_t i = 0; i < selection_.size(); ++i) { |
303 if (bookmark_utils::NodeHasURLs(selection_[i])) | 309 if (bookmark_utils::NodeHasURLs(selection_[i])) |
304 return true; | 310 return true; |
305 } | 311 } |
306 return false; | 312 return false; |
307 } | 313 } |
OLD | NEW |