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

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

Issue 115831: Converts a bunch things from NativeWindow to NativeView to make it... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 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
« no previous file with comments | « chrome/browser/views/bookmark_menu_controller_views.h ('k') | chrome/chrome.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/views/bookmark_menu_controller_views.h" 5 #include "chrome/browser/views/bookmark_menu_controller_views.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "app/os_exchange_data.h" 8 #include "app/os_exchange_data.h"
9 #include "app/resource_bundle.h" 9 #include "app/resource_bundle.h"
10 #include "chrome/browser/bookmarks/bookmark_drag_data.h" 10 #include "chrome/browser/bookmarks/bookmark_drag_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/profile.h" 13 #include "chrome/browser/profile.h"
14 #include "chrome/browser/tab_contents/page_navigator.h" 14 #include "chrome/browser/tab_contents/page_navigator.h"
15 #include "chrome/browser/views/event_utils.h" 15 #include "chrome/browser/views/event_utils.h"
16 #include "chrome/common/page_transition_types.h" 16 #include "chrome/common/page_transition_types.h"
17 #include "grit/app_resources.h" 17 #include "grit/app_resources.h"
18 #include "grit/generated_resources.h" 18 #include "grit/generated_resources.h"
19 #include "grit/theme_resources.h" 19 #include "grit/theme_resources.h"
20 20
21 BookmarkMenuController::BookmarkMenuController(Browser* browser, 21 BookmarkMenuController::BookmarkMenuController(Browser* browser,
22 Profile* profile, 22 Profile* profile,
23 PageNavigator* navigator, 23 PageNavigator* navigator,
24 gfx::NativeWindow parent, 24 gfx::NativeView parent,
25 BookmarkNode* node, 25 BookmarkNode* node,
26 int start_child_index, 26 int start_child_index,
27 bool show_other_folder) 27 bool show_other_folder)
28 : browser_(browser), 28 : browser_(browser),
29 profile_(profile), 29 profile_(profile),
30 page_navigator_(navigator), 30 page_navigator_(navigator),
31 parent_(parent), 31 parent_(parent),
32 node_(node), 32 node_(node),
33 observer_(NULL), 33 observer_(NULL),
34 for_drop_(false), 34 for_drop_(false),
35 show_other_folder_(show_other_folder) { 35 show_other_folder_(show_other_folder) {
36 menu_.reset(new views::MenuItemView(this)); 36 menu_.reset(new views::MenuItemView(this));
37 int next_menu_id = 1; 37 int next_menu_id = 1;
38 menu_id_to_node_map_[menu_->GetCommand()] = node; 38 menu_id_to_node_map_[menu_->GetCommand()] = node;
39 menu_->set_has_icons(true); 39 menu_->set_has_icons(true);
40 BuildMenu(node, start_child_index, menu_.get(), &next_menu_id); 40 BuildMenu(node, start_child_index, menu_.get(), &next_menu_id);
41 if (show_other_folder) 41 if (show_other_folder)
42 BuildOtherFolderMenu(&next_menu_id); 42 BuildOtherFolderMenu(&next_menu_id);
43 } 43 }
44 44
45 void BookmarkMenuController::RunMenuAt( 45 void BookmarkMenuController::RunMenuAt(
46 const gfx::Rect& bounds, 46 const gfx::Rect& bounds,
47 views::MenuItemView::AnchorPosition position, 47 views::MenuItemView::AnchorPosition position,
48 bool for_drop) { 48 bool for_drop) {
49 for_drop_ = for_drop; 49 for_drop_ = for_drop;
50 profile_->GetBookmarkModel()->AddObserver(this); 50 profile_->GetBookmarkModel()->AddObserver(this);
51 #if defined(OS_WIN)
52 gfx::NativeView widget = parent_;
53 #else
54 gfx::NativeView widget = GTK_WIDGET(parent_);
55 #endif
56 if (for_drop) { 51 if (for_drop) {
57 menu_->RunMenuForDropAt(widget, bounds, position); 52 menu_->RunMenuForDropAt(parent_, bounds, position);
58 } else { 53 } else {
59 menu_->RunMenuAt(widget, bounds, position, false); 54 menu_->RunMenuAt(parent_, bounds, position, false);
60 delete this; 55 delete this;
61 } 56 }
62 } 57 }
63 58
64 void BookmarkMenuController::Cancel() { 59 void BookmarkMenuController::Cancel() {
65 menu_->Cancel(); 60 menu_->Cancel();
66 } 61 }
67 62
68 bool BookmarkMenuController::IsTriggerableEvent(const views::MouseEvent& e) { 63 bool BookmarkMenuController::IsTriggerableEvent(const views::MouseEvent& e) {
69 return event_utils::IsPossibleDispositionEvent(e); 64 return event_utils::IsPossibleDispositionEvent(e);
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 } 248 }
254 menu_id_to_node_map_[id] = node; 249 menu_id_to_node_map_[id] = node;
255 } 250 }
256 } 251 }
257 252
258 BookmarkMenuController::~BookmarkMenuController() { 253 BookmarkMenuController::~BookmarkMenuController() {
259 profile_->GetBookmarkModel()->RemoveObserver(this); 254 profile_->GetBookmarkModel()->RemoveObserver(this);
260 if (observer_) 255 if (observer_)
261 observer_->BookmarkMenuDeleted(this); 256 observer_->BookmarkMenuDeleted(this);
262 } 257 }
OLDNEW
« no previous file with comments | « chrome/browser/views/bookmark_menu_controller_views.h ('k') | chrome/chrome.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698