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

Side by Side Diff: chrome/browser/chromeos/dom_ui/network_menu_ui.cc

Issue 3678006: Implement action interface in network_menu.js for 'connect'. (Closed)
Patch Set: Set status for non connected networks. Created 10 years, 2 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/chromeos/dom_ui/network_menu_ui.h" 5 #include "chrome/browser/chromeos/dom_ui/network_menu_ui.h"
6 6
7 #include "base/values.h" 7 #include "base/values.h"
8 #include "base/string_number_conversions.h"
8 #include "base/string_util.h" 9 #include "base/string_util.h"
9 #include "chrome/app/chrome_dll_resource.h" 10 #include "chrome/app/chrome_dll_resource.h"
10 #include "chrome/browser/chromeos/status/network_menu.h" 11 #include "chrome/browser/chromeos/status/network_menu.h"
11 #include "chrome/browser/chromeos/views/native_menu_domui.h" 12 #include "chrome/browser/chromeos/views/native_menu_domui.h"
12 #include "chrome/common/url_constants.h" 13 #include "chrome/common/url_constants.h"
13 #include "googleurl/src/gurl.h" 14 #include "googleurl/src/gurl.h"
14 #include "grit/browser_resources.h" 15 #include "grit/browser_resources.h"
15 #include "views/controls/menu/menu_2.h" 16 #include "views/controls/menu/menu_2.h"
16 17
17 namespace { 18 namespace {
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 -1))) { 79 -1))) {
79 NetworkMenuHandler* handler = new NetworkMenuHandler(); 80 NetworkMenuHandler* handler = new NetworkMenuHandler();
80 AddMessageHandler((handler)->Attach(this)); 81 AddMessageHandler((handler)->Attach(this));
81 } 82 }
82 83
83 void NetworkMenuUI::AddCustomConfigValues(DictionaryValue* config) const { 84 void NetworkMenuUI::AddCustomConfigValues(DictionaryValue* config) const {
84 } 85 }
85 86
86 void NetworkMenuUI::ModelAction(const menus::MenuModel* model, 87 void NetworkMenuUI::ModelAction(const menus::MenuModel* model,
87 const ListValue* values) { 88 const ListValue* values) {
88 //const NetworkMenu* network_menu = static_cast<const NetworkMenu*>(model); 89 const NetworkMenu* network_menu = static_cast<const NetworkMenu*>(model);
89 // Invoke model methods here. 90 std::string action;
91 bool success = values->GetString(0, &action);
92 if (!success) {
93 LOG(WARNING) << "ModelAction called with no arguments from: "
94 << chrome::kChromeUINetworkMenu;
95 return;
96 }
97 int index;
98 std::string index_str;
99 success = values->GetString(1, &index_str);
100 success = success && base::StringToInt(index_str, &index);
101 if (!success) {
102 LOG(WARNING) << "ModelAction called with no index from: "
103 << chrome::kChromeUINetworkMenu;
104 return;
105 }
106 std::string passphrase;
107 values->GetString(2, &passphrase); // Optional
108 std::string identity;
109 values->GetString(3, &identity); // Optional
110 if (action == "connect" || action == "reconnect") {
111 network_menu->ConnectToNetworkAt(index, passphrase, identity);
112 } else {
113 LOG(WARNING) << "Unrecognized action: " << action
114 << " from: " << chrome::kChromeUINetworkMenu;
115 }
90 } 116 }
91 117
92 DictionaryValue* NetworkMenuUI::CreateMenuItem(const menus::MenuModel* model, 118 DictionaryValue* NetworkMenuUI::CreateMenuItem(const menus::MenuModel* model,
93 int index, 119 int index,
94 const char* type, 120 const char* type,
95 int* max_icon_width, 121 int* max_icon_width,
96 bool* has_accel) const { 122 bool* has_accel) const {
97 // Create a MenuUI menu item, then append network specific values. 123 // Create a MenuUI menu item, then append network specific values.
98 DictionaryValue* item = MenuUI::CreateMenuItem(model, 124 DictionaryValue* item = MenuUI::CreateMenuItem(model,
99 index, 125 index,
(...skipping 16 matching lines...) Expand all
116 } 142 }
117 143
118 views::Menu2* NetworkMenuUI::CreateMenu2(menus::MenuModel* model) { 144 views::Menu2* NetworkMenuUI::CreateMenu2(menus::MenuModel* model) {
119 views::Menu2* menu = new views::Menu2(model); 145 views::Menu2* menu = new views::Menu2(model);
120 NativeMenuDOMUI::SetMenuURL( 146 NativeMenuDOMUI::SetMenuURL(
121 menu, GURL(StringPrintf("chrome://%s", chrome::kChromeUINetworkMenu))); 147 menu, GURL(StringPrintf("chrome://%s", chrome::kChromeUINetworkMenu)));
122 return menu; 148 return menu;
123 } 149 }
124 150
125 } // namespace chromeos 151 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698