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

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 line length Created 4 years 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 1301 matching lines...) Expand 10 before | Expand all | Expand 10 after
1312 bool is_mobile_optimized = IsMobileOptimizedFrame(frame_metadata); 1312 bool is_mobile_optimized = IsMobileOptimizedFrame(frame_metadata);
1313 gesture_provider_.SetDoubleTapSupportForPageEnabled(!is_mobile_optimized); 1313 gesture_provider_.SetDoubleTapSupportForPageEnabled(!is_mobile_optimized);
1314 1314
1315 if (!content_view_core_) 1315 if (!content_view_core_)
1316 return; 1316 return;
1317 1317
1318 if (overscroll_controller_) 1318 if (overscroll_controller_)
1319 overscroll_controller_->OnFrameMetadataUpdated(frame_metadata); 1319 overscroll_controller_->OnFrameMetadataUpdated(frame_metadata);
1320 1320
1321 if (selection_controller_) { 1321 if (selection_controller_) {
1322 selection_controller_->OnSelectionEditable(
1323 frame_metadata.selection.is_editable);
1324 selection_controller_->OnSelectionEmpty(
1325 frame_metadata.selection.is_empty_text_form_control);
1326 selection_controller_->OnSelectionBoundsChanged( 1322 selection_controller_->OnSelectionBoundsChanged(
1327 frame_metadata.selection.start, frame_metadata.selection.end); 1323 frame_metadata.selection.start, frame_metadata.selection.end);
1328 1324
1329 // Set parameters for adaptive handle orientation. 1325 // Set parameters for adaptive handle orientation.
1330 gfx::SizeF viewport_size(frame_metadata.scrollable_viewport_size); 1326 gfx::SizeF viewport_size(frame_metadata.scrollable_viewport_size);
1331 viewport_size.Scale(frame_metadata.page_scale_factor); 1327 viewport_size.Scale(frame_metadata.page_scale_factor);
1332 gfx::RectF viewport_rect(0.0f, frame_metadata.top_controls_height * 1328 gfx::RectF viewport_rect(0.0f, frame_metadata.top_controls_height *
1333 frame_metadata.top_controls_shown_ratio, 1329 frame_metadata.top_controls_shown_ratio,
1334 viewport_size.width(), viewport_size.height()); 1330 viewport_size.width(), viewport_size.height());
1335 selection_controller_->OnViewportChanged(viewport_rect); 1331 selection_controller_->OnViewportChanged(viewport_rect);
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
1552 } 1548 }
1553 1549
1554 InputEventAckState RenderWidgetHostViewAndroid::FilterInputEvent( 1550 InputEventAckState RenderWidgetHostViewAndroid::FilterInputEvent(
1555 const blink::WebInputEvent& input_event) { 1551 const blink::WebInputEvent& input_event) {
1556 if (selection_controller_ && 1552 if (selection_controller_ &&
1557 blink::WebInputEvent::isGestureEventType(input_event.type)) { 1553 blink::WebInputEvent::isGestureEventType(input_event.type)) {
1558 const blink::WebGestureEvent& gesture_event = 1554 const blink::WebGestureEvent& gesture_event =
1559 static_cast<const blink::WebGestureEvent&>(input_event); 1555 static_cast<const blink::WebGestureEvent&>(input_event);
1560 switch (gesture_event.type) { 1556 switch (gesture_event.type) {
1561 case blink::WebInputEvent::GestureLongPress: 1557 case blink::WebInputEvent::GestureLongPress:
1562 if (selection_controller_->WillHandleLongPressEvent( 1558 selection_controller_->HandleLongPressEvent(
1563 base::TimeTicks() + 1559 base::TimeTicks() +
1564 base::TimeDelta::FromSecondsD(input_event.timeStampSeconds), 1560 base::TimeDelta::FromSecondsD(input_event.timeStampSeconds),
1565 gfx::PointF(gesture_event.x, gesture_event.y))) { 1561 gfx::PointF(gesture_event.x, gesture_event.y));
1566 return INPUT_EVENT_ACK_STATE_CONSUMED;
1567 }
1568 break; 1562 break;
1569 1563
1570 case blink::WebInputEvent::GestureTap: 1564 case blink::WebInputEvent::GestureTap:
1571 if (selection_controller_->WillHandleTapEvent( 1565 selection_controller_->HandleTapEvent(
1572 gfx::PointF(gesture_event.x, gesture_event.y), 1566 gfx::PointF(gesture_event.x, gesture_event.y),
1573 gesture_event.data.tap.tapCount)) { 1567 gesture_event.data.tap.tapCount);
1574 return INPUT_EVENT_ACK_STATE_CONSUMED;
1575 }
1576 break; 1568 break;
1577 1569
1578 case blink::WebInputEvent::GestureScrollBegin: 1570 case blink::WebInputEvent::GestureScrollBegin:
1579 selection_controller_->OnScrollBeginEvent(); 1571 selection_controller_->OnScrollBeginEvent();
1580 break; 1572 break;
1581 1573
1582 default: 1574 default:
1583 break; 1575 break;
1584 } 1576 }
1585 } 1577 }
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after
1937 float y0, 1929 float y0,
1938 float x1, 1930 float x1,
1939 float y1) { 1931 float y1) {
1940 SelectBetweenCoordinates(gfx::PointF(x0, y0), gfx::PointF(x1, y1)); 1932 SelectBetweenCoordinates(gfx::PointF(x0, y0), gfx::PointF(x1, y1));
1941 } 1933 }
1942 1934
1943 void RenderWidgetHostViewAndroid::OnStylusSelectUpdate(float x, float y) { 1935 void RenderWidgetHostViewAndroid::OnStylusSelectUpdate(float x, float y) {
1944 MoveRangeSelectionExtent(gfx::PointF(x, y)); 1936 MoveRangeSelectionExtent(gfx::PointF(x, y));
1945 } 1937 }
1946 1938
1947 void RenderWidgetHostViewAndroid::OnStylusSelectEnd() {
1948 if (selection_controller_)
1949 selection_controller_->AllowShowingFromCurrentSelection();
1950 }
1951
1952 void RenderWidgetHostViewAndroid::OnStylusSelectTap(base::TimeTicks time, 1939 void RenderWidgetHostViewAndroid::OnStylusSelectTap(base::TimeTicks time,
1953 float x, 1940 float x,
1954 float y) { 1941 float y) {
1955 // Treat the stylus tap as a long press, activating either a word selection or 1942 // Treat the stylus tap as a long press, activating either a word selection or
1956 // context menu depending on the targetted content. 1943 // context menu depending on the targetted content.
1957 blink::WebGestureEvent long_press = WebGestureEventBuilder::Build( 1944 blink::WebGestureEvent long_press = WebGestureEventBuilder::Build(
1958 blink::WebInputEvent::GestureLongPress, 1945 blink::WebInputEvent::GestureLongPress,
1959 (time - base::TimeTicks()).InSecondsF(), x, y); 1946 (time - base::TimeTicks()).InSecondsF(), x, y);
1960 SendGestureEvent(long_press); 1947 SendGestureEvent(long_press);
1961 } 1948 }
(...skipping 15 matching lines...) Expand all
1977 case ui::MotionEvent::ACTION_UP: 1964 case ui::MotionEvent::ACTION_UP:
1978 case ui::MotionEvent::ACTION_POINTER_UP: 1965 case ui::MotionEvent::ACTION_POINTER_UP:
1979 UMA_HISTOGRAM_CUSTOM_COUNTS("Event.Latency.OS.TOUCH_RELEASED", 1966 UMA_HISTOGRAM_CUSTOM_COUNTS("Event.Latency.OS.TOUCH_RELEASED",
1980 delta.InMicroseconds(), 1, 1000000, 50); 1967 delta.InMicroseconds(), 1, 1000000, 50);
1981 default: 1968 default:
1982 return; 1969 return;
1983 } 1970 }
1984 } 1971 }
1985 1972
1986 } // namespace content 1973 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698