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

Issue 11968044: Fix login visual hitch on chromebook (Closed)

Created:
7 years, 11 months ago by bshe
Modified:
7 years, 11 months ago
CC:
chromium-reviews, oshima+watch_chromium.org, stevenjb+watch_chromium.org, nkostylev+watch_chromium.org, davemoore+watch_chromium.org
Visibility:
Public.

Description

Fix login visual hitch on chromebook There are two parts contribute to the visual hitch: 1. Wallpaper is loaded on FILE thread which is blocked by other task on FILE thread. 2. Wallpaper loading is postponded because of checking untrusted values. To address them, this CL move wallpaper loading operation to sequenced worker thread and remove the untrusted value check. tbr=davemoore BUG=168297 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=178870

Patch Set 1 #

Total comments: 8

Patch Set 2 : Add settings observer and using unnamed sequence thread #

Total comments: 19

Patch Set 3 : #

Total comments: 21

Patch Set 4 : #

Total comments: 1

Patch Set 5 : Fix some unit and browser tests #

Total comments: 9

Patch Set 6 : Add issue # #

Patch Set 7 : #

Patch Set 8 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+162 lines, -91 lines) Patch
M chrome/browser/chromeos/chrome_browser_main_chromeos.cc View 1 2 3 4 5 6 7 4 chunks +8 lines, -6 lines 0 comments Download
M chrome/browser/chromeos/extensions/wallpaper_private_api.cc View 1 2 3 4 5 6 7 2 chunks +5 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/login/user_image_loader.h View 1 2 3 5 chunks +13 lines, -6 lines 0 comments Download
M chrome/browser/chromeos/login/user_image_loader.cc View 1 2 3 4 5 6 7 5 chunks +53 lines, -32 lines 0 comments Download
M chrome/browser/chromeos/login/user_image_manager_impl.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/user_image_manager_impl.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/user_manager_impl.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/wallpaper_manager.h View 1 2 3 4 5 6 4 chunks +10 lines, -5 lines 0 comments Download
M chrome/browser/chromeos/login/wallpaper_manager.cc View 1 2 3 4 5 6 7 chunks +31 lines, -14 lines 0 comments Download
M chrome/browser/image_decoder.h View 1 2 3 3 chunks +5 lines, -4 lines 0 comments Download
M chrome/browser/image_decoder.cc View 1 2 3 chunks +7 lines, -10 lines 0 comments Download
M chrome/browser/profiles/profile_downloader.cc View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download
M chrome/browser/ui/app_list/search_builder.cc View 1 2 3 4 5 6 7 3 chunks +5 lines, -2 lines 0 comments Download
M chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc View 1 2 3 4 5 6 7 5 chunks +8 lines, -2 lines 0 comments Download
M chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc View 1 2 3 4 5 6 7 5 chunks +8 lines, -2 lines 0 comments Download
M chrome/browser/ui/webui/options/manage_profile_handler.cc View 1 2 3 4 5 6 7 2 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 41 (0 generated)
bshe
Hi Nikita. Could you please take a look at this CL? Thanks! https://codereview.chromium.org/11968044/diff/1/chrome/browser/chromeos/login/wallpaper_manager.cc File chrome/browser/chromeos/login/wallpaper_manager.cc ...
7 years, 11 months ago (2013-01-17 17:09:41 UTC) #1
Nikita (slow)
https://codereview.chromium.org/11968044/diff/1/chrome/browser/chromeos/login/wallpaper_manager.cc File chrome/browser/chromeos/login/wallpaper_manager.cc (left): https://codereview.chromium.org/11968044/diff/1/chrome/browser/chromeos/login/wallpaper_manager.cc#oldcode662 chrome/browser/chromeos/login/wallpaper_manager.cc:662: } On 2013/01/17 17:09:41, bshe wrote: > This seems ...
7 years, 11 months ago (2013-01-18 13:09:41 UTC) #2
bshe
For prefs change, I think existing_user_controller already observe it. And we can rely on the ...
7 years, 11 months ago (2013-01-18 15:43:30 UTC) #3
Nikita (slow)
On 2013/01/18 15:43:30, bshe wrote: > For prefs change, I think existing_user_controller already observe it. ...
7 years, 11 months ago (2013-01-18 16:24:49 UTC) #4
Nikita (slow)
On 2013/01/18 16:24:49, Nikita Kostylev wrote: > On 2013/01/18 15:43:30, bshe wrote: > > For ...
7 years, 11 months ago (2013-01-18 16:26:18 UTC) #5
Nikita (slow)
+Joao
7 years, 11 months ago (2013-01-18 16:27:49 UTC) #6
Nikita (slow)
https://codereview.chromium.org/11968044/diff/1/chrome/browser/chromeos/login/user_image_loader.cc File chrome/browser/chromeos/login/user_image_loader.cc (right): https://codereview.chromium.org/11968044/diff/1/chrome/browser/chromeos/login/user_image_loader.cc#newcode42 chrome/browser/chromeos/login/user_image_loader.cc:42: GetNamedSequenceToken(kUserImageLoaderTokenName); This does mean that there would no 2 ...
7 years, 11 months ago (2013-01-18 16:40:13 UTC) #7
Joao da Silva
@Nikita: not entirely sure what I should be looking at here; a couple of comments ...
7 years, 11 months ago (2013-01-18 17:24:58 UTC) #8
Nikita (slow)
On 2013/01/18 17:24:58, Joao da Silva wrote: > @Nikita: not entirely sure what I should ...
7 years, 11 months ago (2013-01-18 17:33:05 UTC) #9
Nikita (slow)
Biao, AFAIK ExistingUserController would refresh sign in UI in case of these notifications (chrome::NOTIFICATION_SYSTEM_SETTING_CHANGED, chrome::NOTIFICATION_POLICY_USER_LIST_CHANGED) ...
7 years, 11 months ago (2013-01-18 17:36:19 UTC) #10
Nikita (slow)
https://codereview.chromium.org/11968044/diff/1/chrome/browser/chromeos/login/user_image_loader.cc File chrome/browser/chromeos/login/user_image_loader.cc (right): https://codereview.chromium.org/11968044/diff/1/chrome/browser/chromeos/login/user_image_loader.cc#newcode42 chrome/browser/chromeos/login/user_image_loader.cc:42: GetNamedSequenceToken(kUserImageLoaderTokenName); On 2013/01/18 17:24:58, Joao da Silva wrote: > ...
7 years, 11 months ago (2013-01-18 17:41:45 UTC) #11
Joao da Silva
Julian is the original author of CrosSettings, adding him. @Julian: What would be a recommended ...
7 years, 11 months ago (2013-01-18 17:46:02 UTC) #12
bshe
On 2013/01/18 17:46:02, Joao da Silva wrote: > Julian is the original author of CrosSettings, ...
7 years, 11 months ago (2013-01-21 05:03:08 UTC) #13
Joao da Silva
I'm not a big fan of locks :-) Please consider the comments inline. https://codereview.chromium.org/11968044/diff/13001/chrome/browser/chromeos/login/user_image_loader.cc File ...
7 years, 11 months ago (2013-01-21 08:07:39 UTC) #14
pastarmovj
I added my comments on the policy retrieval as well as a small nit. I ...
7 years, 11 months ago (2013-01-21 14:55:24 UTC) #15
bshe
Thanks for review! Just post my reply on some comments that need more discussion. I ...
7 years, 11 months ago (2013-01-21 16:04:40 UTC) #16
Joao da Silva
https://codereview.chromium.org/11968044/diff/13001/chrome/browser/chromeos/login/user_image_loader.cc File chrome/browser/chromeos/login/user_image_loader.cc (right): https://codereview.chromium.org/11968044/diff/13001/chrome/browser/chromeos/login/user_image_loader.cc#newcode52 chrome/browser/chromeos/login/user_image_loader.cc:52: base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); On 2013/01/21 16:04:40, bshe wrote: > pool->GetSequenceToken will ...
7 years, 11 months ago (2013-01-21 16:46:58 UTC) #17
bshe
This patch should have address everything except the SequencedTaskRunner and TaskRunner issue. Please see comments ...
7 years, 11 months ago (2013-01-21 22:53:06 UTC) #18
bshe
+owners for new modified files: background for owners: I have changed the signature of ImageDecoder::Start, ...
7 years, 11 months ago (2013-01-21 22:59:49 UTC) #19
bshe
https://codereview.chromium.org/11968044/diff/13001/chrome/browser/chromeos/login/user_image_loader.cc File chrome/browser/chromeos/login/user_image_loader.cc (right): https://codereview.chromium.org/11968044/diff/13001/chrome/browser/chromeos/login/user_image_loader.cc#newcode52 chrome/browser/chromeos/login/user_image_loader.cc:52: base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); Actually, the sequence task runner is running parallel ...
7 years, 11 months ago (2013-01-22 03:48:56 UTC) #20
Joao da Silva
Looks mostly good. There's still an unlocked write to image_info_map_ (see, locks are bad :-) ...
7 years, 11 months ago (2013-01-22 10:04:12 UTC) #21
Nikita (slow)
https://codereview.chromium.org/11968044/diff/26001/chrome/browser/chromeos/login/user_image_loader.h File chrome/browser/chromeos/login/user_image_loader.h (right): https://codereview.chromium.org/11968044/diff/26001/chrome/browser/chromeos/login/user_image_loader.h#newcode37 chrome/browser/chromeos/login/user_image_loader.h:37: // Start reading the image from |filepath| on the ...
7 years, 11 months ago (2013-01-22 11:30:53 UTC) #22
bshe
Done. Hoping no more lock issue. :) Thanks for review! https://codereview.chromium.org/11968044/diff/26001/chrome/browser/chromeos/login/user_image_loader.cc File chrome/browser/chromeos/login/user_image_loader.cc (right): https://codereview.chromium.org/11968044/diff/26001/chrome/browser/chromeos/login/user_image_loader.cc#newcode63 ...
7 years, 11 months ago (2013-01-22 15:36:26 UTC) #23
xiyuan
ui/app_list LGTM
7 years, 11 months ago (2013-01-22 19:31:48 UTC) #24
Joao da Silva
CrosSettings usage seems alright, and I don't think there are threading issues left, so lgtm. ...
7 years, 11 months ago (2013-01-22 20:40:21 UTC) #25
pastarmovj
On 2013/01/22 20:40:21, Joao da Silva wrote: > CrosSettings usage seems alright, and I don't ...
7 years, 11 months ago (2013-01-23 09:24:12 UTC) #26
Nikita (slow)
https://codereview.chromium.org/11968044/diff/13001/chrome/browser/chromeos/login/wallpaper_manager.cc File chrome/browser/chromeos/login/wallpaper_manager.cc (right): https://codereview.chromium.org/11968044/diff/13001/chrome/browser/chromeos/login/wallpaper_manager.cc#newcode670 chrome/browser/chromeos/login/wallpaper_manager.cc:670: bool result = CrosSettings::Get()->GetBoolean( On 2013/01/21 14:55:24, pastarmovj wrote: ...
7 years, 11 months ago (2013-01-23 09:53:33 UTC) #27
pastarmovj
https://codereview.chromium.org/11968044/diff/13001/chrome/browser/chromeos/login/wallpaper_manager.cc File chrome/browser/chromeos/login/wallpaper_manager.cc (right): https://codereview.chromium.org/11968044/diff/13001/chrome/browser/chromeos/login/wallpaper_manager.cc#newcode670 chrome/browser/chromeos/login/wallpaper_manager.cc:670: bool result = CrosSettings::Get()->GetBoolean( On 2013/01/23 09:53:34, Nikita Kostylev ...
7 years, 11 months ago (2013-01-23 10:05:59 UTC) #28
bshe
https://codereview.chromium.org/11968044/diff/13001/chrome/browser/chromeos/login/wallpaper_manager.cc File chrome/browser/chromeos/login/wallpaper_manager.cc (right): https://codereview.chromium.org/11968044/diff/13001/chrome/browser/chromeos/login/wallpaper_manager.cc#newcode670 chrome/browser/chromeos/login/wallpaper_manager.cc:670: bool result = CrosSettings::Get()->GetBoolean( Sorry pastarmovj, I missed your ...
7 years, 11 months ago (2013-01-23 14:54:05 UTC) #29
Nikita (slow)
lgtm I've also executed several cros trybots
7 years, 11 months ago (2013-01-23 15:15:18 UTC) #30
bshe
Thanks Nikita. My previous patch failed on some tests. I have uploaded a new patch ...
7 years, 11 months ago (2013-01-23 16:08:34 UTC) #31
Nikita (slow)
https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.cc File chrome/browser/chromeos/login/wallpaper_manager.cc (right): https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.cc#newcode126 chrome/browser/chromeos/login/wallpaper_manager.cc:126: // TODO(bshe): Lifetime of WallpaperManager needs more consideration. Issue ...
7 years, 11 months ago (2013-01-23 16:28:17 UTC) #32
bshe
https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.cc File chrome/browser/chromeos/login/wallpaper_manager.cc (right): https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.cc#newcode126 chrome/browser/chromeos/login/wallpaper_manager.cc:126: // TODO(bshe): Lifetime of WallpaperManager needs more consideration. On ...
7 years, 11 months ago (2013-01-23 17:11:44 UTC) #33
Nikita (slow)
https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.h File chrome/browser/chromeos/login/wallpaper_manager.h (right): https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.h#newcode74 chrome/browser/chromeos/login/wallpaper_manager.h:74: On 2013/01/23 17:11:45, bshe wrote: > We can explicitly ...
7 years, 11 months ago (2013-01-24 12:03:26 UTC) #34
bshe
https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.h File chrome/browser/chromeos/login/wallpaper_manager.h (right): https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.h#newcode74 chrome/browser/chromeos/login/wallpaper_manager.h:74: Sorry. Just to be clear, do you want me ...
7 years, 11 months ago (2013-01-24 14:56:54 UTC) #35
Nikita (slow)
https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.h File chrome/browser/chromeos/login/wallpaper_manager.h (right): https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.h#newcode74 chrome/browser/chromeos/login/wallpaper_manager.h:74: On 2013/01/24 14:56:54, bshe wrote: > Sorry. Just to ...
7 years, 11 months ago (2013-01-24 15:39:00 UTC) #36
bshe
https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.h File chrome/browser/chromeos/login/wallpaper_manager.h (right): https://codereview.chromium.org/11968044/diff/18022/chrome/browser/chromeos/login/wallpaper_manager.h#newcode74 chrome/browser/chromeos/login/wallpaper_manager.h:74: Good point on the DCHECK fail. And yes they ...
7 years, 11 months ago (2013-01-24 16:25:09 UTC) #37
bshe
ping davemoore@ for owners and +more owners jhawkins: chrome/browser/image_decoder.h chrome/browser/image_decoder.cc chrome/browser/ui/webui/options/manage_profile_handler.cc
7 years, 11 months ago (2013-01-25 14:57:39 UTC) #38
James Hawkins
My files LGTM. On a related note: I thought we weren't bumping copyright files anymore. ...
7 years, 11 months ago (2013-01-25 17:17:02 UTC) #39
bshe
On 2013/01/25 17:17:02, James Hawkins wrote: > My files LGTM. On a related note: I ...
7 years, 11 months ago (2013-01-25 18:59:04 UTC) #40
bshe
7 years, 11 months ago (2013-01-25 19:24:31 UTC) #41
On 2013/01/25 18:59:04, bshe wrote:
> On 2013/01/25 17:17:02, James Hawkins wrote:
> > My files LGTM. On a related note: I thought we weren't bumping copyright
files
> > anymore. (?)
> 
> I am not sure. I looked some of the recent landed CLs. It looks we are not
> consistent with copyright files. Some files have 2013 and some didn't bump it.
> example: https://chromiumcodereview.appspot.com/11953021
> The first file already changed to 2013 and the rest still 2012.

--tbr davemoore since the change in the file is really trivial one (update a
function call to march the changed function signature).

davemoore@ and nikita@ please let me know if you have any future comment. I will
definitely address them in a follow up CL if any. Since this is still
potentially m25 cl, I am hoping to get this on tot to test it as early as
possible. At the same time, 4 lgtms seems good enough to be on TOT. thanks!

Powered by Google App Engine
This is Rietveld 408576698