| 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_);
|
|
|