| Index: chrome/browser/device_orientation/dispatcher_host.h
|
| diff --git a/chrome/browser/device_orientation/dispatcher_host.h b/chrome/browser/device_orientation/dispatcher_host.h
|
| index f43a68bcd5dae84cb996f563b8d0f007bc4cb705..d30e8201aed65ad055fa8d47fb1365a4c2222f8c 100644
|
| --- a/chrome/browser/device_orientation/dispatcher_host.h
|
| +++ b/chrome/browser/device_orientation/dispatcher_host.h
|
| @@ -5,7 +5,7 @@
|
| #ifndef CHROME_BROWSER_DEVICE_ORIENTATION_DISPATCHER_HOST_H_
|
| #define CHROME_BROWSER_DEVICE_ORIENTATION_DISPATCHER_HOST_H_
|
|
|
| -#include <set>
|
| +#include <map>
|
|
|
| #include "base/ref_counted.h"
|
| #include "chrome/browser/device_orientation/provider.h"
|
| @@ -16,24 +16,26 @@ namespace device_orientation {
|
|
|
| class Orientation;
|
|
|
| -class DispatcherHost : public base::RefCountedThreadSafe<DispatcherHost>,
|
| - public Provider::Observer {
|
| +class DispatcherHost : public base::RefCounted<DispatcherHost> {
|
| public:
|
| explicit DispatcherHost(int process_id);
|
| bool OnMessageReceived(const IPC::Message& msg, bool* msg_was_ok);
|
|
|
| - // From Provider::Observer.
|
| - virtual void OnOrientationUpdate(const Orientation& orientation);
|
| -
|
| private:
|
| virtual ~DispatcherHost();
|
| - friend class base::RefCountedThreadSafe<DispatcherHost>;
|
| + friend class base::RefCounted<DispatcherHost>;
|
|
|
| void OnStartUpdating(int render_view_id);
|
| void OnStopUpdating(int render_view_id);
|
|
|
| + // Helper class that observes a Provider and forwards updates to a RenderView.
|
| + class ObserverDelegate;
|
| +
|
| int process_id_;
|
| - std::set<int> render_view_ids_;
|
| +
|
| + // map from render_view_id to ObserverDelegate.
|
| + std::map<int, scoped_refptr<ObserverDelegate> > observers_map_;
|
| +
|
| scoped_refptr<Provider> provider_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(DispatcherHost);
|
|
|