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

Unified Diff: net/base/network_change_notifier.cc

Issue 6526059: Plumb through NetworkChangeNotifier::IsOffline() to WebKit, enabling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Appease the C++ type system Created 9 years, 10 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
« no previous file with comments | « net/base/network_change_notifier.h ('k') | net/base/network_change_notifier_win.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/network_change_notifier.cc
diff --git a/net/base/network_change_notifier.cc b/net/base/network_change_notifier.cc
index 8c61ac63737949638397a34418bd3d7bb846798d..596ce8e16449480d277ff0c37239c924bae627f4 100644
--- a/net/base/network_change_notifier.cc
+++ b/net/base/network_change_notifier.cc
@@ -58,29 +58,56 @@ NetworkChangeNotifier* NetworkChangeNotifier::CreateMock() {
return new MockNetworkChangeNotifier();
}
-void NetworkChangeNotifier::AddObserver(Observer* observer) {
+void NetworkChangeNotifier::AddIPAddressObserver(IPAddressObserver* observer) {
if (g_network_change_notifier)
- g_network_change_notifier->observer_list_->AddObserver(observer);
+ g_network_change_notifier->ip_address_observer_list_->AddObserver(observer);
}
-void NetworkChangeNotifier::RemoveObserver(Observer* observer) {
- if (g_network_change_notifier)
- g_network_change_notifier->observer_list_->RemoveObserver(observer);
+void NetworkChangeNotifier::AddOnlineStateObserver(
+ OnlineStateObserver* observer) {
+ if (g_network_change_notifier) {
+ g_network_change_notifier->online_state_observer_list_->AddObserver(
+ observer);
+ }
+}
+
+void NetworkChangeNotifier::RemoveIPAddressObserver(
+ IPAddressObserver* observer) {
+ if (g_network_change_notifier) {
+ g_network_change_notifier->ip_address_observer_list_->RemoveObserver(
+ observer);
+ }
+}
+
+void NetworkChangeNotifier::RemoveOnlineStateObserver(
+ OnlineStateObserver* observer) {
+ if (g_network_change_notifier) {
+ g_network_change_notifier->online_state_observer_list_->RemoveObserver(
+ observer);
+ }
}
NetworkChangeNotifier::NetworkChangeNotifier()
- : observer_list_(
- new ObserverListThreadSafe<Observer>(
- ObserverListBase<Observer>::NOTIFY_EXISTING_ONLY)) {
+ : ip_address_observer_list_(
+ new ObserverListThreadSafe<IPAddressObserver>(
+ ObserverListBase<IPAddressObserver>::NOTIFY_EXISTING_ONLY)),
+ online_state_observer_list_(
+ new ObserverListThreadSafe<OnlineStateObserver>(
+ ObserverListBase<OnlineStateObserver>::NOTIFY_EXISTING_ONLY)) {
DCHECK(!g_network_change_notifier);
g_network_change_notifier = this;
}
void NetworkChangeNotifier::NotifyObserversOfIPAddressChange() {
if (g_network_change_notifier) {
- g_network_change_notifier->observer_list_->Notify(
- &Observer::OnIPAddressChanged);
+ g_network_change_notifier->ip_address_observer_list_->Notify(
+ &IPAddressObserver::OnIPAddressChanged);
}
}
+void NetworkChangeNotifier::NotifyObserversOfOnlineStateChange() {
+ online_state_observer_list_->Notify(
+ &OnlineStateObserver::OnOnlineStateChanged, !IsOffline());
+}
+
} // namespace net
« no previous file with comments | « net/base/network_change_notifier.h ('k') | net/base/network_change_notifier_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698