OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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_prefs_unittest.h" | 5 #include "chrome/browser/extensions/./extension_prefs_unittest.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
10 #include "base/prefs/mock_pref_change_callback.h" | 10 #include "base/prefs/mock_pref_change_callback.h" |
11 #include "base/prefs/pref_change_registrar.h" | 11 #include "base/prefs/pref_change_registrar.h" |
12 #include "base/prefs/scoped_user_pref_update.h" | 12 #include "base/prefs/scoped_user_pref_update.h" |
13 #include "base/stl_util.h" | 13 #include "base/stl_util.h" |
14 #include "base/strings/string_number_conversions.h" | 14 #include "base/strings/string_number_conversions.h" |
15 #include "base/strings/stringprintf.h" | 15 #include "base/strings/stringprintf.h" |
16 #include "base/values.h" | 16 #include "base/values.h" |
17 #include "chrome/browser/prefs/pref_service_syncable.h" | 17 #include "chrome/browser/prefs/pref_service_syncable.h" |
18 #include "chrome/common/chrome_paths.h" | 18 #include "chrome/common/chrome_paths.h" |
19 #include "components/pref_registry/pref_registry_syncable.h" | 19 #include "components/pref_registry/pref_registry_syncable.h" |
20 #include "content/public/browser/notification_details.h" | 20 #include "content/public/browser/notification_details.h" |
21 #include "content/public/browser/notification_source.h" | 21 #include "content/public/browser/notification_source.h" |
22 #include "content/public/test/mock_notification_observer.h" | 22 #include "content/public/test/mock_notification_observer.h" |
23 #include "extensions/browser/extension_pref_value_map.h" | 23 #include "extensions/browser/extension_pref_value_map.h" |
24 #include "extensions/browser/extension_prefs.h" | 24 #include "extensions/browser/extension_prefs.h" |
| 25 #include "extensions/browser/install_flag.h" |
25 #include "extensions/common/extension.h" | 26 #include "extensions/common/extension.h" |
26 #include "extensions/common/manifest_constants.h" | 27 #include "extensions/common/manifest_constants.h" |
27 #include "extensions/common/permissions/permission_set.h" | 28 #include "extensions/common/permissions/permission_set.h" |
28 #include "extensions/common/permissions/permissions_info.h" | 29 #include "extensions/common/permissions/permissions_info.h" |
29 #include "sync/api/string_ordinal.h" | 30 #include "sync/api/string_ordinal.h" |
30 | 31 |
31 using base::Time; | 32 using base::Time; |
32 using base::TimeDelta; | 33 using base::TimeDelta; |
33 using content::BrowserThread; | 34 using content::BrowserThread; |
34 | 35 |
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
477 manifest.SetString(manifest_keys::kVersion, "1." + base::IntToString(num)); | 478 manifest.SetString(manifest_keys::kVersion, "1." + base::IntToString(num)); |
478 base::FilePath path = | 479 base::FilePath path = |
479 prefs_.extensions_dir().AppendASCII(base::IntToString(num)); | 480 prefs_.extensions_dir().AppendASCII(base::IntToString(num)); |
480 std::string errors; | 481 std::string errors; |
481 scoped_refptr<Extension> extension = Extension::Create( | 482 scoped_refptr<Extension> extension = Extension::Create( |
482 path, Manifest::INTERNAL, manifest, Extension::NO_FLAGS, id, &errors); | 483 path, Manifest::INTERNAL, manifest, Extension::NO_FLAGS, id, &errors); |
483 ASSERT_TRUE(extension.get()) << errors; | 484 ASSERT_TRUE(extension.get()) << errors; |
484 ASSERT_EQ(id, extension->id()); | 485 ASSERT_EQ(id, extension->id()); |
485 prefs()->SetDelayedInstallInfo(extension.get(), | 486 prefs()->SetDelayedInstallInfo(extension.get(), |
486 Extension::ENABLED, | 487 Extension::ENABLED, |
487 false, | 488 kInstallFlagNone, |
488 false, | |
489 ExtensionPrefs::DELAY_REASON_WAIT_FOR_IDLE, | 489 ExtensionPrefs::DELAY_REASON_WAIT_FOR_IDLE, |
490 syncer::StringOrdinal(), | 490 syncer::StringOrdinal(), |
491 std::string()); | 491 std::string()); |
492 } | 492 } |
493 | 493 |
494 // Verifies that we get back expected idle install information previously | 494 // Verifies that we get back expected idle install information previously |
495 // set by SetIdleInfo. | 495 // set by SetIdleInfo. |
496 void VerifyIdleInfo(const std::string& id, int num) { | 496 void VerifyIdleInfo(const std::string& id, int num) { |
497 scoped_ptr<ExtensionInfo> info(prefs()->GetDelayedInstallInfo(id)); | 497 scoped_ptr<ExtensionInfo> info(prefs()->GetDelayedInstallInfo(id)); |
498 ASSERT_TRUE(info); | 498 ASSERT_TRUE(info); |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
603 manifest.Set(manifest_keys::kBackgroundScripts, scripts.release()); | 603 manifest.Set(manifest_keys::kBackgroundScripts, scripts.release()); |
604 base::FilePath path = | 604 base::FilePath path = |
605 prefs_.extensions_dir().AppendASCII("test_0.2"); | 605 prefs_.extensions_dir().AppendASCII("test_0.2"); |
606 std::string errors; | 606 std::string errors; |
607 scoped_refptr<Extension> new_extension = Extension::Create( | 607 scoped_refptr<Extension> new_extension = Extension::Create( |
608 path, Manifest::INTERNAL, manifest, Extension::NO_FLAGS, id_, &errors); | 608 path, Manifest::INTERNAL, manifest, Extension::NO_FLAGS, id_, &errors); |
609 ASSERT_TRUE(new_extension.get()) << errors; | 609 ASSERT_TRUE(new_extension.get()) << errors; |
610 ASSERT_EQ(id_, new_extension->id()); | 610 ASSERT_EQ(id_, new_extension->id()); |
611 prefs()->SetDelayedInstallInfo(new_extension.get(), | 611 prefs()->SetDelayedInstallInfo(new_extension.get(), |
612 Extension::ENABLED, | 612 Extension::ENABLED, |
613 false, | 613 kInstallFlagNone, |
614 false, | |
615 ExtensionPrefs::DELAY_REASON_WAIT_FOR_IDLE, | 614 ExtensionPrefs::DELAY_REASON_WAIT_FOR_IDLE, |
616 syncer::StringOrdinal(), | 615 syncer::StringOrdinal(), |
617 "Param"); | 616 "Param"); |
618 | 617 |
619 // Finish idle installation | 618 // Finish idle installation |
620 ASSERT_TRUE(prefs()->FinishDelayedInstallInfo(id_)); | 619 ASSERT_TRUE(prefs()->FinishDelayedInstallInfo(id_)); |
621 } | 620 } |
622 | 621 |
623 virtual void Verify() OVERRIDE { | 622 virtual void Verify() OVERRIDE { |
624 EXPECT_FALSE(prefs()->GetDelayedInstallInfo(id_)); | 623 EXPECT_FALSE(prefs()->GetDelayedInstallInfo(id_)); |
(...skipping 18 matching lines...) Expand all Loading... |
643 }; | 642 }; |
644 TEST_F(ExtensionPrefsFinishDelayedInstallInfo, FinishDelayedInstallInfo) {} | 643 TEST_F(ExtensionPrefsFinishDelayedInstallInfo, FinishDelayedInstallInfo) {} |
645 | 644 |
646 class ExtensionPrefsOnExtensionInstalled : public ExtensionPrefsTest { | 645 class ExtensionPrefsOnExtensionInstalled : public ExtensionPrefsTest { |
647 public: | 646 public: |
648 virtual void Initialize() OVERRIDE { | 647 virtual void Initialize() OVERRIDE { |
649 extension_ = prefs_.AddExtension("on_extension_installed"); | 648 extension_ = prefs_.AddExtension("on_extension_installed"); |
650 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id())); | 649 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id())); |
651 prefs()->OnExtensionInstalled(extension_.get(), | 650 prefs()->OnExtensionInstalled(extension_.get(), |
652 Extension::DISABLED, | 651 Extension::DISABLED, |
653 false, | |
654 false, | |
655 syncer::StringOrdinal(), | 652 syncer::StringOrdinal(), |
656 "Param"); | 653 "Param"); |
657 } | 654 } |
658 | 655 |
659 virtual void Verify() OVERRIDE { | 656 virtual void Verify() OVERRIDE { |
660 EXPECT_TRUE(prefs()->IsExtensionDisabled(extension_->id())); | 657 EXPECT_TRUE(prefs()->IsExtensionDisabled(extension_->id())); |
661 EXPECT_EQ(std::string("Param"), prefs()->GetInstallParam(extension_->id())); | 658 EXPECT_EQ(std::string("Param"), prefs()->GetInstallParam(extension_->id())); |
662 } | 659 } |
663 | 660 |
664 private: | 661 private: |
665 scoped_refptr<Extension> extension_; | 662 scoped_refptr<Extension> extension_; |
666 }; | 663 }; |
667 TEST_F(ExtensionPrefsOnExtensionInstalled, | 664 TEST_F(ExtensionPrefsOnExtensionInstalled, |
668 ExtensionPrefsOnExtensionInstalled) {} | 665 ExtensionPrefsOnExtensionInstalled) {} |
669 | 666 |
670 class ExtensionPrefsAppDraggedByUser : public ExtensionPrefsTest { | 667 class ExtensionPrefsAppDraggedByUser : public ExtensionPrefsTest { |
671 public: | 668 public: |
672 virtual void Initialize() OVERRIDE { | 669 virtual void Initialize() OVERRIDE { |
673 extension_ = prefs_.AddExtension("on_extension_installed"); | 670 extension_ = prefs_.AddExtension("on_extension_installed"); |
674 EXPECT_FALSE(prefs()->WasAppDraggedByUser(extension_->id())); | 671 EXPECT_FALSE(prefs()->WasAppDraggedByUser(extension_->id())); |
675 prefs()->OnExtensionInstalled(extension_.get(), | 672 prefs()->OnExtensionInstalled(extension_.get(), |
676 Extension::ENABLED, | 673 Extension::ENABLED, |
677 false, | |
678 false, | |
679 syncer::StringOrdinal(), | 674 syncer::StringOrdinal(), |
680 std::string()); | 675 std::string()); |
681 } | 676 } |
682 | 677 |
683 virtual void Verify() OVERRIDE { | 678 virtual void Verify() OVERRIDE { |
684 // Set the flag and see if it persisted. | 679 // Set the flag and see if it persisted. |
685 prefs()->SetAppDraggedByUser(extension_->id()); | 680 prefs()->SetAppDraggedByUser(extension_->id()); |
686 EXPECT_TRUE(prefs()->WasAppDraggedByUser(extension_->id())); | 681 EXPECT_TRUE(prefs()->WasAppDraggedByUser(extension_->id())); |
687 | 682 |
688 // Make sure it doesn't change on consecutive calls. | 683 // Make sure it doesn't change on consecutive calls. |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
909 EXPECT_FALSE(prefs()->IsExtensionBlacklisted(extension_a_->id())); | 904 EXPECT_FALSE(prefs()->IsExtensionBlacklisted(extension_a_->id())); |
910 EXPECT_EQ(empty_ids, prefs()->GetBlacklistedExtensions()); | 905 EXPECT_EQ(empty_ids, prefs()->GetBlacklistedExtensions()); |
911 } | 906 } |
912 | 907 |
913 private: | 908 private: |
914 scoped_refptr<const Extension> extension_a_; | 909 scoped_refptr<const Extension> extension_a_; |
915 }; | 910 }; |
916 TEST_F(ExtensionPrefsBlacklistState, ExtensionPrefsBlacklistState) {} | 911 TEST_F(ExtensionPrefsBlacklistState, ExtensionPrefsBlacklistState) {} |
917 | 912 |
918 } // namespace extensions | 913 } // namespace extensions |
OLD | NEW |