OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_BROWSER_RENDERER_HOST_JAVA_JAVA_BRIDGE_DISPATCHER_HOST_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_JAVA_JAVA_BRIDGE_DISPATCHER_HOST_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_JAVA_JAVA_BRIDGE_DISPATCHER_HOST_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_JAVA_JAVA_BRIDGE_DISPATCHER_HOST_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
(...skipping 24 matching lines...) Expand all Loading... |
35 | 35 |
36 // Injects |object| into the main frame of the corresponding RenderView. A | 36 // Injects |object| into the main frame of the corresponding RenderView. A |
37 // proxy object is created in the renderer and when the main frame's window | 37 // proxy object is created in the renderer and when the main frame's window |
38 // object is next cleared, this proxy object is bound to the window object | 38 // object is next cleared, this proxy object is bound to the window object |
39 // using |name|. The proxy object remains bound until the next time the | 39 // using |name|. The proxy object remains bound until the next time the |
40 // window object is cleared after a call to RemoveNamedObject() or | 40 // window object is cleared after a call to RemoveNamedObject() or |
41 // AddNamedObject() with the same name. The proxy object proxies calls back | 41 // AddNamedObject() with the same name. The proxy object proxies calls back |
42 // to |object|, which is manipulated on the background thread. This class | 42 // to |object|, which is manipulated on the background thread. This class |
43 // holds a reference to |object| for the time that the proxy object is bound | 43 // holds a reference to |object| for the time that the proxy object is bound |
44 // to the window object. | 44 // to the window object. |
45 void AddNamedObject(const string16& name, NPObject* object); | 45 void AddNamedObject(const base::string16& name, NPObject* object); |
46 void RemoveNamedObject(const string16& name); | 46 void RemoveNamedObject(const base::string16& name); |
47 | 47 |
48 // Since this object is ref-counted, it might outlive render_view_host_. | 48 // Since this object is ref-counted, it might outlive render_view_host_. |
49 void RenderViewDeleted(); | 49 void RenderViewDeleted(); |
50 | 50 |
51 void OnGetChannelHandle(IPC::Message* reply_msg); | 51 void OnGetChannelHandle(IPC::Message* reply_msg); |
52 | 52 |
53 private: | 53 private: |
54 friend class base::RefCountedThreadSafe<JavaBridgeDispatcherHost>; | 54 friend class base::RefCountedThreadSafe<JavaBridgeDispatcherHost>; |
55 virtual ~JavaBridgeDispatcherHost(); | 55 virtual ~JavaBridgeDispatcherHost(); |
56 | 56 |
57 void Send(IPC::Message* msg); | 57 void Send(IPC::Message* msg); |
58 | 58 |
59 void GetChannelHandle(IPC::Message* reply_msg); | 59 void GetChannelHandle(IPC::Message* reply_msg); |
60 void CreateNPVariantParam(NPObject* object, NPVariant_Param* param); | 60 void CreateNPVariantParam(NPObject* object, NPVariant_Param* param); |
61 void CreateObjectStub(NPObject* object, int render_process_id, int route_id); | 61 void CreateObjectStub(NPObject* object, int render_process_id, int route_id); |
62 | 62 |
63 scoped_refptr<NPChannelBase> channel_; | 63 scoped_refptr<NPChannelBase> channel_; |
64 RenderViewHost* render_view_host_; | 64 RenderViewHost* render_view_host_; |
65 std::vector<base::WeakPtr<NPObjectStub> > stubs_; | 65 std::vector<base::WeakPtr<NPObjectStub> > stubs_; |
66 | 66 |
67 DISALLOW_COPY_AND_ASSIGN(JavaBridgeDispatcherHost); | 67 DISALLOW_COPY_AND_ASSIGN(JavaBridgeDispatcherHost); |
68 }; | 68 }; |
69 | 69 |
70 } // namespace content | 70 } // namespace content |
71 | 71 |
72 #endif // CONTENT_BROWSER_RENDERER_HOST_JAVA_JAVA_BRIDGE_DISPATCHER_HOST_H_ | 72 #endif // CONTENT_BROWSER_RENDERER_HOST_JAVA_JAVA_BRIDGE_DISPATCHER_HOST_H_ |
OLD | NEW |