| Index: chrome/browser/device_orientation/message_filter.cc
 | 
| ===================================================================
 | 
| --- chrome/browser/device_orientation/message_filter.cc	(revision 68877)
 | 
| +++ chrome/browser/device_orientation/message_filter.cc	(working copy)
 | 
| @@ -2,7 +2,7 @@
 | 
|  // Use of this source code is governed by a BSD-style license that can be
 | 
|  // found in the LICENSE file.
 | 
|  
 | 
| -#include "chrome/browser/device_orientation/dispatcher_host.h"
 | 
| +#include "chrome/browser/device_orientation/message_filter.h"
 | 
|  
 | 
|  #include "base/scoped_ptr.h"
 | 
|  #include "chrome/browser/browser_thread.h"
 | 
| @@ -16,24 +16,21 @@
 | 
|  
 | 
|  namespace device_orientation {
 | 
|  
 | 
| -DispatcherHost::DispatcherHost(int process_id)
 | 
| -    : process_id_(process_id),
 | 
| -      observers_map_(),
 | 
| -      provider_(NULL) {
 | 
| +MessageFilter::MessageFilter() : provider_(NULL) {
 | 
|  }
 | 
|  
 | 
| -DispatcherHost::~DispatcherHost() {
 | 
| +MessageFilter::~MessageFilter() {
 | 
|  }
 | 
|  
 | 
| -class DispatcherHost::ObserverDelegate
 | 
| +class MessageFilter::ObserverDelegate
 | 
|      : public base::RefCounted<ObserverDelegate>, public Provider::Observer {
 | 
|   public:
 | 
|      // Create ObserverDelegate that observes provider and forwards updates to
 | 
|      // render_view_id in process_id.
 | 
|      // Will stop observing provider when destructed.
 | 
|      ObserverDelegate(Provider* provider,
 | 
| -                     int process_id,
 | 
| -                     int render_view_id);
 | 
| +                     int render_view_id,
 | 
| +                     IPC::Message::Sender* sender);
 | 
|  
 | 
|      // From Provider::Observer.
 | 
|      virtual void OnOrientationUpdate(const Orientation& orientation);
 | 
| @@ -43,26 +40,26 @@
 | 
|    virtual ~ObserverDelegate();
 | 
|  
 | 
|    scoped_refptr<Provider> provider_;
 | 
| -  int process_id_;
 | 
|    int render_view_id_;
 | 
| +  IPC::Message::Sender* sender_;  // Weak pointer.
 | 
|  
 | 
|    DISALLOW_COPY_AND_ASSIGN(ObserverDelegate);
 | 
|  };
 | 
|  
 | 
| -DispatcherHost::ObserverDelegate::ObserverDelegate(Provider* provider,
 | 
| -                                                   int process_id,
 | 
| -                                                   int render_view_id)
 | 
| +MessageFilter::ObserverDelegate::ObserverDelegate(Provider* provider,
 | 
| +                                                  int render_view_id,
 | 
| +                                                  IPC::Message::Sender* sender)
 | 
|      : provider_(provider),
 | 
| -      process_id_(process_id),
 | 
| -      render_view_id_(render_view_id) {
 | 
| +      render_view_id_(render_view_id),
 | 
| +      sender_(sender) {
 | 
|    provider_->AddObserver(this);
 | 
|  }
 | 
|  
 | 
| -DispatcherHost::ObserverDelegate::~ObserverDelegate() {
 | 
| +MessageFilter::ObserverDelegate::~ObserverDelegate() {
 | 
|    provider_->RemoveObserver(this);
 | 
|  }
 | 
|  
 | 
| -void DispatcherHost::ObserverDelegate::OnOrientationUpdate(
 | 
| +void MessageFilter::ObserverDelegate::OnOrientationUpdate(
 | 
|      const Orientation& orientation) {
 | 
|    ViewMsg_DeviceOrientationUpdated_Params params;
 | 
|    params.can_provide_alpha = orientation.can_provide_alpha_;
 | 
| @@ -72,17 +69,14 @@
 | 
|    params.can_provide_gamma = orientation.can_provide_gamma_;
 | 
|    params.gamma = orientation.gamma_;
 | 
|  
 | 
| -  IPC::Message* message = new ViewMsg_DeviceOrientationUpdated(render_view_id_,
 | 
| -                                                               params);
 | 
| -  CallRenderViewHost(process_id_, render_view_id_, &RenderViewHost::Send,
 | 
| -                     message);
 | 
| +  sender_->Send(new ViewMsg_DeviceOrientationUpdated(render_view_id_, params));
 | 
|  }
 | 
|  
 | 
| -bool DispatcherHost::OnMessageReceived(const IPC::Message& msg,
 | 
| -                                       bool* msg_was_ok) {
 | 
| +bool MessageFilter::OnMessageReceived(const IPC::Message& message,
 | 
| +                                      bool* message_was_ok) {
 | 
|    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
 | 
|    bool handled = true;
 | 
| -  IPC_BEGIN_MESSAGE_MAP_EX(DispatcherHost, msg, *msg_was_ok)
 | 
| +  IPC_BEGIN_MESSAGE_MAP_EX(MessageFilter, message, *message_was_ok)
 | 
|      IPC_MESSAGE_HANDLER(ViewHostMsg_DeviceOrientation_StartUpdating,
 | 
|                          OnStartUpdating)
 | 
|      IPC_MESSAGE_HANDLER(ViewHostMsg_DeviceOrientation_StopUpdating,
 | 
| @@ -92,18 +86,18 @@
 | 
|    return handled;
 | 
|  }
 | 
|  
 | 
| -void DispatcherHost::OnStartUpdating(int render_view_id) {
 | 
| +void MessageFilter::OnStartUpdating(int render_view_id) {
 | 
|    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
 | 
|  
 | 
|    if (!provider_)
 | 
|      provider_ = Provider::GetInstance();
 | 
|  
 | 
|    observers_map_[render_view_id] = new ObserverDelegate(provider_,
 | 
| -                                                        process_id_,
 | 
| -                                                        render_view_id);
 | 
| +                                                        render_view_id,
 | 
| +                                                        this);
 | 
|  }
 | 
|  
 | 
| -void DispatcherHost::OnStopUpdating(int render_view_id) {
 | 
| +void MessageFilter::OnStopUpdating(int render_view_id) {
 | 
|    DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
 | 
|  
 | 
|    observers_map_.erase(render_view_id);
 | 
| 
 |