| Index: third_party/WebKit/Source/core/input/EventHandler.cpp
|
| diff --git a/third_party/WebKit/Source/core/input/EventHandler.cpp b/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| index e14f7c15c02dce70cc6892170708d3f88ae452ce..9a3907ed9bc343e2c301e11501f21d5ba31c3df8 100644
|
| --- a/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| +++ b/third_party/WebKit/Source/core/input/EventHandler.cpp
|
| @@ -2445,9 +2445,13 @@ WebInputEventResult EventHandler::handleGestureScrollEnd(const PlatformGestureEv
|
| if (node) {
|
| passScrollGestureEventToWidget(gestureEvent, node->layoutObject());
|
| if (RuntimeEnabledFeatures::scrollCustomizationEnabled()) {
|
| - RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create(
|
| - 0, 0, 0, 0, 0, gestureEvent.inertial(), /* isBeginning */
|
| - false, /* isEnding */ true, /* fromUserInput */ true);
|
| + OwnPtr<ScrollStateData> scrollStateData = adoptPtr(new ScrollStateData());
|
| + scrollStateData->is_ending = true;
|
| + scrollStateData->is_in_inertial_phase = gestureEvent.inertial();
|
| + scrollStateData->from_user_input = true;
|
| + scrollStateData->is_direct_manipulation = true;
|
| + scrollStateData->delta_consumed_for_scroll_sequence = m_deltaConsumedForScrollSequence;
|
| + RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create(scrollStateData.release());
|
| customizedScroll(*node.get(), *scrollState);
|
| }
|
| }
|
| @@ -2482,9 +2486,13 @@ WebInputEventResult EventHandler::handleGestureScrollBegin(const PlatformGesture
|
| passScrollGestureEventToWidget(gestureEvent, m_scrollGestureHandlingNode->layoutObject());
|
| if (RuntimeEnabledFeatures::scrollCustomizationEnabled()) {
|
| m_currentScrollChain.clear();
|
| - RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create(
|
| - 0, 0, 0, 0, 0, /* inInertialPhase */ false, /* isBeginning */
|
| - true, /* isEnding */ false, /* fromUserInput */ true);
|
| + OwnPtr<ScrollStateData> scrollStateData = adoptPtr(new ScrollStateData());
|
| + scrollStateData->start_position_x = gestureEvent.position().x();
|
| + scrollStateData->start_position_y = gestureEvent.position().y();
|
| + scrollStateData->is_beginning = true;
|
| + scrollStateData->from_user_input = true;
|
| + scrollStateData->delta_consumed_for_scroll_sequence = m_deltaConsumedForScrollSequence;
|
| + RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create(scrollStateData.release());
|
| customizedScroll(*m_scrollGestureHandlingNode.get(), *scrollState);
|
| } else {
|
| if (m_frame->isMainFrame())
|
| @@ -2561,12 +2569,16 @@ WebInputEventResult EventHandler::handleGestureScrollUpdate(const PlatformGestur
|
|
|
| bool scrolled = false;
|
| if (handleScrollCustomization) {
|
| - RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create(
|
| - gestureEvent.deltaX(), gestureEvent.deltaY(),
|
| - 0, gestureEvent.velocityX(), gestureEvent.velocityY(),
|
| - gestureEvent.inertial(), /* isBeginning */
|
| - false, /* isEnding */ false, /* fromUserInput */ true,
|
| - !gestureEvent.preventPropagation(), m_deltaConsumedForScrollSequence);
|
| + OwnPtr<ScrollStateData> scrollStateData = adoptPtr(new ScrollStateData());
|
| + scrollStateData->delta_x = gestureEvent.deltaX();
|
| + scrollStateData->delta_y = gestureEvent.deltaY();
|
| + scrollStateData->velocity_x = gestureEvent.velocityX();
|
| + scrollStateData->velocity_y = gestureEvent.velocityY();
|
| + scrollStateData->should_propagate = !gestureEvent.preventPropagation();
|
| + scrollStateData->is_in_inertial_phase = gestureEvent.inertial();
|
| + scrollStateData->from_user_input = true;
|
| + scrollStateData->delta_consumed_for_scroll_sequence = m_deltaConsumedForScrollSequence;
|
| + RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create(scrollStateData.release());
|
| if (m_previousGestureScrolledNode) {
|
| // The ScrollState needs to know what the current
|
| // native scrolling element is, so that for an
|
|
|