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 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_LANGUAGE_SWITCH_MENU_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_LANGUAGE_SWITCH_MENU_H_ |
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_LANGUAGE_SWITCH_MENU_H_ | 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_LANGUAGE_SWITCH_MENU_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "testing/gtest/include/gtest/gtest_prod.h" | 12 #include "testing/gtest/include/gtest/gtest_prod.h" |
13 #include "views/controls/menu/menu_delegate.h" | 13 #include "views/controls/menu/menu_delegate.h" |
14 #include "views/controls/menu/view_menu_delegate.h" | 14 #include "views/controls/menu/view_menu_delegate.h" |
15 #include "views/view.h" | 15 #include "views/view.h" |
16 | 16 |
17 class WizardControllerTest_SwitchLanguage_Test; | 17 class WizardControllerTest_SwitchLanguage_Test; |
18 | 18 |
19 namespace views { | 19 namespace views { |
20 class MenuItemView; | 20 class MenuItemView; |
| 21 class MenuRunner; |
21 } // namespace views | 22 } // namespace views |
22 | 23 |
23 namespace chromeos { | 24 namespace chromeos { |
24 | 25 |
25 class LanguageList; | 26 class LanguageList; |
26 class ScreenObserver; | 27 class ScreenObserver; |
27 | 28 |
28 class LanguageSwitchMenu : public views::ViewMenuDelegate, | 29 class LanguageSwitchMenu : public views::ViewMenuDelegate, |
29 public views::MenuDelegate { | 30 public views::MenuDelegate { |
30 public: | 31 public: |
(...skipping 20 matching lines...) Expand all Loading... |
51 | 52 |
52 private: | 53 private: |
53 static void LoadFontsForCurrentLocale(); | 54 static void LoadFontsForCurrentLocale(); |
54 | 55 |
55 // views::ViewMenuDelegate implementation. | 56 // views::ViewMenuDelegate implementation. |
56 virtual void RunMenu(views::View* source, const gfx::Point& pt) OVERRIDE; | 57 virtual void RunMenu(views::View* source, const gfx::Point& pt) OVERRIDE; |
57 | 58 |
58 // views::MenuDelegate implementation. | 59 // views::MenuDelegate implementation. |
59 virtual void ExecuteCommand(int command_id) OVERRIDE; | 60 virtual void ExecuteCommand(int command_id) OVERRIDE; |
60 | 61 |
61 // Dialog controls that we own ourselves. | 62 // The menu. |
62 scoped_ptr<views::MenuItemView> menu_; | 63 views::MenuItemView* menu_; |
| 64 |
| 65 // Runs and owns |menu_|. |
| 66 scoped_ptr<views::MenuRunner> menu_runner_; |
63 | 67 |
64 // Language locale name storage. | 68 // Language locale name storage. |
65 scoped_ptr<LanguageList> language_list_; | 69 scoped_ptr<LanguageList> language_list_; |
66 | 70 |
67 FRIEND_TEST(::WizardControllerTest, SwitchLanguage); | 71 FRIEND_TEST(::WizardControllerTest, SwitchLanguage); |
68 DISALLOW_COPY_AND_ASSIGN(LanguageSwitchMenu); | 72 DISALLOW_COPY_AND_ASSIGN(LanguageSwitchMenu); |
69 }; | 73 }; |
70 | 74 |
71 } // namespace chromeos | 75 } // namespace chromeos |
72 | 76 |
73 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_LANGUAGE_SWITCH_MENU_H_ | 77 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_LANGUAGE_SWITCH_MENU_H_ |
OLD | NEW |