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

Issue 2519853004: Allow fetching variations while FRE is showing on Android first run. (Closed)

Created:
4 years, 1 month ago by Alexei Svitkine (slow)
Modified:
4 years ago
Reviewers:
Ted C, Yusuf, gogerald1
CC:
chromium-reviews, asvitkine+watch_chromium.org, agrieve+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Allow fetching variations while FRE is showing on Android first run. This CL makes initialization of freProperties happen in two stages - the parts that don't have native dependencies can happen as they do now, while the parts that require native are postponed to be done only after proceeding after the first FRE screen. This allows to run the FRE code before native is initialized and this CL does so by moving the code to launch FRE to preInflationStartup(). This way, the FRE flow starts while the rest of browser startup is still happening including async native initialization. With this CL, the variations fetch and native async initialization has a chance to complete while the user is still on first FRE page. If instead they click through before that completes, native will be initialized synchronously and so the variations fetch will arrive later than native init. I think this is OK for now and we can look at the stats of how often we lose this race to decide whether we need to block on it before advancing to next FRE page (e.g. with a progress spinner UI). BUG=632199 Committed: https://crrev.com/a95e2463c072ace6fdb45f948dc24e2de4e781b9 Cr-Commit-Position: refs/heads/master@{#436530}

Patch Set 1 #

Patch Set 2 : Revert tag change. #

Patch Set 3 : Fix unit tests. #

Total comments: 12

Patch Set 4 : Replace runnable with a sequencer method. #

Total comments: 18

Patch Set 5 : Add initializeSharedState(). #

Patch Set 6 : Moar comments. #

Patch Set 7 : Fix recordForegroundStartTime(). #

Messages

Total messages: 74 (54 generated)
Alexei Svitkine (slow)
PTAL! Apologies for the large CL, but I think this is the last part of ...
4 years ago (2016-11-30 23:01:02 UTC) #30
Alexei Svitkine (slow)
There was some /FirstRunFlowSequencerTest failures in the earlier patch set because the CL moved some ...
4 years ago (2016-12-01 16:17:47 UTC) #37
Ted C
You've opened a lovely can of worms here I see. Let's dig in! https://codereview.chromium.org/2519853004/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java File ...
4 years ago (2016-12-01 21:59:06 UTC) #40
Alexei Svitkine (slow)
Thanks. I changed the code to remove the Runnable as you suggest, but didn't do ...
4 years ago (2016-12-02 18:34:54 UTC) #42
Ted C
https://codereview.chromium.org/2519853004/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java File chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java (right): https://codereview.chromium.org/2519853004/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java#newcode516 chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java:516: if (mNativeSideIsInitialized) return; On 2016/12/02 18:34:54, Alexei Svitkine wrote: ...
4 years ago (2016-12-02 21:34:53 UTC) #46
Alexei Svitkine (slow)
Thanks for the comments - some discussion below. https://codereview.chromium.org/2519853004/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java File chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java (right): https://codereview.chromium.org/2519853004/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java#newcode516 chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java:516: if ...
4 years ago (2016-12-02 22:42:32 UTC) #47
Yusuf
https://codereview.chromium.org/2519853004/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java File chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java (right): https://codereview.chromium.org/2519853004/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java#newcode516 chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java:516: if (mNativeSideIsInitialized) return; On 2016/12/02 22:42:32, Alexei Svitkine wrote: ...
4 years ago (2016-12-02 23:31:24 UTC) #48
Ted C
https://codereview.chromium.org/2519853004/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java File chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java (right): https://codereview.chromium.org/2519853004/diff/240001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java#newcode516 chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java:516: if (mNativeSideIsInitialized) return; On 2016/12/02 22:42:32, Alexei Svitkine wrote: ...
4 years ago (2016-12-02 23:47:33 UTC) #49
Alexei Svitkine (slow)
Added initializeSharedState() PTAL.
4 years ago (2016-12-05 16:48:51 UTC) #50
Ted C
On 2016/12/05 16:48:51, Alexei Svitkine wrote: > Added initializeSharedState() PTAL. Overall, that seems good to ...
4 years ago (2016-12-05 19:44:17 UTC) #55
Alexei Svitkine (slow)
Thanks - sorry forgot to address those other comments - addressed now. Also let me ...
4 years ago (2016-12-05 20:09:04 UTC) #56
Alexei Svitkine (slow)
https://codereview.chromium.org/2519853004/diff/260001/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java File chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java (right): https://codereview.chromium.org/2519853004/diff/260001/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java#newcode35 chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java:35: if (sForegroundStartTimeMs == 0) sForegroundStartTimeMs = SystemClock.uptimeMillis(); On 2016/12/05 ...
4 years ago (2016-12-05 20:15:15 UTC) #57
Ted C
https://codereview.chromium.org/2519853004/diff/260001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java File chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java (right): https://codereview.chromium.org/2519853004/diff/260001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java#newcode103 chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java:103: private boolean mPostNativePageSequenceCreated; On 2016/12/05 20:09:03, Alexei Svitkine wrote: ...
4 years ago (2016-12-05 21:51:11 UTC) #58
Ted C
On 2016/12/05 21:51:11, Ted C wrote: > https://codereview.chromium.org/2519853004/diff/260001/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java > File > chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java > (right): > ...
4 years ago (2016-12-05 21:51:30 UTC) #59
Alexei Svitkine (slow)
PTAL https://codereview.chromium.org/2519853004/diff/260001/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java File chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java (right): https://codereview.chromium.org/2519853004/diff/260001/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java#newcode35 chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaUtils.java:35: if (sForegroundStartTimeMs == 0) sForegroundStartTimeMs = SystemClock.uptimeMillis(); On ...
4 years ago (2016-12-05 22:59:21 UTC) #62
Ted C
lgtm
4 years ago (2016-12-06 00:54:02 UTC) #66
Alexei Svitkine (slow)
Thanks, submitting.
4 years ago (2016-12-06 04:52:53 UTC) #67
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2519853004/320001
4 years ago (2016-12-06 04:53:17 UTC) #69
commit-bot: I haz the power
Committed patchset #7 (id:320001)
4 years ago (2016-12-06 04:58:20 UTC) #72
commit-bot: I haz the power
4 years ago (2016-12-06 05:01:51 UTC) #74
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/a95e2463c072ace6fdb45f948dc24e2de4e781b9
Cr-Commit-Position: refs/heads/master@{#436530}

Powered by Google App Engine
This is Rietveld 408576698