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

Side by Side Diff: chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc

Issue 6837021: Disable bookmark editing (views UI). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 9 years, 8 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/views/bookmarks/bookmark_menu_controller_views.h" 5 #include "chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h"
6 6
7 #include "base/stl_util-inl.h" 7 #include "base/stl_util-inl.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/bookmarks/bookmark_model.h" 9 #include "chrome/browser/bookmarks/bookmark_model.h"
10 #include "chrome/browser/bookmarks/bookmark_node_data.h" 10 #include "chrome/browser/bookmarks/bookmark_node_data.h"
11 #include "chrome/browser/bookmarks/bookmark_utils.h" 11 #include "chrome/browser/bookmarks/bookmark_utils.h"
12 #include "chrome/browser/metrics/user_metrics.h" 12 #include "chrome/browser/metrics/user_metrics.h"
13 #include "chrome/browser/prefs/pref_service.h"
13 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
14 #include "chrome/browser/ui/browser.h" 15 #include "chrome/browser/ui/browser.h"
15 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h" 16 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h"
16 #include "chrome/browser/ui/views/event_utils.h" 17 #include "chrome/browser/ui/views/event_utils.h"
18 #include "chrome/common/pref_names.h"
17 #include "content/browser/tab_contents/page_navigator.h" 19 #include "content/browser/tab_contents/page_navigator.h"
18 #include "content/common/page_transition_types.h" 20 #include "content/common/page_transition_types.h"
19 #include "grit/app_resources.h" 21 #include "grit/app_resources.h"
20 #include "grit/generated_resources.h" 22 #include "grit/generated_resources.h"
21 #include "grit/theme_resources.h" 23 #include "grit/theme_resources.h"
22 #include "ui/base/dragdrop/os_exchange_data.h" 24 #include "ui/base/dragdrop/os_exchange_data.h"
23 #include "ui/base/resource/resource_bundle.h" 25 #include "ui/base/resource/resource_bundle.h"
24 #include "views/controls/button/menu_button.h" 26 #include "views/controls/button/menu_button.h"
25 27
26 using views::MenuItemView; 28 using views::MenuItemView;
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 129
128 bool BookmarkMenuController::AreDropTypesRequired(MenuItemView* menu) { 130 bool BookmarkMenuController::AreDropTypesRequired(MenuItemView* menu) {
129 return true; 131 return true;
130 } 132 }
131 133
132 bool BookmarkMenuController::CanDrop(MenuItemView* menu, 134 bool BookmarkMenuController::CanDrop(MenuItemView* menu,
133 const ui::OSExchangeData& data) { 135 const ui::OSExchangeData& data) {
134 // Only accept drops of 1 node, which is the case for all data dragged from 136 // Only accept drops of 1 node, which is the case for all data dragged from
135 // bookmark bar and menus. 137 // bookmark bar and menus.
136 138
137 if (!drop_data_.Read(data) || drop_data_.elements.size() != 1) 139 if (!drop_data_.Read(data) || drop_data_.elements.size() != 1 ||
140 !profile_->GetPrefs()->GetBoolean(prefs::kEditBookmarksEnabled))
138 return false; 141 return false;
139 142
140 if (drop_data_.has_single_url()) 143 if (drop_data_.has_single_url())
141 return true; 144 return true;
142 145
143 const BookmarkNode* drag_node = drop_data_.GetFirstNode(profile_); 146 const BookmarkNode* drag_node = drop_data_.GetFirstNode(profile_);
144 if (!drag_node) { 147 if (!drag_node) {
145 // Dragging a folder from another profile, always accept. 148 // Dragging a folder from another profile, always accept.
146 return true; 149 return true;
147 } 150 }
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 DCHECK(sender && data); 237 DCHECK(sender && data);
235 238
236 UserMetrics::RecordAction(UserMetricsAction("BookmarkBar_DragFromFolder"), 239 UserMetrics::RecordAction(UserMetricsAction("BookmarkBar_DragFromFolder"),
237 profile_); 240 profile_);
238 241
239 BookmarkNodeData drag_data(menu_id_to_node_map_[sender->GetCommand()]); 242 BookmarkNodeData drag_data(menu_id_to_node_map_[sender->GetCommand()]);
240 drag_data.Write(profile_, data); 243 drag_data.Write(profile_, data);
241 } 244 }
242 245
243 int BookmarkMenuController::GetDragOperations(MenuItemView* sender) { 246 int BookmarkMenuController::GetDragOperations(MenuItemView* sender) {
244 return bookmark_utils::BookmarkDragOperation( 247 return bookmark_utils::BookmarkDragOperation(profile_,
245 menu_id_to_node_map_[sender->GetCommand()]); 248 menu_id_to_node_map_[sender->GetCommand()]);
246 } 249 }
247 250
248 views::MenuItemView* BookmarkMenuController::GetSiblingMenu( 251 views::MenuItemView* BookmarkMenuController::GetSiblingMenu(
249 views::MenuItemView* menu, 252 views::MenuItemView* menu,
250 const gfx::Point& screen_point, 253 const gfx::Point& screen_point,
251 views::MenuItemView::AnchorPosition* anchor, 254 views::MenuItemView::AnchorPosition* anchor,
252 bool* has_mnemonics, 255 bool* has_mnemonics,
253 views::MenuButton** button) { 256 views::MenuButton** button) {
254 if (!bookmark_bar_ || for_drop_) 257 if (!bookmark_bar_ || for_drop_)
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 break; 421 break;
419 } 422 }
420 } 423 }
421 if (ancestor_removed) { 424 if (ancestor_removed) {
422 node_to_menu_id_map_.erase(i++); 425 node_to_menu_id_map_.erase(i++);
423 } else { 426 } else {
424 ++i; 427 ++i;
425 } 428 }
426 } 429 }
427 } 430 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698