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

Unified Diff: extensions/browser/api/networking_private/networking_private_event_router_chromeos.cc

Issue 1059033002: Implement networkingPrivate.getDeviceStates (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test Created 5 years, 8 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: extensions/browser/api/networking_private/networking_private_event_router_chromeos.cc
diff --git a/extensions/browser/api/networking_private/networking_private_event_router_chromeos.cc b/extensions/browser/api/networking_private/networking_private_event_router_chromeos.cc
index 3bf43298666cdd1c7ba04c17aadfdb2c9499e3d6..999576d0598b26c61d09bba5b23ac1ac57d29e1f 100644
--- a/extensions/browser/api/networking_private/networking_private_event_router_chromeos.cc
+++ b/extensions/browser/api/networking_private/networking_private_event_router_chromeos.cc
@@ -45,6 +45,7 @@ class NetworkingPrivateEventRouterImpl
// NetworkStateHandlerObserver overrides:
void NetworkListChanged() override;
+ void DeviceListChanged() override;
void NetworkPropertiesUpdated(const NetworkState* network) override;
// NetworkPortalDetector::Observer overrides:
@@ -80,6 +81,9 @@ NetworkingPrivateEventRouterImpl::NetworkingPrivateEventRouterImpl(
this, core_api::networking_private::OnNetworkListChanged::kEventName);
event_router->RegisterObserver(
this,
+ core_api::networking_private::OnDeviceStateListChanged::kEventName);
+ event_router->RegisterObserver(
+ this,
core_api::networking_private::OnPortalDetectionCompleted::kEventName);
StartOrStopListeningForNetworkChanges();
}
@@ -125,6 +129,8 @@ void NetworkingPrivateEventRouterImpl::StartOrStopListeningForNetworkChanges() {
event_router->HasEventListener(
core_api::networking_private::OnNetworkListChanged::kEventName) ||
event_router->HasEventListener(
+ core_api::networking_private::OnDeviceStateListChanged::kEventName) ||
+ event_router->HasEventListener(
core_api::networking_private::OnPortalDetectionCompleted::kEventName);
if (should_listen && !listening_) {
@@ -143,19 +149,14 @@ void NetworkingPrivateEventRouterImpl::StartOrStopListeningForNetworkChanges() {
void NetworkingPrivateEventRouterImpl::NetworkListChanged() {
EventRouter* event_router = EventRouter::Get(context_);
- NetworkStateHandler::NetworkStateList networks;
- NetworkHandler::Get()->network_state_handler()->GetVisibleNetworkList(
- &networks);
if (!event_router->HasEventListener(
core_api::networking_private::OnNetworkListChanged::kEventName)) {
- // TODO(stevenjb): Remove logging once crbug.com/256881 is fixed
- // (or at least reduce to LOG_DEBUG). Same with NET_LOG events below.
- NET_LOG_EVENT("NetworkingPrivate.NetworkListChanged: No Listeners", "");
return;
}
- NET_LOG_EVENT("NetworkingPrivate.NetworkListChanged", "");
-
+ NetworkStateHandler::NetworkStateList networks;
+ NetworkHandler::Get()->network_state_handler()->GetVisibleNetworkList(
+ &networks);
std::vector<std::string> changes;
for (NetworkStateHandler::NetworkStateList::const_iterator iter =
networks.begin();
@@ -171,6 +172,21 @@ void NetworkingPrivateEventRouterImpl::NetworkListChanged() {
event_router->BroadcastEvent(extension_event.Pass());
}
+void NetworkingPrivateEventRouterImpl::DeviceListChanged() {
+ EventRouter* event_router = EventRouter::Get(context_);
+ if (!event_router->HasEventListener(
+ core_api::networking_private::OnDeviceStateListChanged::kEventName)) {
+ return;
+ }
+
+ scoped_ptr<base::ListValue> args(
+ core_api::networking_private::OnDeviceStateListChanged::Create());
+ scoped_ptr<Event> extension_event(new Event(
+ core_api::networking_private::OnDeviceStateListChanged::kEventName,
+ args.Pass()));
+ event_router->BroadcastEvent(extension_event.Pass());
+}
+
void NetworkingPrivateEventRouterImpl::NetworkPropertiesUpdated(
const NetworkState* network) {
EventRouter* event_router = EventRouter::Get(context_);

Powered by Google App Engine
This is Rietveld 408576698