• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "content/browser/net/browser_online_state_observer.h"
6 
7 #include "content/common/view_messages.h"
8 #include "content/browser/renderer_host/render_process_host_impl.h"
9 
10 namespace content {
11 
BrowserOnlineStateObserver()12 BrowserOnlineStateObserver::BrowserOnlineStateObserver() {
13   net::NetworkChangeNotifier::AddConnectionTypeObserver(this);
14 }
15 
~BrowserOnlineStateObserver()16 BrowserOnlineStateObserver::~BrowserOnlineStateObserver() {
17   net::NetworkChangeNotifier::RemoveConnectionTypeObserver(this);
18 }
19 
OnConnectionTypeChanged(net::NetworkChangeNotifier::ConnectionType type)20 void BrowserOnlineStateObserver::OnConnectionTypeChanged(
21     net::NetworkChangeNotifier::ConnectionType type) {
22   for (RenderProcessHost::iterator it(RenderProcessHost::AllHostsIterator());
23        !it.IsAtEnd(); it.Advance()) {
24     it.GetCurrentValue()->Send(new ViewMsg_NetworkTypeChanged(type));
25   }
26 }
27 
28 }  // namespace content
29