| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 1857 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1868 UpdateExtension(id, | 1868 UpdateExtension(id, |
| 1869 extensions_path.AppendASCII("v2.crx"), | 1869 extensions_path.AppendASCII("v2.crx"), |
| 1870 ENABLED); | 1870 ENABLED); |
| 1871 ASSERT_EQ(std::string("2"), | 1871 ASSERT_EQ(std::string("2"), |
| 1872 service_->GetExtensionById(id, false)->version()->GetString()); | 1872 service_->GetExtensionById(id, false)->version()->GetString()); |
| 1873 } | 1873 } |
| 1874 | 1874 |
| 1875 TEST_F(ExtensionServiceTest, InstallAppsWithUnlimitedStorage) { | 1875 TEST_F(ExtensionServiceTest, InstallAppsWithUnlimitedStorage) { |
| 1876 InitializeEmptyExtensionService(); | 1876 InitializeEmptyExtensionService(); |
| 1877 InitializeRequestContext(); | 1877 InitializeRequestContext(); |
| 1878 EXPECT_TRUE(service_->extensions()->empty()); | 1878 EXPECT_TRUE(service_->extensions()->is_empty()); |
| 1879 | 1879 |
| 1880 int pref_count = 0; | 1880 int pref_count = 0; |
| 1881 | 1881 |
| 1882 // Install app1 with unlimited storage. | 1882 // Install app1 with unlimited storage. |
| 1883 const Extension* extension = | 1883 const Extension* extension = |
| 1884 PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW); | 1884 PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW); |
| 1885 ValidatePrefKeyCount(++pref_count); | 1885 ValidatePrefKeyCount(++pref_count); |
| 1886 ASSERT_EQ(1u, service_->extensions()->size()); | 1886 ASSERT_EQ(1u, service_->extensions()->size()); |
| 1887 const std::string id1 = extension->id(); | 1887 const std::string id1 = extension->id(); |
| 1888 EXPECT_TRUE(extension->HasAPIPermission( | 1888 EXPECT_TRUE(extension->HasAPIPermission( |
| (...skipping 30 matching lines...) Expand all Loading... |
| 1919 // Uninstall the other, unlimited storage should be revoked. | 1919 // Uninstall the other, unlimited storage should be revoked. |
| 1920 UninstallExtension(id2, false); | 1920 UninstallExtension(id2, false); |
| 1921 EXPECT_EQ(0u, service_->extensions()->size()); | 1921 EXPECT_EQ(0u, service_->extensions()->size()); |
| 1922 EXPECT_FALSE(profile_->GetExtensionSpecialStoragePolicy()-> | 1922 EXPECT_FALSE(profile_->GetExtensionSpecialStoragePolicy()-> |
| 1923 IsStorageUnlimited(origin2)); | 1923 IsStorageUnlimited(origin2)); |
| 1924 } | 1924 } |
| 1925 | 1925 |
| 1926 TEST_F(ExtensionServiceTest, InstallAppsAndCheckStorageProtection) { | 1926 TEST_F(ExtensionServiceTest, InstallAppsAndCheckStorageProtection) { |
| 1927 InitializeEmptyExtensionService(); | 1927 InitializeEmptyExtensionService(); |
| 1928 InitializeRequestContext(); | 1928 InitializeRequestContext(); |
| 1929 EXPECT_TRUE(service_->extensions()->empty()); | 1929 EXPECT_TRUE(service_->extensions()->is_empty()); |
| 1930 | 1930 |
| 1931 int pref_count = 0; | 1931 int pref_count = 0; |
| 1932 | 1932 |
| 1933 const Extension* extension = | 1933 const Extension* extension = |
| 1934 PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW); | 1934 PackAndInstallCRX(data_dir_.AppendASCII("app1"), INSTALL_NEW); |
| 1935 ValidatePrefKeyCount(++pref_count); | 1935 ValidatePrefKeyCount(++pref_count); |
| 1936 ASSERT_EQ(1u, service_->extensions()->size()); | 1936 ASSERT_EQ(1u, service_->extensions()->size()); |
| 1937 EXPECT_TRUE(extension->is_app()); | 1937 EXPECT_TRUE(extension->is_app()); |
| 1938 const std::string id1 = extension->id(); | 1938 const std::string id1 = extension->id(); |
| 1939 const GURL origin1(extension->GetFullLaunchURL().GetOrigin()); | 1939 const GURL origin1(extension->GetFullLaunchURL().GetOrigin()); |
| 1940 EXPECT_TRUE(profile_->GetExtensionSpecialStoragePolicy()-> | 1940 EXPECT_TRUE(profile_->GetExtensionSpecialStoragePolicy()-> |
| 1941 IsStorageProtected(origin1)); | 1941 IsStorageProtected(origin1)); |
| 1942 | 1942 |
| 1943 // App 4 has a different origin (maps.google.com). | 1943 // App 4 has a different origin (maps.google.com). |
| 1944 extension = PackAndInstallCRX(data_dir_.AppendASCII("app4"), INSTALL_NEW); | 1944 extension = PackAndInstallCRX(data_dir_.AppendASCII("app4"), INSTALL_NEW); |
| 1945 ValidatePrefKeyCount(++pref_count); | 1945 ValidatePrefKeyCount(++pref_count); |
| 1946 ASSERT_EQ(2u, service_->extensions()->size()); | 1946 ASSERT_EQ(2u, service_->extensions()->size()); |
| 1947 const std::string id2 = extension->id(); | 1947 const std::string id2 = extension->id(); |
| 1948 const GURL origin2(extension->GetFullLaunchURL().GetOrigin()); | 1948 const GURL origin2(extension->GetFullLaunchURL().GetOrigin()); |
| 1949 ASSERT_NE(origin1, origin2); | 1949 ASSERT_NE(origin1, origin2); |
| 1950 EXPECT_TRUE(profile_->GetExtensionSpecialStoragePolicy()-> | 1950 EXPECT_TRUE(profile_->GetExtensionSpecialStoragePolicy()-> |
| 1951 IsStorageProtected(origin2)); | 1951 IsStorageProtected(origin2)); |
| 1952 | 1952 |
| 1953 UninstallExtension(id1, false); | 1953 UninstallExtension(id1, false); |
| 1954 EXPECT_EQ(1u, service_->extensions()->size()); | 1954 EXPECT_EQ(1u, service_->extensions()->size()); |
| 1955 | 1955 |
| 1956 UninstallExtension(id2, false); | 1956 UninstallExtension(id2, false); |
| 1957 | 1957 |
| 1958 EXPECT_TRUE(service_->extensions()->empty()); | 1958 EXPECT_TRUE(service_->extensions()->is_empty()); |
| 1959 EXPECT_FALSE(profile_->GetExtensionSpecialStoragePolicy()-> | 1959 EXPECT_FALSE(profile_->GetExtensionSpecialStoragePolicy()-> |
| 1960 IsStorageProtected(origin1)); | 1960 IsStorageProtected(origin1)); |
| 1961 EXPECT_FALSE(profile_->GetExtensionSpecialStoragePolicy()-> | 1961 EXPECT_FALSE(profile_->GetExtensionSpecialStoragePolicy()-> |
| 1962 IsStorageProtected(origin2)); | 1962 IsStorageProtected(origin2)); |
| 1963 } | 1963 } |
| 1964 | 1964 |
| 1965 // Test that when an extension version is reinstalled, nothing happens. | 1965 // Test that when an extension version is reinstalled, nothing happens. |
| 1966 TEST_F(ExtensionServiceTest, Reinstall) { | 1966 TEST_F(ExtensionServiceTest, Reinstall) { |
| 1967 InitializeEmptyExtensionService(); | 1967 InitializeEmptyExtensionService(); |
| 1968 | 1968 |
| (...skipping 700 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2669 loop_.RunAllPending(); | 2669 loop_.RunAllPending(); |
| 2670 ASSERT_EQ(1u, service_->extensions()->size()); | 2670 ASSERT_EQ(1u, service_->extensions()->size()); |
| 2671 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); | 2671 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); |
| 2672 } | 2672 } |
| 2673 | 2673 |
| 2674 // Tests disabling extensions | 2674 // Tests disabling extensions |
| 2675 TEST_F(ExtensionServiceTest, DisableExtension) { | 2675 TEST_F(ExtensionServiceTest, DisableExtension) { |
| 2676 InitializeEmptyExtensionService(); | 2676 InitializeEmptyExtensionService(); |
| 2677 | 2677 |
| 2678 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 2678 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 2679 EXPECT_FALSE(service_->extensions()->empty()); | 2679 EXPECT_FALSE(service_->extensions()->is_empty()); |
| 2680 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); | 2680 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); |
| 2681 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); | 2681 EXPECT_TRUE(service_->GetExtensionById(good_crx, false)); |
| 2682 EXPECT_TRUE(service_->disabled_extensions()->empty()); | 2682 EXPECT_TRUE(service_->disabled_extensions()->is_empty()); |
| 2683 | 2683 |
| 2684 // Disable it. | 2684 // Disable it. |
| 2685 service_->DisableExtension(good_crx); | 2685 service_->DisableExtension(good_crx); |
| 2686 | 2686 |
| 2687 EXPECT_TRUE(service_->extensions()->empty()); | 2687 EXPECT_TRUE(service_->extensions()->is_empty()); |
| 2688 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); | 2688 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); |
| 2689 EXPECT_FALSE(service_->GetExtensionById(good_crx, false)); | 2689 EXPECT_FALSE(service_->GetExtensionById(good_crx, false)); |
| 2690 EXPECT_FALSE(service_->disabled_extensions()->empty()); | 2690 EXPECT_FALSE(service_->disabled_extensions()->is_empty()); |
| 2691 } | 2691 } |
| 2692 | 2692 |
| 2693 TEST_F(ExtensionServiceTest, DisableTerminatedExtension) { | 2693 TEST_F(ExtensionServiceTest, DisableTerminatedExtension) { |
| 2694 InitializeEmptyExtensionService(); | 2694 InitializeEmptyExtensionService(); |
| 2695 | 2695 |
| 2696 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); | 2696 InstallCRX(data_dir_.AppendASCII("good.crx"), INSTALL_NEW); |
| 2697 TerminateExtension(good_crx); | 2697 TerminateExtension(good_crx); |
| 2698 EXPECT_TRUE(service_->GetTerminatedExtension(good_crx)); | 2698 EXPECT_TRUE(service_->GetTerminatedExtension(good_crx)); |
| 2699 | 2699 |
| 2700 // Disable it. | 2700 // Disable it. |
| 2701 service_->DisableExtension(good_crx); | 2701 service_->DisableExtension(good_crx); |
| 2702 | 2702 |
| 2703 EXPECT_FALSE(service_->GetTerminatedExtension(good_crx)); | 2703 EXPECT_FALSE(service_->GetTerminatedExtension(good_crx)); |
| 2704 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); | 2704 EXPECT_TRUE(service_->GetExtensionById(good_crx, true)); |
| 2705 EXPECT_FALSE(service_->disabled_extensions()->empty()); | 2705 EXPECT_FALSE(service_->disabled_extensions()->is_empty()); |
| 2706 } | 2706 } |
| 2707 | 2707 |
| 2708 // Tests disabling all extensions (simulating --disable-extensions flag). | 2708 // Tests disabling all extensions (simulating --disable-extensions flag). |
| 2709 TEST_F(ExtensionServiceTest, DisableAllExtensions) { | 2709 TEST_F(ExtensionServiceTest, DisableAllExtensions) { |
| 2710 InitializeEmptyExtensionService(); | 2710 InitializeEmptyExtensionService(); |
| 2711 | 2711 |
| 2712 FilePath path = data_dir_.AppendASCII("good.crx"); | 2712 FilePath path = data_dir_.AppendASCII("good.crx"); |
| 2713 InstallCRX(path, INSTALL_NEW); | 2713 InstallCRX(path, INSTALL_NEW); |
| 2714 | 2714 |
| 2715 EXPECT_EQ(1u, service_->extensions()->size()); | 2715 EXPECT_EQ(1u, service_->extensions()->size()); |
| (...skipping 1574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4290 ASSERT_FALSE(AddPendingSyncInstall()); | 4290 ASSERT_FALSE(AddPendingSyncInstall()); |
| 4291 | 4291 |
| 4292 // Wait for the external source to install. | 4292 // Wait for the external source to install. |
| 4293 WaitForCrxInstall(crx_path_, INSTALL_NEW); | 4293 WaitForCrxInstall(crx_path_, INSTALL_NEW); |
| 4294 ASSERT_TRUE(IsCrxInstalled()); | 4294 ASSERT_TRUE(IsCrxInstalled()); |
| 4295 | 4295 |
| 4296 // Now that the extension is installed, sync request should fail | 4296 // Now that the extension is installed, sync request should fail |
| 4297 // because the extension is already installed. | 4297 // because the extension is already installed. |
| 4298 ASSERT_FALSE(AddPendingSyncInstall()); | 4298 ASSERT_FALSE(AddPendingSyncInstall()); |
| 4299 } | 4299 } |
| OLD | NEW |