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

Issue 2778053002: Fetch ARC Kiosk app name and icon from Android side. (Closed)

Created:
3 years, 9 months ago by Sergey Poromov
Modified:
3 years, 8 months ago
CC:
chromium-reviews, elijahtaylor+arcwatch_chromium.org, alemate+watch_chromium.org, oshima+watch_chromium.org, hidehiko+watch_chromium.org, achuith+watch_chromium.org, poromov+watch_chromium.org, lhchavez+watch_chromium.org, ios-reviews_chromium.org, victorhsieh+watch_chromium.org, davemoore+watch_chromium.org, yusukes+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Fetch ARC Kiosk app name and icon from Android side. To provide appropriate and up-to-date app name and icon for ARC Kiosk apps on sign in screen, this data is updated from ARC side when Android container contains information about them, i.e.apps are installed in ARC Kiosk session. Before that name is provided by DMServer and default icon is used. ArcKioskAppData is extended from simple structure to a class, which caches the data from above to be used on sign in screen. IconLoader from KioskAppData is extracted as general KioskAppIconLoader for both Chrome and ARC apps. BUG=679928 TEST=Manual Review-Url: https://codereview.chromium.org/2778053002 Cr-Commit-Position: refs/heads/master@{#463607} Committed: https://chromium.googlesource.com/chromium/src/+/a5709293688a27bb196e33b9488193012f653f63

Patch Set 1 #

Total comments: 6

Patch Set 2 : rebase #

Total comments: 7

Patch Set 3 : address comments #

Total comments: 6

Patch Set 4 : cleanup KioskAppIconLoader #

Total comments: 8

Patch Set 5 : extract common code into KioskAppDataBase #

Total comments: 51

Patch Set 6 : address comments #

Total comments: 8

Patch Set 7 : remove CHECK #

Patch Set 8 : move weak_ptr from KioskAppDataBase to KioskAppIconLoader #

Total comments: 17

Patch Set 9 : khmel@ comments #

Total comments: 2

Patch Set 10 : xiyuan@ comments #

Total comments: 7

Patch Set 11 : lhchavez@ comments. #

Patch Set 12 : fix tests. #

Total comments: 6

Patch Set 13 : some nits #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+686 lines, -343 lines) Patch
M chrome/browser/chromeos/BUILD.gn View 1 2 3 4 2 chunks +6 lines, -0 lines 0 comments Download
A chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.h View 1 2 3 4 5 1 chunk +47 lines, -0 lines 0 comments Download
A chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +82 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h View 1 2 3 4 5 chunks +13 lines, -28 lines 0 comments Download
M chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 9 chunks +42 lines, -30 lines 0 comments Download
M chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager_browsertest.cc View 1 4 chunks +23 lines, -18 lines 0 comments Download
M chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_service.h View 5 chunks +9 lines, -1 line 0 comments Download
M chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_service.cc View 1 2 3 4 5 4 chunks +28 lines, -4 lines 0 comments Download
M chrome/browser/chromeos/app_mode/kiosk_app_data.h View 1 2 3 4 5 6 7 chunks +8 lines, -25 lines 0 comments Download
M chrome/browser/chromeos/app_mode/kiosk_app_data.cc View 1 2 3 4 5 6 7 8 9 13 chunks +43 lines, -225 lines 2 comments Download
A chrome/browser/chromeos/app_mode/kiosk_app_data_base.h View 1 2 3 4 5 6 7 8 9 1 chunk +77 lines, -0 lines 0 comments Download
A chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc View 1 2 3 4 5 6 7 8 9 1 chunk +130 lines, -0 lines 0 comments Download
A chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +65 lines, -0 lines 0 comments Download
A chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +97 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/app_mode/kiosk_app_manager.h View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/chromeos/app_mode/kiosk_app_manager.cc View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/chromeos/app_mode/kiosk_app_manager_browsertest.cc View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc View 1 chunk +14 lines, -8 lines 0 comments Download

Messages

Total messages: 94 (60 generated)
Sergey Poromov
Yury, could you please first review how icon is requested, retrieved and stored? I'll add ...
3 years, 9 months ago (2017-03-27 20:33:35 UTC) #2
khmel
Hi Sergey, Please find my few comments. Plus I have top level question. I see ...
3 years, 9 months ago (2017-03-27 22:56:38 UTC) #11
Sergey Poromov
Yes, there is lots of code duplicated from KioskAppData into ArcKioskAppData. I'll try to reduce ...
3 years, 8 months ago (2017-03-28 15:25:55 UTC) #13
xiyuan
https://codereview.chromium.org/2778053002/diff/20001/chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc File chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc (right): https://codereview.chromium.org/2778053002/diff/20001/chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc#newcode49 chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc:49: base::Unretained(this))); On 2017/03/28 15:25:55, Sergey Poromov wrote: > On ...
3 years, 8 months ago (2017-03-28 16:50:10 UTC) #14
Sergey Poromov
PTAL. https://codereview.chromium.org/2778053002/diff/40001/chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.h File chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.h (right): https://codereview.chromium.org/2778053002/diff/40001/chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.h#newcode57 chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.h:57: base::WeakPtr<Delegate> client_; On 2017/03/28 16:50:09, xiyuan wrote: > ...
3 years, 8 months ago (2017-03-29 16:03:44 UTC) #15
xiyuan
Thanks for the clean up. Let's wait for khmel@. Think his high-level comment is whether ...
3 years, 8 months ago (2017-03-29 17:12:27 UTC) #16
khmel
https://codereview.chromium.org/2778053002/diff/60001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc File chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc (right): https://codereview.chromium.org/2778053002/diff/60001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc#newcode167 chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc:167: app->SetCache(name, icon); What I see from the code (IIUC) ...
3 years, 8 months ago (2017-03-29 17:31:43 UTC) #17
xiyuan
https://codereview.chromium.org/2778053002/diff/60001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc File chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc (right): https://codereview.chromium.org/2778053002/diff/60001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc#newcode167 chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc:167: app->SetCache(name, icon); On 2017/03/29 17:31:43, khmel wrote: > What ...
3 years, 8 months ago (2017-03-29 17:33:44 UTC) #18
khmel
lgtm https://codereview.chromium.org/2778053002/diff/60001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.cc File chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.cc (right): https://codereview.chromium.org/2778053002/diff/60001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.cc#newcode37 chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.cc:37: base::FilePath dir = icon_path.DirName(); nit: const https://codereview.chromium.org/2778053002/diff/60001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.h File ...
3 years, 8 months ago (2017-03-29 17:51:23 UTC) #19
Sergey Poromov
PTAL. I've extracted significant part of common code from ArcKioskAppData and KioskAppData into KioskAppDataBase. Though ...
3 years, 8 months ago (2017-03-30 15:48:36 UTC) #22
xiyuan
https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/kiosk_app_data.h File chrome/browser/chromeos/app_mode/kiosk_app_data.h (right): https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/kiosk_app_data.h#newcode42 chrome/browser/chromeos/app_mode/kiosk_app_data.h:42: public base::SupportsWeakPtr<KioskAppData>, Can we remove this inheritance since KioskAppDataBase ...
3 years, 8 months ago (2017-03-30 16:47:00 UTC) #23
Luis Héctor Chávez
drive-by https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc File chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc (right): https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc#newcode218 chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc:218: // Apps are keys by package name. http://crbug.com/665904 ...
3 years, 8 months ago (2017-03-30 16:49:55 UTC) #25
Sergey Poromov
Sorry, in some files there were some legacy code and old solutions, because some of ...
3 years, 8 months ago (2017-03-30 18:22:08 UTC) #28
xiyuan
https://codereview.chromium.org/2778053002/diff/100001/chrome/browser/chromeos/app_mode/kiosk_app_data.h File chrome/browser/chromeos/app_mode/kiosk_app_data.h (right): https://codereview.chromium.org/2778053002/diff/100001/chrome/browser/chromeos/app_mode/kiosk_app_data.h#newcode41 chrome/browser/chromeos/app_mode/kiosk_app_data.h:41: public base::SupportsWeakPtr<KioskAppData>, Remove this since we have |weak_factory_| now. ...
3 years, 8 months ago (2017-03-30 18:40:09 UTC) #31
khmel
https://codereview.chromium.org/2778053002/diff/100001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc File chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc (right): https://codereview.chromium.org/2778053002/diff/100001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc#newcode38 chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc:38: DCHECK(base::CreateDirectory(dir)); On 2017/03/30 18:40:08, xiyuan wrote: > DCHECK could ...
3 years, 8 months ago (2017-03-30 18:45:47 UTC) #32
Luis Héctor Chávez
https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc File chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc (right): https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc#newcode55 chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc:55: base::Unretained(this), icon_path)); On 2017/03/30 18:22:08, Sergey Poromov wrote: > ...
3 years, 8 months ago (2017-03-30 19:52:27 UTC) #33
Luis Héctor Chávez
https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc File chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc (right): https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc#newcode78 chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc:78: (new KioskAppIconLoader(AsWeakPtr()))->Start(icon_path_); On 2017/03/30 18:22:07, Sergey Poromov wrote: > ...
3 years, 8 months ago (2017-03-30 19:57:23 UTC) #34
xiyuan
https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc File chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc (right): https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc#newcode55 chrome/browser/chromeos/app_mode/kiosk_app_icon_loader.cc:55: base::Unretained(this), icon_path)); On 2017/03/30 19:52:27, Luis Héctor Chávez wrote: ...
3 years, 8 months ago (2017-03-30 22:23:56 UTC) #37
Sergey Poromov
https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc File chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc (right): https://codereview.chromium.org/2778053002/diff/80001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc#newcode78 chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc:78: (new KioskAppIconLoader(AsWeakPtr()))->Start(icon_path_); On 2017/03/30 19:57:22, Luis Héctor Chávez wrote: ...
3 years, 8 months ago (2017-03-31 12:56:25 UTC) #40
khmel
https://codereview.chromium.org/2778053002/diff/140001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc File chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc (right): https://codereview.chromium.org/2778053002/diff/140001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc#newcode38 chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc:38: if (!base::PathExists(dir) || !base::CreateDirectory(dir)) { Would it be !base::PathExists(dir) ...
3 years, 8 months ago (2017-03-31 14:37:13 UTC) #43
Sergey Poromov
https://codereview.chromium.org/2778053002/diff/140001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc File chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc (right): https://codereview.chromium.org/2778053002/diff/140001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc#newcode38 chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc:38: if (!base::PathExists(dir) || !base::CreateDirectory(dir)) { On 2017/03/31 14:37:13, khmel ...
3 years, 8 months ago (2017-03-31 15:08:56 UTC) #46
xiyuan
https://codereview.chromium.org/2778053002/diff/140001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc File chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc (right): https://codereview.chromium.org/2778053002/diff/140001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc#newcode38 chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc:38: if (!base::PathExists(dir) || !base::CreateDirectory(dir)) { On 2017/03/31 14:37:13, khmel ...
3 years, 8 months ago (2017-03-31 15:10:03 UTC) #47
Sergey Poromov
https://codereview.chromium.org/2778053002/diff/140001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.h File chrome/browser/chromeos/app_mode/kiosk_app_data_base.h (right): https://codereview.chromium.org/2778053002/diff/140001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.h#newcode50 chrome/browser/chromeos/app_mode/kiosk_app_data_base.h:50: bool LoadFromDictionary(const base::DictionaryValue* dict); On 2017/03/31 15:10:02, xiyuan wrote: ...
3 years, 8 months ago (2017-03-31 18:38:58 UTC) #48
xiyuan
lgtm Cool.
3 years, 8 months ago (2017-03-31 19:23:37 UTC) #51
Sergey Poromov
Thank you all! Waiting for approval from Luis as he had many comments.
3 years, 8 months ago (2017-04-03 13:27:58 UTC) #54
Luis Héctor Chávez
sorry for the delay u_u. https://codereview.chromium.org/2778053002/diff/100001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc File chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc (right): https://codereview.chromium.org/2778053002/diff/100001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc#newcode40 chrome/browser/chromeos/app_mode/kiosk_app_data_base.cc:40: CHECK_EQ( On 2017/03/31 12:56:25, ...
3 years, 8 months ago (2017-04-03 22:58:55 UTC) #59
Sergey Poromov
https://codereview.chromium.org/2778053002/diff/180001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.cc File chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.cc (right): https://codereview.chromium.org/2778053002/diff/180001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.cc#newcode56 chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.cc:56: CHECK(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)); On 2017/04/03 22:58:55, Luis Héctor Chávez wrote: ...
3 years, 8 months ago (2017-04-06 10:29:58 UTC) #68
Luis Héctor Chávez
just a couple of more minor nits, otherwise lgtm! https://codereview.chromium.org/2778053002/diff/180001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.h File chrome/browser/chromeos/app_mode/kiosk_app_data_base.h (right): https://codereview.chromium.org/2778053002/diff/180001/chrome/browser/chromeos/app_mode/kiosk_app_data_base.h#newcode23 chrome/browser/chromeos/app_mode/kiosk_app_data_base.h:23: ...
3 years, 8 months ago (2017-04-06 16:16:50 UTC) #69
Sergey Poromov
https://codereview.chromium.org/2778053002/diff/220001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc File chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc (right): https://codereview.chromium.org/2778053002/diff/220001/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc#newcode148 chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.cc:148: for (auto& app : apps_) On 2017/04/06 16:16:50, Luis ...
3 years, 8 months ago (2017-04-07 02:09:38 UTC) #70
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/2778053002/240001
3 years, 8 months ago (2017-04-11 11:54:28 UTC) #77
commit-bot: I haz the power
Committed patchset #13 (id:240001) as https://chromium.googlesource.com/chromium/src/+/a5709293688a27bb196e33b9488193012f653f63
3 years, 8 months ago (2017-04-11 12:56:05 UTC) #80
please use gerrit instead
A revert of this CL (patchset #13 id:240001) has been created in https://codereview.chromium.org/2810973004/ by rouslan@chromium.org. ...
3 years, 8 months ago (2017-04-11 16:13:45 UTC) #81
xiyuan
https://codereview.chromium.org/2778053002/diff/240001/chrome/browser/chromeos/app_mode/kiosk_app_data.cc File chrome/browser/chromeos/app_mode/kiosk_app_data.cc (right): https://codereview.chromium.org/2778053002/diff/240001/chrome/browser/chromeos/app_mode/kiosk_app_data.cc#newcode432 chrome/browser/chromeos/app_mode/kiosk_app_data.cc:432: kiosk_app_icon_loader_.release(); Oops.. This should be kiosk_app_icon_loader_.reset(). release() gives up ...
3 years, 8 months ago (2017-04-11 16:22:01 UTC) #82
Sergey Poromov
3 years, 8 months ago (2017-04-12 12:48:36 UTC) #92
Re-landed in http://crrev.com/2810053003

https://codereview.chromium.org/2778053002/diff/240001/chrome/browser/chromeo...
File chrome/browser/chromeos/app_mode/kiosk_app_data.cc (right):

https://codereview.chromium.org/2778053002/diff/240001/chrome/browser/chromeo...
chrome/browser/chromeos/app_mode/kiosk_app_data.cc:432:
kiosk_app_icon_loader_.release();
On 2017/04/11 16:22:01, xiyuan wrote:
> Oops.. This should be kiosk_app_icon_loader_.reset().
> 
> release() gives up the ownership but does not free the memory. I wish we had
> WARN_UNUSED_RESULT to tag the call. :(

Done. Thank you!

Powered by Google App Engine
This is Rietveld 408576698