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

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

Powered by Google App Engine
This is Rietveld 408576698