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

Issue 7039042: [cros] update screen re-factoring pt.1 (Closed)

Created:
9 years, 7 months ago by altimofeev
Modified:
9 years, 7 months ago
CC:
chromium-reviews, nkostylev+cc_chromium.org, davemoore+watch_chromium.org
Visibility:
Public.

Description

Disjoints update screen controller part (UpdateScreen) from it's views part (UpdateView) via UpdateScreenActor interface. BUG=chromium-os:11632 TEST=browser_tests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=86270

Patch Set 1 #

Patch Set 2 : added misssing files #

Patch Set 3 : cleanup #

Patch Set 4 : check before reshow #

Patch Set 5 : browser_tests #

Total comments: 4

Patch Set 6 : fix for mocks #

Total comments: 37

Patch Set 7 : move virtual back to public #

Total comments: 1

Patch Set 8 : codereview #

Patch Set 9 : fixed the years #

Unified diffs Side-by-side diffs Delta from patch set Stats (+237 lines, -187 lines) Patch
M chrome/browser/chromeos/login/update_screen.h View 1 2 3 4 5 6 7 8 4 chunks +43 lines, -36 lines 0 comments Download
M chrome/browser/chromeos/login/update_screen.cc View 1 2 3 4 5 6 7 12 chunks +51 lines, -61 lines 0 comments Download
A chrome/browser/chromeos/login/update_screen_actor.h View 1 2 3 4 5 6 7 1 chunk +33 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/login/update_screen_browsertest.cc View 1 2 3 4 5 6 7 5 chunks +33 lines, -74 lines 0 comments Download
M chrome/browser/chromeos/login/update_view.h View 1 2 3 chunks +0 lines, -8 lines 0 comments Download
M chrome/browser/chromeos/login/update_view.cc View 1 2 3 4 5 6 7 8 2 chunks +1 line, -2 lines 0 comments Download
A chrome/browser/chromeos/login/views_update_screen_actor.h View 1 2 3 4 5 6 7 1 chunk +37 lines, -0 lines 0 comments Download
A chrome/browser/chromeos/login/views_update_screen_actor.cc View 1 2 3 4 5 6 7 1 chunk +35 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/login/wizard_screen.h View 1 2 3 4 5 6 7 8 3 chunks +1 line, -6 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
altimofeev
PTAL
9 years, 7 months ago (2011-05-19 12:53:30 UTC) #1
Paweł Hajdan Jr.
Drive-by with a testing comment (chrome/test/OWNERS). http://codereview.chromium.org/7039042/diff/6004/chrome/browser/chromeos/login/update_screen_browsertest.cc File chrome/browser/chromeos/login/update_screen_browsertest.cc (right): http://codereview.chromium.org/7039042/diff/6004/chrome/browser/chromeos/login/update_screen_browsertest.cc#newcode89 chrome/browser/chromeos/login/update_screen_browsertest.cc:89: static_cast<UpdateLibrary::Observer*>(update_screen_)-> This is ...
9 years, 7 months ago (2011-05-19 14:23:42 UTC) #2
altimofeev
http://codereview.chromium.org/7039042/diff/6004/chrome/browser/chromeos/login/update_screen_browsertest.cc File chrome/browser/chromeos/login/update_screen_browsertest.cc (right): http://codereview.chromium.org/7039042/diff/6004/chrome/browser/chromeos/login/update_screen_browsertest.cc#newcode89 chrome/browser/chromeos/login/update_screen_browsertest.cc:89: static_cast<UpdateLibrary::Observer*>(update_screen_)-> On 2011/05/19 14:23:42, Paweł Hajdan Jr. wrote: > ...
9 years, 7 months ago (2011-05-19 14:58:40 UTC) #3
Paweł Hajdan Jr.
http://codereview.chromium.org/7039042/diff/6004/chrome/browser/chromeos/login/update_screen_browsertest.cc File chrome/browser/chromeos/login/update_screen_browsertest.cc (right): http://codereview.chromium.org/7039042/diff/6004/chrome/browser/chromeos/login/update_screen_browsertest.cc#newcode89 chrome/browser/chromeos/login/update_screen_browsertest.cc:89: static_cast<UpdateLibrary::Observer*>(update_screen_)-> On 2011/05/19 14:58:41, altimofeev wrote: > On 2011/05/19 ...
9 years, 7 months ago (2011-05-19 16:22:07 UTC) #4
altimofeev
http://codereview.chromium.org/7039042/diff/6004/chrome/browser/chromeos/login/update_screen_browsertest.cc File chrome/browser/chromeos/login/update_screen_browsertest.cc (right): http://codereview.chromium.org/7039042/diff/6004/chrome/browser/chromeos/login/update_screen_browsertest.cc#newcode89 chrome/browser/chromeos/login/update_screen_browsertest.cc:89: static_cast<UpdateLibrary::Observer*>(update_screen_)-> On 2011/05/19 16:22:07, Paweł Hajdan Jr. wrote: > ...
9 years, 7 months ago (2011-05-20 09:22:41 UTC) #5
Paweł Hajdan Jr.
No problem, code I commented in the drive-by LGTM. Thanks!
9 years, 7 months ago (2011-05-20 09:24:24 UTC) #6
Nikita (slow)
This CL is a part of 11632, please add BUG field.
9 years, 7 months ago (2011-05-20 09:28:23 UTC) #7
whywhat
LGTM http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/login/update_screen.cc File chrome/browser/chromeos/login/update_screen.cc (right): http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/login/update_screen.cc#newcode13 chrome/browser/chromeos/login/update_screen.cc:13: #include "chrome/browser/chromeos/login/update_screen_views_actor.h" Shouldn't be views_update_screen_actor.h to have consistency ...
9 years, 7 months ago (2011-05-20 09:29:50 UTC) #8
altimofeev
http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/login/update_screen.cc File chrome/browser/chromeos/login/update_screen.cc (right): http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/login/update_screen.cc#newcode13 chrome/browser/chromeos/login/update_screen.cc:13: #include "chrome/browser/chromeos/login/update_screen_views_actor.h" On 2011/05/20 09:29:50, whywhat wrote: > Shouldn't ...
9 years, 7 months ago (2011-05-20 12:00:32 UTC) #9
Nikita (slow)
http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/login/update_screen.cc File chrome/browser/chromeos/login/update_screen.cc (right): http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/login/update_screen.cc#newcode13 chrome/browser/chromeos/login/update_screen.cc:13: #include "chrome/browser/chromeos/login/update_screen_views_actor.h" On 2011/05/20 09:29:50, whywhat wrote: > Shouldn't ...
9 years, 7 months ago (2011-05-20 12:09:46 UTC) #10
whywhat
http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/login/update_screen.cc File chrome/browser/chromeos/login/update_screen.cc (right): http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/login/update_screen.cc#newcode249 chrome/browser/chromeos/login/update_screen.cc:249: if (!is_shown_) On 2011/05/20 12:00:32, altimofeev wrote: > On ...
9 years, 7 months ago (2011-05-21 19:26:58 UTC) #11
altimofeev
http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/login/update_screen.cc File chrome/browser/chromeos/login/update_screen.cc (right): http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/login/update_screen.cc#newcode249 chrome/browser/chromeos/login/update_screen.cc:249: if (!is_shown_) On 2011/05/21 19:26:58, whywhat wrote: > On ...
9 years, 7 months ago (2011-05-23 08:13:58 UTC) #12
whywhat
9 years, 7 months ago (2011-05-23 08:46:28 UTC) #13
http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/log...
File chrome/browser/chromeos/login/update_screen.cc (right):

http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/log...
chrome/browser/chromeos/login/update_screen.cc:249: if (!is_shown_)
On 2011/05/23 08:13:58, altimofeev wrote:
> On 2011/05/21 19:26:58, whywhat wrote:
> > On 2011/05/20 12:00:32, altimofeev wrote:
> > > On 2011/05/20 09:29:50, whywhat wrote:
> > > > I think is_shown_ could be smth like IsVisible method of the actor. Why
do
> > we
> > > > need MakeSureScreenIsShown anyway? As we have actor now, maybe it should
> > show
> > > > itself in SetProgress/SetCurtain if it's not shown. I doesn't look like
> the
> > > > screen should own that.
> > > 
> > > I thought about it.
> > > First of all, currently, WizardController do some stuff before showing the
> > > screen. Probably, after re-factoring it will not, but now it does. Also,
my
> > > desire is to make actor as simple as possible. Or using other words, move
> all
> > > common logic to the controller (screen) part. What do you think?
> > 
> > From code simplicity point of view it's better to perform this check in
> one/two
> > methods of actor than each time before we call one of these methods. If this
> is
> > needed for WebUIUpdateScreenActor, we can always make UpdateScreenActor a
base
> > class with this check in it or a common wrapper. Since we'll eventually have
> > only one implementation, having check in two actors is not a big problem
> > comparing to calling MakeSureScreenIsShown in each case branch. BTW, can we
> call
> > it before the switch once?
> 
> To understand why MakeSureScreenIsShown can't be called before switch I
refresh
> the current logic: 
> - WizardController initiates update checking.
> - WizardController schedules delayed screen showing.
> - if UpdateCheck returns with nothing to do, screen is not shown at all
> (scheduled show is canceled).
> - MakeSureScreenIsShown actually checks that screen has already been shown by
> WizardController. Note, it speaks to WizardController to show the screen, not
> Actor.
> 
> About simplicity - I don't get what methods are you talking about. Currently,
> there is one method in UpdateScreen (MakeSureScreenIsShown), which interacts
> with WizardController. 
> 

Ok, thanks for the explanation! Guess this logic distribution worth a separate
look later.

http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/log...
File chrome/browser/chromeos/login/update_screen_views_actor.h (right):

http://codereview.chromium.org/7039042/diff/10001/chrome/browser/chromeos/log...
chrome/browser/chromeos/login/update_screen_views_actor.h:23: virtual
~UpdateScreenViewsActor() {}
On 2011/05/23 08:13:58, altimofeev wrote:
> On 2011/05/21 19:26:58, whywhat wrote:
> > On 2011/05/20 12:00:32, altimofeev wrote:
> > > On 2011/05/20 09:29:51, whywhat wrote:
> > > > I think you don't need this dtor here.
> > > 
> > > Why?
> > 
> > Empty dtor is automatically generated and it is virtual since the dtor of
the
> > base class is virtual.
> 
> I understand it. But I think that a rule of always having explicit virtual
dtor
> in classes with virtual methods is a good thing, even supported by our style
> guide?

OK

Powered by Google App Engine
This is Rietveld 408576698