Index: content/browser/renderer_host/java/java_bridge_dispatcher_host.h |
diff --git a/content/browser/renderer_host/java/java_bridge_dispatcher_host.h b/content/browser/renderer_host/java/java_bridge_dispatcher_host.h |
index c4fceef8e0bf3500949cb6f1f0eb2ff565e30241..6f574aea3d6c54c579d27d9e0f87c5785a4f221b 100644 |
--- a/content/browser/renderer_host/java/java_bridge_dispatcher_host.h |
+++ b/content/browser/renderer_host/java/java_bridge_dispatcher_host.h |
@@ -8,16 +8,22 @@ |
#include "base/memory/ref_counted.h" |
#include "base/string16.h" |
+#include "content/browser/renderer_host/render_view_host_observer.h" |
-class JavaBridgeChannelHost; |
+class NPChannelBase; |
class RenderViewHost; |
+class RouteIDGenerator; |
struct NPObject; |
+struct NPVariant_Param; |
+struct _NPVariant; |
+typedef _NPVariant NPVariant; |
joth
2011/12/08 18:15:46
these two not needed? (_NPVariant & NPVariant)
Steve Block
2011/12/09 12:27:32
Done.
|
// This class handles injecting Java objects into a single RenderView. The Java |
// object itself lives on the browser's WEBKIT thread, while a proxy object is |
// created in the renderer. An instance of this class exists for each |
// RenderViewHost. |
class JavaBridgeDispatcherHost : |
+ public RenderViewHostObserver, |
public base::RefCountedThreadSafe<JavaBridgeDispatcherHost> { |
joth
2011/12/08 18:15:46
nit: I *think* we tend to put ABCs before interfac
Steve Block
2011/12/09 12:27:32
Done.
|
public: |
// We hold a weak pointer to the RenderViewhost. It must outlive this object. |
@@ -35,15 +41,26 @@ class JavaBridgeDispatcherHost : |
void AddNamedObject(const string16& name, NPObject* object); |
void RemoveNamedObject(const string16& name); |
+ // RenderViewHostObserver override: |
+ // The IPC macros require this to be public. |
+ virtual bool Send(IPC::Message* msg) OVERRIDE; |
+ |
private: |
friend class base::RefCountedThreadSafe<JavaBridgeDispatcherHost>; |
~JavaBridgeDispatcherHost(); |
- void DoAddNamedObject(const string16& name, NPObject* object); |
- void EnsureChannelIsSetUp(); |
+ // RenderViewHostObserver override: |
+ virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
+ |
+ // Message handlers |
+ void OnGetChannelHandle(IPC::Message* reply_msg); |
+ |
+ void GetChannelHandle(IPC::Message* reply_msg); |
+ void CreateNPVariantParam(NPObject* object, NPVariant_Param* param); |
+ void CreateObjectStub(NPObject* object, int route_id); |
- RenderViewHost* render_view_host_; |
- scoped_refptr<JavaBridgeChannelHost> channel_; |
+ scoped_refptr<NPChannelBase> channel_; |
+ bool is_renderer_initialized_; |
DISALLOW_COPY_AND_ASSIGN(JavaBridgeDispatcherHost); |
}; |