OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/extensions/extension_service_unittest.h" | 5 #include "chrome/browser/extensions/extension_service_unittest.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <set> | 8 #include <set> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 3003 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3014 | 3014 |
3015 } // namespace | 3015 } // namespace |
3016 | 3016 |
3017 // Test adding a pending extension. | 3017 // Test adding a pending extension. |
3018 TEST_F(ExtensionServiceTest, AddPendingExtensionFromSync) { | 3018 TEST_F(ExtensionServiceTest, AddPendingExtensionFromSync) { |
3019 InitializeEmptyExtensionService(); | 3019 InitializeEmptyExtensionService(); |
3020 | 3020 |
3021 const std::string kFakeId(all_zero); | 3021 const std::string kFakeId(all_zero); |
3022 const GURL kFakeUpdateURL("http:://fake.update/url"); | 3022 const GURL kFakeUpdateURL("http:://fake.update/url"); |
3023 const bool kFakeInstallSilently(true); | 3023 const bool kFakeInstallSilently(true); |
| 3024 const bool kFakeRemoteInstall(false); |
3024 | 3025 |
3025 EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( | 3026 EXPECT_TRUE( |
3026 kFakeId, kFakeUpdateURL, &IsExtension, | 3027 service_->pending_extension_manager()->AddFromSync(kFakeId, |
3027 kFakeInstallSilently)); | 3028 kFakeUpdateURL, |
| 3029 &IsExtension, |
| 3030 kFakeInstallSilently, |
| 3031 kFakeRemoteInstall)); |
3028 | 3032 |
3029 const extensions::PendingExtensionInfo* pending_extension_info; | 3033 const extensions::PendingExtensionInfo* pending_extension_info; |
3030 ASSERT_TRUE((pending_extension_info = service_->pending_extension_manager()-> | 3034 ASSERT_TRUE((pending_extension_info = service_->pending_extension_manager()-> |
3031 GetById(kFakeId))); | 3035 GetById(kFakeId))); |
3032 EXPECT_EQ(kFakeUpdateURL, pending_extension_info->update_url()); | 3036 EXPECT_EQ(kFakeUpdateURL, pending_extension_info->update_url()); |
3033 EXPECT_EQ(&IsExtension, pending_extension_info->should_allow_install_); | 3037 EXPECT_EQ(&IsExtension, pending_extension_info->should_allow_install_); |
3034 EXPECT_EQ(kFakeInstallSilently, pending_extension_info->install_silently()); | 3038 EXPECT_EQ(kFakeInstallSilently, pending_extension_info->install_silently()); |
| 3039 EXPECT_EQ(kFakeRemoteInstall, pending_extension_info->remote_install()); |
3035 } | 3040 } |
3036 | 3041 |
3037 namespace { | 3042 namespace { |
3038 const char kGoodId[] = "ldnnhddmnhbkjipkidpdiheffobcpfmf"; | 3043 const char kGoodId[] = "ldnnhddmnhbkjipkidpdiheffobcpfmf"; |
3039 const char kGoodUpdateURL[] = "http://good.update/url"; | 3044 const char kGoodUpdateURL[] = "http://good.update/url"; |
3040 const bool kGoodIsFromSync = true; | 3045 const bool kGoodIsFromSync = true; |
3041 const bool kGoodInstallSilently = true; | 3046 const bool kGoodInstallSilently = true; |
| 3047 const bool kGoodRemoteInstall = false; |
3042 } // namespace | 3048 } // namespace |
3043 | 3049 |
3044 // Test updating a pending extension. | 3050 // Test updating a pending extension. |
3045 TEST_F(ExtensionServiceTest, UpdatePendingExtension) { | 3051 TEST_F(ExtensionServiceTest, UpdatePendingExtension) { |
3046 InitializeEmptyExtensionService(); | 3052 InitializeEmptyExtensionService(); |
3047 EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( | 3053 EXPECT_TRUE( |
3048 kGoodId, GURL(kGoodUpdateURL), &IsExtension, | 3054 service_->pending_extension_manager()->AddFromSync(kGoodId, |
3049 kGoodInstallSilently)); | 3055 GURL(kGoodUpdateURL), |
| 3056 &IsExtension, |
| 3057 kGoodInstallSilently, |
| 3058 kGoodRemoteInstall)); |
3050 EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(kGoodId)); | 3059 EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(kGoodId)); |
3051 | 3060 |
3052 base::FilePath path = data_dir_.AppendASCII("good.crx"); | 3061 base::FilePath path = data_dir_.AppendASCII("good.crx"); |
3053 UpdateExtension(kGoodId, path, ENABLED); | 3062 UpdateExtension(kGoodId, path, ENABLED); |
3054 | 3063 |
3055 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId)); | 3064 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId)); |
3056 | 3065 |
3057 const Extension* extension = service_->GetExtensionById(kGoodId, true); | 3066 const Extension* extension = service_->GetExtensionById(kGoodId, true); |
3058 ASSERT_TRUE(extension); | 3067 ASSERT_TRUE(extension); |
3059 } | 3068 } |
3060 | 3069 |
3061 namespace { | 3070 namespace { |
3062 | 3071 |
3063 bool IsTheme(const Extension* extension) { | 3072 bool IsTheme(const Extension* extension) { |
3064 return extension->is_theme(); | 3073 return extension->is_theme(); |
3065 } | 3074 } |
3066 | 3075 |
3067 } // namespace | 3076 } // namespace |
3068 | 3077 |
3069 // Test updating a pending theme. | 3078 // Test updating a pending theme. |
3070 // Disabled due to ASAN failure. http://crbug.com/108320 | 3079 // Disabled due to ASAN failure. http://crbug.com/108320 |
3071 TEST_F(ExtensionServiceTest, DISABLED_UpdatePendingTheme) { | 3080 TEST_F(ExtensionServiceTest, DISABLED_UpdatePendingTheme) { |
3072 InitializeEmptyExtensionService(); | 3081 InitializeEmptyExtensionService(); |
3073 EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( | 3082 EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( |
3074 theme_crx, GURL(), &IsTheme, false)); | 3083 theme_crx, GURL(), &IsTheme, false, false)); |
3075 EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(theme_crx)); | 3084 EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(theme_crx)); |
3076 | 3085 |
3077 base::FilePath path = data_dir_.AppendASCII("theme.crx"); | 3086 base::FilePath path = data_dir_.AppendASCII("theme.crx"); |
3078 UpdateExtension(theme_crx, path, ENABLED); | 3087 UpdateExtension(theme_crx, path, ENABLED); |
3079 | 3088 |
3080 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(theme_crx)); | 3089 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(theme_crx)); |
3081 | 3090 |
3082 const Extension* extension = service_->GetExtensionById(theme_crx, true); | 3091 const Extension* extension = service_->GetExtensionById(theme_crx, true); |
3083 ASSERT_TRUE(extension); | 3092 ASSERT_TRUE(extension); |
3084 | 3093 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3123 profile_.get())); | 3132 profile_.get())); |
3124 } | 3133 } |
3125 | 3134 |
3126 // Test updating a pending CRX as if the source is an external extension | 3135 // Test updating a pending CRX as if the source is an external extension |
3127 // with an update URL. The external update should overwrite a sync update, | 3136 // with an update URL. The external update should overwrite a sync update, |
3128 // but a sync update should not overwrite a non-sync update. | 3137 // but a sync update should not overwrite a non-sync update. |
3129 TEST_F(ExtensionServiceTest, UpdatePendingExternalCrxWinsOverSync) { | 3138 TEST_F(ExtensionServiceTest, UpdatePendingExternalCrxWinsOverSync) { |
3130 InitializeEmptyExtensionService(); | 3139 InitializeEmptyExtensionService(); |
3131 | 3140 |
3132 // Add a crx to be installed from the update mechanism. | 3141 // Add a crx to be installed from the update mechanism. |
3133 EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( | 3142 EXPECT_TRUE( |
3134 kGoodId, GURL(kGoodUpdateURL), &IsExtension, | 3143 service_->pending_extension_manager()->AddFromSync(kGoodId, |
3135 kGoodInstallSilently)); | 3144 GURL(kGoodUpdateURL), |
| 3145 &IsExtension, |
| 3146 kGoodInstallSilently, |
| 3147 kGoodRemoteInstall)); |
3136 | 3148 |
3137 // Check that there is a pending crx, with is_from_sync set to true. | 3149 // Check that there is a pending crx, with is_from_sync set to true. |
3138 const extensions::PendingExtensionInfo* pending_extension_info; | 3150 const extensions::PendingExtensionInfo* pending_extension_info; |
3139 ASSERT_TRUE((pending_extension_info = service_->pending_extension_manager()-> | 3151 ASSERT_TRUE((pending_extension_info = service_->pending_extension_manager()-> |
3140 GetById(kGoodId))); | 3152 GetById(kGoodId))); |
3141 EXPECT_TRUE(pending_extension_info->is_from_sync()); | 3153 EXPECT_TRUE(pending_extension_info->is_from_sync()); |
3142 | 3154 |
3143 // Add a crx to be updated, with the same ID, from a non-sync source. | 3155 // Add a crx to be updated, with the same ID, from a non-sync source. |
3144 EXPECT_TRUE(service_->pending_extension_manager()->AddFromExternalUpdateUrl( | 3156 EXPECT_TRUE(service_->pending_extension_manager()->AddFromExternalUpdateUrl( |
3145 kGoodId, | 3157 kGoodId, |
3146 std::string(), | 3158 std::string(), |
3147 GURL(kGoodUpdateURL), | 3159 GURL(kGoodUpdateURL), |
3148 Manifest::EXTERNAL_PREF_DOWNLOAD, | 3160 Manifest::EXTERNAL_PREF_DOWNLOAD, |
3149 Extension::NO_FLAGS, | 3161 Extension::NO_FLAGS, |
3150 false)); | 3162 false)); |
3151 | 3163 |
3152 // Check that there is a pending crx, with is_from_sync set to false. | 3164 // Check that there is a pending crx, with is_from_sync set to false. |
3153 ASSERT_TRUE((pending_extension_info = service_->pending_extension_manager()-> | 3165 ASSERT_TRUE((pending_extension_info = service_->pending_extension_manager()-> |
3154 GetById(kGoodId))); | 3166 GetById(kGoodId))); |
3155 EXPECT_FALSE(pending_extension_info->is_from_sync()); | 3167 EXPECT_FALSE(pending_extension_info->is_from_sync()); |
3156 EXPECT_EQ(Manifest::EXTERNAL_PREF_DOWNLOAD, | 3168 EXPECT_EQ(Manifest::EXTERNAL_PREF_DOWNLOAD, |
3157 pending_extension_info->install_source()); | 3169 pending_extension_info->install_source()); |
3158 | 3170 |
3159 // Add a crx to be installed from the update mechanism. | 3171 // Add a crx to be installed from the update mechanism. |
3160 EXPECT_FALSE(service_->pending_extension_manager()->AddFromSync( | 3172 EXPECT_FALSE( |
3161 kGoodId, GURL(kGoodUpdateURL), &IsExtension, | 3173 service_->pending_extension_manager()->AddFromSync(kGoodId, |
3162 kGoodInstallSilently)); | 3174 GURL(kGoodUpdateURL), |
| 3175 &IsExtension, |
| 3176 kGoodInstallSilently, |
| 3177 kGoodRemoteInstall)); |
3163 | 3178 |
3164 // Check that the external, non-sync update was not overridden. | 3179 // Check that the external, non-sync update was not overridden. |
3165 ASSERT_TRUE((pending_extension_info = service_->pending_extension_manager()-> | 3180 ASSERT_TRUE((pending_extension_info = service_->pending_extension_manager()-> |
3166 GetById(kGoodId))); | 3181 GetById(kGoodId))); |
3167 EXPECT_FALSE(pending_extension_info->is_from_sync()); | 3182 EXPECT_FALSE(pending_extension_info->is_from_sync()); |
3168 EXPECT_EQ(Manifest::EXTERNAL_PREF_DOWNLOAD, | 3183 EXPECT_EQ(Manifest::EXTERNAL_PREF_DOWNLOAD, |
3169 pending_extension_info->install_source()); | 3184 pending_extension_info->install_source()); |
3170 } | 3185 } |
3171 | 3186 |
3172 // Updating a theme should fail if the updater is explicitly told that | 3187 // Updating a theme should fail if the updater is explicitly told that |
3173 // the CRX is not a theme. | 3188 // the CRX is not a theme. |
3174 TEST_F(ExtensionServiceTest, UpdatePendingCrxThemeMismatch) { | 3189 TEST_F(ExtensionServiceTest, UpdatePendingCrxThemeMismatch) { |
3175 InitializeEmptyExtensionService(); | 3190 InitializeEmptyExtensionService(); |
3176 EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( | 3191 EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( |
3177 theme_crx, GURL(), &IsExtension, true)); | 3192 theme_crx, GURL(), &IsExtension, true, false)); |
3178 | 3193 |
3179 EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(theme_crx)); | 3194 EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(theme_crx)); |
3180 | 3195 |
3181 base::FilePath path = data_dir_.AppendASCII("theme.crx"); | 3196 base::FilePath path = data_dir_.AppendASCII("theme.crx"); |
3182 UpdateExtension(theme_crx, path, FAILED_SILENTLY); | 3197 UpdateExtension(theme_crx, path, FAILED_SILENTLY); |
3183 | 3198 |
3184 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(theme_crx)); | 3199 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(theme_crx)); |
3185 | 3200 |
3186 const Extension* extension = service_->GetExtensionById(theme_crx, true); | 3201 const Extension* extension = service_->GetExtensionById(theme_crx, true); |
3187 ASSERT_FALSE(extension); | 3202 ASSERT_FALSE(extension); |
3188 } | 3203 } |
3189 | 3204 |
3190 // TODO(akalin): Test updating a pending extension non-silently once | 3205 // TODO(akalin): Test updating a pending extension non-silently once |
3191 // we can mock out ExtensionInstallUI and inject our version into | 3206 // we can mock out ExtensionInstallUI and inject our version into |
3192 // UpdateExtension(). | 3207 // UpdateExtension(). |
3193 | 3208 |
3194 // Test updating a pending extension which fails the should-install test. | 3209 // Test updating a pending extension which fails the should-install test. |
3195 TEST_F(ExtensionServiceTest, UpdatePendingExtensionFailedShouldInstallTest) { | 3210 TEST_F(ExtensionServiceTest, UpdatePendingExtensionFailedShouldInstallTest) { |
3196 InitializeEmptyExtensionService(); | 3211 InitializeEmptyExtensionService(); |
3197 // Add pending extension with a flipped is_theme. | 3212 // Add pending extension with a flipped is_theme. |
3198 EXPECT_TRUE(service_->pending_extension_manager()->AddFromSync( | 3213 EXPECT_TRUE( |
3199 kGoodId, GURL(kGoodUpdateURL), &IsTheme, kGoodInstallSilently)); | 3214 service_->pending_extension_manager()->AddFromSync(kGoodId, |
| 3215 GURL(kGoodUpdateURL), |
| 3216 &IsTheme, |
| 3217 kGoodInstallSilently, |
| 3218 kGoodRemoteInstall)); |
3200 EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(kGoodId)); | 3219 EXPECT_TRUE(service_->pending_extension_manager()->IsIdPending(kGoodId)); |
3201 | 3220 |
3202 base::FilePath path = data_dir_.AppendASCII("good.crx"); | 3221 base::FilePath path = data_dir_.AppendASCII("good.crx"); |
3203 UpdateExtension(kGoodId, path, UPDATED); | 3222 UpdateExtension(kGoodId, path, UPDATED); |
3204 | 3223 |
3205 // TODO(akalin): Figure out how to check that the extensions | 3224 // TODO(akalin): Figure out how to check that the extensions |
3206 // directory is cleaned up properly in OnExtensionInstalled(). | 3225 // directory is cleaned up properly in OnExtensionInstalled(). |
3207 | 3226 |
3208 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId)); | 3227 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId)); |
3209 } | 3228 } |
(...skipping 26 matching lines...) Expand all Loading... |
3236 service_->pending_extension_manager()->AddExtensionImpl( | 3255 service_->pending_extension_manager()->AddExtensionImpl( |
3237 good->id(), | 3256 good->id(), |
3238 std::string(), | 3257 std::string(), |
3239 extensions::ManifestURL::GetUpdateURL(good), | 3258 extensions::ManifestURL::GetUpdateURL(good), |
3240 Version(), | 3259 Version(), |
3241 &IsExtension, | 3260 &IsExtension, |
3242 kGoodIsFromSync, | 3261 kGoodIsFromSync, |
3243 kGoodInstallSilently, | 3262 kGoodInstallSilently, |
3244 Manifest::INTERNAL, | 3263 Manifest::INTERNAL, |
3245 Extension::NO_FLAGS, | 3264 Extension::NO_FLAGS, |
3246 false); | 3265 false, |
| 3266 kGoodRemoteInstall); |
3247 UpdateExtension(good->id(), path, ENABLED); | 3267 UpdateExtension(good->id(), path, ENABLED); |
3248 | 3268 |
3249 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId)); | 3269 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId)); |
3250 } | 3270 } |
3251 | 3271 |
3252 #if defined(ENABLE_BLACKLIST_TESTS) | 3272 #if defined(ENABLE_BLACKLIST_TESTS) |
3253 // Tests blacklisting then unblacklisting extensions after the service has been | 3273 // Tests blacklisting then unblacklisting extensions after the service has been |
3254 // initialized. | 3274 // initialized. |
3255 TEST_F(ExtensionServiceTest, SetUnsetBlacklistInPrefs) { | 3275 TEST_F(ExtensionServiceTest, SetUnsetBlacklistInPrefs) { |
3256 extensions::TestBlacklist test_blacklist; | 3276 extensions::TestBlacklist test_blacklist; |
(...skipping 2187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5444 | 5464 |
5445 service_->Init(); | 5465 service_->Init(); |
5446 ASSERT_TRUE(service_->is_ready()); | 5466 ASSERT_TRUE(service_->is_ready()); |
5447 | 5467 |
5448 ASSERT_EQ(3u, loaded_.size()); | 5468 ASSERT_EQ(3u, loaded_.size()); |
5449 | 5469 |
5450 // We start enabled. | 5470 // We start enabled. |
5451 const Extension* extension = service_->GetExtensionById(good0, true); | 5471 const Extension* extension = service_->GetExtensionById(good0, true); |
5452 ASSERT_TRUE(extension); | 5472 ASSERT_TRUE(extension); |
5453 ASSERT_TRUE(service_->IsExtensionEnabled(good0)); | 5473 ASSERT_TRUE(service_->IsExtensionEnabled(good0)); |
5454 extensions::ExtensionSyncData disable_good_crx(*extension, false, false); | 5474 extensions::ExtensionSyncData disable_good_crx( |
| 5475 *extension, false, false, false); |
5455 | 5476 |
5456 // Then sync data arrives telling us to disable |good0|. | 5477 // Then sync data arrives telling us to disable |good0|. |
5457 syncer::SyncDataList sync_data; | 5478 syncer::SyncDataList sync_data; |
5458 sync_data.push_back(disable_good_crx.GetSyncData()); | 5479 sync_data.push_back(disable_good_crx.GetSyncData()); |
5459 extension_sync_service_->MergeDataAndStartSyncing( | 5480 extension_sync_service_->MergeDataAndStartSyncing( |
5460 syncer::EXTENSIONS, | 5481 syncer::EXTENSIONS, |
5461 sync_data, | 5482 sync_data, |
5462 scoped_ptr<syncer::SyncChangeProcessor>( | 5483 scoped_ptr<syncer::SyncChangeProcessor>( |
5463 new syncer::FakeSyncChangeProcessor), | 5484 new syncer::FakeSyncChangeProcessor), |
5464 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5485 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
(...skipping 26 matching lines...) Expand all Loading... |
5491 // Disable extension before first sync data arrives. | 5512 // Disable extension before first sync data arrives. |
5492 service_->DisableExtension(good0, Extension::DISABLE_USER_ACTION); | 5513 service_->DisableExtension(good0, Extension::DISABLE_USER_ACTION); |
5493 ASSERT_FALSE(service_->IsExtensionEnabled(good0)); | 5514 ASSERT_FALSE(service_->IsExtensionEnabled(good0)); |
5494 | 5515 |
5495 // Enable extension - this is now the most recent state. | 5516 // Enable extension - this is now the most recent state. |
5496 service_->EnableExtension(good0); | 5517 service_->EnableExtension(good0); |
5497 ASSERT_TRUE(service_->IsExtensionEnabled(good0)); | 5518 ASSERT_TRUE(service_->IsExtensionEnabled(good0)); |
5498 | 5519 |
5499 // Now sync data comes in that says to disable good0. This should be | 5520 // Now sync data comes in that says to disable good0. This should be |
5500 // ignored. | 5521 // ignored. |
5501 extensions::ExtensionSyncData disable_good_crx(*extension, false, false); | 5522 extensions::ExtensionSyncData disable_good_crx( |
| 5523 *extension, false, false, false); |
5502 syncer::SyncDataList sync_data; | 5524 syncer::SyncDataList sync_data; |
5503 sync_data.push_back(disable_good_crx.GetSyncData()); | 5525 sync_data.push_back(disable_good_crx.GetSyncData()); |
5504 extension_sync_service_->MergeDataAndStartSyncing( | 5526 extension_sync_service_->MergeDataAndStartSyncing( |
5505 syncer::EXTENSIONS, | 5527 syncer::EXTENSIONS, |
5506 sync_data, | 5528 sync_data, |
5507 scoped_ptr<syncer::SyncChangeProcessor>( | 5529 scoped_ptr<syncer::SyncChangeProcessor>( |
5508 new syncer::FakeSyncChangeProcessor), | 5530 new syncer::FakeSyncChangeProcessor), |
5509 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); | 5531 scoped_ptr<syncer::SyncErrorFactory>(new syncer::SyncErrorFactoryMock())); |
5510 | 5532 |
5511 // The extension was enabled locally before the sync data arrived, so it | 5533 // The extension was enabled locally before the sync data arrived, so it |
(...skipping 979 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6491 Version version("1.0.0.0"); | 6513 Version version("1.0.0.0"); |
6492 | 6514 |
6493 return service_->OnExternalExtensionFileFound( | 6515 return service_->OnExternalExtensionFileFound( |
6494 crx_id_, &version, crx_path_, Manifest::EXTERNAL_PREF, | 6516 crx_id_, &version, crx_path_, Manifest::EXTERNAL_PREF, |
6495 Extension::NO_FLAGS, false); | 6517 Extension::NO_FLAGS, false); |
6496 } | 6518 } |
6497 | 6519 |
6498 // Fake a request from sync to install an extension. | 6520 // Fake a request from sync to install an extension. |
6499 bool AddPendingSyncInstall() { | 6521 bool AddPendingSyncInstall() { |
6500 return service_->pending_extension_manager()->AddFromSync( | 6522 return service_->pending_extension_manager()->AddFromSync( |
6501 crx_id_, GURL(kGoodUpdateURL), &IsExtension, kGoodInstallSilently); | 6523 crx_id_, |
| 6524 GURL(kGoodUpdateURL), |
| 6525 &IsExtension, |
| 6526 kGoodInstallSilently, |
| 6527 kGoodRemoteInstall); |
6502 } | 6528 } |
6503 | 6529 |
6504 // Fake a policy install. | 6530 // Fake a policy install. |
6505 bool AddPendingPolicyInstall() { | 6531 bool AddPendingPolicyInstall() { |
6506 // Get path to the CRX with id |kGoodId|. | 6532 // Get path to the CRX with id |kGoodId|. |
6507 return service_->OnExternalExtensionUpdateUrlFound( | 6533 return service_->OnExternalExtensionUpdateUrlFound( |
6508 crx_id_, | 6534 crx_id_, |
6509 std::string(), | 6535 std::string(), |
6510 GURL(), | 6536 GURL(), |
6511 Manifest::EXTERNAL_POLICY_DOWNLOAD, | 6537 Manifest::EXTERNAL_POLICY_DOWNLOAD, |
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6910 // ReconcileKnownDisabled(). | 6936 // ReconcileKnownDisabled(). |
6911 service_->EnableExtension(good2); | 6937 service_->EnableExtension(good2); |
6912 service_->ReconcileKnownDisabled(); | 6938 service_->ReconcileKnownDisabled(); |
6913 expected_extensions.insert(good2); | 6939 expected_extensions.insert(good2); |
6914 expected_disabled_extensions.erase(good2); | 6940 expected_disabled_extensions.erase(good2); |
6915 | 6941 |
6916 EXPECT_EQ(expected_extensions, registry_->enabled_extensions().GetIDs()); | 6942 EXPECT_EQ(expected_extensions, registry_->enabled_extensions().GetIDs()); |
6917 EXPECT_EQ(expected_disabled_extensions, | 6943 EXPECT_EQ(expected_disabled_extensions, |
6918 registry_->disabled_extensions().GetIDs()); | 6944 registry_->disabled_extensions().GetIDs()); |
6919 } | 6945 } |
OLD | NEW |