| OLD | NEW |
| 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 1571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1582 if (overscroll_controller_) | 1582 if (overscroll_controller_) |
| 1583 overscroll_controller_->OnGestureEventAck(event, ack_result); | 1583 overscroll_controller_->OnGestureEventAck(event, ack_result); |
| 1584 | 1584 |
| 1585 if (content_view_core_) | 1585 if (content_view_core_) |
| 1586 content_view_core_->OnGestureEventAck(event, ack_result); | 1586 content_view_core_->OnGestureEventAck(event, ack_result); |
| 1587 } | 1587 } |
| 1588 | 1588 |
| 1589 InputEventAckState RenderWidgetHostViewAndroid::FilterInputEvent( | 1589 InputEventAckState RenderWidgetHostViewAndroid::FilterInputEvent( |
| 1590 const blink::WebInputEvent& input_event) { | 1590 const blink::WebInputEvent& input_event) { |
| 1591 if (selection_controller_ && | 1591 if (selection_controller_ && |
| 1592 blink::WebInputEvent::isGestureEventType(input_event.type)) { | 1592 blink::WebInputEvent::isGestureEventType(input_event.type())) { |
| 1593 const blink::WebGestureEvent& gesture_event = | 1593 const blink::WebGestureEvent& gesture_event = |
| 1594 static_cast<const blink::WebGestureEvent&>(input_event); | 1594 static_cast<const blink::WebGestureEvent&>(input_event); |
| 1595 switch (gesture_event.type) { | 1595 switch (gesture_event.type()) { |
| 1596 case blink::WebInputEvent::GestureLongPress: | 1596 case blink::WebInputEvent::GestureLongPress: |
| 1597 if (selection_controller_->WillHandleLongPressEvent( | 1597 if (selection_controller_->WillHandleLongPressEvent( |
| 1598 base::TimeTicks() + | 1598 base::TimeTicks() + base::TimeDelta::FromSecondsD( |
| 1599 base::TimeDelta::FromSecondsD(input_event.timeStampSeconds), | 1599 input_event.timeStampSeconds()), |
| 1600 gfx::PointF(gesture_event.x, gesture_event.y))) { | 1600 gfx::PointF(gesture_event.x, gesture_event.y))) { |
| 1601 return INPUT_EVENT_ACK_STATE_CONSUMED; | 1601 return INPUT_EVENT_ACK_STATE_CONSUMED; |
| 1602 } | 1602 } |
| 1603 break; | 1603 break; |
| 1604 | 1604 |
| 1605 case blink::WebInputEvent::GestureTap: | 1605 case blink::WebInputEvent::GestureTap: |
| 1606 if (selection_controller_->WillHandleTapEvent( | 1606 if (selection_controller_->WillHandleTapEvent( |
| 1607 gfx::PointF(gesture_event.x, gesture_event.y), | 1607 gfx::PointF(gesture_event.x, gesture_event.y), |
| 1608 gesture_event.data.tap.tapCount)) { | 1608 gesture_event.data.tap.tapCount)) { |
| 1609 return INPUT_EVENT_ACK_STATE_CONSUMED; | 1609 return INPUT_EVENT_ACK_STATE_CONSUMED; |
| 1610 } | 1610 } |
| 1611 break; | 1611 break; |
| 1612 | 1612 |
| 1613 case blink::WebInputEvent::GestureScrollBegin: | 1613 case blink::WebInputEvent::GestureScrollBegin: |
| 1614 selection_controller_->OnScrollBeginEvent(); | 1614 selection_controller_->OnScrollBeginEvent(); |
| 1615 break; | 1615 break; |
| 1616 | 1616 |
| 1617 default: | 1617 default: |
| 1618 break; | 1618 break; |
| 1619 } | 1619 } |
| 1620 } | 1620 } |
| 1621 | 1621 |
| 1622 if (overscroll_controller_ && | 1622 if (overscroll_controller_ && |
| 1623 blink::WebInputEvent::isGestureEventType(input_event.type) && | 1623 blink::WebInputEvent::isGestureEventType(input_event.type()) && |
| 1624 overscroll_controller_->WillHandleGestureEvent( | 1624 overscroll_controller_->WillHandleGestureEvent( |
| 1625 static_cast<const blink::WebGestureEvent&>(input_event))) { | 1625 static_cast<const blink::WebGestureEvent&>(input_event))) { |
| 1626 return INPUT_EVENT_ACK_STATE_CONSUMED; | 1626 return INPUT_EVENT_ACK_STATE_CONSUMED; |
| 1627 } | 1627 } |
| 1628 | 1628 |
| 1629 if (content_view_core_ && content_view_core_->FilterInputEvent(input_event)) | 1629 if (content_view_core_ && content_view_core_->FilterInputEvent(input_event)) |
| 1630 return INPUT_EVENT_ACK_STATE_CONSUMED; | 1630 return INPUT_EVENT_ACK_STATE_CONSUMED; |
| 1631 | 1631 |
| 1632 if (!host_) | 1632 if (!host_) |
| 1633 return INPUT_EVENT_ACK_STATE_NOT_CONSUMED; | 1633 return INPUT_EVENT_ACK_STATE_NOT_CONSUMED; |
| 1634 | 1634 |
| 1635 if (input_event.type == blink::WebInputEvent::GestureTapDown || | 1635 if (input_event.type() == blink::WebInputEvent::GestureTapDown || |
| 1636 input_event.type == blink::WebInputEvent::TouchStart) { | 1636 input_event.type() == blink::WebInputEvent::TouchStart) { |
| 1637 GpuDataManagerImpl* gpu_data = GpuDataManagerImpl::GetInstance(); | 1637 GpuDataManagerImpl* gpu_data = GpuDataManagerImpl::GetInstance(); |
| 1638 GpuProcessHostUIShim* shim = GpuProcessHostUIShim::GetOneInstance(); | 1638 GpuProcessHostUIShim* shim = GpuProcessHostUIShim::GetOneInstance(); |
| 1639 if (shim && gpu_data && | 1639 if (shim && gpu_data && |
| 1640 gpu_data->IsDriverBugWorkaroundActive(gpu::WAKE_UP_GPU_BEFORE_DRAWING)) | 1640 gpu_data->IsDriverBugWorkaroundActive(gpu::WAKE_UP_GPU_BEFORE_DRAWING)) |
| 1641 shim->Send(new GpuMsg_WakeUpGpu); | 1641 shim->Send(new GpuMsg_WakeUpGpu); |
| 1642 } | 1642 } |
| 1643 | 1643 |
| 1644 return INPUT_EVENT_ACK_STATE_NOT_CONSUMED; | 1644 return INPUT_EVENT_ACK_STATE_NOT_CONSUMED; |
| 1645 } | 1645 } |
| 1646 | 1646 |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1849 } | 1849 } |
| 1850 | 1850 |
| 1851 void RenderWidgetHostViewAndroid::OnGestureEvent( | 1851 void RenderWidgetHostViewAndroid::OnGestureEvent( |
| 1852 const ui::GestureEventData& gesture) { | 1852 const ui::GestureEventData& gesture) { |
| 1853 blink::WebGestureEvent web_gesture = | 1853 blink::WebGestureEvent web_gesture = |
| 1854 ui::CreateWebGestureEventFromGestureEventData(gesture); | 1854 ui::CreateWebGestureEventFromGestureEventData(gesture); |
| 1855 // TODO(jdduke): Remove this workaround after Android fixes UiAutomator to | 1855 // TODO(jdduke): Remove this workaround after Android fixes UiAutomator to |
| 1856 // stop providing shift meta values to synthetic MotionEvents. This prevents | 1856 // stop providing shift meta values to synthetic MotionEvents. This prevents |
| 1857 // unintended shift+click interpretation of all accessibility clicks. | 1857 // unintended shift+click interpretation of all accessibility clicks. |
| 1858 // See crbug.com/443247. | 1858 // See crbug.com/443247. |
| 1859 if (web_gesture.type == blink::WebInputEvent::GestureTap && | 1859 if (web_gesture.type() == blink::WebInputEvent::GestureTap && |
| 1860 web_gesture.modifiers == blink::WebInputEvent::ShiftKey) { | 1860 web_gesture.modifiers() == blink::WebInputEvent::ShiftKey) { |
| 1861 web_gesture.modifiers = 0; | 1861 web_gesture.setModifiers(blink::WebInputEvent::NoModifiers); |
| 1862 } | 1862 } |
| 1863 SendGestureEvent(web_gesture); | 1863 SendGestureEvent(web_gesture); |
| 1864 } | 1864 } |
| 1865 | 1865 |
| 1866 void RenderWidgetHostViewAndroid::OnContentViewCoreDestroyed() { | 1866 void RenderWidgetHostViewAndroid::OnContentViewCoreDestroyed() { |
| 1867 SetContentViewCore(NULL); | 1867 SetContentViewCore(NULL); |
| 1868 overscroll_controller_.reset(); | 1868 overscroll_controller_.reset(); |
| 1869 } | 1869 } |
| 1870 | 1870 |
| 1871 void RenderWidgetHostViewAndroid::OnCompositingDidCommit() { | 1871 void RenderWidgetHostViewAndroid::OnCompositingDidCommit() { |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2076 if (!compositor) | 2076 if (!compositor) |
| 2077 return; | 2077 return; |
| 2078 | 2078 |
| 2079 overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>( | 2079 overscroll_controller_ = base::MakeUnique<OverscrollControllerAndroid>( |
| 2080 overscroll_refresh_handler, compositor, | 2080 overscroll_refresh_handler, compositor, |
| 2081 ui::GetScaleFactorForNativeView(GetNativeView())); | 2081 ui::GetScaleFactorForNativeView(GetNativeView())); |
| 2082 is_showing_overscroll_glow_ = true; | 2082 is_showing_overscroll_glow_ = true; |
| 2083 } | 2083 } |
| 2084 | 2084 |
| 2085 } // namespace content | 2085 } // namespace content |
| OLD | NEW |