Index: content/browser/android/java/gin_java_bridge_message_filter.cc |
diff --git a/content/browser/android/java/gin_java_bridge_message_filter.cc b/content/browser/android/java/gin_java_bridge_message_filter.cc |
index ae7ad9a01f4bdb5716d9703a0113f2950e04a3a7..aa912d268c84c8e08a9be9c0d828c8261bd046c5 100644 |
--- a/content/browser/android/java/gin_java_bridge_message_filter.cc |
+++ b/content/browser/android/java/gin_java_bridge_message_filter.cc |
@@ -26,7 +26,8 @@ namespace content { |
GinJavaBridgeMessageFilter::GinJavaBridgeMessageFilter() |
: BrowserMessageFilter(GinJavaBridgeMsgStart), |
- current_routing_id_(MSG_ROUTING_NONE) { |
+ current_routing_id_(MSG_ROUTING_NONE), |
+ needs_to_add_filter_for_new_ipc_channel_(false) { |
} |
GinJavaBridgeMessageFilter::~GinJavaBridgeMessageFilter() { |
@@ -95,6 +96,12 @@ scoped_refptr<GinJavaBridgeMessageFilter> GinJavaBridgeMessageFilter::FromHost( |
new base::UserDataAdapter<GinJavaBridgeMessageFilter>( |
filter.get())); |
} |
+ |
+ if (filter.get() && filter->NeedsToAddFilterForNewIpcChannel()) { |
+ rph->AddFilter(filter.get()); |
+ filter->SetNeedsToAddFilterForNewIpcChannel(false); |
+ } |
+ |
return filter; |
} |