diff options
author | adamk@chromium.org <adamk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-12 21:15:09 +0000 |
---|---|---|
committer | adamk@chromium.org <adamk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-12 21:15:09 +0000 |
commit | 6eac57a601d0f2e88390609b5716c08eb5f19b73 (patch) | |
tree | 6038bcdc6309799c2c7375fd9a72dc79ff80dac4 /content/browser/net/browser_online_state_observer.h | |
parent | b32c028c0bbcd40cc74067968a0aebb4a52a3bd7 (diff) | |
download | chromium_src-6eac57a601d0f2e88390609b5716c08eb5f19b73.zip chromium_src-6eac57a601d0f2e88390609b5716c08eb5f19b73.tar.gz chromium_src-6eac57a601d0f2e88390609b5716c08eb5f19b73.tar.bz2 |
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
Diffstat (limited to 'content/browser/net/browser_online_state_observer.h')
-rw-r--r-- | content/browser/net/browser_online_state_observer.h | 27 |
1 files changed, 27 insertions, 0 deletions
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_ |