| 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 "base/memory/ref_counted.h" | 5 #include "base/memory/ref_counted.h" |
| 6 #include "base/stl_util.h" | 6 #include "base/stl_util.h" |
| 7 #include "chrome/browser/extensions/autoupdate_interceptor.h" | 7 #include "chrome/browser/extensions/autoupdate_interceptor.h" |
| 8 #include "chrome/browser/extensions/extension_browsertest.h" | 8 #include "chrome/browser/extensions/extension_browsertest.h" |
| 9 #include "chrome/browser/extensions/extension_host.h" | 9 #include "chrome/browser/extensions/extension_host.h" |
| 10 #include "chrome/browser/extensions/extension_service.h" | 10 #include "chrome/browser/extensions/extension_service.h" |
| 11 #include "chrome/browser/extensions/extension_system.h" |
| 11 #include "chrome/browser/extensions/extension_test_message_listener.h" | 12 #include "chrome/browser/extensions/extension_test_message_listener.h" |
| 12 #include "chrome/browser/extensions/updater/extension_updater.h" | 13 #include "chrome/browser/extensions/updater/extension_updater.h" |
| 13 #include "chrome/browser/infobars/infobar_tab_helper.h" | 14 #include "chrome/browser/infobars/infobar_tab_helper.h" |
| 14 #include "chrome/browser/prefs/pref_service.h" | 15 #include "chrome/browser/prefs/pref_service.h" |
| 15 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 16 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
| 16 #include "chrome/browser/profiles/profile.h" | 17 #include "chrome/browser/profiles/profile.h" |
| 17 #include "chrome/browser/ui/browser.h" | 18 #include "chrome/browser/ui/browser.h" |
| 18 #include "chrome/browser/ui/tab_contents/tab_contents.h" | 19 #include "chrome/browser/ui/tab_contents/tab_contents.h" |
| 19 #include "chrome/common/chrome_notification_types.h" | 20 #include "chrome/common/chrome_notification_types.h" |
| 20 #include "chrome/common/pref_names.h" | 21 #include "chrome/common/pref_names.h" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 35 // | 36 // |
| 36 // Note that 'version' here means something different than the version field | 37 // Note that 'version' here means something different than the version field |
| 37 // in the extension's manifest. We use the version as reported by the | 38 // in the extension's manifest. We use the version as reported by the |
| 38 // background page to test how overinstalling crx files with the same | 39 // background page to test how overinstalling crx files with the same |
| 39 // manifest version works. | 40 // manifest version works. |
| 40 bool IsExtensionAtVersion(const Extension* extension, | 41 bool IsExtensionAtVersion(const Extension* extension, |
| 41 const std::string& expected_version) { | 42 const std::string& expected_version) { |
| 42 // Test that the extension's version from the manifest and reported by the | 43 // Test that the extension's version from the manifest and reported by the |
| 43 // background page is correct. This is to ensure that the processes are in | 44 // background page is correct. This is to ensure that the processes are in |
| 44 // sync with the Extension. | 45 // sync with the Extension. |
| 45 ExtensionProcessManager* manager = browser()->profile()-> | 46 ExtensionProcessManager* manager = |
| 46 GetExtensionProcessManager(); | 47 extensions::ExtensionSystem::Get(browser()->profile())-> |
| 48 process_manager(); |
| 47 extensions::ExtensionHost* ext_host = | 49 extensions::ExtensionHost* ext_host = |
| 48 manager->GetBackgroundHostForExtension(extension->id()); | 50 manager->GetBackgroundHostForExtension(extension->id()); |
| 49 EXPECT_TRUE(ext_host); | 51 EXPECT_TRUE(ext_host); |
| 50 if (!ext_host) | 52 if (!ext_host) |
| 51 return false; | 53 return false; |
| 52 | 54 |
| 53 std::string version_from_bg; | 55 std::string version_from_bg; |
| 54 bool exec = content::ExecuteJavaScriptAndExtractString( | 56 bool exec = content::ExecuteJavaScriptAndExtractString( |
| 55 ext_host->render_view_host(), L"", L"version()", &version_from_bg); | 57 ext_host->render_view_host(), L"", L"version()", &version_from_bg); |
| 56 EXPECT_TRUE(exec); | 58 EXPECT_TRUE(exec); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 UninstallExtension(id); | 127 UninstallExtension(id); |
| 126 | 128 |
| 127 // And the install should succeed when the permissions are accepted. | 129 // And the install should succeed when the permissions are accepted. |
| 128 ASSERT_TRUE(InstallExtensionWithUIAutoConfirm( | 130 ASSERT_TRUE(InstallExtensionWithUIAutoConfirm( |
| 129 test_data_dir_.AppendASCII("good.crx"), 1, browser())); | 131 test_data_dir_.AppendASCII("good.crx"), 1, browser())); |
| 130 UninstallExtension(id); | 132 UninstallExtension(id); |
| 131 } | 133 } |
| 132 | 134 |
| 133 // Tests that disabling and re-enabling an extension works. | 135 // Tests that disabling and re-enabling an extension works. |
| 134 IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, DisableEnable) { | 136 IN_PROC_BROWSER_TEST_F(ExtensionManagementTest, DisableEnable) { |
| 135 ExtensionProcessManager* manager = browser()->profile()-> | 137 ExtensionProcessManager* manager = |
| 136 GetExtensionProcessManager(); | 138 extensions::ExtensionSystem::Get(browser()->profile())->process_manager(); |
| 137 ExtensionService* service = browser()->profile()->GetExtensionService(); | 139 ExtensionService* service = browser()->profile()->GetExtensionService(); |
| 138 const size_t size_before = service->extensions()->size(); | 140 const size_t size_before = service->extensions()->size(); |
| 139 | 141 |
| 140 // Load an extension, expect the background page to be available. | 142 // Load an extension, expect the background page to be available. |
| 141 std::string extension_id = "bjafgdebaacbbbecmhlhpofkepfkgcpa"; | 143 std::string extension_id = "bjafgdebaacbbbecmhlhpofkepfkgcpa"; |
| 142 ASSERT_TRUE(LoadExtension( | 144 ASSERT_TRUE(LoadExtension( |
| 143 test_data_dir_.AppendASCII("good").AppendASCII("Extensions") | 145 test_data_dir_.AppendASCII("good").AppendASCII("Extensions") |
| 144 .AppendASCII(extension_id) | 146 .AppendASCII(extension_id) |
| 145 .AppendASCII("1.0"))); | 147 .AppendASCII("1.0"))); |
| 146 ASSERT_EQ(size_before + 1, service->extensions()->size()); | 148 ASSERT_EQ(size_before + 1, service->extensions()->size()); |
| (...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 623 std::string(kExtensionId) + ";http://localhost/autoupdate/manifest")); | 625 std::string(kExtensionId) + ";http://localhost/autoupdate/manifest")); |
| 624 } | 626 } |
| 625 ASSERT_TRUE(WaitForExtensionInstall()); | 627 ASSERT_TRUE(WaitForExtensionInstall()); |
| 626 ASSERT_EQ(size_before + 1, service->extensions()->size()); | 628 ASSERT_EQ(size_before + 1, service->extensions()->size()); |
| 627 extension = service->GetExtensionById(kExtensionId, false); | 629 extension = service->GetExtensionById(kExtensionId, false); |
| 628 ASSERT_TRUE(extension); | 630 ASSERT_TRUE(extension); |
| 629 EXPECT_EQ(Extension::EXTERNAL_POLICY_DOWNLOAD, extension->location()); | 631 EXPECT_EQ(Extension::EXTERNAL_POLICY_DOWNLOAD, extension->location()); |
| 630 EXPECT_TRUE(service->IsExtensionEnabled(kExtensionId)); | 632 EXPECT_TRUE(service->IsExtensionEnabled(kExtensionId)); |
| 631 EXPECT_TRUE(service->disabled_extensions()->is_empty()); | 633 EXPECT_TRUE(service->disabled_extensions()->is_empty()); |
| 632 } | 634 } |
| OLD | NEW |