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

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: fixed incorrect rebase 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 1327 matching lines...) Expand 10 before | Expand all | Expand 10 after
1338 bool is_mobile_optimized = IsMobileOptimizedFrame(frame_metadata); 1338 bool is_mobile_optimized = IsMobileOptimizedFrame(frame_metadata);
1339 gesture_provider_.SetDoubleTapSupportForPageEnabled(!is_mobile_optimized); 1339 gesture_provider_.SetDoubleTapSupportForPageEnabled(!is_mobile_optimized);
1340 1340
1341 if (!content_view_core_) 1341 if (!content_view_core_)
1342 return; 1342 return;
1343 1343
1344 if (overscroll_controller_) 1344 if (overscroll_controller_)
1345 overscroll_controller_->OnFrameMetadataUpdated(frame_metadata); 1345 overscroll_controller_->OnFrameMetadataUpdated(frame_metadata);
1346 1346
1347 if (selection_controller_) { 1347 if (selection_controller_) {
1348 selection_controller_->OnSelectionEditable(
1349 frame_metadata.selection.is_editable);
1350 selection_controller_->OnSelectionEmpty(
1351 frame_metadata.selection.is_empty_text_form_control);
1352 selection_controller_->OnSelectionBoundsChanged( 1348 selection_controller_->OnSelectionBoundsChanged(
1353 frame_metadata.selection.start, frame_metadata.selection.end); 1349 frame_metadata.selection.start, frame_metadata.selection.end);
1354 1350
1355 // Set parameters for adaptive handle orientation. 1351 // Set parameters for adaptive handle orientation.
1356 gfx::SizeF viewport_size(frame_metadata.scrollable_viewport_size); 1352 gfx::SizeF viewport_size(frame_metadata.scrollable_viewport_size);
1357 viewport_size.Scale(frame_metadata.page_scale_factor); 1353 viewport_size.Scale(frame_metadata.page_scale_factor);
1358 gfx::RectF viewport_rect(0.0f, frame_metadata.top_controls_height * 1354 gfx::RectF viewport_rect(0.0f, frame_metadata.top_controls_height *
1359 frame_metadata.top_controls_shown_ratio, 1355 frame_metadata.top_controls_shown_ratio,
1360 viewport_size.width(), viewport_size.height()); 1356 viewport_size.width(), viewport_size.height());
1361 selection_controller_->OnViewportChanged(viewport_rect); 1357 selection_controller_->OnViewportChanged(viewport_rect);
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
1594 } 1590 }
1595 1591
1596 InputEventAckState RenderWidgetHostViewAndroid::FilterInputEvent( 1592 InputEventAckState RenderWidgetHostViewAndroid::FilterInputEvent(
1597 const blink::WebInputEvent& input_event) { 1593 const blink::WebInputEvent& input_event) {
1598 if (selection_controller_ && 1594 if (selection_controller_ &&
1599 blink::WebInputEvent::isGestureEventType(input_event.type())) { 1595 blink::WebInputEvent::isGestureEventType(input_event.type())) {
1600 const blink::WebGestureEvent& gesture_event = 1596 const blink::WebGestureEvent& gesture_event =
1601 static_cast<const blink::WebGestureEvent&>(input_event); 1597 static_cast<const blink::WebGestureEvent&>(input_event);
1602 switch (gesture_event.type()) { 1598 switch (gesture_event.type()) {
1603 case blink::WebInputEvent::GestureLongPress: 1599 case blink::WebInputEvent::GestureLongPress:
1604 if (selection_controller_->WillHandleLongPressEvent( 1600 selection_controller_->HandleLongPressEvent(
1605 base::TimeTicks() + base::TimeDelta::FromSecondsD( 1601 base::TimeTicks() +
1606 input_event.timeStampSeconds()), 1602 base::TimeDelta::FromSecondsD(input_event.timeStampSeconds()),
1607 gfx::PointF(gesture_event.x, gesture_event.y))) { 1603 gfx::PointF(gesture_event.x, gesture_event.y));
1608 return INPUT_EVENT_ACK_STATE_CONSUMED;
1609 }
1610 break; 1604 break;
1611 1605
1612 case blink::WebInputEvent::GestureTap: 1606 case blink::WebInputEvent::GestureTap:
1613 if (selection_controller_->WillHandleTapEvent( 1607 selection_controller_->HandleTapEvent(
1614 gfx::PointF(gesture_event.x, gesture_event.y), 1608 gfx::PointF(gesture_event.x, gesture_event.y),
1615 gesture_event.data.tap.tapCount)) { 1609 gesture_event.data.tap.tapCount);
1616 return INPUT_EVENT_ACK_STATE_CONSUMED;
1617 }
1618 break; 1610 break;
1619 1611
1620 case blink::WebInputEvent::GestureScrollBegin: 1612 case blink::WebInputEvent::GestureScrollBegin:
1621 selection_controller_->OnScrollBeginEvent(); 1613 selection_controller_->OnScrollBeginEvent();
1622 break; 1614 break;
1623 1615
1624 default: 1616 default:
1625 break; 1617 break;
1626 } 1618 }
1627 } 1619 }
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
2000 float y0, 1992 float y0,
2001 float x1, 1993 float x1,
2002 float y1) { 1994 float y1) {
2003 SelectBetweenCoordinates(gfx::PointF(x0, y0), gfx::PointF(x1, y1)); 1995 SelectBetweenCoordinates(gfx::PointF(x0, y0), gfx::PointF(x1, y1));
2004 } 1996 }
2005 1997
2006 void RenderWidgetHostViewAndroid::OnStylusSelectUpdate(float x, float y) { 1998 void RenderWidgetHostViewAndroid::OnStylusSelectUpdate(float x, float y) {
2007 MoveRangeSelectionExtent(gfx::PointF(x, y)); 1999 MoveRangeSelectionExtent(gfx::PointF(x, y));
2008 } 2000 }
2009 2001
2010 void RenderWidgetHostViewAndroid::OnStylusSelectEnd() {
2011 if (selection_controller_)
2012 selection_controller_->AllowShowingFromCurrentSelection();
2013 }
2014
2015 void RenderWidgetHostViewAndroid::OnStylusSelectTap(base::TimeTicks time, 2002 void RenderWidgetHostViewAndroid::OnStylusSelectTap(base::TimeTicks time,
2016 float x, 2003 float x,
2017 float y) { 2004 float y) {
2018 // Treat the stylus tap as a long press, activating either a word selection or 2005 // Treat the stylus tap as a long press, activating either a word selection or
2019 // context menu depending on the targetted content. 2006 // context menu depending on the targetted content.
2020 blink::WebGestureEvent long_press = WebGestureEventBuilder::Build( 2007 blink::WebGestureEvent long_press = WebGestureEventBuilder::Build(
2021 blink::WebInputEvent::GestureLongPress, 2008 blink::WebInputEvent::GestureLongPress,
2022 (time - base::TimeTicks()).InSecondsF(), x, y); 2009 (time - base::TimeTicks()).InSecondsF(), x, y);
2023 SendGestureEvent(long_press); 2010 SendGestureEvent(long_press);
2024 } 2011 }
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
2083 if (!compositor) 2070 if (!compositor)
2084 return; 2071 return;
2085 2072
2086 overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>( 2073 overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>(
2087 overscroll_refresh_handler, compositor, 2074 overscroll_refresh_handler, compositor,
2088 ui::GetScaleFactorForNativeView(GetNativeView())); 2075 ui::GetScaleFactorForNativeView(GetNativeView()));
2089 is_showing_overscroll_glow_ = true; 2076 is_showing_overscroll_glow_ = true;
2090 } 2077 }
2091 2078
2092 } // namespace content 2079 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698