Index: content/browser/frame_host/render_frame_host_impl.cc |
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc |
index 05bf13973d4ea29511853be2075fda1b88a4e29c..e0f4cf494027fea1455d65fdc6e74ca67074e809 100644 |
--- a/content/browser/frame_host/render_frame_host_impl.cc |
+++ b/content/browser/frame_host/render_frame_host_impl.cc |
@@ -114,8 +114,9 @@ |
#if defined(OS_ANDROID) |
#include "content/browser/android/app_web_message_port_message_filter.h" |
-#include "content/public/browser/android/java_interfaces.h" |
+#include "content/browser/frame_host/render_frame_host_android.h" |
#include "content/browser/media/android/media_player_renderer.h" |
+#include "content/public/browser/android/java_interfaces.h" |
#include "media/base/audio_renderer_sink.h" |
#include "media/base/video_renderer_sink.h" |
#include "media/mojo/services/mojo_renderer_service.h" // nogncheck |
@@ -346,6 +347,9 @@ RenderFrameHostImpl::RenderFrameHostImpl(SiteInstance* site_instance, |
frame_host_binding_(this), |
waiting_for_init_(renderer_initiated_creation), |
has_focused_editable_element_(false), |
+#if defined(OS_ANDROID) |
+ render_frame_host_android_(nullptr), |
+#endif |
weak_ptr_factory_(this) { |
frame_tree_->AddRenderViewHostRef(render_view_host_); |
GetProcess()->AddRoute(routing_id_, this); |
@@ -3512,4 +3516,17 @@ RenderFrameHostImpl::TakeNavigationHandleForCommit( |
entry_id_for_data_nav, false); // started_from_context_menu |
} |
+#if defined(OS_ANDROID) |
+base::android::ScopedJavaLocalRef<jobject> |
+RenderFrameHostImpl::GetJavaRenderFrameHost() { |
+ return GetRenderFrameHostAndroid()->GetJavaObject(); |
+} |
+ |
+RenderFrameHostAndroid* RenderFrameHostImpl::GetRenderFrameHostAndroid() { |
+ if (!render_frame_host_android_) |
+ render_frame_host_android_ = new RenderFrameHostAndroid(this); |
+ return render_frame_host_android_; |
+} |
+#endif |
+ |
} // namespace content |