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

Issue 614452 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
OOO until Feb 4th
Closed: Nov 2016
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 607289



Sign in to add a comment

Split up DeferredStartupHandler into tasks queued into the idle handler

Project Member Reported by wnwen@chromium.org, May 24 2016

Issue description

DeferredStartupHandler takes too long in one go and will cause jank. We also want it to run earlier, see issue 607289 for more context.
 
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 13 2016

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

commit 67d88a4a54b1985d10fb3865121c0e6a08ec78ec
Author: wnwen <wnwen@chromium.org>
Date: Mon Jun 13 13:52:01 2016

Split up deferred startup tasks.

Tasks that depend on the app can take longer in a runnable queue, but
the ones that rely on the activity being active need more care.

Clarifying which ones actually depend on the activity vs app also
gives us more accurate accounting.

BUG= 614452 

Review-Url: https://codereview.chromium.org/2044403002
Cr-Commit-Position: refs/heads/master@{#399443}

[modify] https://crrev.com/67d88a4a54b1985d10fb3865121c0e6a08ec78ec/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
[modify] https://crrev.com/67d88a4a54b1985d10fb3865121c0e6a08ec78ec/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java
[modify] https://crrev.com/67d88a4a54b1985d10fb3865121c0e6a08ec78ec/tools/metrics/histograms/histograms.xml

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 15 2016

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

commit 67d88a4a54b1985d10fb3865121c0e6a08ec78ec
Author: wnwen <wnwen@chromium.org>
Date: Mon Jun 13 13:52:01 2016

Split up deferred startup tasks.

Tasks that depend on the app can take longer in a runnable queue, but
the ones that rely on the activity being active need more care.

Clarifying which ones actually depend on the activity vs app also
gives us more accurate accounting.

BUG= 614452 

Review-Url: https://codereview.chromium.org/2044403002
Cr-Commit-Position: refs/heads/master@{#399443}

[modify] https://crrev.com/67d88a4a54b1985d10fb3865121c0e6a08ec78ec/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
[modify] https://crrev.com/67d88a4a54b1985d10fb3865121c0e6a08ec78ec/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java
[modify] https://crrev.com/67d88a4a54b1985d10fb3865121c0e6a08ec78ec/tools/metrics/histograms/histograms.xml

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 2 2016

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

commit b17794608da80ccba64795658fac6239bdae6510
Author: wnwen <wnwen@chromium.org>
Date: Tue Aug 02 18:26:02 2016

Separate deferred startup into tasks.

Correct UMA timing to be based on foreground start rather than
application initialization, as the application is often initialized in
the background, causing misleading stats.

By separating one single task into multiple tasks queued by the idle
handler, we don't block UI thread for a long time. We used to do
~100ms of blocking work for deferred startup, now it is reduced to
around ~20ms for the longest task. Tested on an N6, so on slower
devices this takes much longer.

BUG= 614452 

Review-Url: https://codereview.chromium.org/2121863002
Cr-Commit-Position: refs/heads/master@{#409251}

[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java
[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java
[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestBase.java
[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestCaseBase.java
[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/chrome/test/android/javatests/src/org/chromium/chrome/test/util/FullscreenTestUtils.java
[modify] https://crrev.com/b17794608da80ccba64795658fac6239bdae6510/tools/metrics/histograms/histograms.xml

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 3 2016

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

commit 6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2
Author: tedchoc <tedchoc@chromium.org>
Date: Wed Aug 03 00:10:42 2016

Revert "Separate deferred startup into tasks."

This reverts commit b17794608da80ccba64795658fac6239bdae6510.

Suspect for CustomTab test breakage:
https://build.chromium.org/p/chromium.linux/builders/Android%20Tests%20%28dbg%29/builds/35551/steps/chrome_public_test_apk/logs/stdio

TBR=wnwen@chromium.org,asvitkine@chromium.org
NOTRY=true
BUG= 614452 

Review-Url: https://codereview.chromium.org/2203223002
Cr-Commit-Position: refs/heads/master@{#409390}

[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java
[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java
[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestBase.java
[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestCaseBase.java
[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/chrome/test/android/javatests/src/org/chromium/chrome/test/util/FullscreenTestUtils.java
[modify] https://crrev.com/6a1eaba440bff87eca6ed9a3f7cadc1f5c6ef5f2/tools/metrics/histograms/histograms.xml

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 8 2016

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

commit bcdc694e5fb4cf003124cf5b940e4807322a184e
Author: wnwen <wnwen@chromium.org>
Date: Mon Aug 08 13:52:03 2016

Reland of Separate deferred startup into tasks.

Original: https://codereview.chromium.org/2121863002/

Fixes:
- Guarantee ChromeApplication#onStartWithNative has been called by
  custom tabs before posting deferred startup.

BUG= 614452 
TBR=dtrainor@chromium.org,agrieve@chromium.org,asvitkine@chromium.org,pasko@chromium.org

Review-Url: https://codereview.chromium.org/2207933002
Cr-Commit-Position: refs/heads/master@{#410342}

[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/DeferredStartupHandler.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestBase.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/android/javatests/src/org/chromium/chrome/browser/widget/ToolbarProgressBarTest.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeActivityTestCaseBase.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/chrome/test/android/javatests/src/org/chromium/chrome/test/util/FullscreenTestUtils.java
[modify] https://crrev.com/bcdc694e5fb4cf003124cf5b940e4807322a184e/tools/metrics/histograms/histograms.xml

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 18 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/c7cc688fd41195e53beb37fad567cb2587a1f4b5

commit c7cc688fd41195e53beb37fad567cb2587a1f4b5
Author: Peter Wen <wnwen@google.com>
Date: Tue Jul 05 21:13:52 2016

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 18 2016

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/clank/internal/apps/+/c7cc688fd41195e53beb37fad567cb2587a1f4b5

commit c7cc688fd41195e53beb37fad567cb2587a1f4b5
Author: Peter Wen <wnwen@google.com>
Date: Tue Jul 05 21:13:52 2016

Just curious what the status of this is. Is there still more planned work to do?

Comment 10 by wnwen@chromium.org, Nov 14 2016

Status: Fixed (was: Assigned)
Sorry for the delay, I think this is done as is.

Sign in to add a comment