apps_helper.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/sync/test/integration/apps_helper.h" 6 7#include "base/logging.h" 8#include "base/string_number_conversions.h" 9#include "chrome/browser/profiles/profile.h" 10#include "chrome/browser/sync/test/integration/sync_app_helper.h" 11#include "chrome/browser/sync/test/integration/sync_datatype_helper.h" 12#include "chrome/browser/sync/test/integration/sync_extension_helper.h" 13#include "chrome/common/extensions/extension.h" 14 15using sync_datatype_helper::test; 16 17namespace { 18 19std::string CreateFakeAppName(int index) { 20 return "fakeapp" + base::IntToString(index); 21} 22 23} // namespace 24 25namespace apps_helper { 26 27bool HasSameAppsAsVerifier(int index) { 28 return SyncAppHelper::GetInstance()->AppStatesMatch( 29 test()->GetProfile(index), test()->verifier()); 30} 31 32bool AllProfilesHaveSameAppsAsVerifier() { 33 for (int i = 0; i < test()->num_clients(); ++i) { 34 if (!HasSameAppsAsVerifier(i)) { 35 LOG(ERROR) << "Profile " << i << " doesn't have the same apps as the" 36 " verifier profile."; 37 return false; 38 } 39 } 40 return true; 41} 42 43std::string InstallApp(Profile* profile, int index) { 44 return SyncExtensionHelper::GetInstance()->InstallExtension( 45 profile, 46 CreateFakeAppName(index), 47 extensions::Extension::TYPE_HOSTED_APP); 48} 49 50std::string InstallAppForAllProfiles(int index) { 51 for (int i = 0; i < test()->num_clients(); ++i) 52 InstallApp(test()->GetProfile(i), index); 53 return InstallApp(test()->verifier(), index); 54} 55 56void UninstallApp(Profile* profile, int index) { 57 return SyncExtensionHelper::GetInstance()->UninstallExtension( 58 profile, CreateFakeAppName(index)); 59} 60 61void EnableApp(Profile* profile, int index) { 62 return SyncExtensionHelper::GetInstance()->EnableExtension( 63 profile, CreateFakeAppName(index)); 64} 65 66void DisableApp(Profile* profile, int index) { 67 return SyncExtensionHelper::GetInstance()->DisableExtension( 68 profile, CreateFakeAppName(index)); 69} 70 71void IncognitoEnableApp(Profile* profile, int index) { 72 return SyncExtensionHelper::GetInstance()->IncognitoEnableExtension( 73 profile, CreateFakeAppName(index)); 74} 75 76void IncognitoDisableApp(Profile* profile, int index) { 77 return SyncExtensionHelper::GetInstance()->IncognitoDisableExtension( 78 profile, CreateFakeAppName(index)); 79} 80 81void InstallAppsPendingForSync(Profile* profile) { 82 SyncExtensionHelper::GetInstance()->InstallExtensionsPendingForSync( 83 profile, extensions::Extension::TYPE_HOSTED_APP); 84} 85 86syncer::StringOrdinal GetPageOrdinalForApp(Profile* profile, 87 int app_index) { 88 return SyncAppHelper::GetInstance()->GetPageOrdinalForApp( 89 profile, CreateFakeAppName(app_index)); 90} 91 92void SetPageOrdinalForApp(Profile* profile, 93 int app_index, 94 const syncer::StringOrdinal& page_ordinal) { 95 SyncAppHelper::GetInstance()->SetPageOrdinalForApp( 96 profile, CreateFakeAppName(app_index), page_ordinal); 97} 98 99syncer::StringOrdinal GetAppLaunchOrdinalForApp(Profile* profile, 100 int app_index) { 101 return SyncAppHelper::GetInstance()->GetAppLaunchOrdinalForApp( 102 profile, CreateFakeAppName(app_index)); 103} 104 105void SetAppLaunchOrdinalForApp( 106 Profile* profile, 107 int app_index, 108 const syncer::StringOrdinal& app_launch_ordinal) { 109 SyncAppHelper::GetInstance()->SetAppLaunchOrdinalForApp( 110 profile, CreateFakeAppName(app_index), app_launch_ordinal); 111} 112 113void CopyNTPOrdinals(Profile* source, Profile* destination, int index) { 114 SetPageOrdinalForApp(destination, index, GetPageOrdinalForApp(source, index)); 115 SetAppLaunchOrdinalForApp( 116 destination, index, GetAppLaunchOrdinalForApp(source, index)); 117} 118 119void FixNTPOrdinalCollisions(Profile* profile) { 120 SyncAppHelper::GetInstance()->FixNTPOrdinalCollisions(profile); 121} 122 123} // namespace apps_helper 124