| Index: content/browser/renderer_host/render_widget_host_view_android.cc
|
| diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
|
| index e3bb49ec30857bd0a0dd5e63de0f31b4bd1b048f..269ddd1161363326456b1ffd23b7a61705c5fa7f 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_android.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_view_android.cc
|
| @@ -274,6 +274,9 @@ scoped_ptr<ui::TouchSelectionController> CreateSelectionController(
|
| gfx::ViewConfiguration::GetTapTimeoutInMs());
|
| config.tap_slop = gfx::ViewConfiguration::GetTouchSlopInDips();
|
| config.show_on_tap_for_empty_editable = false;
|
| + config.enable_adaptive_handle_orientation =
|
| + base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kEnableAdaptiveHandleOrientation);
|
| config.enable_longpress_drag_selection =
|
| base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| switches::kEnableLongpressDragSelection);
|
| @@ -1348,6 +1351,15 @@ void RenderWidgetHostViewAndroid::OnFrameMetadataUpdated(
|
| selection_controller_->OnSelectionBoundsChanged(
|
| ConvertSelectionBound(frame_metadata.selection.start),
|
| ConvertSelectionBound(frame_metadata.selection.end));
|
| +
|
| + // Set parameters for adaptive handle orientation
|
| + gfx::SizeF viewport_size(frame_metadata.scrollable_viewport_size);
|
| + viewport_size.Scale(frame_metadata.page_scale_factor);
|
| + gfx::RectF viewport_rect(
|
| + frame_metadata.location_bar_content_translation.x(),
|
| + frame_metadata.location_bar_content_translation.y(),
|
| + viewport_size.width(), viewport_size.height());
|
| + selection_controller_->OnViewportChanged(viewport_rect);
|
| }
|
|
|
| // All offsets and sizes are in CSS pixels.
|
|
|