| 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/location.h" | 6 #include "base/location.h" | 
| 7 #include "base/macros.h" | 7 #include "base/macros.h" | 
| 8 #include "base/single_thread_task_runner.h" | 8 #include "base/single_thread_task_runner.h" | 
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" | 
| 10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" | 
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 167 | 167 | 
| 168   ~MenuModelAdapterTest() override {} | 168   ~MenuModelAdapterTest() override {} | 
| 169 | 169 | 
| 170   // ViewEventTestBase implementation. | 170   // ViewEventTestBase implementation. | 
| 171 | 171 | 
| 172   void SetUp() override { | 172   void SetUp() override { | 
| 173     button_ = new views::MenuButton(base::ASCIIToUTF16("Menu Adapter Test"), | 173     button_ = new views::MenuButton(base::ASCIIToUTF16("Menu Adapter Test"), | 
| 174                                     this, true); | 174                                     this, true); | 
| 175 | 175 | 
| 176     menu_ = menu_model_adapter_.CreateMenu(); | 176     menu_ = menu_model_adapter_.CreateMenu(); | 
| 177     menu_runner_.reset(new views::MenuRunner( | 177     menu_runner_.reset( | 
| 178         menu_, views::MenuRunner::HAS_MNEMONICS | views::MenuRunner::ASYNC)); | 178         new views::MenuRunner(menu_, views::MenuRunner::HAS_MNEMONICS)); | 
| 179 | 179 | 
| 180     ViewEventTestBase::SetUp(); | 180     ViewEventTestBase::SetUp(); | 
| 181   } | 181   } | 
| 182 | 182 | 
| 183   void TearDown() override { | 183   void TearDown() override { | 
| 184     menu_runner_.reset(NULL); | 184     menu_runner_.reset(NULL); | 
| 185     menu_ = NULL; | 185     menu_ = NULL; | 
| 186     ViewEventTestBase::TearDown(); | 186     ViewEventTestBase::TearDown(); | 
| 187   } | 187   } | 
| 188 | 188 | 
| 189   views::View* CreateContentsView() override { return button_; } | 189   views::View* CreateContentsView() override { return button_; } | 
| 190 | 190 | 
| 191   gfx::Size GetPreferredSize() const override { | 191   gfx::Size GetPreferredSize() const override { | 
| 192     return button_->GetPreferredSize(); | 192     return button_->GetPreferredSize(); | 
| 193   } | 193   } | 
| 194 | 194 | 
| 195   // views::MenuButtonListener implementation. | 195   // views::MenuButtonListener implementation. | 
| 196   void OnMenuButtonClicked(views::MenuButton* source, | 196   void OnMenuButtonClicked(views::MenuButton* source, | 
| 197                            const gfx::Point& point, | 197                            const gfx::Point& point, | 
| 198                            const ui::Event* event) override { | 198                            const ui::Event* event) override { | 
| 199     gfx::Point screen_location; | 199     gfx::Point screen_location; | 
| 200     views::View::ConvertPointToScreen(source, &screen_location); | 200     views::View::ConvertPointToScreen(source, &screen_location); | 
| 201     gfx::Rect bounds(screen_location, source->size()); | 201     gfx::Rect bounds(screen_location, source->size()); | 
| 202     ignore_result(menu_runner_->RunMenuAt(source->GetWidget(), | 202     menu_runner_->RunMenuAt(source->GetWidget(), button_, bounds, | 
| 203                                           button_, | 203                             views::MENU_ANCHOR_TOPLEFT, ui::MENU_SOURCE_NONE); | 
| 204                                           bounds, |  | 
| 205                                           views::MENU_ANCHOR_TOPLEFT, |  | 
| 206                                           ui::MENU_SOURCE_NONE)); |  | 
| 207   } | 204   } | 
| 208 | 205 | 
| 209   // ViewEventTestBase implementation | 206   // ViewEventTestBase implementation | 
| 210   void DoTestOnMessageLoop() override { | 207   void DoTestOnMessageLoop() override { | 
| 211     Click(button_, CreateEventTask(this, &MenuModelAdapterTest::Step1)); | 208     Click(button_, CreateEventTask(this, &MenuModelAdapterTest::Step1)); | 
| 212   } | 209   } | 
| 213 | 210 | 
| 214   // Open the submenu. | 211   // Open the submenu. | 
| 215   void Step1() { | 212   void Step1() { | 
| 216     views::SubmenuView* topmenu = menu_->GetSubmenu(); | 213     views::SubmenuView* topmenu = menu_->GetSubmenu(); | 
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 272 | 269 | 
| 273   views::MenuButton* button_; | 270   views::MenuButton* button_; | 
| 274   TopMenuModel top_menu_model_; | 271   TopMenuModel top_menu_model_; | 
| 275   views::MenuModelAdapter menu_model_adapter_; | 272   views::MenuModelAdapter menu_model_adapter_; | 
| 276   views::MenuItemView* menu_; | 273   views::MenuItemView* menu_; | 
| 277   std::unique_ptr<views::MenuRunner> menu_runner_; | 274   std::unique_ptr<views::MenuRunner> menu_runner_; | 
| 278 }; | 275 }; | 
| 279 | 276 | 
| 280 // If this flakes, disable and log details in http://crbug.com/523255. | 277 // If this flakes, disable and log details in http://crbug.com/523255. | 
| 281 VIEW_TEST(MenuModelAdapterTest, RebuildMenu) | 278 VIEW_TEST(MenuModelAdapterTest, RebuildMenu) | 
| OLD | NEW | 
|---|