New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 8 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 9
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android , Chrome
Pri: 1
Type: Bug-Regression

Blocking:
issue 882907



Sign in to add a comment
link

Issue 901831: Fling is broken in Canary

Reported by dtapu...@chromium.org, Nov 5 Project Member

Issue description

Fling a page it will work once but then fail. It doesn't animate just stops dead.
 

Comment 1 by sahel@chromium.org, Nov 5

Status: Started (was: Assigned)
Probably related to https://chromium-review.googlesource.com/c/chromium/src/+/1313270

Comment 2 by sahel@chromium.org, Nov 5

Issue 901724 has been merged into this issue.

Comment 3 by wanderview@chromium.org, Nov 5

FWIW, if I let the fling complete then further flings work correctly.  I can always break it, though, by trying to interrupt the first fling with a new fling in the reverse direction.

Comment 4 by sahel@chromium.org, Nov 5

This helps a lot, thanks wanderview@

Comment 5 by bleung@google.com, Nov 5

Cc: bleung@chromium.org jkwang@chromium.org
Labels: M-72 OS-Chrome
Also affects Chrome OS. Fling is broken if I change direction in the middle of a fling until a switch between tabs or cycle to & from a different window.

Comment 6 by sahel@chromium.org, Nov 7

Issue 902445 has been merged into this issue.

Comment 7 by aska...@chromium.org, Nov 7

Labels: -Type-Bug ReleaseBlock-Stable Target-72 FoundIn-72 Type-Bug-Regression
Adding necessary labels and other info.

Bisect info:
Good build: 72.0.3598.0
Bad build: 72.0.3599.0
Regression range: https://chromium.googlesource.com/chromium/src/+log/72.0.3598.0..72.0.3599.0?pretty=fuller&n=10000 

Good commit: 604706
Bad commit: 604707
Suspect CL: https://chromium.googlesource.com/chromium/src/+/0e58f2caab6a230fdb0f2b1993a44c2f4546c2f5

Comment 8 by bugdroid1@chromium.org, Nov 8

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0b48b62c4392e7cd594d9fbe8684e93abc72aa1b

commit 0b48b62c4392e7cd594d9fbe8684e93abc72aa1b
Author: Sahel Sharify <sahel@chromium.org>
Date: Thu Nov 08 21:27:02 2018

Fixed fling regression from registering observer on GSB instead of GFS.

This cl resolves the regression that is caused by the following cl:
https://chromium-review.googlesource.com/c/chromium/src/+/1313270

The previous cl calls UnregisterFlingSchedulerObserver() twice when a
fling gets cancelled: once from gesture_event_queue while handling the
generated GSE and once from FlingScheduler::DidStopFlingingOnBrowser.

When there is only one active fling and the fling is not interrupted by
another scroll/fling this works fine since the second Unregister call
does nothing. However sometimes when a new fling replaces an active fling
(e.g. starting a fling in the opposite direction of the currently active
fling) the second Unregister call unregisters the observer that is added
for the new fling. Since the observer is unregistered for the new fling
no ProgressFling will get called till the user does a third fling.
on the first ProgressFling call for the third fling, the controller tries
to cancel the second fling and calls unregister which unregisters the
observer for the third fling and the same thing happens for the rest of
the flings from now on.

This cl fixes the issue by not calling UnregisterFlingSchedulerObserver()
in FlingScheduler::DidStopFlingingOnBrowser since it will get called once
the generated GSE of the fling cancel is processed.

Bug:  901831 
Change-Id: I4d52f512ea38764fc64c580f6cac5ed4a32c1bee
Reviewed-on: https://chromium-review.googlesource.com/c/1327145
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Sahel Sharify <sahel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606606}
[modify] https://crrev.com/0b48b62c4392e7cd594d9fbe8684e93abc72aa1b/content/browser/renderer_host/input/fling_scheduler.cc
[modify] https://crrev.com/0b48b62c4392e7cd594d9fbe8684e93abc72aa1b/content/browser/renderer_host/input/fling_scheduler_android.cc
[modify] https://crrev.com/0b48b62c4392e7cd594d9fbe8684e93abc72aa1b/content/browser/renderer_host/input/fling_scheduler_unittest.cc

Comment 9 by sahel@chromium.org, Nov 9

Could reproduce the issue in today's Canary.

dtapuska@ could you please confirm the fix on 72.0.3606.0?

Comment 10 by dtapu...@chromium.org, Nov 9

Seems to be fixed in 72.0.3606.0 on pixel 2

Comment 11 by sahel@chromium.org, Nov 9

Status: Fixed (was: Started)

Comment 12 by kbr@chromium.org, Nov 9

Blocking: 882907
Linking to parent bug.

Comment 13 by sahel@chromium.org, Nov 27

Cc: sahel@chromium.org chelamcherla@chromium.org
 Issue 908741  has been merged into this issue.

Sign in to add a comment