| Index: content/browser/android/content_view_core_impl.cc
|
| diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc
|
| index 1022d4f9f7201f2c67c2ad869358b895af92e6d5..96c928574dd336c0812f00f4dd6470c4e76eddb1 100644
|
| --- a/content/browser/android/content_view_core_impl.cc
|
| +++ b/content/browser/android/content_view_core_impl.cc
|
| @@ -19,6 +19,7 @@
|
| #include "cc/layers/layer.h"
|
| #include "cc/layers/solid_color_layer.h"
|
| #include "cc/output/begin_frame_args.h"
|
| +#include "cc/output/viewport_selection_bound.h"
|
| #include "content/browser/accessibility/browser_accessibility_state_impl.h"
|
| #include "content/browser/android/gesture_event_type.h"
|
| #include "content/browser/android/interstitial_page_delegate_android.h"
|
| @@ -420,7 +421,8 @@ void ContentViewCoreImpl::UpdateFrameInfo(
|
| const gfx::SizeF& viewport_size,
|
| const gfx::Vector2dF& controls_offset,
|
| const gfx::Vector2dF& content_offset,
|
| - bool is_mobile_optimized_hint) {
|
| + bool is_mobile_optimized_hint,
|
| + const cc::ViewportSelectionBound& selection_start) {
|
| JNIEnv* env = AttachCurrentThread();
|
| ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
|
| if (obj.is_null() || !window_android_)
|
| @@ -431,6 +433,18 @@ void ContentViewCoreImpl::UpdateFrameInfo(
|
|
|
| page_scale_ = page_scale_factor;
|
|
|
| + // The CursorAnchorInfo API in Android only supports zero width selection
|
| + // bounds.
|
| + const jboolean has_insertion_marker =
|
| + selection_start.type == cc::SELECTION_BOUND_CENTER;
|
| + const jboolean is_insertion_marker_visible = selection_start.visible;
|
| + const jfloat insertion_marker_horizontal =
|
| + has_insertion_marker ? selection_start.edge_top.x() : 0.0f;
|
| + const jfloat insertion_marker_top =
|
| + has_insertion_marker ? selection_start.edge_top.y() : 0.0f;
|
| + const jfloat insertion_marker_bottom =
|
| + has_insertion_marker ? selection_start.edge_bottom.y() : 0.0f;
|
| +
|
| Java_ContentViewCore_updateFrameInfo(
|
| env, obj.obj(),
|
| scroll_offset.x(),
|
| @@ -444,7 +458,12 @@ void ContentViewCoreImpl::UpdateFrameInfo(
|
| viewport_size.height(),
|
| controls_offset.y(),
|
| content_offset.y(),
|
| - is_mobile_optimized_hint);
|
| + is_mobile_optimized_hint,
|
| + has_insertion_marker,
|
| + is_insertion_marker_visible,
|
| + insertion_marker_horizontal,
|
| + insertion_marker_top,
|
| + insertion_marker_bottom);
|
| }
|
|
|
| void ContentViewCoreImpl::SetTitle(const base::string16& title) {
|
|
|