| 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_model.h" | 10 #include "chrome/browser/bookmarks/bookmark_model.h" |
| 11 #include "chrome/browser/bookmarks/bookmark_utils.h" | 11 #include "chrome/browser/bookmarks/bookmark_utils.h" |
| 12 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 12 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
| 13 #include "chrome/browser/prefs/pref_service.h" | 13 #include "chrome/browser/prefs/pref_service.h" |
| 14 #include "chrome/browser/profiles/profile.h" | 14 #include "chrome/browser/profiles/profile.h" |
| 15 #include "chrome/browser/ui/browser.h" | 15 #include "chrome/browser/ui/browser.h" |
| 16 #include "chrome/browser/ui/browser_list.h" | 16 #include "chrome/browser/ui/browser_list.h" |
| 17 #include "chrome/common/pref_names.h" | 17 #include "chrome/common/pref_names.h" |
| 18 #include "content/browser/tab_contents/page_navigator.h" | 18 #include "content/browser/tab_contents/page_navigator.h" |
| 19 #include "content/browser/user_metrics.h" | 19 #include "content/public/browser/user_metrics.h" |
| 20 #include "grit/generated_resources.h" | 20 #include "grit/generated_resources.h" |
| 21 #include "ui/base/l10n/l10n_util.h" | 21 #include "ui/base/l10n/l10n_util.h" |
| 22 | 22 |
| 23 using content::UserMetricsAction; |
| 24 |
| 23 BookmarkContextMenuController::BookmarkContextMenuController( | 25 BookmarkContextMenuController::BookmarkContextMenuController( |
| 24 gfx::NativeWindow parent_window, | 26 gfx::NativeWindow parent_window, |
| 25 BookmarkContextMenuControllerDelegate* delegate, | 27 BookmarkContextMenuControllerDelegate* delegate, |
| 26 Profile* profile, | 28 Profile* profile, |
| 27 PageNavigator* navigator, | 29 PageNavigator* navigator, |
| 28 const BookmarkNode* parent, | 30 const BookmarkNode* parent, |
| 29 const std::vector<const BookmarkNode*>& selection) | 31 const std::vector<const BookmarkNode*>& selection) |
| 30 : parent_window_(parent_window), | 32 : parent_window_(parent_window), |
| 31 delegate_(delegate), | 33 delegate_(delegate), |
| 32 profile_(profile), | 34 profile_(profile), |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 if (delegate_) | 106 if (delegate_) |
| 105 delegate_->WillExecuteCommand(); | 107 delegate_->WillExecuteCommand(); |
| 106 | 108 |
| 107 switch (id) { | 109 switch (id) { |
| 108 case IDC_BOOKMARK_BAR_OPEN_ALL: | 110 case IDC_BOOKMARK_BAR_OPEN_ALL: |
| 109 case IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO: | 111 case IDC_BOOKMARK_BAR_OPEN_ALL_INCOGNITO: |
| 110 case IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW: { | 112 case IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW: { |
| 111 WindowOpenDisposition initial_disposition; | 113 WindowOpenDisposition initial_disposition; |
| 112 if (id == IDC_BOOKMARK_BAR_OPEN_ALL) { | 114 if (id == IDC_BOOKMARK_BAR_OPEN_ALL) { |
| 113 initial_disposition = NEW_FOREGROUND_TAB; | 115 initial_disposition = NEW_FOREGROUND_TAB; |
| 114 UserMetrics::RecordAction( | 116 content::RecordAction( |
| 115 UserMetricsAction("BookmarkBar_ContextMenu_OpenAll")); | 117 UserMetricsAction("BookmarkBar_ContextMenu_OpenAll")); |
| 116 } else if (id == IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW) { | 118 } else if (id == IDC_BOOKMARK_BAR_OPEN_ALL_NEW_WINDOW) { |
| 117 initial_disposition = NEW_WINDOW; | 119 initial_disposition = NEW_WINDOW; |
| 118 UserMetrics::RecordAction( | 120 content::RecordAction( |
| 119 UserMetricsAction("BookmarkBar_ContextMenu_OpenAllInNewWindow")); | 121 UserMetricsAction("BookmarkBar_ContextMenu_OpenAllInNewWindow")); |
| 120 } else { | 122 } else { |
| 121 initial_disposition = OFF_THE_RECORD; | 123 initial_disposition = OFF_THE_RECORD; |
| 122 UserMetrics::RecordAction( | 124 content::RecordAction( |
| 123 UserMetricsAction("BookmarkBar_ContextMenu_OpenAllIncognito")); | 125 UserMetricsAction("BookmarkBar_ContextMenu_OpenAllIncognito")); |
| 124 } | 126 } |
| 125 bookmark_utils::OpenAll(parent_window_, profile_, navigator_, selection_, | 127 bookmark_utils::OpenAll(parent_window_, profile_, navigator_, selection_, |
| 126 initial_disposition); | 128 initial_disposition); |
| 127 break; | 129 break; |
| 128 } | 130 } |
| 129 | 131 |
| 130 case IDC_BOOKMARK_BAR_RENAME_FOLDER: | 132 case IDC_BOOKMARK_BAR_RENAME_FOLDER: |
| 131 case IDC_BOOKMARK_BAR_EDIT: | 133 case IDC_BOOKMARK_BAR_EDIT: |
| 132 UserMetrics::RecordAction( | 134 content::RecordAction( |
| 133 UserMetricsAction("BookmarkBar_ContextMenu_Edit")); | 135 UserMetricsAction("BookmarkBar_ContextMenu_Edit")); |
| 134 | 136 |
| 135 if (selection_.size() != 1) { | 137 if (selection_.size() != 1) { |
| 136 NOTREACHED(); | 138 NOTREACHED(); |
| 137 break; | 139 break; |
| 138 } | 140 } |
| 139 | 141 |
| 140 BookmarkEditor::Show( | 142 BookmarkEditor::Show( |
| 141 parent_window_, | 143 parent_window_, |
| 142 profile_, | 144 profile_, |
| 143 BookmarkEditor::EditDetails::EditNode(selection_[0]), | 145 BookmarkEditor::EditDetails::EditNode(selection_[0]), |
| 144 BookmarkEditor::SHOW_TREE); | 146 BookmarkEditor::SHOW_TREE); |
| 145 break; | 147 break; |
| 146 | 148 |
| 147 case IDC_BOOKMARK_BAR_REMOVE: { | 149 case IDC_BOOKMARK_BAR_REMOVE: { |
| 148 UserMetrics::RecordAction( | 150 content::RecordAction( |
| 149 UserMetricsAction("BookmarkBar_ContextMenu_Remove")); | 151 UserMetricsAction("BookmarkBar_ContextMenu_Remove")); |
| 150 | 152 |
| 151 for (size_t i = 0; i < selection_.size(); ++i) { | 153 for (size_t i = 0; i < selection_.size(); ++i) { |
| 152 int index = selection_[i]->parent()->GetIndexOf(selection_[i]); | 154 int index = selection_[i]->parent()->GetIndexOf(selection_[i]); |
| 153 if (index > -1) | 155 if (index > -1) |
| 154 model_->Remove(selection_[i]->parent(), index); | 156 model_->Remove(selection_[i]->parent(), index); |
| 155 } | 157 } |
| 156 selection_.clear(); | 158 selection_.clear(); |
| 157 break; | 159 break; |
| 158 } | 160 } |
| 159 | 161 |
| 160 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: { | 162 case IDC_BOOKMARK_BAR_ADD_NEW_BOOKMARK: { |
| 161 UserMetrics::RecordAction( | 163 content::RecordAction( |
| 162 UserMetricsAction("BookmarkBar_ContextMenu_Add")); | 164 UserMetricsAction("BookmarkBar_ContextMenu_Add")); |
| 163 | 165 |
| 164 int index; | 166 int index; |
| 165 const BookmarkNode* parent = | 167 const BookmarkNode* parent = |
| 166 bookmark_utils::GetParentForNewNodes(parent_, selection_, &index); | 168 bookmark_utils::GetParentForNewNodes(parent_, selection_, &index); |
| 167 BookmarkEditor::Show( | 169 BookmarkEditor::Show( |
| 168 parent_window_, | 170 parent_window_, |
| 169 profile_, | 171 profile_, |
| 170 BookmarkEditor::EditDetails::AddNodeInFolder(parent, index), | 172 BookmarkEditor::EditDetails::AddNodeInFolder(parent, index), |
| 171 BookmarkEditor::SHOW_TREE); | 173 BookmarkEditor::SHOW_TREE); |
| 172 break; | 174 break; |
| 173 } | 175 } |
| 174 | 176 |
| 175 case IDC_BOOKMARK_BAR_NEW_FOLDER: { | 177 case IDC_BOOKMARK_BAR_NEW_FOLDER: { |
| 176 UserMetrics::RecordAction( | 178 content::RecordAction( |
| 177 UserMetricsAction("BookmarkBar_ContextMenu_NewFolder")); | 179 UserMetricsAction("BookmarkBar_ContextMenu_NewFolder")); |
| 178 | 180 |
| 179 int index; | 181 int index; |
| 180 const BookmarkNode* parent = | 182 const BookmarkNode* parent = |
| 181 bookmark_utils::GetParentForNewNodes(parent_, selection_, &index); | 183 bookmark_utils::GetParentForNewNodes(parent_, selection_, &index); |
| 182 BookmarkEditor::Show( | 184 BookmarkEditor::Show( |
| 183 parent_window_, | 185 parent_window_, |
| 184 profile_, | 186 profile_, |
| 185 BookmarkEditor::EditDetails::AddFolder(parent, index), | 187 BookmarkEditor::EditDetails::AddFolder(parent, index), |
| 186 BookmarkEditor::SHOW_TREE); | 188 BookmarkEditor::SHOW_TREE); |
| 187 break; | 189 break; |
| 188 } | 190 } |
| 189 | 191 |
| 190 case IDC_BOOKMARK_BAR_ALWAYS_SHOW: | 192 case IDC_BOOKMARK_BAR_ALWAYS_SHOW: |
| 191 bookmark_utils::ToggleWhenVisible(profile_); | 193 bookmark_utils::ToggleWhenVisible(profile_); |
| 192 break; | 194 break; |
| 193 | 195 |
| 194 case IDC_BOOKMARK_MANAGER: { | 196 case IDC_BOOKMARK_MANAGER: { |
| 195 UserMetrics::RecordAction(UserMetricsAction("ShowBookmarkManager")); | 197 content::RecordAction(UserMetricsAction("ShowBookmarkManager")); |
| 196 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); | 198 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); |
| 197 if (!browser) NOTREACHED(); | 199 if (!browser) NOTREACHED(); |
| 198 | 200 |
| 199 if (selection_.size() != 1) | 201 if (selection_.size() != 1) |
| 200 browser->OpenBookmarkManager(); | 202 browser->OpenBookmarkManager(); |
| 201 else if (selection_[0]->is_folder()) | 203 else if (selection_[0]->is_folder()) |
| 202 browser->OpenBookmarkManagerForNode(selection_[0]->id()); | 204 browser->OpenBookmarkManagerForNode(selection_[0]->id()); |
| 203 else if (parent_) | 205 else if (parent_) |
| 204 browser->OpenBookmarkManagerForNode(parent_->id()); | 206 browser->OpenBookmarkManagerForNode(parent_->id()); |
| 205 else | 207 else |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 306 delegate_->CloseMenu(); | 308 delegate_->CloseMenu(); |
| 307 } | 309 } |
| 308 | 310 |
| 309 bool BookmarkContextMenuController::HasURLs() const { | 311 bool BookmarkContextMenuController::HasURLs() const { |
| 310 for (size_t i = 0; i < selection_.size(); ++i) { | 312 for (size_t i = 0; i < selection_.size(); ++i) { |
| 311 if (bookmark_utils::NodeHasURLs(selection_[i])) | 313 if (bookmark_utils::NodeHasURLs(selection_[i])) |
| 312 return true; | 314 return true; |
| 313 } | 315 } |
| 314 return false; | 316 return false; |
| 315 } | 317 } |
| OLD | NEW |