Index: content/browser/android/java/gin_java_bridge_dispatcher_host.cc |
diff --git a/content/browser/android/java/gin_java_bridge_dispatcher_host.cc b/content/browser/android/java/gin_java_bridge_dispatcher_host.cc |
index 0a08896b09253e210e72897d278359c46e603edd..0368abfc34eaaf92d1054c5dfe336b21f488d020 100644 |
--- a/content/browser/android/java/gin_java_bridge_dispatcher_host.cc |
+++ b/content/browser/android/java/gin_java_bridge_dispatcher_host.cc |
@@ -79,6 +79,23 @@ void GinJavaBridgeDispatcherHost::WebContentsDestroyed() { |
filter->RemoveHost(this); |
} |
+void GinJavaBridgeDispatcherHost::RenderProcessGone( |
+ base::TerminationStatus status) { |
+ scoped_refptr<GinJavaBridgeMessageFilter> filter = |
mnaganov (inactive)
2015/12/28 19:00:17
A simpler approach is to remove the user data from
Pritam Nikam
2015/12/29 11:24:46
Done.
|
+ GinJavaBridgeMessageFilter::FromHost(this, false); |
+ if (filter) |
+ filter->SetNeedsToAddFilterForNewIpcChannel(true); |
+} |
+ |
+void GinJavaBridgeDispatcherHost::RenderViewHostChanged( |
+ RenderViewHost* old_host, |
+ RenderViewHost* new_host) { |
+ scoped_refptr<GinJavaBridgeMessageFilter> filter = |
+ GinJavaBridgeMessageFilter::FromHost(this, false); |
+ if (!filter) |
+ InstallFilterAndRegisterAllRoutingIds(); |
+} |
+ |
GinJavaBoundObject::ObjectID GinJavaBridgeDispatcherHost::AddObject( |
const base::android::JavaRef<jobject>& object, |
const base::android::JavaRef<jclass>& safe_annotation_clazz, |