| 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 |