Index: chrome/browser/chromeos/dom_ui/network_menu_ui.h |
diff --git a/chrome/browser/chromeos/dom_ui/network_menu_ui.h b/chrome/browser/chromeos/dom_ui/network_menu_ui.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..79bac9c5e44340af5d7a7887c9fc60849d3034f9 |
--- /dev/null |
+++ b/chrome/browser/chromeos/dom_ui/network_menu_ui.h |
@@ -0,0 +1,49 @@ |
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_CHROMEOS_DOM_UI_NETWORK_MENU_UI_H_ |
+#define CHROME_BROWSER_CHROMEOS_DOM_UI_NETWORK_MENU_UI_H_ |
+#pragma once |
+ |
+#include "chrome/browser/chromeos/dom_ui/menu_ui.h" |
+ |
+namespace views { |
+class Menu2; |
+} // namespace views |
+ |
+namespace menus { |
+class MenuModel; |
+} // namespace menus |
+ |
+namespace chromeos { |
+ |
+class NetworkMenuUI : public MenuUI { |
+ public: |
+ explicit NetworkMenuUI(TabContents* contents); |
+ |
+ // A callback method that is invoked when the JavaScript wants |
+ // to invoke an action in the model. |
+ // By convention the first member of 'values' describes the action. |
+ void ModelAction(const menus::MenuModel* model, |
+ const ListValue* values); |
+ |
+ // MenuUI overrides |
+ virtual DictionaryValue* CreateMenuItem(const menus::MenuModel* model, |
+ int index, |
+ const char* type, |
+ int* max_icon_width, |
+ bool* has_accel) const; |
+ virtual void AddCustomConfigValues(DictionaryValue* config) const; |
+ |
+ // A convenient factory method to create Menu2 for the network menu. |
+ static views::Menu2* CreateMenu2(menus::MenuModel* model); |
+ |
+ private: |
+ |
+ DISALLOW_COPY_AND_ASSIGN(NetworkMenuUI); |
+}; |
+ |
+} // namespace chromeos |
+ |
+#endif // CHROME_BROWSER_CHROMEOS_DOM_UI_NETWORK_MENU_UI_H_ |