Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: Source/core/page/EventHandler.cpp

Issue 732483003: Remove GestureScrollUpdateWithoutPropagation event (blink) (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 2191 matching lines...) Expand 10 before | Expand all | Expand 10 after
2202 if (!eventSwallowed) 2202 if (!eventSwallowed)
2203 eventSwallowed = eventTarget->dispatchGestureEvent(gestureEvent); 2203 eventSwallowed = eventTarget->dispatchGestureEvent(gestureEvent);
2204 if (eventSwallowed) 2204 if (eventSwallowed)
2205 return true; 2205 return true;
2206 } 2206 }
2207 2207
2208 switch (gestureEvent.type()) { 2208 switch (gestureEvent.type()) {
2209 case PlatformEvent::GestureScrollBegin: 2209 case PlatformEvent::GestureScrollBegin:
2210 return handleGestureScrollBegin(gestureEvent); 2210 return handleGestureScrollBegin(gestureEvent);
2211 case PlatformEvent::GestureScrollUpdate: 2211 case PlatformEvent::GestureScrollUpdate:
2212 case PlatformEvent::GestureScrollUpdateWithoutPropagation:
2213 return handleGestureScrollUpdate(gestureEvent); 2212 return handleGestureScrollUpdate(gestureEvent);
2214 case PlatformEvent::GestureScrollEnd: 2213 case PlatformEvent::GestureScrollEnd:
2215 return handleGestureScrollEnd(gestureEvent); 2214 return handleGestureScrollEnd(gestureEvent);
2216 case PlatformEvent::GestureFlingStart: 2215 case PlatformEvent::GestureFlingStart:
2217 case PlatformEvent::GesturePinchBegin: 2216 case PlatformEvent::GesturePinchBegin:
2218 case PlatformEvent::GesturePinchEnd: 2217 case PlatformEvent::GesturePinchEnd:
2219 case PlatformEvent::GesturePinchUpdate: 2218 case PlatformEvent::GesturePinchUpdate:
2220 return false; 2219 return false;
2221 default: 2220 default:
2222 ASSERT_NOT_REACHED(); 2221 ASSERT_NOT_REACHED();
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
2372 bool EventHandler::handleScrollGestureOnResizer(Node* eventTarget, const Platfor mGestureEvent& gestureEvent) { 2371 bool EventHandler::handleScrollGestureOnResizer(Node* eventTarget, const Platfor mGestureEvent& gestureEvent) {
2373 if (gestureEvent.type() == PlatformEvent::GestureScrollBegin) { 2372 if (gestureEvent.type() == PlatformEvent::GestureScrollBegin) {
2374 RenderLayer* layer = eventTarget->renderer() ? eventTarget->renderer()-> enclosingLayer() : nullptr; 2373 RenderLayer* layer = eventTarget->renderer() ? eventTarget->renderer()-> enclosingLayer() : nullptr;
2375 IntPoint p = m_frame->view()->windowToContents(gestureEvent.position()); 2374 IntPoint p = m_frame->view()->windowToContents(gestureEvent.position());
2376 if (layer && layer->scrollableArea() && layer->scrollableArea()->isPoint InResizeControl(p, ResizerForTouch)) { 2375 if (layer && layer->scrollableArea() && layer->scrollableArea()->isPoint InResizeControl(p, ResizerForTouch)) {
2377 m_resizeScrollableArea = layer->scrollableArea(); 2376 m_resizeScrollableArea = layer->scrollableArea();
2378 m_resizeScrollableArea->setInResizeMode(true); 2377 m_resizeScrollableArea->setInResizeMode(true);
2379 m_offsetFromResizeCorner = LayoutSize(m_resizeScrollableArea->offset FromResizeCorner(p)); 2378 m_offsetFromResizeCorner = LayoutSize(m_resizeScrollableArea->offset FromResizeCorner(p));
2380 return true; 2379 return true;
2381 } 2380 }
2382 } else if (gestureEvent.type() == PlatformEvent::GestureScrollUpdate || 2381 } else if (gestureEvent.type() == PlatformEvent::GestureScrollUpdate) {
2383 gestureEvent.type() == PlatformEvent::GestureScrollUpdateWithoutP ropagation) {
2384 if (m_resizeScrollableArea && m_resizeScrollableArea->inResizeMode()) { 2382 if (m_resizeScrollableArea && m_resizeScrollableArea->inResizeMode()) {
2385 m_resizeScrollableArea->resize(gestureEvent, m_offsetFromResizeCorne r); 2383 m_resizeScrollableArea->resize(gestureEvent, m_offsetFromResizeCorne r);
2386 return true; 2384 return true;
2387 } 2385 }
2388 } else if (gestureEvent.type() == PlatformEvent::GestureScrollEnd) { 2386 } else if (gestureEvent.type() == PlatformEvent::GestureScrollEnd) {
2389 if (m_resizeScrollableArea && m_resizeScrollableArea->inResizeMode()) { 2387 if (m_resizeScrollableArea && m_resizeScrollableArea->inResizeMode()) {
2390 m_resizeScrollableArea->setInResizeMode(false); 2388 m_resizeScrollableArea->setInResizeMode(false);
2391 m_resizeScrollableArea = nullptr; 2389 m_resizeScrollableArea = nullptr;
2392 return false; 2390 return false;
2393 } 2391 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
2449 2447
2450 static bool scrollAreaOnBothAxes(const FloatSize& delta, ScrollableArea& view) 2448 static bool scrollAreaOnBothAxes(const FloatSize& delta, ScrollableArea& view)
2451 { 2449 {
2452 bool scrolledHorizontal = view.scroll(ScrollLeft, ScrollByPrecisePixel, delt a.width()); 2450 bool scrolledHorizontal = view.scroll(ScrollLeft, ScrollByPrecisePixel, delt a.width());
2453 bool scrolledVertical = view.scroll(ScrollUp, ScrollByPrecisePixel, delta.he ight()); 2451 bool scrolledVertical = view.scroll(ScrollUp, ScrollByPrecisePixel, delta.he ight());
2454 return scrolledHorizontal || scrolledVertical; 2452 return scrolledHorizontal || scrolledVertical;
2455 } 2453 }
2456 2454
2457 bool EventHandler::handleGestureScrollUpdate(const PlatformGestureEvent& gesture Event) 2455 bool EventHandler::handleGestureScrollUpdate(const PlatformGestureEvent& gesture Event)
2458 { 2456 {
2457 ASSERT(gestureEvent.type() == PlatformEvent::GestureScrollUpdate);
2458
2459 FloatSize delta(gestureEvent.deltaX(), gestureEvent.deltaY()); 2459 FloatSize delta(gestureEvent.deltaX(), gestureEvent.deltaY());
2460 if (delta.isZero()) 2460 if (delta.isZero())
2461 return false; 2461 return false;
2462 2462
2463 Node* node = m_scrollGestureHandlingNode.get(); 2463 Node* node = m_scrollGestureHandlingNode.get();
2464 if (node) { 2464 if (node) {
2465 RenderObject* renderer = node->renderer(); 2465 RenderObject* renderer = node->renderer();
2466 if (!renderer) 2466 if (!renderer)
2467 return false; 2467 return false;
2468 2468
2469 RefPtrWillBeRawPtr<FrameView> protector(m_frame->view()); 2469 RefPtrWillBeRawPtr<FrameView> protector(m_frame->view());
2470 2470
2471 Node* stopNode = nullptr; 2471 Node* stopNode = nullptr;
2472 bool scrollShouldNotPropagate = gestureEvent.type() == PlatformEvent::Ge stureScrollUpdateWithoutPropagation
2473 || (gestureEvent.type() == PlatformEvent::GestureScrollUpdate && ges tureEvent.preventPropagation());
2474 2472
2475 // Try to send the event to the correct view. 2473 // Try to send the event to the correct view.
2476 if (passScrollGestureEventToWidget(gestureEvent, renderer)) { 2474 if (passScrollGestureEventToWidget(gestureEvent, renderer)) {
2477 if (scrollShouldNotPropagate) 2475 if (gestureEvent.preventPropagation())
2478 m_previousGestureScrolledNode = m_scrollGestureHandlingNode; 2476 m_previousGestureScrolledNode = m_scrollGestureHandlingNode;
2479 2477
2480 return true; 2478 return true;
2481 } 2479 }
2482 2480
2483 if (scrollShouldNotPropagate) 2481
2482 if (gestureEvent.preventPropagation())
2484 stopNode = m_previousGestureScrolledNode.get(); 2483 stopNode = m_previousGestureScrolledNode.get();
2485 2484
2486 // First try to scroll the closest scrollable RenderBox ancestor of |nod e|. 2485 // First try to scroll the closest scrollable RenderBox ancestor of |nod e|.
2487 ScrollGranularity granularity = ScrollByPixel; 2486 ScrollGranularity granularity = ScrollByPixel;
2488 bool horizontalScroll = scroll(ScrollLeft, granularity, node, &stopNode, delta.width()); 2487 bool horizontalScroll = scroll(ScrollLeft, granularity, node, &stopNode, delta.width());
2489 bool verticalScroll = scroll(ScrollUp, granularity, node, &stopNode, del ta.height()); 2488 bool verticalScroll = scroll(ScrollUp, granularity, node, &stopNode, del ta.height());
2490 2489
2491 if (scrollShouldNotPropagate) 2490 if (gestureEvent.preventPropagation())
2492 m_previousGestureScrolledNode = stopNode; 2491 m_previousGestureScrolledNode = stopNode;
2493 2492
2494 if (horizontalScroll || verticalScroll) { 2493 if (horizontalScroll || verticalScroll) {
2495 setFrameWasScrolledByUser(); 2494 setFrameWasScrolledByUser();
2496 return true; 2495 return true;
2497 } 2496 }
2498 } 2497 }
2499 2498
2500 // Try to scroll the frame view. 2499 // Try to scroll the frame view.
2501 FrameView* view = m_frame->view(); 2500 FrameView* view = m_frame->view();
(...skipping 1361 matching lines...) Expand 10 before | Expand all | Expand 10 after
3863 unsigned EventHandler::accessKeyModifiers() 3862 unsigned EventHandler::accessKeyModifiers()
3864 { 3863 {
3865 #if OS(MACOSX) 3864 #if OS(MACOSX)
3866 return PlatformEvent::CtrlKey | PlatformEvent::AltKey; 3865 return PlatformEvent::CtrlKey | PlatformEvent::AltKey;
3867 #else 3866 #else
3868 return PlatformEvent::AltKey; 3867 return PlatformEvent::AltKey;
3869 #endif 3868 #endif
3870 } 3869 }
3871 3870
3872 } // namespace blink 3871 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/events/GestureEvent.cpp ('k') | Source/core/rendering/RenderLayerScrollableArea.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698