Index: content/browser/renderer_host/java/java_bridge_dispatcher_host_manager.h |
diff --git a/content/browser/renderer_host/java/java_bridge_dispatcher_host_manager.h b/content/browser/renderer_host/java/java_bridge_dispatcher_host_manager.h |
index 3ada0d08cbd4f18fa73b5939b68379a2cf525356..8d03576be578d956f73b91ad7443cc5338d86f02 100644 |
--- a/content/browser/renderer_host/java/java_bridge_dispatcher_host_manager.h |
+++ b/content/browser/renderer_host/java/java_bridge_dispatcher_host_manager.h |
@@ -28,7 +28,8 @@ class JavaBridgeDispatcherHostManager |
: public WebContentsObserver, |
public base::SupportsWeakPtr<JavaBridgeDispatcherHostManager> { |
public: |
- explicit JavaBridgeDispatcherHostManager(WebContents* web_contents); |
+ JavaBridgeDispatcherHostManager(WebContents* web_contents, |
+ jobject retained_object_set); |
virtual ~JavaBridgeDispatcherHostManager(); |
// These methods add or remove the object to each JavaBridgeDispatcherHost. |
@@ -37,21 +38,12 @@ class JavaBridgeDispatcherHostManager |
void AddNamedObject(const base::string16& name, NPObject* object); |
void RemoveNamedObject(const base::string16& name); |
- void OnGetChannelHandle(RenderFrameHost* render_frame_host, |
- IPC::Message* reply_msg); |
- |
- // Every time a JavaBoundObject backed by a real Java object is |
- // created/destroyed, we insert/remove a strong ref to that Java object into |
- // this set so that it doesn't get garbage collected while it's still |
- // potentially in use. Although the set is managed native side, it's owned |
- // and defined in Java so that pushing refs into it does not create new GC |
- // roots that would prevent ContentViewCore from being garbage collected. |
- void SetRetainedObjectSet(const JavaObjectWeakGlobalRef& retained_object_set); |
- |
// WebContentsObserver overrides |
virtual void RenderFrameCreated(RenderFrameHost* render_frame_host) OVERRIDE; |
virtual void RenderFrameDeleted(RenderFrameHost* render_frame_host) OVERRIDE; |
virtual void DocumentAvailableInMainFrame() OVERRIDE; |
+ virtual bool OnMessageReceived(const IPC::Message& message, |
+ RenderFrameHost* render_frame_host) OVERRIDE; |
void JavaBoundObjectCreated(const base::android::JavaRef<jobject>& object); |
void JavaBoundObjectDestroyed(const base::android::JavaRef<jobject>& object); |
@@ -67,6 +59,12 @@ class JavaBridgeDispatcherHostManager |
InstanceMap instances_; |
typedef std::map<base::string16, NPObject*> ObjectMap; |
ObjectMap objects_; |
+ // Every time a JavaBoundObject backed by a real Java object is |
+ // created/destroyed, we insert/remove a strong ref to that Java object into |
+ // this set so that it doesn't get garbage collected while it's still |
+ // potentially in use. Although the set is managed native side, it's owned |
+ // and defined in Java so that pushing refs into it does not create new GC |
+ // roots that would prevent ContentViewCore from being garbage collected. |
JavaObjectWeakGlobalRef retained_object_set_; |
bool allow_object_contents_inspection_; |