OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/callback.h" | 5 #include "base/callback.h" |
6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
7 #include "chrome/browser/automation/ui_controls.h" | 7 #include "chrome/browser/automation/ui_controls.h" |
8 #include "chrome/test/base/view_event_test_base.h" | 8 #include "chrome/test/base/view_event_test_base.h" |
9 #include "ui/base/models/menu_model.h" | 9 #include "ui/base/models/menu_model.h" |
10 #include "ui/views/controls/button/menu_button.h" | 10 #include "ui/views/controls/button/menu_button.h" |
11 #include "ui/views/controls/button/menu_button_delegate.h" | 11 #include "ui/views/controls/button/menu_button_listener.h" |
12 #include "ui/views/controls/menu/menu_controller.h" | 12 #include "ui/views/controls/menu/menu_controller.h" |
13 #include "ui/views/controls/menu/menu_item_view.h" | 13 #include "ui/views/controls/menu/menu_item_view.h" |
14 #include "ui/views/controls/menu/menu_model_adapter.h" | 14 #include "ui/views/controls/menu/menu_model_adapter.h" |
15 #include "ui/views/controls/menu/menu_runner.h" | 15 #include "ui/views/controls/menu/menu_runner.h" |
16 #include "ui/views/controls/menu/submenu_view.h" | 16 #include "ui/views/controls/menu/submenu_view.h" |
17 #include "ui/views/test/test_views_delegate.h" | 17 #include "ui/views/test/test_views_delegate.h" |
18 #include "ui/views/views_delegate.h" | 18 #include "ui/views/views_delegate.h" |
19 #include "ui/views/widget/root_view.h" | 19 #include "ui/views/widget/root_view.h" |
20 #include "ui/views/widget/widget.h" | 20 #include "ui/views/widget/widget.h" |
21 | 21 |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 } | 239 } |
240 | 240 |
241 mutable SubMenuModel sub_menu_model_; | 241 mutable SubMenuModel sub_menu_model_; |
242 | 242 |
243 DISALLOW_COPY_AND_ASSIGN(TopMenuModel); | 243 DISALLOW_COPY_AND_ASSIGN(TopMenuModel); |
244 }; | 244 }; |
245 | 245 |
246 } // namespace | 246 } // namespace |
247 | 247 |
248 class MenuModelAdapterTest : public ViewEventTestBase, | 248 class MenuModelAdapterTest : public ViewEventTestBase, |
249 public views::MenuButtonDelegate { | 249 public views::MenuButtonListener { |
250 public: | 250 public: |
251 MenuModelAdapterTest() | 251 MenuModelAdapterTest() |
252 : ViewEventTestBase(), | 252 : ViewEventTestBase(), |
253 button_(NULL), | 253 button_(NULL), |
254 menu_model_adapter_(&top_menu_model_), | 254 menu_model_adapter_(&top_menu_model_), |
255 menu_(NULL) { | 255 menu_(NULL) { |
256 old_views_delegate_ = views::ViewsDelegate::views_delegate; | 256 old_views_delegate_ = views::ViewsDelegate::views_delegate; |
257 views::ViewsDelegate::views_delegate = &views_delegate_; | 257 views::ViewsDelegate::views_delegate = &views_delegate_; |
258 } | 258 } |
259 | 259 |
(...skipping 20 matching lines...) Expand all Loading... |
280 } | 280 } |
281 | 281 |
282 virtual views::View* CreateContentsView() OVERRIDE { | 282 virtual views::View* CreateContentsView() OVERRIDE { |
283 return button_; | 283 return button_; |
284 } | 284 } |
285 | 285 |
286 virtual gfx::Size GetPreferredSize() OVERRIDE { | 286 virtual gfx::Size GetPreferredSize() OVERRIDE { |
287 return button_->GetPreferredSize(); | 287 return button_->GetPreferredSize(); |
288 } | 288 } |
289 | 289 |
290 // views::MenuButtonDelegate implementation. | 290 // views::MenuButtonListener implementation. |
291 virtual void RunMenu(views::View* source, const gfx::Point& pt) OVERRIDE { | 291 virtual void OnMenuButtonClicked(views::View* source, |
| 292 const gfx::Point& point) OVERRIDE { |
292 gfx::Point screen_location; | 293 gfx::Point screen_location; |
293 views::View::ConvertPointToScreen(source, &screen_location); | 294 views::View::ConvertPointToScreen(source, &screen_location); |
294 gfx::Rect bounds(screen_location, source->size()); | 295 gfx::Rect bounds(screen_location, source->size()); |
295 ignore_result(menu_runner_->RunMenuAt( | 296 ignore_result(menu_runner_->RunMenuAt( |
296 source->GetWidget(), | 297 source->GetWidget(), |
297 button_, | 298 button_, |
298 bounds, | 299 bounds, |
299 views::MenuItemView::TOPLEFT, | 300 views::MenuItemView::TOPLEFT, |
300 views::MenuRunner::HAS_MNEMONICS)); | 301 views::MenuRunner::HAS_MNEMONICS)); |
301 } | 302 } |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 TestViewsDelegate views_delegate_; | 369 TestViewsDelegate views_delegate_; |
369 | 370 |
370 views::MenuButton* button_; | 371 views::MenuButton* button_; |
371 TopMenuModel top_menu_model_; | 372 TopMenuModel top_menu_model_; |
372 views::MenuModelAdapter menu_model_adapter_; | 373 views::MenuModelAdapter menu_model_adapter_; |
373 views::MenuItemView* menu_; | 374 views::MenuItemView* menu_; |
374 scoped_ptr<views::MenuRunner> menu_runner_; | 375 scoped_ptr<views::MenuRunner> menu_runner_; |
375 }; | 376 }; |
376 | 377 |
377 VIEW_TEST(MenuModelAdapterTest, RebuildMenu) | 378 VIEW_TEST(MenuModelAdapterTest, RebuildMenu) |
OLD | NEW |