| 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 |