| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #include "content/browser/android/java/gin_java_bridge_message_filter.h" | 5 #include "content/browser/android/java/gin_java_bridge_message_filter.h" |
| 6 | 6 |
| 7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
| 8 #include "base/memory/ptr_util.h" |
| 8 #include "build/build_config.h" | 9 #include "build/build_config.h" |
| 9 #include "content/browser/android/java/gin_java_bridge_dispatcher_host.h" | 10 #include "content/browser/android/java/gin_java_bridge_dispatcher_host.h" |
| 10 #include "content/browser/android/java/java_bridge_thread.h" | 11 #include "content/browser/android/java/java_bridge_thread.h" |
| 11 #include "content/common/gin_java_bridge_messages.h" | 12 #include "content/common/gin_java_bridge_messages.h" |
| 12 #include "content/public/browser/render_frame_host.h" | 13 #include "content/public/browser/render_frame_host.h" |
| 13 #include "content/public/browser/render_process_host.h" | 14 #include "content/public/browser/render_process_host.h" |
| 14 #include "content/public/browser/web_contents.h" | 15 #include "content/public/browser/web_contents.h" |
| 15 | 16 |
| 16 #if !defined(OS_ANDROID) | 17 #if !defined(OS_ANDROID) |
| 17 #error "JavaBridge only supports OS_ANDROID" | 18 #error "JavaBridge only supports OS_ANDROID" |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 const std::string& method_name, | 149 const std::string& method_name, |
| 149 const base::ListValue& arguments, | 150 const base::ListValue& arguments, |
| 150 base::ListValue* wrapped_result, | 151 base::ListValue* wrapped_result, |
| 151 content::GinJavaBridgeError* error_code) { | 152 content::GinJavaBridgeError* error_code) { |
| 152 DCHECK(JavaBridgeThread::CurrentlyOn()); | 153 DCHECK(JavaBridgeThread::CurrentlyOn()); |
| 153 GinJavaBridgeDispatcherHost* host = FindHost(); | 154 GinJavaBridgeDispatcherHost* host = FindHost(); |
| 154 if (host) { | 155 if (host) { |
| 155 host->OnInvokeMethod(current_routing_id_, object_id, method_name, arguments, | 156 host->OnInvokeMethod(current_routing_id_, object_id, method_name, arguments, |
| 156 wrapped_result, error_code); | 157 wrapped_result, error_code); |
| 157 } else { | 158 } else { |
| 158 wrapped_result->Append(base::Value::CreateNullValue()); | 159 wrapped_result->Append(base::MakeUnique<base::Value>()); |
| 159 *error_code = kGinJavaBridgeRenderFrameDeleted; | 160 *error_code = kGinJavaBridgeRenderFrameDeleted; |
| 160 } | 161 } |
| 161 } | 162 } |
| 162 | 163 |
| 163 void GinJavaBridgeMessageFilter::OnObjectWrapperDeleted( | 164 void GinJavaBridgeMessageFilter::OnObjectWrapperDeleted( |
| 164 GinJavaBoundObject::ObjectID object_id) { | 165 GinJavaBoundObject::ObjectID object_id) { |
| 165 DCHECK(JavaBridgeThread::CurrentlyOn()); | 166 DCHECK(JavaBridgeThread::CurrentlyOn()); |
| 166 GinJavaBridgeDispatcherHost* host = FindHost(); | 167 GinJavaBridgeDispatcherHost* host = FindHost(); |
| 167 if (host) | 168 if (host) |
| 168 host->OnObjectWrapperDeleted(current_routing_id_, object_id); | 169 host->OnObjectWrapperDeleted(current_routing_id_, object_id); |
| 169 } | 170 } |
| 170 | 171 |
| 171 // static | 172 // static |
| 172 void GinJavaBridgeMessageFilter::RemoveFilter( | 173 void GinJavaBridgeMessageFilter::RemoveFilter( |
| 173 GinJavaBridgeDispatcherHost* host) { | 174 GinJavaBridgeDispatcherHost* host) { |
| 174 RenderProcessHost* rph = host->web_contents()->GetRenderProcessHost(); | 175 RenderProcessHost* rph = host->web_contents()->GetRenderProcessHost(); |
| 175 rph->RemoveUserData(kGinJavaBridgeMessageFilterKey); | 176 rph->RemoveUserData(kGinJavaBridgeMessageFilterKey); |
| 176 } | 177 } |
| 177 | 178 |
| 178 } // namespace content | 179 } // namespace content |
| OLD | NEW |