Chromium Code Reviews| Index: chrome/browser/renderer_host/chrome_render_widget_host_view_mac_history_swiper.mm |
| diff --git a/chrome/browser/renderer_host/chrome_render_widget_host_view_mac_history_swiper.mm b/chrome/browser/renderer_host/chrome_render_widget_host_view_mac_history_swiper.mm |
| index b161b84fa8abd0c8bafbab8f12e6d812fe2344fd..abd15fde7a0c72b13e0914d08b56bb6e60ea37c1 100644 |
| --- a/chrome/browser/renderer_host/chrome_render_widget_host_view_mac_history_swiper.mm |
| +++ b/chrome/browser/renderer_host/chrome_render_widget_host_view_mac_history_swiper.mm |
| @@ -118,7 +118,25 @@ BOOL forceMagicMouse = NO; |
| consumed:(BOOL)consumed { |
| if (event.phase != NSEventPhaseBegan) |
| return; |
| - beganEventUnconsumed_ = !consumed; |
| + firstScrollUnconsumed_ = !consumed; |
| +} |
| + |
| +- (void)rendererHandledGestureScrollEvent:(const blink::WebGestureEvent&)event |
| + consumed:(BOOL)consumed { |
| + switch (event.type) { |
| + case blink::WebInputEvent::GestureScrollBegin: |
| + if (event.data.scrollBegin.synthetic || event.data.scrollBegin.inertial) |
| + return; |
| + nextScrollUpdatesUnconsumed_ = YES; |
| + break; |
| + case blink::WebInputEvent::GestureScrollUpdate: |
| + if (nextScrollUpdatesUnconsumed_) |
| + firstScrollUnconsumed_ = !consumed; |
|
erikchen
2016/04/01 16:18:58
I don't understand this logic.
Does there exist a
dtapuska
2016/04/01 17:22:25
The condition matches the condition logic on line
erikchen
2016/04/01 17:57:34
Based on the description you just gave, firstScrol
dtapuska
2016/04/01 18:08:45
Ah I think I see the problem with your confusion.
|
| + nextScrollUpdatesUnconsumed_ = NO; |
| + break; |
| + default: |
| + break; |
| + } |
| } |
| - (BOOL)canRubberbandLeft:(NSView*)view { |
| @@ -219,7 +237,8 @@ BOOL forceMagicMouse = NO; |
| // Reset state pertaining to previous trackpad gestures. |
| gestureStartPointValid_ = NO; |
| gestureTotalY_ = 0; |
| - beganEventUnconsumed_ = NO; |
| + firstScrollUnconsumed_ = NO; |
| + nextScrollUpdatesUnconsumed_ = NO; |
| recognitionState_ = history_swiper::kPending; |
| } |
| @@ -543,7 +562,7 @@ BOOL forceMagicMouse = NO; |
| // Don't enable history swiping until the renderer has decided to not consume |
| // the event with phase NSEventPhaseBegan. |
| - if (!beganEventUnconsumed_) |
| + if (!firstScrollUnconsumed_) |
| return NO; |
| // Magic mouse and touchpad swipe events are identical except magic mouse |