| Index: chrome/browser/ui/webui/chromeos/network_ui.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/network_ui.cc b/chrome/browser/ui/webui/chromeos/network_ui.cc
|
| index 7c3170cbb113e768b2474abb7a9908a667772c9b..944babdeeb17da15c743bbc5a0fabf2156315b04 100644
|
| --- a/chrome/browser/ui/webui/chromeos/network_ui.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/network_ui.cc
|
| @@ -8,14 +8,11 @@
|
|
|
| #include "base/bind.h"
|
| #include "base/bind_helpers.h"
|
| -#include "base/json/json_string_value_serializer.h"
|
| #include "base/values.h"
|
| -#include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/browser/ui/webui/chromeos/network_config_message_handler.h"
|
| #include "chrome/common/url_constants.h"
|
| -#include "chromeos/network/favorite_state.h"
|
| #include "chromeos/network/network_event_log.h"
|
| -#include "chromeos/network/network_state.h"
|
| -#include "chromeos/network/network_state_handler.h"
|
| +#include "content/public/browser/web_contents.h"
|
| #include "content/public/browser/web_ui.h"
|
| #include "content/public/browser/web_ui_data_source.h"
|
| #include "content/public/browser/web_ui_message_handler.h"
|
| @@ -26,111 +23,40 @@ namespace chromeos {
|
|
|
| namespace {
|
|
|
| -const char kStringsJsFile[] = "strings.js";
|
| -const char kRequestNetworkInfoCallback[] = "requestNetworkInfo";
|
| -const char kNetworkEventLogTag[] = "networkEventLog";
|
| -const char kNetworkStateTag[] = "networkStates";
|
| -const char kFavoriteStateTag[] = "favoriteStates";
|
| -const char kOnNetworkInfoReceivedFunction[] = "NetworkUI.onNetworkInfoReceived";
|
| +const int kMaxLogEvents = 1000;
|
|
|
| -class NetworkMessageHandler : public content::WebUIMessageHandler {
|
| +class NetworkUIMessageHandler : public content::WebUIMessageHandler {
|
| public:
|
| - NetworkMessageHandler();
|
| - virtual ~NetworkMessageHandler();
|
| + NetworkUIMessageHandler() {}
|
| + virtual ~NetworkUIMessageHandler() {}
|
|
|
| // WebUIMessageHandler implementation.
|
| - virtual void RegisterMessages() OVERRIDE;
|
| + virtual void RegisterMessages() OVERRIDE {
|
| + web_ui()->RegisterMessageCallback(
|
| + "NetworkUI.getNetworkLog",
|
| + base::Bind(&NetworkUIMessageHandler::GetNetworkLog,
|
| + base::Unretained(this)));
|
| + }
|
|
|
| private:
|
| - void CollectNetworkInfo(const base::ListValue* value) const;
|
| - std::string GetNetworkEventLog() const;
|
| - void GetNetworkState(base::DictionaryValue* output) const;
|
| - void GetFavoriteState(base::DictionaryValue* output) const;
|
| - void RespondToPage(const base::DictionaryValue& value) const;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(NetworkMessageHandler);
|
| -};
|
| -
|
| -NetworkMessageHandler::NetworkMessageHandler() {
|
| -}
|
| -
|
| -NetworkMessageHandler::~NetworkMessageHandler() {
|
| -}
|
| -
|
| -void NetworkMessageHandler::RegisterMessages() {
|
| - web_ui()->RegisterMessageCallback(
|
| - kRequestNetworkInfoCallback,
|
| - base::Bind(&NetworkMessageHandler::CollectNetworkInfo,
|
| - base::Unretained(this)));
|
| -}
|
| -
|
| -void NetworkMessageHandler::CollectNetworkInfo(
|
| - const base::ListValue* value) const {
|
| - base::DictionaryValue data;
|
| - data.SetString(kNetworkEventLogTag, GetNetworkEventLog());
|
| -
|
| - base::DictionaryValue* networkState = new base::DictionaryValue;
|
| - GetNetworkState(networkState);
|
| - data.Set(kNetworkStateTag, networkState);
|
| -
|
| - base::DictionaryValue* favoriteState = new base::DictionaryValue;
|
| - GetFavoriteState(favoriteState);
|
| - data.Set(kFavoriteStateTag, favoriteState);
|
| -
|
| - RespondToPage(data);
|
| -}
|
| -
|
| -void NetworkMessageHandler::RespondToPage(
|
| - const base::DictionaryValue& value) const {
|
| - web_ui()->CallJavascriptFunction(kOnNetworkInfoReceivedFunction, value);
|
| -}
|
| -
|
| -std::string NetworkMessageHandler::GetNetworkEventLog() const {
|
| - std::string format = "json";
|
| - return chromeos::network_event_log::GetAsString(
|
| - chromeos::network_event_log::NEWEST_FIRST,
|
| - format,
|
| - chromeos::network_event_log::LOG_LEVEL_DEBUG,
|
| - 0);
|
| -}
|
| -
|
| -void NetworkMessageHandler::GetNetworkState(
|
| - base::DictionaryValue* output) const {
|
| - chromeos::NetworkStateHandler* handler =
|
| - chromeos::NetworkHandler::Get()->network_state_handler();
|
| - chromeos::NetworkStateHandler::NetworkStateList network_list;
|
| - handler->GetNetworkList(&network_list);
|
| - for (chromeos::NetworkStateHandler::NetworkStateList::const_iterator it =
|
| - network_list.begin();
|
| - it != network_list.end();
|
| - ++it) {
|
| - base::DictionaryValue* properties = new base::DictionaryValue;
|
| - (*it)->GetStateProperties(properties);
|
| - output->Set((*it)->path(), properties);
|
| + void GetNetworkLog(const base::ListValue* value) const {
|
| + base::StringValue data(chromeos::network_event_log::GetAsString(
|
| + chromeos::network_event_log::NEWEST_FIRST,
|
| + "json",
|
| + chromeos::network_event_log::LOG_LEVEL_DEBUG,
|
| + kMaxLogEvents));
|
| + web_ui()->CallJavascriptFunction("NetworkUI.getNetworkLogCallback", data);
|
| }
|
| -}
|
|
|
| -void NetworkMessageHandler::GetFavoriteState(
|
| - base::DictionaryValue* output) const {
|
| - chromeos::NetworkStateHandler* handler =
|
| - chromeos::NetworkHandler::Get()->network_state_handler();
|
| - chromeos::NetworkStateHandler::FavoriteStateList favorite_list;
|
| - handler->GetFavoriteList(&favorite_list);
|
| - for (chromeos::NetworkStateHandler::FavoriteStateList::const_iterator it =
|
| - favorite_list.begin();
|
| - it != favorite_list.end();
|
| - ++it) {
|
| - base::DictionaryValue* properties = new base::DictionaryValue;
|
| - (*it)->GetStateProperties(properties);
|
| - output->Set((*it)->path(), properties);
|
| - }
|
| -}
|
| + DISALLOW_COPY_AND_ASSIGN(NetworkUIMessageHandler);
|
| +};
|
|
|
| } // namespace
|
|
|
| NetworkUI::NetworkUI(content::WebUI* web_ui)
|
| : content::WebUIController(web_ui) {
|
| - web_ui->AddMessageHandler(new NetworkMessageHandler());
|
| + web_ui->AddMessageHandler(new NetworkConfigMessageHandler());
|
| + web_ui->AddMessageHandler(new NetworkUIMessageHandler());
|
|
|
| content::WebUIDataSource* html =
|
| content::WebUIDataSource::Create(chrome::kChromeUINetworkHost);
|
| @@ -149,14 +75,14 @@ NetworkUI::NetworkUI(content::WebUI* web_ui)
|
| html->AddLocalizedString("logLevelTimeDetailText",
|
| IDS_NETWORK_LOG_LEVEL_TIME_DETAIL);
|
| html->AddLocalizedString("logEntryFormat", IDS_NETWORK_LOG_ENTRY);
|
| - html->SetJsonPath(kStringsJsFile);
|
| -
|
| - html->AddResourcePath("network.css", IDR_NETWORK_CSS);
|
| - html->AddResourcePath("network.js", IDR_NETWORK_JS);
|
| - html->SetDefaultResource(IDR_NETWORK_HTML);
|
| -
|
| - Profile* profile = Profile::FromWebUI(web_ui);
|
| - content::WebUIDataSource::Add(profile, html);
|
| + html->SetJsonPath("strings.js");
|
| + html->AddResourcePath("network_config.js", IDR_NETWORK_CONFIG_JS);
|
| + html->AddResourcePath("network_ui.css", IDR_NETWORK_UI_CSS);
|
| + html->AddResourcePath("network_ui.js", IDR_NETWORK_UI_JS);
|
| + html->SetDefaultResource(IDR_NETWORK_UI_HTML);
|
| +
|
| + content::WebUIDataSource::Add(
|
| + web_ui->GetWebContents()->GetBrowserContext(), html);
|
| }
|
|
|
| NetworkUI::~NetworkUI() {
|
|
|