- add sources.
[platform/framework/web/crosswalk.git] / src / content / browser / net / browser_online_state_observer.cc
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
12 BrowserOnlineStateObserver::BrowserOnlineStateObserver() {
13   net::NetworkChangeNotifier::AddConnectionTypeObserver(this);
14 }
15
16 BrowserOnlineStateObserver::~BrowserOnlineStateObserver() {
17   net::NetworkChangeNotifier::RemoveConnectionTypeObserver(this);
18 }
19
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_NetworkStateChanged(
25         type != net::NetworkChangeNotifier::CONNECTION_NONE));
26   }
27 }
28
29 }  // namespace content