From 6eac57a601d0f2e88390609b5716c08eb5f19b73 Mon Sep 17 00:00:00 2001 From: "adamk@chromium.org" Date: Tue, 12 Jul 2011 21:15:09 +0000 Subject: Convert ViewMsg_NetworkStateChanged from routed -> control, minimizing the number of required IPCs (since the online state is a per-WebKit singleton). In doing so, I've disentangled online state management from TabContents: it now resides off by itself in BrowserOnlineStateObserver, a tiny class owned by BrowserProcessImpl. This is an attempt to re-land r91390 without the OnProcessLaunched IPC (since r92062 solved that in a different way by using WebPreferences). The previous commit was reverted due to missing message_loop.h includes. R=darin@chromium.org Review URL: http://codereview.chromium.org/7343011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92233 0039d316-1c4b-4281-b951-d872f2087c98 --- .../browser/net/browser_online_state_observer.h | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 content/browser/net/browser_online_state_observer.h (limited to 'content/browser/net/browser_online_state_observer.h') diff --git a/content/browser/net/browser_online_state_observer.h b/content/browser/net/browser_online_state_observer.h new file mode 100644 index 0000000..1e5e71a --- /dev/null +++ b/content/browser/net/browser_online_state_observer.h @@ -0,0 +1,27 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_BROWSER_NET_BROWSER_ONLINE_STATE_OBSERVER_H_ +#define CONTENT_BROWSER_NET_BROWSER_ONLINE_STATE_OBSERVER_H_ +#pragma once + +#include "base/basictypes.h" +#include "net/base/network_change_notifier.h" + +// Listens for changes to the online state and manages sending +// updates to each RenderProcess via RenderProcessHost IPC. +class BrowserOnlineStateObserver + : public net::NetworkChangeNotifier::OnlineStateObserver { + public: + BrowserOnlineStateObserver(); + virtual ~BrowserOnlineStateObserver(); + + // OnlineStateObserver implementation. + virtual void OnOnlineStateChanged(bool online); + + private: + DISALLOW_COPY_AND_ASSIGN(BrowserOnlineStateObserver); +}; + +#endif // CONTENT_BROWSER_NET_BROWSER_ONLINE_STATE_OBSERVER_H_ -- cgit v1.1