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

Issue 1308833004: Show Goodies page to new Chromebook users (Closed)

Created:
5 years, 3 months ago by Greg Levin
Modified:
5 years, 2 months ago
Reviewers:
achuithb
CC:
chromium-reviews, dzhioev+watch_chromium.org, oshima+watch_chromium.org, davemoore+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Show Goodies page to new Chromebook users BUG=520119 TEST=Open new empty browser window for the first time on a new Chromebook (non-enterprise, logged-in user). The Goodies page should open in a second, inactive tab.

Patch Set 1 #

Total comments: 9

Patch Set 2 : Move code into goodies_displayer #

Total comments: 3

Patch Set 3 : Use LazyInstance<GoodiesDisplayer> #

Total comments: 28

Patch Set 4 : Address reviewer comments #

Total comments: 12

Patch Set 5 : Reviewer comments: Round 2 #

Patch Set 6 : Reviewer comments: Round 3 #

Total comments: 8

Patch Set 7 : Reviewer comments: Round 4 #

Total comments: 2

Patch Set 8 : Add GoodiesDisplayer::Delegate for future testing #

Total comments: 23

Patch Set 9 : Change delegate from interface to implementation #

Total comments: 10
Unified diffs Side-by-side diffs Delta from patch set Stats (+213 lines, -6 lines) Patch
A chrome/browser/chromeos/first_run/goodies_displayer.h View 1 2 3 4 5 6 7 8 1 chunk +57 lines, -0 lines 2 comments Download
A chrome/browser/chromeos/first_run/goodies_displayer.cc View 1 2 3 4 5 6 7 8 1 chunk +116 lines, -0 lines 5 comments Download
M chrome/browser/chromeos/login/session/user_session_manager.h View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/login/session/user_session_manager.cc View 1 2 3 4 5 6 7 8 3 chunks +6 lines, -0 lines 1 comment Download
M chrome/browser/chromeos/login/startup_utils.h View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/login/startup_utils.cc View 1 2 3 4 5 6 7 8 3 chunks +16 lines, -6 lines 2 comments Download
M chrome/chrome_browser_chromeos.gypi View 1 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/common/pref_names.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/pref_names.cc View 1 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 26 (5 generated)
Greg Levin
Please have a look! chrome/browser/chromeos/login/* -dzhioev@ chrome/browser/profiles/* -anthonyvd@ chrome/browser/ui/* chrome/common/* -pkasting@ See go/cros-goodies-prompt-dd for some ...
5 years, 3 months ago (2015-09-09 23:20:33 UTC) #2
Peter Kasting
https://codereview.chromium.org/1308833004/diff/1/chrome/browser/ui/browser_commands.cc File chrome/browser/ui/browser_commands.cc (right): https://codereview.chromium.org/1308833004/diff/1/chrome/browser/ui/browser_commands.cc#newcode360 chrome/browser/ui/browser_commands.cc:360: AddTabAt(browser, goodies_url, 2, false); On 2015/09/09 23:20:33, Greg Levin ...
5 years, 3 months ago (2015-09-10 00:10:05 UTC) #3
Greg Levin
https://codereview.chromium.org/1308833004/diff/1/chrome/browser/ui/browser_commands.cc File chrome/browser/ui/browser_commands.cc (right): https://codereview.chromium.org/1308833004/diff/1/chrome/browser/ui/browser_commands.cc#newcode360 chrome/browser/ui/browser_commands.cc:360: AddTabAt(browser, goodies_url, 2, false); On 2015/09/10 00:10:05, Peter Kasting ...
5 years, 3 months ago (2015-09-10 13:20:21 UTC) #4
Peter Kasting
https://codereview.chromium.org/1308833004/diff/1/chrome/browser/ui/browser_commands.cc File chrome/browser/ui/browser_commands.cc (right): https://codereview.chromium.org/1308833004/diff/1/chrome/browser/ui/browser_commands.cc#newcode360 chrome/browser/ui/browser_commands.cc:360: AddTabAt(browser, goodies_url, 2, false); On 2015/09/10 13:20:21, Greg Levin ...
5 years, 3 months ago (2015-09-10 20:39:35 UTC) #5
anthonyvd
https://codereview.chromium.org/1308833004/diff/1/chrome/browser/profiles/profile_impl.cc File chrome/browser/profiles/profile_impl.cc (right): https://codereview.chromium.org/1308833004/diff/1/chrome/browser/profiles/profile_impl.cc#newcode1226 chrome/browser/profiles/profile_impl.cc:1226: GURL ProfileImpl::ShowingGoodiesPageInNewWindow() { On 2015/09/09 23:20:33, Greg Levin wrote: ...
5 years, 3 months ago (2015-09-14 13:59:35 UTC) #6
Greg Levin
Please have another look! I've completely refactored this, and moved all code into a new ...
5 years, 3 months ago (2015-09-15 00:12:11 UTC) #7
Greg Levin
Now using a LazyInstance of GoodiesDisplayer. I don't know if this is the *best* way ...
5 years, 3 months ago (2015-09-15 16:16:24 UTC) #8
achuithb
https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc File chrome/browser/chromeos/first_run/goodies_displayer.cc (right): https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc#newcode38 chrome/browser/chromeos/first_run/goodies_displayer.cc:38: static bool CheckGoodiesPrefAgainstOobeTimestamp() { Don't need static. anon namespace ...
5 years, 3 months ago (2015-09-15 18:20:54 UTC) #10
achuithb
https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc File chrome/browser/chromeos/first_run/goodies_displayer.cc (right): https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc#newcode31 chrome/browser/chromeos/first_run/goodies_displayer.cc:31: base::LazyInstance<GoodiesDisplayer> g_goodies_displayer = I don't see any reason why ...
5 years, 3 months ago (2015-09-15 18:24:32 UTC) #11
Greg Levin
https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc File chrome/browser/chromeos/first_run/goodies_displayer.cc (right): https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc#newcode31 chrome/browser/chromeos/first_run/goodies_displayer.cc:31: base::LazyInstance<GoodiesDisplayer> g_goodies_displayer = On 2015/09/15 18:24:32, achuithb wrote: > ...
5 years, 3 months ago (2015-09-15 21:44:49 UTC) #12
achuithb
https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc File chrome/browser/chromeos/first_run/goodies_displayer.cc (right): https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc#newcode31 chrome/browser/chromeos/first_run/goodies_displayer.cc:31: base::LazyInstance<GoodiesDisplayer> g_goodies_displayer = On 2015/09/15 21:44:48, Greg Levin wrote: ...
5 years, 3 months ago (2015-09-16 03:40:29 UTC) #13
Greg Levin
https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc File chrome/browser/chromeos/first_run/goodies_displayer.cc (right): https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc#newcode31 chrome/browser/chromeos/first_run/goodies_displayer.cc:31: base::LazyInstance<GoodiesDisplayer> g_goodies_displayer = |> Hmm, are you sure that's ...
5 years, 3 months ago (2015-09-16 16:55:13 UTC) #14
achuithb
https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc File chrome/browser/chromeos/first_run/goodies_displayer.cc (right): https://codereview.chromium.org/1308833004/diff/40001/chrome/browser/chromeos/first_run/goodies_displayer.cc#newcode31 chrome/browser/chromeos/first_run/goodies_displayer.cc:31: base::LazyInstance<GoodiesDisplayer> g_goodies_displayer = On 2015/09/16 16:55:13, Greg Levin wrote: ...
5 years, 3 months ago (2015-09-16 17:17:30 UTC) #15
Greg Levin
Moved g_goodies_displayer to be UserSessionManager::goodies_displayer_. This now gets deleted either after its single use or ...
5 years, 3 months ago (2015-09-16 20:48:23 UTC) #16
achuithb
Looking at UserSessionManager, it really doesn't look like the right place for this :( I ...
5 years, 3 months ago (2015-09-16 21:51:36 UTC) #19
Greg Levin
https://codereview.chromium.org/1308833004/diff/100001/chrome/browser/chromeos/first_run/goodies_displayer.cc File chrome/browser/chromeos/first_run/goodies_displayer.cc (right): https://codereview.chromium.org/1308833004/diff/100001/chrome/browser/chromeos/first_run/goodies_displayer.cc#newcode36 chrome/browser/chromeos/first_run/goodies_displayer.cc:36: base::File::Info fileInfo; On 2015/09/16 21:51:36, achuithb wrote: > Add ...
5 years, 3 months ago (2015-09-16 22:50:45 UTC) #20
achuithb
https://codereview.chromium.org/1308833004/diff/120001/chrome/browser/chromeos/first_run/goodies_displayer.cc File chrome/browser/chromeos/first_run/goodies_displayer.cc (right): https://codereview.chromium.org/1308833004/diff/120001/chrome/browser/chromeos/first_run/goodies_displayer.cc#newcode39 chrome/browser/chromeos/first_run/goodies_displayer.cc:39: const base::TimeDelta time_since_oobe = Wonder if it makes sense ...
5 years, 3 months ago (2015-09-17 17:04:41 UTC) #21
Greg Levin
Here's the code switching needed testing support into GoodiesDisplayer::Delegate. When this is ready, since it's ...
5 years, 3 months ago (2015-09-17 23:21:40 UTC) #23
achuithb
https://codereview.chromium.org/1308833004/diff/140001/chrome/browser/chromeos/first_run/goodies_displayer.cc File chrome/browser/chromeos/first_run/goodies_displayer.cc (right): https://codereview.chromium.org/1308833004/diff/140001/chrome/browser/chromeos/first_run/goodies_displayer.cc#newcode36 chrome/browser/chromeos/first_run/goodies_displayer.cc:36: return (delegate->GetTimeSinceOobe() <= Drop outer parens https://codereview.chromium.org/1308833004/diff/140001/chrome/browser/chromeos/first_run/goodies_displayer.cc#newcode59 chrome/browser/chromeos/first_run/goodies_displayer.cc:59: if ...
5 years, 3 months ago (2015-09-18 16:39:12 UTC) #24
Greg Levin
https://codereview.chromium.org/1308833004/diff/140001/chrome/browser/chromeos/first_run/goodies_displayer.cc File chrome/browser/chromeos/first_run/goodies_displayer.cc (right): https://codereview.chromium.org/1308833004/diff/140001/chrome/browser/chromeos/first_run/goodies_displayer.cc#newcode36 chrome/browser/chromeos/first_run/goodies_displayer.cc:36: return (delegate->GetTimeSinceOobe() <= On 2015/09/18 16:39:11, achuithb wrote: > ...
5 years, 3 months ago (2015-09-18 18:49:28 UTC) #25
achuithb
5 years, 3 months ago (2015-09-18 19:05:52 UTC) #26
https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
File chrome/browser/chromeos/first_run/goodies_displayer.cc (right):

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
chrome/browser/chromeos/first_run/goodies_displayer.cc:33: bool
CheckGoodiesPrefAgainstOobeTimestamp(
Make this a private method of Delegate

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
chrome/browser/chromeos/first_run/goodies_displayer.cc:42: void
UpdateGoodiesPrefCantShow(GoodiesDisplayer::Delegate* delegate,
Make this a private method of Delegate

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
chrome/browser/chromeos/first_run/goodies_displayer.cc:45:
delegate->CreateGoodiesDisplayer();
Inline the implementation of CreateGoodiesDisplayer here

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
chrome/browser/chromeos/first_run/goodies_displayer.cc:80: void
GoodiesDisplayer::Init(Delegate* delegate) {
Make this a non-static method

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
chrome/browser/chromeos/first_run/goodies_displayer.cc:85:
base::Bind(&CheckGoodiesPrefAgainstOobeTimestamp, delegate),
use WeakFactory

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
File chrome/browser/chromeos/first_run/goodies_displayer.h (right):

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
chrome/browser/chromeos/first_run/goodies_displayer.h:25: void
CreateGoodiesDisplayer();
Don't think you need this method

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
chrome/browser/chromeos/first_run/goodies_displayer.h:28: void
DestroyGoodiesDisplayer();
You don't need this method

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
File chrome/browser/chromeos/login/session/user_session_manager.cc (right):

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
chrome/browser/chromeos/login/session/user_session_manager.cc:1762:
goodies_displayer_delegate_->DestroyGoodiesDisplayer();
Call reset instead.

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
File chrome/browser/chromeos/login/startup_utils.cc (right):

https://codereview.chromium.org/1308833004/diff/160001/chrome/browser/chromeo...
chrome/browser/chromeos/login/startup_utils.cc:151: bool file_exists =
base::PathExists(oobe_complete_flag_path);
On 2015/09/18 18:49:28, Greg Levin wrote:
> Is it generally considered desirable or meddling to make little code changes
> like this to make things more uniform?

It's fine to clean up as you go along. If you make a large number of mechanical
changes, it's better to use a separate CL so it's not distracting during reviews

Powered by Google App Engine
This is Rietveld 408576698