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

Issue 1087933002: Cross Device Promo - Main Eligibility Flow (Closed)

Created:
5 years, 8 months ago by Mike Lerman
Modified:
5 years, 7 months ago
CC:
chromium-reviews, rginda+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement a desktop promo for sign in that targets users who sign in on other devices. This CL implements: - the flow that detects if users are eligible for the promo, up to the point of making the remote call to determine if they sync elsewhere - A rough-out of the code that makes the remote call This previous CL implemented the calls necessary to mint access tokens: https://codereview.chromium.org/973953002 Work to do includes: Wiring up against the new Sync Endpoint, and building out any and all UI. Design Doc for the promo: https://docs.google.com/document/d/1ZmKjU24zAYuo38zFwJxUwJk_0JJ8b0UohkCGI41QnBI/edit Design Doc for the new Sync endpoint: https://docs.google.com/document/d/1pT1lyJLlr9x8kyp1Ns-GlyNySq1Nl0wWRnGX2kQ-pD4/edit BUG=463611 Committed: https://crrev.com/fea4db61440df5f16ebb287295cb4e9406f17ab4 Cr-Commit-Position: refs/heads/master@{#330732}

Patch Set 1 #

Patch Set 2 : Rough out the proto. define some UMA stats. define eligibility flow. #

Patch Set 3 : Rebase, mostly, and let there be an observer #

Patch Set 4 : Split ListDevices (and GAIA) calls into a new class #

Patch Set 5 : it compiles! it links! #

Patch Set 6 : snidge of formatting #

Patch Set 7 : rebase #

Patch Set 8 : A test works! #

Patch Set 9 : Testing XDevicePromo Observer. A second test for opting out. #

Patch Set 10 : Unit test the initialization. #

Patch Set 11 : Tests for Accounts in Cookie #

Patch Set 12 : test single_account pref #

Patch Set 13 : Add a flow for when the first listDevices request is scheduled in the future. Tests around the sche… #

Total comments: 2

Patch Set 14 : ActivityFetcher can fail. Invert signin tests. #

Patch Set 15 : histograms.xml. Re-fetch RPC when context switch expires. Last tests. #

Patch Set 16 : Rebase #

Patch Set 17 : add some histogram definitions. change how times are tracked. #

Patch Set 18 : Refactor some metrics. Make other OSes compile. #

Patch Set 19 : override #

Patch Set 20 : Add some VLOGs. Don't access the promo in incognito. Gypi file. #

Patch Set 21 : histograms.xml formatting. inequality in tests. no tests for CrOS. #

Patch Set 22 : pre-review #

Total comments: 2

Patch Set 23 : C'mon ChromeOS, you can do it! #

Total comments: 26

Patch Set 24 : More inequality #

Patch Set 25 : first set of anthony's comments #

Total comments: 30

Patch Set 26 : rogerta's comments #

Total comments: 8

Patch Set 27 : rogers nit and a signed variable type so mac compiles #

Total comments: 30

Patch Set 28 : alexei and anthony comments #

Patch Set 29 : git cl format #

Total comments: 43

Patch Set 30 : more alexei comments (histogram summaries, small refactorings) #

Total comments: 16

Patch Set 31 : alexei's final comments #

Patch Set 32 : build.gn #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1781 lines, -2 lines) Patch
M chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +7 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 3 chunks +14 lines, -2 lines 0 comments Download
A chrome/browser/signin/cross_device_promo.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +139 lines, -0 lines 0 comments Download
A chrome/browser/signin/cross_device_promo.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +428 lines, -0 lines 0 comments Download
A chrome/browser/signin/cross_device_promo_factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +42 lines, -0 lines 0 comments Download
A chrome/browser/signin/cross_device_promo_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 chunk +66 lines, -0 lines 0 comments Download
A chrome/browser/signin/cross_device_promo_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 1 chunk +618 lines, -0 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/chrome_tests_unit.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/pref_names.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +9 lines, -0 lines 0 comments Download
M chrome/common/pref_names.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +25 lines, -0 lines 0 comments Download
M components/signin.gypi View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M components/signin/core/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 chunk +2 lines, -0 lines 0 comments Download
A components/signin/core/browser/device_activity_fetcher.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +80 lines, -0 lines 0 comments Download
A components/signin/core/browser/device_activity_fetcher.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +203 lines, -0 lines 0 comments Download
M components/signin/core/browser/signin_metrics.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 2 chunks +43 lines, -0 lines 0 comments Download
M components/signin/core/browser/signin_metrics.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +19 lines, -0 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 2 chunks +79 lines, -0 lines 0 comments Download

Messages

Total messages: 30 (8 generated)
Mike Lerman
Hi Anthony, I'm still building out more tests, but it would be great to start ...
5 years, 7 months ago (2015-05-11 14:47:01 UTC) #2
anthonyvd
Hi Mike, this looks awesome :) I'm still looking at it but here's a first ...
5 years, 7 months ago (2015-05-14 18:24:21 UTC) #3
Mike Lerman
Thanks Anthony! https://codereview.chromium.org/1087933002/diff/230001/components/signin/core/browser/signin_metrics.h File components/signin/core/browser/signin_metrics.h (right): https://codereview.chromium.org/1087933002/diff/230001/components/signin/core/browser/signin_metrics.h#newcode147 components/signin/core/browser/signin_metrics.h:147: ELIGIBLE, On 2015/05/14 18:24:19, anthonyvd wrote: > ...
5 years, 7 months ago (2015-05-14 20:25:33 UTC) #4
Mike Lerman
I'll add Roger now to start looking at this, now that you've had a first ...
5 years, 7 months ago (2015-05-15 14:12:02 UTC) #6
Roger Tawa OOO till Jul 10th
Looks good, a few nits. https://codereview.chromium.org/1087933002/diff/470001/chrome/browser/signin/cross_device_promo.cc File chrome/browser/signin/cross_device_promo.cc (right): https://codereview.chromium.org/1087933002/diff/470001/chrome/browser/signin/cross_device_promo.cc#newcode26 chrome/browser/signin/cross_device_promo.cc:26: // converstion could not ...
5 years, 7 months ago (2015-05-15 16:01:40 UTC) #7
Mike Lerman
Thanks, Roger! Comments incorporated. https://codereview.chromium.org/1087933002/diff/470001/chrome/browser/signin/cross_device_promo.cc File chrome/browser/signin/cross_device_promo.cc (right): https://codereview.chromium.org/1087933002/diff/470001/chrome/browser/signin/cross_device_promo.cc#newcode26 chrome/browser/signin/cross_device_promo.cc:26: // converstion could not succeed. ...
5 years, 7 months ago (2015-05-15 20:47:35 UTC) #8
Roger Tawa OOO till Jul 10th
lgtm As for error.IsTransient(), Brian already committed that change :-) Lets talk on tuesday. https://codereview.chromium.org/1087933002/diff/490001/chrome/browser/signin/cross_device_promo.h ...
5 years, 7 months ago (2015-05-15 21:23:22 UTC) #9
Mike Lerman
Thanks, Roger. Alexei, can you please take a look at histograms.xml? All the logging macros ...
5 years, 7 months ago (2015-05-19 14:47:35 UTC) #11
anthonyvd
Couple nits, otherwise you've got my non-owner lgtm. Thanks for this, can't wait to use ...
5 years, 7 months ago (2015-05-19 15:07:38 UTC) #12
Alexei Svitkine (slow)
https://codereview.chromium.org/1087933002/diff/510001/chrome/browser/signin/cross_device_promo.cc File chrome/browser/signin/cross_device_promo.cc (right): https://codereview.chromium.org/1087933002/diff/510001/chrome/browser/signin/cross_device_promo.cc#newcode119 chrome/browser/signin/cross_device_promo.cc:119: std::string throttle = variations::GetVariationParamValue( Maybe add a helper function ...
5 years, 7 months ago (2015-05-19 15:23:49 UTC) #13
Mike Lerman
Ah, the glory of git cl format. Thanks for the feedback! https://codereview.chromium.org/1087933002/diff/490001/chrome/browser/signin/cross_device_promo.cc File chrome/browser/signin/cross_device_promo.cc (right): ...
5 years, 7 months ago (2015-05-19 16:53:17 UTC) #14
Alexei Svitkine (slow)
https://codereview.chromium.org/1087933002/diff/550001/chrome/browser/signin/cross_device_promo.cc File chrome/browser/signin/cross_device_promo.cc (right): https://codereview.chromium.org/1087933002/diff/550001/chrome/browser/signin/cross_device_promo.cc#newcode168 chrome/browser/signin/cross_device_promo.cc:168: base::Time::Now()) { Formatting seems off. But perhaps this is ...
5 years, 7 months ago (2015-05-19 17:10:38 UTC) #15
Mike Lerman
https://codereview.chromium.org/1087933002/diff/550001/chrome/browser/signin/cross_device_promo.cc File chrome/browser/signin/cross_device_promo.cc (right): https://codereview.chromium.org/1087933002/diff/550001/chrome/browser/signin/cross_device_promo.cc#newcode168 chrome/browser/signin/cross_device_promo.cc:168: base::Time::Now()) { On 2015/05/19 17:10:37, Alexei Svitkine wrote: > ...
5 years, 7 months ago (2015-05-19 18:17:35 UTC) #16
anthonyvd
https://codereview.chromium.org/1087933002/diff/550001/chrome/browser/signin/cross_device_promo.cc File chrome/browser/signin/cross_device_promo.cc (right): https://codereview.chromium.org/1087933002/diff/550001/chrome/browser/signin/cross_device_promo.cc#newcode338 chrome/browser/signin/cross_device_promo.cc:338: const DeviceActivityFetcher::DeviceActivity& second) { On 2015/05/19 18:17:34, Mike Lerman ...
5 years, 7 months ago (2015-05-19 18:57:50 UTC) #17
Alexei Svitkine (slow)
lgtm % remaining comments https://codereview.chromium.org/1087933002/diff/570001/chrome/browser/signin/cross_device_promo_factory.h File chrome/browser/signin/cross_device_promo_factory.h (right): https://codereview.chromium.org/1087933002/diff/570001/chrome/browser/signin/cross_device_promo_factory.h#newcode1 chrome/browser/signin/cross_device_promo_factory.h:1: // Copyright (c) 2012 The ...
5 years, 7 months ago (2015-05-19 19:59:44 UTC) #18
Mike Lerman
Thanks Mr Svitkine!
5 years, 7 months ago (2015-05-19 20:42:53 UTC) #19
Mike Lerman
Dun dunn dunn https://codereview.chromium.org/1087933002/diff/570001/chrome/browser/signin/cross_device_promo_factory.h File chrome/browser/signin/cross_device_promo_factory.h (right): https://codereview.chromium.org/1087933002/diff/570001/chrome/browser/signin/cross_device_promo_factory.h#newcode1 chrome/browser/signin/cross_device_promo_factory.h:1: // Copyright (c) 2012 The Chromium ...
5 years, 7 months ago (2015-05-19 20:54:04 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1087933002/590001
5 years, 7 months ago (2015-05-20 12:31:04 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_dbg on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_dbg/builds/73875)
5 years, 7 months ago (2015-05-20 13:03:34 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1087933002/610001
5 years, 7 months ago (2015-05-20 13:18:46 UTC) #28
commit-bot: I haz the power
Committed patchset #32 (id:610001)
5 years, 7 months ago (2015-05-20 14:13:15 UTC) #29
commit-bot: I haz the power
5 years, 7 months ago (2015-05-20 14:14:13 UTC) #30
Message was sent while issue was closed.
Patchset 32 (id:??) landed as
https://crrev.com/fea4db61440df5f16ebb287295cb4e9406f17ab4
Cr-Commit-Position: refs/heads/master@{#330732}

Powered by Google App Engine
This is Rietveld 408576698