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

Side by Side Diff: chrome/browser/chromeos/app_mode/kiosk_app_manager_browsertest.cc

Issue 14306004: Put Kiosk App parameters into device settings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Handle clearing of the auto launch ID more gracefully. Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" 5 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "chrome/browser/browser_process.h" 12 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager_observer.h" 13 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager_observer.h"
14 #include "chrome/browser/chromeos/settings/cros_settings.h"
15 #include "chrome/browser/chromeos/settings/cros_settings_names.h"
14 #include "chrome/browser/prefs/scoped_user_pref_update.h" 16 #include "chrome/browser/prefs/scoped_user_pref_update.h"
15 #include "chrome/common/chrome_paths.h" 17 #include "chrome/common/chrome_paths.h"
16 #include "chrome/common/chrome_switches.h" 18 #include "chrome/common/chrome_switches.h"
17 #include "chrome/test/base/in_process_browser_test.h" 19 #include "chrome/test/base/in_process_browser_test.h"
18 #include "net/base/host_port_pair.h" 20 #include "net/base/host_port_pair.h"
19 #include "net/dns/mock_host_resolver.h" 21 #include "net/dns/mock_host_resolver.h"
20 22
21 namespace chromeos { 23 namespace chromeos {
22 24
23 namespace { 25 namespace {
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 apps_dict->SetString("app_1.name", "App1 Name"); 196 apps_dict->SetString("app_1.name", "App1 Name");
195 std::string icon_path = 197 std::string icon_path =
196 base::StringPrintf("%s/red16x16.png", data_dir.value().c_str()); 198 base::StringPrintf("%s/red16x16.png", data_dir.value().c_str());
197 apps_dict->SetString("app_1.icon", icon_path); 199 apps_dict->SetString("app_1.icon", icon_path);
198 200
199 PrefService* local_state = g_browser_process->local_state(); 201 PrefService* local_state = g_browser_process->local_state();
200 DictionaryPrefUpdate dict_update(local_state, 202 DictionaryPrefUpdate dict_update(local_state,
201 KioskAppManager::kKioskDictionaryName); 203 KioskAppManager::kKioskDictionaryName);
202 dict_update->Set(KioskAppManager::kKeyApps, apps_dict.release()); 204 dict_update->Set(KioskAppManager::kKeyApps, apps_dict.release());
203 205
204 // Triggers reload prefs. 206 // Make the app appear in device settings.
205 manager()->RemoveApp("dummy"); 207 base::ListValue device_local_accounts;
208 scoped_ptr<base::DictionaryValue> entry(new base::DictionaryValue);
209 entry->SetStringWithoutPathExpansion(
210 kAccountsPrefDeviceLocalAccountsKeyId,
211 "app_1_id");
212 entry->SetIntegerWithoutPathExpansion(
213 kAccountsPrefDeviceLocalAccountsKeyType,
214 DEVICE_LOCAL_ACCOUNT_TYPE_KIOSK_APP);
215 entry->SetStringWithoutPathExpansion(
216 kAccountsPrefDeviceLocalAccountsKeyKioskAppId,
217 "app_1");
218 device_local_accounts.Append(entry.release());
219 CrosSettings::Get()->Set(kAccountsPrefDeviceLocalAccounts,
220 device_local_accounts);
206 221
207 AppDataLoadWaiter waiter(manager()); 222 AppDataLoadWaiter waiter(manager());
208 waiter.Wait(); 223 waiter.Wait();
209 EXPECT_TRUE(waiter.loaded()); 224 EXPECT_TRUE(waiter.loaded());
210 225
211 KioskAppManager::Apps apps; 226 KioskAppManager::Apps apps;
212 manager()->GetApps(&apps); 227 manager()->GetApps(&apps);
213 EXPECT_EQ(1u, apps.size()); 228 EXPECT_EQ(1u, apps.size());
214 EXPECT_EQ("app_1", apps[0].id); 229 EXPECT_EQ("app_1", apps[0].id);
215 EXPECT_EQ("App1 Name", apps[0].name); 230 EXPECT_EQ("App1 Name", apps[0].name);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 275
261 base::FilePath expected_icon_path; 276 base::FilePath expected_icon_path;
262 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &expected_icon_path)); 277 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &expected_icon_path));
263 expected_icon_path = expected_icon_path. 278 expected_icon_path = expected_icon_path.
264 AppendASCII(KioskAppManager::kIconCacheDir). 279 AppendASCII(KioskAppManager::kIconCacheDir).
265 AppendASCII(apps[0].id).AddExtension(".png"); 280 AppendASCII(apps[0].id).AddExtension(".png");
266 EXPECT_EQ(expected_icon_path.value(), icon_path_string); 281 EXPECT_EQ(expected_icon_path.value(), icon_path_string);
267 } 282 }
268 283
269 } // namespace chromeos 284 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698