Index: chrome/browser/ui/ash/system_tray_client.cc |
diff --git a/chrome/browser/ui/ash/system_tray_client.cc b/chrome/browser/ui/ash/system_tray_client.cc |
index 516cb0c383ff3aaaca1fb7c2158fbf99151b3416..492a9d66258aecd14f20535d971f977e4ec0ad5e 100644 |
--- a/chrome/browser/ui/ash/system_tray_client.cc |
+++ b/chrome/browser/ui/ash/system_tray_client.cc |
@@ -23,6 +23,9 @@ |
#include "chrome/common/url_constants.h" |
#include "chrome/grit/generated_resources.h" |
#include "chromeos/login/login_state.h" |
+#include "chromeos/network/network_handler.h" |
+#include "chromeos/network/network_state.h" |
+#include "chromeos/network/network_state_handler.h" |
#include "content/public/browser/user_metrics.h" |
#include "content/public/common/service_manager_connection.h" |
#include "net/base/escape.h" |
@@ -141,13 +144,21 @@ void SystemTrayClient::ShowPublicAccountInfo() { |
chrome::ShowPolicy(displayer.browser()); |
} |
-void SystemTrayClient::ShowNetworkConfigure(const std::string& service_path) { |
+void SystemTrayClient::ShowNetworkConfigure(const std::string& network_id) { |
// TODO(jamescook): Consolidate this with the classic ash version from |
// NetworkConnectDelegateChromeOS. This will require moving the window |
// container calculation to this class, then plumbing a container ID through |
// the dialog code. |
CHECK(chrome::IsRunningInMash()); |
- chromeos::NetworkConfigView::Show(service_path, nullptr /* parent */); |
+ const chromeos::NetworkState* network = |
+ chromeos::NetworkHandler::Get() |
+ ->network_state_handler() |
+ ->GetNetworkStateFromGuid(network_id); |
+ if (!network) { |
+ LOG(ERROR) << "Network ID not found: " << network_id; |
+ return; |
+ } |
+ chromeos::NetworkConfigView::Show(network->path(), nullptr /* parent */); |
} |
void SystemTrayClient::ShowNetworkSettings(const std::string& network_id) { |