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

Issue 759799 link

Starred by 4 users

Issue metadata

Status: Started
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

Progress bar animations on Android

Project Member Reported by mdjones@chromium.org, Aug 28 2017

Issue description

Before the indeterminate progress bar on Android is triggered, progress updates are still choppy. This bug is to track possible improvements to the progress bar's animation.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7c37430cdf20dad949be080d21904a115ef2f96f

commit 7c37430cdf20dad949be080d21904a115ef2f96f
Author: Matthew Jones <mdjones@chromium.org>
Date: Mon Sep 11 15:59:28 2017

Add flag and implementation for throttled progress updates on Android

This change adds a flag to enable throttling of progress updates. If an update
is greater than 5%, an animator starts and incrementally updates the progress
bar by 5% until it reaches the original target.

Bug=759799

Change-Id: I11b361adb9c347a2a16be583a0834bc88a7e7a91
Reviewed-on: https://chromium-review.googlesource.com/639150
Commit-Queue: Matthew Jones <mdjones@chromium.org>
Reviewed-by: Yusuf Ozuysal <yusufo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500927}
[modify] https://crrev.com/7c37430cdf20dad949be080d21904a115ef2f96f/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
[modify] https://crrev.com/7c37430cdf20dad949be080d21904a115ef2f96f/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java
[modify] https://crrev.com/7c37430cdf20dad949be080d21904a115ef2f96f/chrome/browser/about_flags.cc
[modify] https://crrev.com/7c37430cdf20dad949be080d21904a115ef2f96f/chrome/browser/android/chrome_feature_list.cc
[modify] https://crrev.com/7c37430cdf20dad949be080d21904a115ef2f96f/chrome/browser/android/chrome_feature_list.h
[modify] https://crrev.com/7c37430cdf20dad949be080d21904a115ef2f96f/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/7c37430cdf20dad949be080d21904a115ef2f96f/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/7c37430cdf20dad949be080d21904a115ef2f96f/tools/metrics/histograms/enums.xml

Project Member

Comment 2 by bugdroid1@chromium.org, Oct 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d78bed175b725f6873485858bc4f7a259aab687f

commit d78bed175b725f6873485858bc4f7a259aab687f
Author: Matthew Jones <mdjones@chromium.org>
Date: Wed Oct 04 17:17:49 2017

Add curve to throttled progress bar

This change makes the progress updates to the throttled progress bar
decelerate in updating linearly.

BUG=759799

Change-Id: Id146bd253bca2d86e655fc4470c98c8bd945937e
Reviewed-on: https://chromium-review.googlesource.com/692630
Reviewed-by: Yusuf Ozuysal <yusufo@chromium.org>
Commit-Queue: Matthew Jones <mdjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506424}
[modify] https://crrev.com/d78bed175b725f6873485858bc4f7a259aab687f/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java

Comment 3 by cl...@chromium.org, Oct 20 2017

We have UI Review approval for this now ( https://groups.google.com/a/google.com/forum/#!topic/chrome-ui-review/2yEl8bXUCEE ) so it's ready to push for stable, from the UX perspective.
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5c6ebfabf1026d6479f2be52853bbb7c71c79bee

commit 5c6ebfabf1026d6479f2be52853bbb7c71c79bee
Author: Matthew Jones <mdjones@chromium.org>
Date: Fri Oct 20 15:55:00 2017

Prevent double progress start when loading state changes

Both native code and java attempt to reset the progress shown by the
progress bar. Normally, in java, the onLoadStarted and onLoadStopped
methods are used to trigger the progress bar; these methods are
driven off of the loadingStateChanged method of WebContents. The
progress bar in java uses these signals to adjust the current
displayed progress. On the native side there is some duplicate logic
that also listens to loadingStateChanged and tries to correct the
displayed progress to 0 or 1 depending on whether the web contents is
loading. That logic is removed by this change.

BUG=759799

Change-Id: I6b68b20ccf3bfbae2fdc401e9cd077fd77172d83
Reviewed-on: https://chromium-review.googlesource.com/729140
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Matthew Jones <mdjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510449}
[modify] https://crrev.com/5c6ebfabf1026d6479f2be52853bbb7c71c79bee/chrome/browser/android/tab_web_contents_delegate_android.cc
[modify] https://crrev.com/5c6ebfabf1026d6479f2be52853bbb7c71c79bee/chrome/browser/android/tab_web_contents_delegate_android.h

Labels: M-64
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/95f29fcd6f90903cbfbd71bbe6205d75cd55e915

commit 95f29fcd6f90903cbfbd71bbe6205d75cd55e915
Author: Matthew Jones <mdjones@chromium.org>
Date: Fri Nov 03 14:52:51 2017

Remove throttled-progress updates flag

This change removes the flag for the throttled progress bar, turning
it on by default for all users.

BUG=759799

Change-Id: Ia15d5db65f27bab222d4aac9dadea24bccca0e23
Reviewed-on: https://chromium-review.googlesource.com/726844
Commit-Queue: Matthew Jones <mdjones@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513770}
[modify] https://crrev.com/95f29fcd6f90903cbfbd71bbe6205d75cd55e915/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
[modify] https://crrev.com/95f29fcd6f90903cbfbd71bbe6205d75cd55e915/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
[modify] https://crrev.com/95f29fcd6f90903cbfbd71bbe6205d75cd55e915/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java
[modify] https://crrev.com/95f29fcd6f90903cbfbd71bbe6205d75cd55e915/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
[modify] https://crrev.com/95f29fcd6f90903cbfbd71bbe6205d75cd55e915/chrome/browser/about_flags.cc
[modify] https://crrev.com/95f29fcd6f90903cbfbd71bbe6205d75cd55e915/chrome/browser/android/chrome_feature_list.cc
[modify] https://crrev.com/95f29fcd6f90903cbfbd71bbe6205d75cd55e915/chrome/browser/android/chrome_feature_list.h
[modify] https://crrev.com/95f29fcd6f90903cbfbd71bbe6205d75cd55e915/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/95f29fcd6f90903cbfbd71bbe6205d75cd55e915/chrome/browser/flag_descriptions.h

Status: Fixed (was: Assigned)
Status: Started (was: Fixed)
Launching this introduced a few issues (782195, 781789) and small perf regression (782343). Reverting until I can figure out the former two. 
Project Member

Comment 9 by bugdroid1@chromium.org, Nov 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a88b9585e2e124636a87e565154bd5fa3a105ba4

commit a88b9585e2e124636a87e565154bd5fa3a105ba4
Author: Matthew Jones <mdjones@chromium.org>
Date: Wed Nov 08 23:13:50 2017

Revert "Remove throttled-progress updates flag"

This reverts commit 95f29fcd6f90903cbfbd71bbe6205d75cd55e915.

Reason for revert: Breaks tests on tablets: crbug.com/781789

Original change's description:
> Remove throttled-progress updates flag
> 
> This change removes the flag for the throttled progress bar, turning
> it on by default for all users.
> 
> BUG=759799
> 
> Change-Id: Ia15d5db65f27bab222d4aac9dadea24bccca0e23
> Reviewed-on: https://chromium-review.googlesource.com/726844
> Commit-Queue: Matthew Jones <mdjones@chromium.org>
> Reviewed-by: Ted Choc <tedchoc@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#513770}

TBR=tedchoc@chromium.org,mdjones@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 759799
Change-Id: I7b74c0cd824021c479661ea9f9466821fb4f98a6
Reviewed-on: https://chromium-review.googlesource.com/759113
Reviewed-by: Matthew Jones <mdjones@chromium.org>
Commit-Queue: Matthew Jones <mdjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514992}
[modify] https://crrev.com/a88b9585e2e124636a87e565154bd5fa3a105ba4/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
[modify] https://crrev.com/a88b9585e2e124636a87e565154bd5fa3a105ba4/chrome/android/java/src/org/chromium/chrome/browser/widget/ToolbarProgressBar.java
[modify] https://crrev.com/a88b9585e2e124636a87e565154bd5fa3a105ba4/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
[modify] https://crrev.com/a88b9585e2e124636a87e565154bd5fa3a105ba4/chrome/browser/about_flags.cc
[modify] https://crrev.com/a88b9585e2e124636a87e565154bd5fa3a105ba4/chrome/browser/android/chrome_feature_list.cc
[modify] https://crrev.com/a88b9585e2e124636a87e565154bd5fa3a105ba4/chrome/browser/android/chrome_feature_list.h
[modify] https://crrev.com/a88b9585e2e124636a87e565154bd5fa3a105ba4/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/a88b9585e2e124636a87e565154bd5fa3a105ba4/chrome/browser/flag_descriptions.h

It appears that the performance hit is particularly bad on low-end devices:  crbug.com/782795 

Cc: mdjones@chromium.org sandeepkumars@chromium.org
 Issue 794658  has been merged into this issue.

Comment 12 by k...@chromium.org, Feb 15 2018

Cc: -k...@chromium.org

Sign in to add a comment