OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_dispatcher_host.h" | 5 #include "content/browser/android/java/gin_java_bridge_dispatcher_host.h" |
6 | 6 |
7 #include "base/android/java_handler_thread.h" | 7 #include "base/android/java_handler_thread.h" |
8 #include "base/android/jni_android.h" | 8 #include "base/android/jni_android.h" |
9 #include "base/android/scoped_java_ref.h" | 9 #include "base/android/scoped_java_ref.h" |
10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 scoped_refptr<GinJavaBoundObject> object(*objects_.Lookup(object_id)); | 376 scoped_refptr<GinJavaBoundObject> object(*objects_.Lookup(object_id)); |
377 if (!object.get()) { | 377 if (!object.get()) { |
378 LOG(ERROR) << "WebView: Unknown object: " << object_id; | 378 LOG(ERROR) << "WebView: Unknown object: " << object_id; |
379 IPC::WriteParam(reply_msg, std::set<std::string>()); | 379 IPC::WriteParam(reply_msg, std::set<std::string>()); |
380 render_frame_host->Send(reply_msg); | 380 render_frame_host->Send(reply_msg); |
381 return; | 381 return; |
382 } | 382 } |
383 DCHECK(!HasPendingReply(render_frame_host)); | 383 DCHECK(!HasPendingReply(render_frame_host)); |
384 pending_replies_[render_frame_host] = reply_msg; | 384 pending_replies_[render_frame_host] = reply_msg; |
385 base::PostTaskAndReplyWithResult( | 385 base::PostTaskAndReplyWithResult( |
386 g_background_thread.Get().message_loop()->message_loop_proxy(), | 386 g_background_thread.Get().message_loop()->message_loop_proxy().get(), |
387 FROM_HERE, | 387 FROM_HERE, |
388 base::Bind(&GinJavaBoundObject::GetMethodNames, object), | 388 base::Bind(&GinJavaBoundObject::GetMethodNames, object), |
389 base::Bind(&GinJavaBridgeDispatcherHost::SendMethods, | 389 base::Bind(&GinJavaBridgeDispatcherHost::SendMethods, |
390 AsWeakPtr(), | 390 AsWeakPtr(), |
391 render_frame_host)); | 391 render_frame_host)); |
392 } | 392 } |
393 | 393 |
394 void GinJavaBridgeDispatcherHost::SendMethods( | 394 void GinJavaBridgeDispatcherHost::SendMethods( |
395 RenderFrameHost* render_frame_host, | 395 RenderFrameHost* render_frame_host, |
396 const std::set<std::string>& method_names) { | 396 const std::set<std::string>& method_names) { |
(...skipping 15 matching lines...) Expand all Loading... |
412 scoped_refptr<GinJavaBoundObject> object(*objects_.Lookup(object_id)); | 412 scoped_refptr<GinJavaBoundObject> object(*objects_.Lookup(object_id)); |
413 if (!object.get()) { | 413 if (!object.get()) { |
414 LOG(ERROR) << "WebView: Unknown object: " << object_id; | 414 LOG(ERROR) << "WebView: Unknown object: " << object_id; |
415 IPC::WriteParam(reply_msg, false); | 415 IPC::WriteParam(reply_msg, false); |
416 render_frame_host->Send(reply_msg); | 416 render_frame_host->Send(reply_msg); |
417 return; | 417 return; |
418 } | 418 } |
419 DCHECK(!HasPendingReply(render_frame_host)); | 419 DCHECK(!HasPendingReply(render_frame_host)); |
420 pending_replies_[render_frame_host] = reply_msg; | 420 pending_replies_[render_frame_host] = reply_msg; |
421 base::PostTaskAndReplyWithResult( | 421 base::PostTaskAndReplyWithResult( |
422 g_background_thread.Get().message_loop()->message_loop_proxy(), | 422 g_background_thread.Get().message_loop()->message_loop_proxy().get(), |
423 FROM_HERE, | 423 FROM_HERE, |
424 base::Bind(&GinJavaBoundObject::HasMethod, object, method_name), | 424 base::Bind(&GinJavaBoundObject::HasMethod, object, method_name), |
425 base::Bind(&GinJavaBridgeDispatcherHost::SendHasMethodReply, | 425 base::Bind(&GinJavaBridgeDispatcherHost::SendHasMethodReply, |
426 AsWeakPtr(), | 426 AsWeakPtr(), |
427 render_frame_host)); | 427 render_frame_host)); |
428 } | 428 } |
429 | 429 |
430 void GinJavaBridgeDispatcherHost::SendHasMethodReply( | 430 void GinJavaBridgeDispatcherHost::SendHasMethodReply( |
431 RenderFrameHost* render_frame_host, | 431 RenderFrameHost* render_frame_host, |
432 bool result) { | 432 bool result) { |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
564 pending_replies_.erase(it); | 564 pending_replies_.erase(it); |
565 return reply_msg; | 565 return reply_msg; |
566 } | 566 } |
567 | 567 |
568 bool GinJavaBridgeDispatcherHost::HasPendingReply( | 568 bool GinJavaBridgeDispatcherHost::HasPendingReply( |
569 RenderFrameHost* render_frame_host) const { | 569 RenderFrameHost* render_frame_host) const { |
570 return pending_replies_.find(render_frame_host) != pending_replies_.end(); | 570 return pending_replies_.find(render_frame_host) != pending_replies_.end(); |
571 } | 571 } |
572 | 572 |
573 } // namespace content | 573 } // namespace content |
OLD | NEW |