Index: chrome/browser/sync/test/integration/sync_test.cc |
diff --git a/chrome/browser/sync/test/integration/sync_test.cc b/chrome/browser/sync/test/integration/sync_test.cc |
index 64cc0210c74bf66ebdc6ef7fc0dea9b4d2217b45..0e7de234ad660bda1109b590fa885c4cba1c82bf 100644 |
--- a/chrome/browser/sync/test/integration/sync_test.cc |
+++ b/chrome/browser/sync/test/integration/sync_test.cc |
@@ -89,7 +89,10 @@ |
#include "url/gurl.h" |
#if defined(OS_CHROMEOS) |
+#include "chrome/browser/sync/test/integration/sync_arc_package_helper.h" |
+#include "chrome/browser/ui/app_list/arc/arc_app_list_prefs_factory.h" |
#include "chromeos/chromeos_switches.h" |
+#include "components/arc/arc_util.h" |
#endif |
using browser_sync::ProfileSyncService; |
@@ -213,7 +216,8 @@ SyncTest::SyncTest(TestType test_type) |
num_clients_(-1), |
use_verifier_(true), |
notifications_enabled_(true), |
- create_gaia_account_at_runtime_(false) { |
+ create_gaia_account_at_runtime_(false), |
+ sync_arc_helper_(nullptr) { |
sync_datatype_helper::AssociateWithTest(this); |
switch (test_type_) { |
case SINGLE_CLIENT: |
@@ -292,12 +296,22 @@ void SyncTest::TearDown() { |
fake_server_.reset(); |
} |
+void SyncTest::SetUpOnMainThread() { |
+#if defined(OS_CHROMEOS) |
+ const auto* cl = base::CommandLine::ForCurrentProcess(); |
+ // Sets up for ARC_PACKAGE. |
+ if (!cl->HasSwitch(switches::kSupervisedUserId)) |
Gang Wu
2017/03/16 18:40:30
add this because "Supervised users are not support
skym
2017/03/16 23:27:19
Can you put that into a comment?
Gang Wu
2017/03/17 19:23:23
Done.
|
+ ArcAppListPrefsFactory::SetFactoryForSyncTest(); |
+#endif |
+} |
+ |
void SyncTest::SetUpCommandLine(base::CommandLine* cl) { |
AddTestSwitches(cl); |
AddOptionalTypesToCommandLine(cl); |
#if defined(OS_CHROMEOS) |
cl->AppendSwitch(chromeos::switches::kIgnoreUserProfileMappingForTests); |
+ arc::SetArcAvailableCommandLineForTesting(cl); |
#endif |
} |
@@ -531,6 +545,18 @@ bool SyncTest::SetupClients() { |
user_data_dir.Append(FILE_PATH_LITERAL("Verifier")), num_clients_); |
WaitForDataModels(verifier()); |
} |
+ |
+#if defined(OS_CHROMEOS) |
+ // Init SyncArcPackageHelper to ensure that the arc services are initialized |
+ // for each Profile. |
+ const auto* cl = base::CommandLine::ForCurrentProcess(); |
+ if (!cl->HasSwitch(switches::kSupervisedUserId)) { |
skym
2017/03/16 23:27:19
I've seen this check before! Can you unify them? A
Gang Wu
2017/03/17 19:23:23
cannot combine two code together, ArcAppListPrefsF
|
+ sync_arc_helper_ = arc::SyncArcPackageHelper::GetInstance(); |
+ if (!sync_arc_helper_) |
+ return false; |
+ } |
+#endif |
+ |
// Error cases are all handled by LOG(FATAL) messages. So there is not really |
// a case that returns false. In case we failed to create a verifier profile, |
// any call to the verifier() would fail. |