OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "core/input/ScrollManager.h" | 5 #include "core/input/ScrollManager.h" |
6 | 6 |
7 #include "core/dom/DOMNodeIds.h" | 7 #include "core/dom/DOMNodeIds.h" |
8 #include "core/events/GestureEvent.h" | 8 #include "core/events/GestureEvent.h" |
9 #include "core/frame/BrowserControls.h" | 9 #include "core/frame/BrowserControls.h" |
10 #include "core/frame/FrameHost.h" | 10 #include "core/frame/FrameHost.h" |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 | 217 |
218 if (!m_scrollGestureHandlingNode || | 218 if (!m_scrollGestureHandlingNode || |
219 !m_scrollGestureHandlingNode->layoutObject()) | 219 !m_scrollGestureHandlingNode->layoutObject()) |
220 return WebInputEventResult::NotHandled; | 220 return WebInputEventResult::NotHandled; |
221 | 221 |
222 passScrollGestureEventToWidget(gestureEvent, | 222 passScrollGestureEventToWidget(gestureEvent, |
223 m_scrollGestureHandlingNode->layoutObject()); | 223 m_scrollGestureHandlingNode->layoutObject()); |
224 | 224 |
225 m_currentScrollChain.clear(); | 225 m_currentScrollChain.clear(); |
226 std::unique_ptr<ScrollStateData> scrollStateData = | 226 std::unique_ptr<ScrollStateData> scrollStateData = |
227 makeUnique<ScrollStateData>(); | 227 WTF::makeUnique<ScrollStateData>(); |
228 scrollStateData->position_x = gestureEvent.position().x(); | 228 scrollStateData->position_x = gestureEvent.position().x(); |
229 scrollStateData->position_y = gestureEvent.position().y(); | 229 scrollStateData->position_y = gestureEvent.position().y(); |
230 scrollStateData->is_beginning = true; | 230 scrollStateData->is_beginning = true; |
231 scrollStateData->from_user_input = true; | 231 scrollStateData->from_user_input = true; |
232 scrollStateData->is_direct_manipulation = | 232 scrollStateData->is_direct_manipulation = |
233 gestureEvent.source() == PlatformGestureSourceTouchscreen; | 233 gestureEvent.source() == PlatformGestureSourceTouchscreen; |
234 scrollStateData->delta_consumed_for_scroll_sequence = | 234 scrollStateData->delta_consumed_for_scroll_sequence = |
235 m_deltaConsumedForScrollSequence; | 235 m_deltaConsumedForScrollSequence; |
236 ScrollState* scrollState = ScrollState::create(std::move(scrollStateData)); | 236 ScrollState* scrollState = ScrollState::create(std::move(scrollStateData)); |
237 customizedScroll(*m_scrollGestureHandlingNode.get(), *scrollState); | 237 customizedScroll(*m_scrollGestureHandlingNode.get(), *scrollState); |
(...skipping 25 matching lines...) Expand all Loading... |
263 WebInputEventResult result = | 263 WebInputEventResult result = |
264 passScrollGestureEventToWidget(gestureEvent, layoutObject); | 264 passScrollGestureEventToWidget(gestureEvent, layoutObject); |
265 if (result != WebInputEventResult::NotHandled) { | 265 if (result != WebInputEventResult::NotHandled) { |
266 // FIXME: we should allow simultaneous scrolling of nested | 266 // FIXME: we should allow simultaneous scrolling of nested |
267 // iframes along perpendicular axes. See crbug.com/466991. | 267 // iframes along perpendicular axes. See crbug.com/466991. |
268 m_deltaConsumedForScrollSequence = true; | 268 m_deltaConsumedForScrollSequence = true; |
269 return result; | 269 return result; |
270 } | 270 } |
271 | 271 |
272 std::unique_ptr<ScrollStateData> scrollStateData = | 272 std::unique_ptr<ScrollStateData> scrollStateData = |
273 makeUnique<ScrollStateData>(); | 273 WTF::makeUnique<ScrollStateData>(); |
274 scrollStateData->delta_x = delta.width(); | 274 scrollStateData->delta_x = delta.width(); |
275 scrollStateData->delta_y = delta.height(); | 275 scrollStateData->delta_y = delta.height(); |
276 scrollStateData->delta_granularity = | 276 scrollStateData->delta_granularity = |
277 static_cast<double>(gestureEvent.deltaUnits()); | 277 static_cast<double>(gestureEvent.deltaUnits()); |
278 scrollStateData->velocity_x = velocity.width(); | 278 scrollStateData->velocity_x = velocity.width(); |
279 scrollStateData->velocity_y = velocity.height(); | 279 scrollStateData->velocity_y = velocity.height(); |
280 scrollStateData->position_x = position.x(); | 280 scrollStateData->position_x = position.x(); |
281 scrollStateData->position_y = position.y(); | 281 scrollStateData->position_y = position.y(); |
282 scrollStateData->should_propagate = !gestureEvent.preventPropagation(); | 282 scrollStateData->should_propagate = !gestureEvent.preventPropagation(); |
283 scrollStateData->is_in_inertial_phase = | 283 scrollStateData->is_in_inertial_phase = |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 return WebInputEventResult::NotHandled; | 319 return WebInputEventResult::NotHandled; |
320 } | 320 } |
321 | 321 |
322 WebInputEventResult ScrollManager::handleGestureScrollEnd( | 322 WebInputEventResult ScrollManager::handleGestureScrollEnd( |
323 const PlatformGestureEvent& gestureEvent) { | 323 const PlatformGestureEvent& gestureEvent) { |
324 Node* node = m_scrollGestureHandlingNode; | 324 Node* node = m_scrollGestureHandlingNode; |
325 | 325 |
326 if (node && node->layoutObject()) { | 326 if (node && node->layoutObject()) { |
327 passScrollGestureEventToWidget(gestureEvent, node->layoutObject()); | 327 passScrollGestureEventToWidget(gestureEvent, node->layoutObject()); |
328 std::unique_ptr<ScrollStateData> scrollStateData = | 328 std::unique_ptr<ScrollStateData> scrollStateData = |
329 makeUnique<ScrollStateData>(); | 329 WTF::makeUnique<ScrollStateData>(); |
330 scrollStateData->is_ending = true; | 330 scrollStateData->is_ending = true; |
331 scrollStateData->is_in_inertial_phase = | 331 scrollStateData->is_in_inertial_phase = |
332 gestureEvent.inertialPhase() == ScrollInertialPhaseMomentum; | 332 gestureEvent.inertialPhase() == ScrollInertialPhaseMomentum; |
333 scrollStateData->from_user_input = true; | 333 scrollStateData->from_user_input = true; |
334 scrollStateData->is_direct_manipulation = | 334 scrollStateData->is_direct_manipulation = |
335 gestureEvent.source() == PlatformGestureSourceTouchscreen; | 335 gestureEvent.source() == PlatformGestureSourceTouchscreen; |
336 scrollStateData->delta_consumed_for_scroll_sequence = | 336 scrollStateData->delta_consumed_for_scroll_sequence = |
337 m_deltaConsumedForScrollSequence; | 337 m_deltaConsumedForScrollSequence; |
338 ScrollState* scrollState = ScrollState::create(std::move(scrollStateData)); | 338 ScrollState* scrollState = ScrollState::create(std::move(scrollStateData)); |
339 customizedScroll(*node, *scrollState); | 339 customizedScroll(*node, *scrollState); |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 if (scrollbar->gestureEvent(targetedEvent.event(), &shouldUpdateCapture)) { | 529 if (scrollbar->gestureEvent(targetedEvent.event(), &shouldUpdateCapture)) { |
530 if (shouldUpdateCapture) | 530 if (shouldUpdateCapture) |
531 m_scrollbarHandlingScrollGesture = scrollbar; | 531 m_scrollbarHandlingScrollGesture = scrollbar; |
532 return true; | 532 return true; |
533 } | 533 } |
534 } | 534 } |
535 return false; | 535 return false; |
536 } | 536 } |
537 | 537 |
538 } // namespace blink | 538 } // namespace blink |
OLD | NEW |