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/ui/views/bookmarks/bookmark_context_menu_controller_vie
ws.h" | 5 #include "chrome/browser/ui/views/bookmarks/bookmark_context_menu_controller_vie
ws.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 "content/browser/user_metrics.h" | 18 #include "content/browser/user_metrics.h" |
18 #include "chrome/common/pref_names.h" | 19 #include "chrome/common/pref_names.h" |
19 #include "content/browser/tab_contents/page_navigator.h" | 20 #include "content/browser/tab_contents/page_navigator.h" |
20 #include "grit/generated_resources.h" | 21 #include "grit/generated_resources.h" |
21 #include "views/widget/widget.h" | 22 #include "views/widget/widget.h" |
22 | 23 |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 DCHECK(id == IDC_BOOKMARK_BAR_ALWAYS_SHOW); | 228 DCHECK(id == IDC_BOOKMARK_BAR_ALWAYS_SHOW); |
228 return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); | 229 return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); |
229 } | 230 } |
230 | 231 |
231 bool BookmarkContextMenuControllerViews::IsCommandEnabled(int id) const { | 232 bool BookmarkContextMenuControllerViews::IsCommandEnabled(int id) const { |
232 bool is_root_node = | 233 bool is_root_node = |
233 (selection_.size() == 1 && | 234 (selection_.size() == 1 && |
234 selection_[0]->parent() == model_->root_node()); | 235 selection_[0]->parent() == model_->root_node()); |
235 bool can_edit = | 236 bool can_edit = |
236 profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled); | 237 profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled); |
| 238 IncognitoModePrefs::Availability incognito_avail = |
| 239 IncognitoModePrefs::GetAvailability(profile_->GetPrefs()); |
237 switch (id) { | 240 switch (id) { |
238 case IDC_BOOKMARK_BAR_OPEN_INCOGNITO: | 241 case IDC_BOOKMARK_BAR_OPEN_INCOGNITO: |
239 return !profile_->IsOffTheRecord() && | 242 return !profile_->IsOffTheRecord() && |
240 profile_->GetPrefs()->GetBoolean(prefs::kIncognitoEnabled); | 243 incognito_avail != IncognitoModePrefs::DISABLED; |
241 | 244 |
242 case IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO: | 245 case IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO: |
243 return HasURLs() && !profile_->IsOffTheRecord() && | 246 return HasURLs() && |
244 profile_->GetPrefs()->GetBoolean(prefs::kIncognitoEnabled); | 247 !profile_->IsOffTheRecord() && |
| 248 incognito_avail != IncognitoModePrefs::DISABLED; |
245 | 249 |
246 case IDC_BOOKMARK_BAR_OPEN_ALL: | 250 case IDC_BOOKMARK_BAR_OPEN_ALL: |
| 251 return HasURLs(); |
247 case IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW: | 252 case IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW: |
248 return HasURLs(); | 253 return HasURLs() && |
| 254 incognito_avail != IncognitoModePrefs::FORCED; |
249 | 255 |
250 case IDC_BOOKMARK_BAR_RENAME_FOLDER: | 256 case IDC_BOOKMARK_BAR_RENAME_FOLDER: |
251 case IDC_BOOKMARK_BAR_EDIT: | 257 case IDC_BOOKMARK_BAR_EDIT: |
252 return selection_.size() == 1 && !is_root_node && can_edit; | 258 return selection_.size() == 1 && !is_root_node && can_edit; |
253 | 259 |
254 case IDC_BOOKMARK_BAR_REMOVE: | 260 case IDC_BOOKMARK_BAR_REMOVE: |
255 return !selection_.empty() && !is_root_node && can_edit; | 261 return !selection_.empty() && !is_root_node && can_edit; |
256 | 262 |
257 case IDC_BOOKMARK_BAR_NEW_FOLDER: | 263 case IDC_BOOKMARK_BAR_NEW_FOLDER: |
258 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: | 264 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: |
(...skipping 30 matching lines...) Expand all Loading... |
289 return model; | 295 return model; |
290 } | 296 } |
291 | 297 |
292 bool BookmarkContextMenuControllerViews::HasURLs() const { | 298 bool BookmarkContextMenuControllerViews::HasURLs() const { |
293 for (size_t i = 0; i < selection_.size(); ++i) { | 299 for (size_t i = 0; i < selection_.size(); ++i) { |
294 if (bookmark_utils::NodeHasURLs(selection_[i])) | 300 if (bookmark_utils::NodeHasURLs(selection_[i])) |
295 return true; | 301 return true; |
296 } | 302 } |
297 return false; | 303 return false; |
298 } | 304 } |
OLD | NEW |