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

Issue 2787723003: [Workaround] Notify Overscroll Actions that a gesture ended. (Closed)

Created:
3 years, 8 months ago by jif
Modified:
3 years, 8 months ago
Reviewers:
justincohen
CC:
chromium-reviews, ios-reviews+chrome_chromium.org, ios-reviews_chromium.org, pkl (ping after 24h if needed), noyau+watch_chromium.org, marq+watch_chromium.org, sdefresne+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

[Workaround] Notify Overscroll Actions that a gesture ended. The OverscrollActionController adds a UIPanGestureRecognizer. When text is selected and SelectionSpeak is enabled, the UIPanGestureRecognizer's end state is not always communicated to the OverscrollActionController. This CL calls the OverscrollActionController whenever the UIPanGestureRecognizer is reset. TEST=Enable SelectionSpeak. Visit a page. Select text. In a single gesture, scroll a little bit up and down. Once you lift your finger from the screen, the browser should not be frozen, i.e. you should be able to scroll the page. BUG=699655

Patch Set 1 #

Patch Set 2 : 2 #

Patch Set 3 : v3 #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+72 lines, -3 lines) Patch
M ios/chrome/browser/ui/overscroll_actions/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M ios/chrome/browser/ui/overscroll_actions/overscroll_actions_controller.mm View 1 2 2 chunks +13 lines, -3 lines 1 comment Download
A ios/chrome/browser/ui/overscroll_actions/overscroll_actions_gesture_recognizer.h View 1 1 chunk +18 lines, -0 lines 0 comments Download
A ios/chrome/browser/ui/overscroll_actions/overscroll_actions_gesture_recognizer.mm View 1 1 chunk +39 lines, -0 lines 2 comments Download

Messages

Total messages: 5 (3 generated)
jif
ptal
3 years, 8 months ago (2017-04-05 12:50:43 UTC) #4
justincohen
3 years, 8 months ago (2017-04-05 14:22:08 UTC) #5
LGTM with questions.

https://codereview.chromium.org/2787723003/diff/40001/ios/chrome/browser/ui/o...
File ios/chrome/browser/ui/overscroll_actions/overscroll_actions_controller.mm
(right):

https://codereview.chromium.org/2787723003/diff/40001/ios/chrome/browser/ui/o...
ios/chrome/browser/ui/overscroll_actions/overscroll_actions_controller.mm:582:
if (UIAccessibilityIsSpeakSelectionEnabled()) {
Does -setup only get called once per process start?  Do we care if someone
enables speak selection after the app start?  Even if the answer is, I like that
this fix minimizes it's impact only to speak selection enabled...

https://codereview.chromium.org/2787723003/diff/40001/ios/chrome/browser/ui/o...
File
ios/chrome/browser/ui/overscroll_actions/overscroll_actions_gesture_recognizer.mm
(right):

https://codereview.chromium.org/2787723003/diff/40001/ios/chrome/browser/ui/o...
ios/chrome/browser/ui/overscroll_actions/overscroll_actions_gesture_recognizer.mm:8:
#include "base/mac/scoped_nsobject.h"
sort?

https://codereview.chromium.org/2787723003/diff/40001/ios/chrome/browser/ui/o...
ios/chrome/browser/ui/overscroll_actions/overscroll_actions_gesture_recognizer.mm:32:
- (void)removeTarget:(id)target action:(SEL)action {
This is all voodoo to me.  Why is this necessary? E.g. why is
overscroll_actions_controller::teardown::self.panGestureRecognizer = nil; not
enough?

Powered by Google App Engine
This is Rietveld 408576698