Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_android.cc

Issue 2201853002: Blink handle selection handle visibility (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: format Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/renderer_host/render_widget_host_view_android.h" 5 #include "content/browser/renderer_host/render_widget_host_view_android.h"
6 6
7 #include <android/bitmap.h> 7 #include <android/bitmap.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 1320 matching lines...) Expand 10 before | Expand all | Expand 10 after
1331 bool is_mobile_optimized = IsMobileOptimizedFrame(frame_metadata); 1331 bool is_mobile_optimized = IsMobileOptimizedFrame(frame_metadata);
1332 gesture_provider_.SetDoubleTapSupportForPageEnabled(!is_mobile_optimized); 1332 gesture_provider_.SetDoubleTapSupportForPageEnabled(!is_mobile_optimized);
1333 1333
1334 if (!content_view_core_) 1334 if (!content_view_core_)
1335 return; 1335 return;
1336 1336
1337 if (overscroll_controller_) 1337 if (overscroll_controller_)
1338 overscroll_controller_->OnFrameMetadataUpdated(frame_metadata); 1338 overscroll_controller_->OnFrameMetadataUpdated(frame_metadata);
1339 1339
1340 if (selection_controller_) { 1340 if (selection_controller_) {
1341 selection_controller_->OnSelectionEditable(
1342 frame_metadata.selection.is_editable);
1343 selection_controller_->OnSelectionEmpty(
1344 frame_metadata.selection.is_empty_text_form_control);
1345 selection_controller_->OnSelectionBoundsChanged( 1341 selection_controller_->OnSelectionBoundsChanged(
1346 frame_metadata.selection.start, frame_metadata.selection.end); 1342 frame_metadata.selection.start, frame_metadata.selection.end);
1347 1343
1348 // Set parameters for adaptive handle orientation. 1344 // Set parameters for adaptive handle orientation.
1349 gfx::SizeF viewport_size(frame_metadata.scrollable_viewport_size); 1345 gfx::SizeF viewport_size(frame_metadata.scrollable_viewport_size);
1350 viewport_size.Scale(frame_metadata.page_scale_factor); 1346 viewport_size.Scale(frame_metadata.page_scale_factor);
1351 gfx::RectF viewport_rect(0.0f, frame_metadata.top_controls_height * 1347 gfx::RectF viewport_rect(0.0f, frame_metadata.top_controls_height *
1352 frame_metadata.top_controls_shown_ratio, 1348 frame_metadata.top_controls_shown_ratio,
1353 viewport_size.width(), viewport_size.height()); 1349 viewport_size.width(), viewport_size.height());
1354 selection_controller_->OnViewportChanged(viewport_rect); 1350 selection_controller_->OnViewportChanged(viewport_rect);
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
1587 } 1583 }
1588 1584
1589 InputEventAckState RenderWidgetHostViewAndroid::FilterInputEvent( 1585 InputEventAckState RenderWidgetHostViewAndroid::FilterInputEvent(
1590 const blink::WebInputEvent& input_event) { 1586 const blink::WebInputEvent& input_event) {
1591 if (selection_controller_ && 1587 if (selection_controller_ &&
1592 blink::WebInputEvent::isGestureEventType(input_event.type)) { 1588 blink::WebInputEvent::isGestureEventType(input_event.type)) {
1593 const blink::WebGestureEvent& gesture_event = 1589 const blink::WebGestureEvent& gesture_event =
1594 static_cast<const blink::WebGestureEvent&>(input_event); 1590 static_cast<const blink::WebGestureEvent&>(input_event);
1595 switch (gesture_event.type) { 1591 switch (gesture_event.type) {
1596 case blink::WebInputEvent::GestureLongPress: 1592 case blink::WebInputEvent::GestureLongPress:
1597 if (selection_controller_->WillHandleLongPressEvent( 1593 selection_controller_->HandleLongPressEvent(
1598 base::TimeTicks() + 1594 base::TimeTicks() +
1599 base::TimeDelta::FromSecondsD(input_event.timeStampSeconds), 1595 base::TimeDelta::FromSecondsD(input_event.timeStampSeconds),
1600 gfx::PointF(gesture_event.x, gesture_event.y))) { 1596 gfx::PointF(gesture_event.x, gesture_event.y));
1601 return INPUT_EVENT_ACK_STATE_CONSUMED;
1602 }
1603 break; 1597 break;
1604 1598
1605 case blink::WebInputEvent::GestureTap: 1599 case blink::WebInputEvent::GestureTap:
1606 if (selection_controller_->WillHandleTapEvent( 1600 selection_controller_->HandleTapEvent(
1607 gfx::PointF(gesture_event.x, gesture_event.y), 1601 gfx::PointF(gesture_event.x, gesture_event.y),
1608 gesture_event.data.tap.tapCount)) { 1602 gesture_event.data.tap.tapCount);
1609 return INPUT_EVENT_ACK_STATE_CONSUMED;
1610 }
1611 break; 1603 break;
1612 1604
1613 case blink::WebInputEvent::GestureScrollBegin: 1605 case blink::WebInputEvent::GestureScrollBegin:
1614 selection_controller_->OnScrollBeginEvent(); 1606 selection_controller_->OnScrollBeginEvent();
1615 break; 1607 break;
1616 1608
1617 default: 1609 default:
1618 break; 1610 break;
1619 } 1611 }
1620 } 1612 }
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
1993 float y0, 1985 float y0,
1994 float x1, 1986 float x1,
1995 float y1) { 1987 float y1) {
1996 SelectBetweenCoordinates(gfx::PointF(x0, y0), gfx::PointF(x1, y1)); 1988 SelectBetweenCoordinates(gfx::PointF(x0, y0), gfx::PointF(x1, y1));
1997 } 1989 }
1998 1990
1999 void RenderWidgetHostViewAndroid::OnStylusSelectUpdate(float x, float y) { 1991 void RenderWidgetHostViewAndroid::OnStylusSelectUpdate(float x, float y) {
2000 MoveRangeSelectionExtent(gfx::PointF(x, y)); 1992 MoveRangeSelectionExtent(gfx::PointF(x, y));
2001 } 1993 }
2002 1994
2003 void RenderWidgetHostViewAndroid::OnStylusSelectEnd() {
2004 if (selection_controller_)
2005 selection_controller_->AllowShowingFromCurrentSelection();
2006 }
2007
2008 void RenderWidgetHostViewAndroid::OnStylusSelectTap(base::TimeTicks time, 1995 void RenderWidgetHostViewAndroid::OnStylusSelectTap(base::TimeTicks time,
2009 float x, 1996 float x,
2010 float y) { 1997 float y) {
2011 // Treat the stylus tap as a long press, activating either a word selection or 1998 // Treat the stylus tap as a long press, activating either a word selection or
2012 // context menu depending on the targetted content. 1999 // context menu depending on the targetted content.
2013 blink::WebGestureEvent long_press = WebGestureEventBuilder::Build( 2000 blink::WebGestureEvent long_press = WebGestureEventBuilder::Build(
2014 blink::WebInputEvent::GestureLongPress, 2001 blink::WebInputEvent::GestureLongPress,
2015 (time - base::TimeTicks()).InSecondsF(), x, y); 2002 (time - base::TimeTicks()).InSecondsF(), x, y);
2016 SendGestureEvent(long_press); 2003 SendGestureEvent(long_press);
2017 } 2004 }
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
2076 if (!compositor) 2063 if (!compositor)
2077 return; 2064 return;
2078 2065
2079 overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>( 2066 overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>(
2080 overscroll_refresh_handler, compositor, 2067 overscroll_refresh_handler, compositor,
2081 ui::GetScaleFactorForNativeView(GetNativeView())); 2068 ui::GetScaleFactorForNativeView(GetNativeView()));
2082 is_showing_overscroll_glow_ = true; 2069 is_showing_overscroll_glow_ = true;
2083 } 2070 }
2084 2071
2085 } // namespace content 2072 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698