| 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_browsertest.h" | 5 #include "chrome/browser/extensions/extension_browsertest.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 extensions::ExtensionPrefs::Get(profile()) | 194 extensions::ExtensionPrefs::Get(profile()) |
| 195 ->SetInstallParam(extension_id, install_param); | 195 ->SetInstallParam(extension_id, install_param); |
| 196 // Re-enable the extension if needed. | 196 // Re-enable the extension if needed. |
| 197 if (service->extensions()->Contains(extension_id)) { | 197 if (service->extensions()->Contains(extension_id)) { |
| 198 content::WindowedNotificationObserver load_signal( | 198 content::WindowedNotificationObserver load_signal( |
| 199 chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED, | 199 chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED, |
| 200 content::Source<Profile>(profile())); | 200 content::Source<Profile>(profile())); |
| 201 // Reload the extension so that the | 201 // Reload the extension so that the |
| 202 // NOTIFICATION_EXTENSION_LOADED_DEPRECATED | 202 // NOTIFICATION_EXTENSION_LOADED_DEPRECATED |
| 203 // observers may access |install_param|. | 203 // observers may access |install_param|. |
| 204 service->ReloadExtension(extension_id); | 204 service->ReloadExtension(extension_id, true); |
| 205 load_signal.Wait(); | 205 load_signal.Wait(); |
| 206 extension = service->GetExtensionById(extension_id, false); | 206 extension = service->GetExtensionById(extension_id, false); |
| 207 CHECK(extension) << extension_id << " not found after reloading."; | 207 CHECK(extension) << extension_id << " not found after reloading."; |
| 208 } | 208 } |
| 209 } | 209 } |
| 210 | 210 |
| 211 // Toggling incognito or file access will reload the extension, so wait for | 211 // Toggling incognito or file access will reload the extension, so wait for |
| 212 // the reload and grab the new extension instance. The default state is | 212 // the reload and grab the new extension instance. The default state is |
| 213 // incognito disabled and file access enabled, so we don't wait in those | 213 // incognito disabled and file access enabled, so we don't wait in those |
| 214 // cases. | 214 // cases. |
| (...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 528 return NULL; | 528 return NULL; |
| 529 return service->GetExtensionById(last_loaded_extension_id(), false); | 529 return service->GetExtensionById(last_loaded_extension_id(), false); |
| 530 } | 530 } |
| 531 | 531 |
| 532 void ExtensionBrowserTest::ReloadExtension(const std::string extension_id) { | 532 void ExtensionBrowserTest::ReloadExtension(const std::string extension_id) { |
| 533 observer_->Watch(chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED, | 533 observer_->Watch(chrome::NOTIFICATION_EXTENSION_LOADED_DEPRECATED, |
| 534 content::NotificationService::AllSources()); | 534 content::NotificationService::AllSources()); |
| 535 | 535 |
| 536 ExtensionService* service = | 536 ExtensionService* service = |
| 537 extensions::ExtensionSystem::Get(profile())->extension_service(); | 537 extensions::ExtensionSystem::Get(profile())->extension_service(); |
| 538 service->ReloadExtension(extension_id); | 538 service->ReloadExtension(extension_id, true); |
| 539 | 539 |
| 540 observer_->Wait(); | 540 observer_->Wait(); |
| 541 observer_->WaitForExtensionViewsToLoad(); | 541 observer_->WaitForExtensionViewsToLoad(); |
| 542 } | 542 } |
| 543 | 543 |
| 544 void ExtensionBrowserTest::UnloadExtension(const std::string& extension_id) { | 544 void ExtensionBrowserTest::UnloadExtension(const std::string& extension_id) { |
| 545 ExtensionService* service = extensions::ExtensionSystem::Get( | 545 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 546 profile())->extension_service(); | 546 profile())->extension_service(); |
| 547 service->UnloadExtension(extension_id, | 547 service->UnloadExtension(extension_id, |
| 548 extensions::UnloadedExtensionInfo::REASON_DISABLE); | 548 extensions::UnloadedExtensionInfo::REASON_DISABLE); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 641 return extensions::browsertest_util::ExecuteScriptInBackgroundPage( | 641 return extensions::browsertest_util::ExecuteScriptInBackgroundPage( |
| 642 profile(), extension_id, script); | 642 profile(), extension_id, script); |
| 643 } | 643 } |
| 644 | 644 |
| 645 bool ExtensionBrowserTest::ExecuteScriptInBackgroundPageNoWait( | 645 bool ExtensionBrowserTest::ExecuteScriptInBackgroundPageNoWait( |
| 646 const std::string& extension_id, | 646 const std::string& extension_id, |
| 647 const std::string& script) { | 647 const std::string& script) { |
| 648 return extensions::browsertest_util::ExecuteScriptInBackgroundPageNoWait( | 648 return extensions::browsertest_util::ExecuteScriptInBackgroundPageNoWait( |
| 649 profile(), extension_id, script); | 649 profile(), extension_id, script); |
| 650 } | 650 } |
| OLD | NEW |