| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv
ed. |
| 3 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 3 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) | 4 * Copyright (C) 2012 Digia Plc. and/or its subsidiary(-ies) |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 2427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2438 return toFrameView(widget)->frame().eventHandler().handleGestureScrollEvent(
gestureEvent); | 2438 return toFrameView(widget)->frame().eventHandler().handleGestureScrollEvent(
gestureEvent); |
| 2439 } | 2439 } |
| 2440 | 2440 |
| 2441 WebInputEventResult EventHandler::handleGestureScrollEnd(const PlatformGestureEv
ent& gestureEvent) | 2441 WebInputEventResult EventHandler::handleGestureScrollEnd(const PlatformGestureEv
ent& gestureEvent) |
| 2442 { | 2442 { |
| 2443 RefPtrWillBeRawPtr<Node> node = m_scrollGestureHandlingNode; | 2443 RefPtrWillBeRawPtr<Node> node = m_scrollGestureHandlingNode; |
| 2444 | 2444 |
| 2445 if (node) { | 2445 if (node) { |
| 2446 passScrollGestureEventToWidget(gestureEvent, node->layoutObject()); | 2446 passScrollGestureEventToWidget(gestureEvent, node->layoutObject()); |
| 2447 if (RuntimeEnabledFeatures::scrollCustomizationEnabled()) { | 2447 if (RuntimeEnabledFeatures::scrollCustomizationEnabled()) { |
| 2448 RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create( | 2448 OwnPtr<ScrollStateData> scrollStateData = adoptPtr(new ScrollStateDa
ta()); |
| 2449 0, 0, 0, 0, 0, gestureEvent.inertial(), /* isBeginning */ | 2449 scrollStateData->is_ending = true; |
| 2450 false, /* isEnding */ true, /* fromUserInput */ true); | 2450 scrollStateData->is_in_inertial_phase = gestureEvent.inertial(); |
| 2451 scrollStateData->from_user_input = true; |
| 2452 scrollStateData->is_direct_manipulation = true; |
| 2453 scrollStateData->delta_consumed_for_scroll_sequence = m_deltaConsume
dForScrollSequence; |
| 2454 RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create(sc
rollStateData.release()); |
| 2451 customizedScroll(*node.get(), *scrollState); | 2455 customizedScroll(*node.get(), *scrollState); |
| 2452 } | 2456 } |
| 2453 } | 2457 } |
| 2454 | 2458 |
| 2455 clearGestureScrollState(); | 2459 clearGestureScrollState(); |
| 2456 return WebInputEventResult::NotHandled; | 2460 return WebInputEventResult::NotHandled; |
| 2457 } | 2461 } |
| 2458 | 2462 |
| 2459 WebInputEventResult EventHandler::handleGestureScrollBegin(const PlatformGesture
Event& gestureEvent) | 2463 WebInputEventResult EventHandler::handleGestureScrollBegin(const PlatformGesture
Event& gestureEvent) |
| 2460 { | 2464 { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 2475 if (RuntimeEnabledFeatures::scrollCustomizationEnabled()) | 2479 if (RuntimeEnabledFeatures::scrollCustomizationEnabled()) |
| 2476 m_scrollGestureHandlingNode = m_frame->document()->documentElement()
; | 2480 m_scrollGestureHandlingNode = m_frame->document()->documentElement()
; |
| 2477 else | 2481 else |
| 2478 return WebInputEventResult::NotHandled; | 2482 return WebInputEventResult::NotHandled; |
| 2479 } | 2483 } |
| 2480 ASSERT(m_scrollGestureHandlingNode); | 2484 ASSERT(m_scrollGestureHandlingNode); |
| 2481 | 2485 |
| 2482 passScrollGestureEventToWidget(gestureEvent, m_scrollGestureHandlingNode->la
youtObject()); | 2486 passScrollGestureEventToWidget(gestureEvent, m_scrollGestureHandlingNode->la
youtObject()); |
| 2483 if (RuntimeEnabledFeatures::scrollCustomizationEnabled()) { | 2487 if (RuntimeEnabledFeatures::scrollCustomizationEnabled()) { |
| 2484 m_currentScrollChain.clear(); | 2488 m_currentScrollChain.clear(); |
| 2485 RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create( | 2489 OwnPtr<ScrollStateData> scrollStateData = adoptPtr(new ScrollStateData()
); |
| 2486 0, 0, 0, 0, 0, /* inInertialPhase */ false, /* isBeginning */ | 2490 scrollStateData->start_position_x = gestureEvent.position().x(); |
| 2487 true, /* isEnding */ false, /* fromUserInput */ true); | 2491 scrollStateData->start_position_y = gestureEvent.position().y(); |
| 2492 scrollStateData->is_beginning = true; |
| 2493 scrollStateData->from_user_input = true; |
| 2494 scrollStateData->delta_consumed_for_scroll_sequence = m_deltaConsumedFor
ScrollSequence; |
| 2495 RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create(scroll
StateData.release()); |
| 2488 customizedScroll(*m_scrollGestureHandlingNode.get(), *scrollState); | 2496 customizedScroll(*m_scrollGestureHandlingNode.get(), *scrollState); |
| 2489 } else { | 2497 } else { |
| 2490 if (m_frame->isMainFrame()) | 2498 if (m_frame->isMainFrame()) |
| 2491 m_frame->host()->topControls().scrollBegin(); | 2499 m_frame->host()->topControls().scrollBegin(); |
| 2492 } | 2500 } |
| 2493 return WebInputEventResult::HandledSystem; | 2501 return WebInputEventResult::HandledSystem; |
| 2494 } | 2502 } |
| 2495 | 2503 |
| 2496 void EventHandler::resetOverscroll(bool didScrollX, bool didScrollY) | 2504 void EventHandler::resetOverscroll(bool didScrollX, bool didScrollY) |
| 2497 { | 2505 { |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2554 m_previousGestureScrolledNode = m_scrollGestureHandlingNode; | 2562 m_previousGestureScrolledNode = m_scrollGestureHandlingNode; |
| 2555 } | 2563 } |
| 2556 // FIXME: we should allow simultaneous scrolling of nested | 2564 // FIXME: we should allow simultaneous scrolling of nested |
| 2557 // iframes along perpendicular axes. See crbug.com/466991. | 2565 // iframes along perpendicular axes. See crbug.com/466991. |
| 2558 m_deltaConsumedForScrollSequence = true; | 2566 m_deltaConsumedForScrollSequence = true; |
| 2559 return result; | 2567 return result; |
| 2560 } | 2568 } |
| 2561 | 2569 |
| 2562 bool scrolled = false; | 2570 bool scrolled = false; |
| 2563 if (handleScrollCustomization) { | 2571 if (handleScrollCustomization) { |
| 2564 RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create( | 2572 OwnPtr<ScrollStateData> scrollStateData = adoptPtr(new ScrollStateDa
ta()); |
| 2565 gestureEvent.deltaX(), gestureEvent.deltaY(), | 2573 scrollStateData->delta_x = gestureEvent.deltaX(); |
| 2566 0, gestureEvent.velocityX(), gestureEvent.velocityY(), | 2574 scrollStateData->delta_y = gestureEvent.deltaY(); |
| 2567 gestureEvent.inertial(), /* isBeginning */ | 2575 scrollStateData->velocity_x = gestureEvent.velocityX(); |
| 2568 false, /* isEnding */ false, /* fromUserInput */ true, | 2576 scrollStateData->velocity_y = gestureEvent.velocityY(); |
| 2569 !gestureEvent.preventPropagation(), m_deltaConsumedForScrollSequ
ence); | 2577 scrollStateData->should_propagate = !gestureEvent.preventPropagation
(); |
| 2578 scrollStateData->is_in_inertial_phase = gestureEvent.inertial(); |
| 2579 scrollStateData->from_user_input = true; |
| 2580 scrollStateData->delta_consumed_for_scroll_sequence = m_deltaConsume
dForScrollSequence; |
| 2581 RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create(sc
rollStateData.release()); |
| 2570 if (m_previousGestureScrolledNode) { | 2582 if (m_previousGestureScrolledNode) { |
| 2571 // The ScrollState needs to know what the current | 2583 // The ScrollState needs to know what the current |
| 2572 // native scrolling element is, so that for an | 2584 // native scrolling element is, so that for an |
| 2573 // inertial scroll that shouldn't propagate, only the | 2585 // inertial scroll that shouldn't propagate, only the |
| 2574 // currently scrolling element responds. | 2586 // currently scrolling element responds. |
| 2575 ASSERT(m_previousGestureScrolledNode->isElementNode()); | 2587 ASSERT(m_previousGestureScrolledNode->isElementNode()); |
| 2576 scrollState->setCurrentNativeScrollingElement(toElement(m_previo
usGestureScrolledNode.get())); | 2588 scrollState->setCurrentNativeScrollingElement(toElement(m_previo
usGestureScrolledNode.get())); |
| 2577 } | 2589 } |
| 2578 customizedScroll(*node, *scrollState); | 2590 customizedScroll(*node, *scrollState); |
| 2579 m_previousGestureScrolledNode = scrollState->currentNativeScrollingE
lement(); | 2591 m_previousGestureScrolledNode = scrollState->currentNativeScrollingE
lement(); |
| (...skipping 1595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4175 PlatformEvent::Modifiers EventHandler::accessKeyModifiers() | 4187 PlatformEvent::Modifiers EventHandler::accessKeyModifiers() |
| 4176 { | 4188 { |
| 4177 #if OS(MACOSX) | 4189 #if OS(MACOSX) |
| 4178 return static_cast<PlatformEvent::Modifiers>(PlatformEvent::CtrlKey | Platfo
rmEvent::AltKey); | 4190 return static_cast<PlatformEvent::Modifiers>(PlatformEvent::CtrlKey | Platfo
rmEvent::AltKey); |
| 4179 #else | 4191 #else |
| 4180 return PlatformEvent::AltKey; | 4192 return PlatformEvent::AltKey; |
| 4181 #endif | 4193 #endif |
| 4182 } | 4194 } |
| 4183 | 4195 |
| 4184 } // namespace blink | 4196 } // namespace blink |
| OLD | NEW |