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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/dom_ui/network_menu_ui.cc
diff --git a/chrome/browser/chromeos/dom_ui/network_menu_ui.cc b/chrome/browser/chromeos/dom_ui/network_menu_ui.cc
index b7905faa10742897b67e161a92db46a9c42de559..cb267a1d943930faf2b62e4a45c016984692b68c 100644
--- a/chrome/browser/chromeos/dom_ui/network_menu_ui.cc
+++ b/chrome/browser/chromeos/dom_ui/network_menu_ui.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/chromeos/dom_ui/network_menu_ui.h"
#include "base/values.h"
+#include "base/string_number_conversions.h"
#include "base/string_util.h"
#include "chrome/app/chrome_dll_resource.h"
#include "chrome/browser/chromeos/status/network_menu.h"
@@ -85,8 +86,33 @@ void NetworkMenuUI::AddCustomConfigValues(DictionaryValue* config) const {
void NetworkMenuUI::ModelAction(const menus::MenuModel* model,
const ListValue* values) {
- //const NetworkMenu* network_menu = static_cast<const NetworkMenu*>(model);
- // Invoke model methods here.
+ const NetworkMenu* network_menu = static_cast<const NetworkMenu*>(model);
+ std::string action;
+ bool success = values->GetString(0, &action);
+ if (!success) {
+ LOG(WARNING) << "ModelAction called with no arguments from: "
+ << chrome::kChromeUINetworkMenu;
+ return;
+ }
+ int index;
+ std::string index_str;
+ success = values->GetString(1, &index_str);
+ success = success && base::StringToInt(index_str, &index);
+ if (!success) {
+ LOG(WARNING) << "ModelAction called with no index from: "
+ << chrome::kChromeUINetworkMenu;
+ return;
+ }
+ std::string passphrase;
+ values->GetString(2, &passphrase); // Optional
+ std::string identity;
+ values->GetString(3, &identity); // Optional
+ if (action == "connect" || action == "reconnect") {
+ network_menu->ConnectToNetworkAt(index, passphrase, identity);
+ } else {
+ LOG(WARNING) << "Unrecognized action: " << action
+ << " from: " << chrome::kChromeUINetworkMenu;
+ }
}
DictionaryValue* NetworkMenuUI::CreateMenuItem(const menus::MenuModel* model,

Powered by Google App Engine
This is Rietveld 408576698