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

Side by Side Diff: chrome/browser/extensions/extension_service_unittest.cc

Issue 109673004: Revert "Update all users of base::Version to explicitly specify the namespace, and clean up the hea… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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 (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 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 243
244 void RemoveExtension(const std::string& id) { 244 void RemoveExtension(const std::string& id) {
245 extension_map_.erase(id); 245 extension_map_.erase(id);
246 } 246 }
247 247
248 // ExternalProvider implementation: 248 // ExternalProvider implementation:
249 virtual void VisitRegisteredExtension() OVERRIDE { 249 virtual void VisitRegisteredExtension() OVERRIDE {
250 visit_count_++; 250 visit_count_++;
251 for (DataMap::const_iterator i = extension_map_.begin(); 251 for (DataMap::const_iterator i = extension_map_.begin();
252 i != extension_map_.end(); ++i) { 252 i != extension_map_.end(); ++i) {
253 base::Version version(i->second.first); 253 Version version(i->second.first);
254 254
255 visitor_->OnExternalExtensionFileFound( 255 visitor_->OnExternalExtensionFileFound(
256 i->first, &version, i->second.second, location_, 256 i->first, &version, i->second.second, location_,
257 Extension::NO_FLAGS, false); 257 Extension::NO_FLAGS, false);
258 } 258 }
259 visitor_->OnExternalProviderReady(this); 259 visitor_->OnExternalProviderReady(this);
260 } 260 }
261 261
262 virtual bool HasExtension(const std::string& id) const OVERRIDE { 262 virtual bool HasExtension(const std::string& id) const OVERRIDE {
263 return extension_map_.find(id) != extension_map_.end(); 263 return extension_map_.find(id) != extension_map_.end();
264 } 264 }
265 265
266 virtual bool GetExtensionDetails( 266 virtual bool GetExtensionDetails(
267 const std::string& id, 267 const std::string& id,
268 Manifest::Location* location, 268 Manifest::Location* location,
269 scoped_ptr<base::Version>* version) const OVERRIDE { 269 scoped_ptr<Version>* version) const OVERRIDE {
270 DataMap::const_iterator it = extension_map_.find(id); 270 DataMap::const_iterator it = extension_map_.find(id);
271 if (it == extension_map_.end()) 271 if (it == extension_map_.end())
272 return false; 272 return false;
273 273
274 if (version) 274 if (version)
275 version->reset(new base::Version(it->second.first)); 275 version->reset(new Version(it->second.first));
276 276
277 if (location) 277 if (location)
278 *location = location_; 278 *location = location_;
279 279
280 return true; 280 return true;
281 } 281 }
282 282
283 virtual bool IsReady() const OVERRIDE { 283 virtual bool IsReady() const OVERRIDE {
284 return true; 284 return true;
285 } 285 }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 354
355 // Reset our counter. 355 // Reset our counter.
356 ids_found_ = 0; 356 ids_found_ = 0;
357 // Ask the provider to look up all extensions and return them. 357 // Ask the provider to look up all extensions and return them.
358 provider_->VisitRegisteredExtension(); 358 provider_->VisitRegisteredExtension();
359 359
360 return ids_found_; 360 return ids_found_;
361 } 361 }
362 362
363 virtual bool OnExternalExtensionFileFound(const std::string& id, 363 virtual bool OnExternalExtensionFileFound(const std::string& id,
364 const base::Version* version, 364 const Version* version,
365 const base::FilePath& path, 365 const base::FilePath& path,
366 Manifest::Location unused, 366 Manifest::Location unused,
367 int creation_flags, 367 int creation_flags,
368 bool mark_acknowledged) OVERRIDE { 368 bool mark_acknowledged) OVERRIDE {
369 EXPECT_EQ(expected_creation_flags_, creation_flags); 369 EXPECT_EQ(expected_creation_flags_, creation_flags);
370 370
371 ++ids_found_; 371 ++ids_found_;
372 base::DictionaryValue* pref; 372 base::DictionaryValue* pref;
373 // This tests is to make sure that the provider only notifies us of the 373 // This tests is to make sure that the provider only notifies us of the
374 // values we gave it. So if the id we doesn't exist in our internal 374 // values we gave it. So if the id we doesn't exist in our internal
375 // dictionary then something is wrong. 375 // dictionary then something is wrong.
376 EXPECT_TRUE(prefs_->GetDictionary(id, &pref)) 376 EXPECT_TRUE(prefs_->GetDictionary(id, &pref))
377 << "Got back ID (" << id.c_str() << ") we weren't expecting"; 377 << "Got back ID (" << id.c_str() << ") we weren't expecting";
378 378
379 EXPECT_TRUE(path.IsAbsolute()); 379 EXPECT_TRUE(path.IsAbsolute());
380 if (!fake_base_path_.empty()) 380 if (!fake_base_path_.empty())
381 EXPECT_TRUE(fake_base_path_.IsParent(path)); 381 EXPECT_TRUE(fake_base_path_.IsParent(path));
382 382
383 if (pref) { 383 if (pref) {
384 EXPECT_TRUE(provider_->HasExtension(id)); 384 EXPECT_TRUE(provider_->HasExtension(id));
385 385
386 // Ask provider if the extension we got back is registered. 386 // Ask provider if the extension we got back is registered.
387 Manifest::Location location = Manifest::INVALID_LOCATION; 387 Manifest::Location location = Manifest::INVALID_LOCATION;
388 scoped_ptr<base::Version> v1; 388 scoped_ptr<Version> v1;
389 base::FilePath crx_path; 389 base::FilePath crx_path;
390 390
391 EXPECT_TRUE(provider_->GetExtensionDetails(id, NULL, &v1)); 391 EXPECT_TRUE(provider_->GetExtensionDetails(id, NULL, &v1));
392 EXPECT_STREQ(version->GetString().c_str(), v1->GetString().c_str()); 392 EXPECT_STREQ(version->GetString().c_str(), v1->GetString().c_str());
393 393
394 scoped_ptr<base::Version> v2; 394 scoped_ptr<Version> v2;
395 EXPECT_TRUE(provider_->GetExtensionDetails(id, &location, &v2)); 395 EXPECT_TRUE(provider_->GetExtensionDetails(id, &location, &v2));
396 EXPECT_STREQ(version->GetString().c_str(), v1->GetString().c_str()); 396 EXPECT_STREQ(version->GetString().c_str(), v1->GetString().c_str());
397 EXPECT_STREQ(version->GetString().c_str(), v2->GetString().c_str()); 397 EXPECT_STREQ(version->GetString().c_str(), v2->GetString().c_str());
398 EXPECT_EQ(Manifest::EXTERNAL_PREF, location); 398 EXPECT_EQ(Manifest::EXTERNAL_PREF, location);
399 399
400 // Remove it so we won't count it ever again. 400 // Remove it so we won't count it ever again.
401 prefs_->Remove(id, NULL); 401 prefs_->Remove(id, NULL);
402 } 402 }
403 return true; 403 return true;
404 } 404 }
405 405
406 virtual bool OnExternalExtensionUpdateUrlFound( 406 virtual bool OnExternalExtensionUpdateUrlFound(
407 const std::string& id, const GURL& update_url, 407 const std::string& id, const GURL& update_url,
408 Manifest::Location location, 408 Manifest::Location location,
409 int creation_flags, 409 int creation_flags,
410 bool mark_acknowledged) OVERRIDE { 410 bool mark_acknowledged) OVERRIDE {
411 ++ids_found_; 411 ++ids_found_;
412 base::DictionaryValue* pref; 412 base::DictionaryValue* pref;
413 // This tests is to make sure that the provider only notifies us of the 413 // This tests is to make sure that the provider only notifies us of the
414 // values we gave it. So if the id we doesn't exist in our internal 414 // values we gave it. So if the id we doesn't exist in our internal
415 // dictionary then something is wrong. 415 // dictionary then something is wrong.
416 EXPECT_TRUE(prefs_->GetDictionary(id, &pref)) 416 EXPECT_TRUE(prefs_->GetDictionary(id, &pref))
417 << L"Got back ID (" << id.c_str() << ") we weren't expecting"; 417 << L"Got back ID (" << id.c_str() << ") we weren't expecting";
418 EXPECT_EQ(Manifest::EXTERNAL_PREF_DOWNLOAD, location); 418 EXPECT_EQ(Manifest::EXTERNAL_PREF_DOWNLOAD, location);
419 419
420 if (pref) { 420 if (pref) {
421 EXPECT_TRUE(provider_->HasExtension(id)); 421 EXPECT_TRUE(provider_->HasExtension(id));
422 422
423 // External extensions with update URLs do not have versions. 423 // External extensions with update URLs do not have versions.
424 scoped_ptr<base::Version> v1; 424 scoped_ptr<Version> v1;
425 Manifest::Location location1 = Manifest::INVALID_LOCATION; 425 Manifest::Location location1 = Manifest::INVALID_LOCATION;
426 EXPECT_TRUE(provider_->GetExtensionDetails(id, &location1, &v1)); 426 EXPECT_TRUE(provider_->GetExtensionDetails(id, &location1, &v1));
427 EXPECT_FALSE(v1.get()); 427 EXPECT_FALSE(v1.get());
428 EXPECT_EQ(Manifest::EXTERNAL_PREF_DOWNLOAD, location1); 428 EXPECT_EQ(Manifest::EXTERNAL_PREF_DOWNLOAD, location1);
429 429
430 // Remove it so we won't count it again. 430 // Remove it so we won't count it again.
431 prefs_->Remove(id, NULL); 431 prefs_->Remove(id, NULL);
432 } 432 }
433 return true; 433 return true;
434 } 434 }
(...skipping 1335 matching lines...) Expand 10 before | Expand all | Expand 10 after
1770 // extension object. 1770 // extension object.
1771 TEST_F(ExtensionServiceTest, InstallingExternalExtensionWithFlags) { 1771 TEST_F(ExtensionServiceTest, InstallingExternalExtensionWithFlags) {
1772 const char kPrefFromBookmark[] = "from_bookmark"; 1772 const char kPrefFromBookmark[] = "from_bookmark";
1773 1773
1774 InitializeEmptyExtensionService(); 1774 InitializeEmptyExtensionService();
1775 1775
1776 base::FilePath path = data_dir_.AppendASCII("good.crx"); 1776 base::FilePath path = data_dir_.AppendASCII("good.crx");
1777 set_extensions_enabled(true); 1777 set_extensions_enabled(true);
1778 1778
1779 // Register and install an external extension. 1779 // Register and install an external extension.
1780 base::Version version("1.0.0.0"); 1780 Version version("1.0.0.0");
1781 content::WindowedNotificationObserver observer( 1781 content::WindowedNotificationObserver observer(
1782 chrome::NOTIFICATION_CRX_INSTALLER_DONE, 1782 chrome::NOTIFICATION_CRX_INSTALLER_DONE,
1783 content::NotificationService::AllSources()); 1783 content::NotificationService::AllSources());
1784 if (service_->OnExternalExtensionFileFound( 1784 if (service_->OnExternalExtensionFileFound(
1785 good_crx, 1785 good_crx,
1786 &version, 1786 &version,
1787 path, 1787 path,
1788 Manifest::EXTERNAL_PREF, 1788 Manifest::EXTERNAL_PREF,
1789 Extension::FROM_BOOKMARK, 1789 Extension::FROM_BOOKMARK,
1790 false /* mark_acknowledged */)) { 1790 false /* mark_acknowledged */)) {
(...skipping 15 matching lines...) Expand all
1806 } 1806 }
1807 1807
1808 // Test the handling of Extension::EXTERNAL_EXTENSION_UNINSTALLED 1808 // Test the handling of Extension::EXTERNAL_EXTENSION_UNINSTALLED
1809 TEST_F(ExtensionServiceTest, UninstallingExternalExtensions) { 1809 TEST_F(ExtensionServiceTest, UninstallingExternalExtensions) {
1810 InitializeEmptyExtensionService(); 1810 InitializeEmptyExtensionService();
1811 1811
1812 base::FilePath path = data_dir_.AppendASCII("good.crx"); 1812 base::FilePath path = data_dir_.AppendASCII("good.crx");
1813 set_extensions_enabled(true); 1813 set_extensions_enabled(true);
1814 1814
1815 // Install an external extension. 1815 // Install an external extension.
1816 base::Version version("1.0.0.0"); 1816 Version version("1.0.0.0");
1817 content::WindowedNotificationObserver observer( 1817 content::WindowedNotificationObserver observer(
1818 chrome::NOTIFICATION_CRX_INSTALLER_DONE, 1818 chrome::NOTIFICATION_CRX_INSTALLER_DONE,
1819 content::NotificationService::AllSources()); 1819 content::NotificationService::AllSources());
1820 if (service_->OnExternalExtensionFileFound(good_crx, &version, 1820 if (service_->OnExternalExtensionFileFound(good_crx, &version,
1821 path, Manifest::EXTERNAL_PREF, 1821 path, Manifest::EXTERNAL_PREF,
1822 Extension::NO_FLAGS, false)) { 1822 Extension::NO_FLAGS, false)) {
1823 observer.Wait(); 1823 observer.Wait();
1824 } 1824 }
1825 1825
1826 ASSERT_TRUE(service_->GetExtensionById(good_crx, false)); 1826 ASSERT_TRUE(service_->GetExtensionById(good_crx, false));
1827 1827
1828 // Uninstall it and check that its killbit gets set. 1828 // Uninstall it and check that its killbit gets set.
1829 UninstallExtension(good_crx, false); 1829 UninstallExtension(good_crx, false);
1830 ValidateIntegerPref(good_crx, "location", 1830 ValidateIntegerPref(good_crx, "location",
1831 Extension::EXTERNAL_EXTENSION_UNINSTALLED); 1831 Extension::EXTERNAL_EXTENSION_UNINSTALLED);
1832 1832
1833 // Try to re-install it externally. This should fail because of the killbit. 1833 // Try to re-install it externally. This should fail because of the killbit.
1834 service_->OnExternalExtensionFileFound(good_crx, &version, 1834 service_->OnExternalExtensionFileFound(good_crx, &version,
1835 path, Manifest::EXTERNAL_PREF, 1835 path, Manifest::EXTERNAL_PREF,
1836 Extension::NO_FLAGS, false); 1836 Extension::NO_FLAGS, false);
1837 base::RunLoop().RunUntilIdle(); 1837 base::RunLoop().RunUntilIdle();
1838 ASSERT_TRUE(NULL == service_->GetExtensionById(good_crx, false)); 1838 ASSERT_TRUE(NULL == service_->GetExtensionById(good_crx, false));
1839 ValidateIntegerPref(good_crx, "location", 1839 ValidateIntegerPref(good_crx, "location",
1840 Extension::EXTERNAL_EXTENSION_UNINSTALLED); 1840 Extension::EXTERNAL_EXTENSION_UNINSTALLED);
1841 1841
1842 version = base::Version("1.0.0.1"); 1842 version = Version("1.0.0.1");
1843 // Repeat the same thing with a newer version of the extension. 1843 // Repeat the same thing with a newer version of the extension.
1844 path = data_dir_.AppendASCII("good2.crx"); 1844 path = data_dir_.AppendASCII("good2.crx");
1845 service_->OnExternalExtensionFileFound(good_crx, &version, 1845 service_->OnExternalExtensionFileFound(good_crx, &version,
1846 path, Manifest::EXTERNAL_PREF, 1846 path, Manifest::EXTERNAL_PREF,
1847 Extension::NO_FLAGS, false); 1847 Extension::NO_FLAGS, false);
1848 base::RunLoop().RunUntilIdle(); 1848 base::RunLoop().RunUntilIdle();
1849 ASSERT_TRUE(NULL == service_->GetExtensionById(good_crx, false)); 1849 ASSERT_TRUE(NULL == service_->GetExtensionById(good_crx, false));
1850 ValidateIntegerPref(good_crx, "location", 1850 ValidateIntegerPref(good_crx, "location",
1851 Extension::EXTERNAL_EXTENSION_UNINSTALLED); 1851 Extension::EXTERNAL_EXTENSION_UNINSTALLED);
1852 1852
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1888 MockExtensionProvider provider(NULL, Manifest::EXTERNAL_REGISTRY); 1888 MockExtensionProvider provider(NULL, Manifest::EXTERNAL_REGISTRY);
1889 service_->OnExternalProviderReady(&provider); 1889 service_->OnExternalProviderReady(&provider);
1890 } 1890 }
1891 1891
1892 // Test that external extensions with incorrect IDs are not installed. 1892 // Test that external extensions with incorrect IDs are not installed.
1893 TEST_F(ExtensionServiceTest, FailOnWrongId) { 1893 TEST_F(ExtensionServiceTest, FailOnWrongId) {
1894 InitializeEmptyExtensionService(); 1894 InitializeEmptyExtensionService();
1895 base::FilePath path = data_dir_.AppendASCII("good.crx"); 1895 base::FilePath path = data_dir_.AppendASCII("good.crx");
1896 set_extensions_enabled(true); 1896 set_extensions_enabled(true);
1897 1897
1898 base::Version version("1.0.0.0"); 1898 Version version("1.0.0.0");
1899 1899
1900 const std::string wrong_id = all_zero; 1900 const std::string wrong_id = all_zero;
1901 const std::string correct_id = good_crx; 1901 const std::string correct_id = good_crx;
1902 ASSERT_NE(correct_id, wrong_id); 1902 ASSERT_NE(correct_id, wrong_id);
1903 1903
1904 // Install an external extension with an ID from the external 1904 // Install an external extension with an ID from the external
1905 // source that is not equal to the ID in the extension manifest. 1905 // source that is not equal to the ID in the extension manifest.
1906 content::WindowedNotificationObserver observer( 1906 content::WindowedNotificationObserver observer(
1907 chrome::NOTIFICATION_CRX_INSTALLER_DONE, 1907 chrome::NOTIFICATION_CRX_INSTALLER_DONE,
1908 content::NotificationService::AllSources()); 1908 content::NotificationService::AllSources());
(...skipping 17 matching lines...) Expand all
1926 } 1926 }
1927 1927
1928 // Test that external extensions with incorrect versions are not installed. 1928 // Test that external extensions with incorrect versions are not installed.
1929 TEST_F(ExtensionServiceTest, FailOnWrongVersion) { 1929 TEST_F(ExtensionServiceTest, FailOnWrongVersion) {
1930 InitializeEmptyExtensionService(); 1930 InitializeEmptyExtensionService();
1931 base::FilePath path = data_dir_.AppendASCII("good.crx"); 1931 base::FilePath path = data_dir_.AppendASCII("good.crx");
1932 set_extensions_enabled(true); 1932 set_extensions_enabled(true);
1933 1933
1934 // Install an external extension with a version from the external 1934 // Install an external extension with a version from the external
1935 // source that is not equal to the version in the extension manifest. 1935 // source that is not equal to the version in the extension manifest.
1936 base::Version wrong_version("1.2.3.4"); 1936 Version wrong_version("1.2.3.4");
1937 content::WindowedNotificationObserver observer( 1937 content::WindowedNotificationObserver observer(
1938 chrome::NOTIFICATION_CRX_INSTALLER_DONE, 1938 chrome::NOTIFICATION_CRX_INSTALLER_DONE,
1939 content::NotificationService::AllSources()); 1939 content::NotificationService::AllSources());
1940 service_->OnExternalExtensionFileFound( 1940 service_->OnExternalExtensionFileFound(
1941 good_crx, &wrong_version, path, Manifest::EXTERNAL_PREF, 1941 good_crx, &wrong_version, path, Manifest::EXTERNAL_PREF,
1942 Extension::NO_FLAGS, false); 1942 Extension::NO_FLAGS, false);
1943 1943
1944 observer.Wait(); 1944 observer.Wait();
1945 ASSERT_FALSE(service_->GetExtensionById(good_crx, false)); 1945 ASSERT_FALSE(service_->GetExtensionById(good_crx, false));
1946 1946
1947 // Try again with the right version. Expect success. 1947 // Try again with the right version. Expect success.
1948 service_->pending_extension_manager()->Remove(good_crx); 1948 service_->pending_extension_manager()->Remove(good_crx);
1949 base::Version correct_version("1.0.0.0"); 1949 Version correct_version("1.0.0.0");
1950 content::WindowedNotificationObserver observer2( 1950 content::WindowedNotificationObserver observer2(
1951 chrome::NOTIFICATION_CRX_INSTALLER_DONE, 1951 chrome::NOTIFICATION_CRX_INSTALLER_DONE,
1952 content::NotificationService::AllSources()); 1952 content::NotificationService::AllSources());
1953 if (service_->OnExternalExtensionFileFound( 1953 if (service_->OnExternalExtensionFileFound(
1954 good_crx, &correct_version, path, Manifest::EXTERNAL_PREF, 1954 good_crx, &correct_version, path, Manifest::EXTERNAL_PREF,
1955 Extension::NO_FLAGS, false)) { 1955 Extension::NO_FLAGS, false)) {
1956 observer2.Wait(); 1956 observer2.Wait();
1957 } 1957 }
1958 ASSERT_TRUE(service_->GetExtensionById(good_crx, false)); 1958 ASSERT_TRUE(service_->GetExtensionById(good_crx, false));
1959 } 1959 }
(...skipping 1384 matching lines...) Expand 10 before | Expand all | Expand 10 after
3344 3344
3345 base::FilePath path = data_dir_.AppendASCII("good.crx"); 3345 base::FilePath path = data_dir_.AppendASCII("good.crx");
3346 const Extension* good = InstallCRX(path, INSTALL_NEW); 3346 const Extension* good = InstallCRX(path, INSTALL_NEW);
3347 ASSERT_EQ(1u, service_->extensions()->size()); 3347 ASSERT_EQ(1u, service_->extensions()->size());
3348 3348
3349 EXPECT_FALSE(good->is_theme()); 3349 EXPECT_FALSE(good->is_theme());
3350 3350
3351 // Use AddExtensionImpl() as AddFrom*() would balk. 3351 // Use AddExtensionImpl() as AddFrom*() would balk.
3352 service_->pending_extension_manager()->AddExtensionImpl( 3352 service_->pending_extension_manager()->AddExtensionImpl(
3353 good->id(), extensions::ManifestURL::GetUpdateURL(good), 3353 good->id(), extensions::ManifestURL::GetUpdateURL(good),
3354 base::Version(), &IsExtension, kGoodIsFromSync, 3354 Version(), &IsExtension, kGoodIsFromSync,
3355 kGoodInstallSilently, Manifest::INTERNAL, 3355 kGoodInstallSilently, Manifest::INTERNAL,
3356 Extension::NO_FLAGS, false); 3356 Extension::NO_FLAGS, false);
3357 UpdateExtension(good->id(), path, ENABLED); 3357 UpdateExtension(good->id(), path, ENABLED);
3358 3358
3359 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId)); 3359 EXPECT_FALSE(service_->pending_extension_manager()->IsIdPending(kGoodId));
3360 } 3360 }
3361 3361
3362 #if defined(ENABLE_BLACKLIST_TESTS) 3362 #if defined(ENABLE_BLACKLIST_TESTS)
3363 // Tests blacklisting then unblacklisting extensions after the service has been 3363 // Tests blacklisting then unblacklisting extensions after the service has been
3364 // initialized. 3364 // initialized.
(...skipping 2704 matching lines...) Expand 10 before | Expand all | Expand 10 after
6069 // Skip install when the location has the same priority as the installed 6069 // Skip install when the location has the same priority as the installed
6070 // location. 6070 // location.
6071 EXPECT_FALSE(service_->OnExternalExtensionUpdateUrlFound( 6071 EXPECT_FALSE(service_->OnExternalExtensionUpdateUrlFound(
6072 kGoodId, GURL(kGoodUpdateURL), Manifest::INTERNAL, 6072 kGoodId, GURL(kGoodUpdateURL), Manifest::INTERNAL,
6073 Extension::NO_FLAGS, false)); 6073 Extension::NO_FLAGS, false));
6074 6074
6075 EXPECT_FALSE(pending->IsIdPending(kGoodId)); 6075 EXPECT_FALSE(pending->IsIdPending(kGoodId));
6076 } 6076 }
6077 6077
6078 TEST_F(ExtensionServiceTest, InstallPriorityExternalLocalFile) { 6078 TEST_F(ExtensionServiceTest, InstallPriorityExternalLocalFile) {
6079 base::Version older_version("0.1.0.0"); 6079 Version older_version("0.1.0.0");
6080 base::Version newer_version("2.0.0.0"); 6080 Version newer_version("2.0.0.0");
6081 6081
6082 // We don't want the extension to be installed. A path that doesn't 6082 // We don't want the extension to be installed. A path that doesn't
6083 // point to a valid CRX ensures this. 6083 // point to a valid CRX ensures this.
6084 const base::FilePath kInvalidPathToCrx = base::FilePath(); 6084 const base::FilePath kInvalidPathToCrx = base::FilePath();
6085 6085
6086 const int kCreationFlags = 0; 6086 const int kCreationFlags = 0;
6087 const bool kDontMarkAcknowledged = false; 6087 const bool kDontMarkAcknowledged = false;
6088 6088
6089 InitializeEmptyExtensionService(); 6089 InitializeEmptyExtensionService();
6090 6090
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
6248 // Because EXTERNAL_PREF is a lower priority source than EXTERNAL_REGISTRY, 6248 // Because EXTERNAL_PREF is a lower priority source than EXTERNAL_REGISTRY,
6249 // adding from external pref will now fail. 6249 // adding from external pref will now fail.
6250 EXPECT_FALSE( 6250 EXPECT_FALSE(
6251 service_->OnExternalExtensionFileFound( 6251 service_->OnExternalExtensionFileFound(
6252 kGoodId, &newer_version, kInvalidPathToCrx, 6252 kGoodId, &newer_version, kInvalidPathToCrx,
6253 Manifest::EXTERNAL_PREF, kCreationFlags, kDontMarkAcknowledged)); 6253 Manifest::EXTERNAL_PREF, kCreationFlags, kDontMarkAcknowledged));
6254 EXPECT_TRUE(pending->IsIdPending(kGoodId)); 6254 EXPECT_TRUE(pending->IsIdPending(kGoodId));
6255 } 6255 }
6256 6256
6257 TEST_F(ExtensionServiceTest, ConcurrentExternalLocalFile) { 6257 TEST_F(ExtensionServiceTest, ConcurrentExternalLocalFile) {
6258 base::Version kVersion123("1.2.3"); 6258 Version kVersion123("1.2.3");
6259 base::Version kVersion124("1.2.4"); 6259 Version kVersion124("1.2.4");
6260 base::Version kVersion125("1.2.5"); 6260 Version kVersion125("1.2.5");
6261 const base::FilePath kInvalidPathToCrx = base::FilePath(); 6261 const base::FilePath kInvalidPathToCrx = base::FilePath();
6262 const int kCreationFlags = 0; 6262 const int kCreationFlags = 0;
6263 const bool kDontMarkAcknowledged = false; 6263 const bool kDontMarkAcknowledged = false;
6264 6264
6265 InitializeEmptyExtensionService(); 6265 InitializeEmptyExtensionService();
6266 6266
6267 extensions::PendingExtensionManager* pending = 6267 extensions::PendingExtensionManager* pending =
6268 service_->pending_extension_manager(); 6268 service_->pending_extension_manager();
6269 EXPECT_FALSE(pending->IsIdPending(kGoodId)); 6269 EXPECT_FALSE(pending->IsIdPending(kGoodId));
6270 6270
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
6354 6354
6355 // Fake an external source adding a URL to fetch an extension from. 6355 // Fake an external source adding a URL to fetch an extension from.
6356 bool AddPendingExternalPrefUrl() { 6356 bool AddPendingExternalPrefUrl() {
6357 return service_->pending_extension_manager()->AddFromExternalUpdateUrl( 6357 return service_->pending_extension_manager()->AddFromExternalUpdateUrl(
6358 crx_id_, GURL(), Manifest::EXTERNAL_PREF_DOWNLOAD, 6358 crx_id_, GURL(), Manifest::EXTERNAL_PREF_DOWNLOAD,
6359 Extension::NO_FLAGS, false); 6359 Extension::NO_FLAGS, false);
6360 } 6360 }
6361 6361
6362 // Fake an external file from external_extensions.json. 6362 // Fake an external file from external_extensions.json.
6363 bool AddPendingExternalPrefFileInstall() { 6363 bool AddPendingExternalPrefFileInstall() {
6364 base::Version version("1.0.0.0"); 6364 Version version("1.0.0.0");
6365 6365
6366 return service_->OnExternalExtensionFileFound( 6366 return service_->OnExternalExtensionFileFound(
6367 crx_id_, &version, crx_path_, Manifest::EXTERNAL_PREF, 6367 crx_id_, &version, crx_path_, Manifest::EXTERNAL_PREF,
6368 Extension::NO_FLAGS, false); 6368 Extension::NO_FLAGS, false);
6369 } 6369 }
6370 6370
6371 // Fake a request from sync to install an extension. 6371 // Fake a request from sync to install an extension.
6372 bool AddPendingSyncInstall() { 6372 bool AddPendingSyncInstall() {
6373 return service_->pending_extension_manager()->AddFromSync( 6373 return service_->pending_extension_manager()->AddFromSync(
6374 crx_id_, GURL(kGoodUpdateURL), &IsExtension, kGoodInstallSilently); 6374 crx_id_, GURL(kGoodUpdateURL), &IsExtension, kGoodInstallSilently);
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
6780 // ReconcileKnownDisabled(). 6780 // ReconcileKnownDisabled().
6781 service_->EnableExtension(good2); 6781 service_->EnableExtension(good2);
6782 service_->ReconcileKnownDisabled(); 6782 service_->ReconcileKnownDisabled();
6783 expected_extensions.insert(good2); 6783 expected_extensions.insert(good2);
6784 expected_disabled_extensions.erase(good2); 6784 expected_disabled_extensions.erase(good2);
6785 6785
6786 EXPECT_EQ(expected_extensions, service_->extensions()->GetIDs()); 6786 EXPECT_EQ(expected_extensions, service_->extensions()->GetIDs());
6787 EXPECT_EQ(expected_disabled_extensions, 6787 EXPECT_EQ(expected_disabled_extensions,
6788 service_->disabled_extensions()->GetIDs()); 6788 service_->disabled_extensions()->GetIDs());
6789 } 6789 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_service.cc ('k') | chrome/browser/extensions/extension_sync_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698