Chromium Code Reviews| Index: chrome/browser/extensions/webstore_startup_installer_browsertest.cc |
| diff --git a/chrome/browser/extensions/webstore_startup_installer_browsertest.cc b/chrome/browser/extensions/webstore_startup_installer_browsertest.cc |
| index dab0827794c0ac57cb7d15353e3cfd64763ea8b4..79175a6bc26a8717544faeee91b0b5b7ffe5297a 100644 |
| --- a/chrome/browser/extensions/webstore_startup_installer_browsertest.cc |
| +++ b/chrome/browser/extensions/webstore_startup_installer_browsertest.cc |
| @@ -3,6 +3,7 @@ |
| // found in the LICENSE file. |
| #include "base/command_line.h" |
| +#include "base/scoped_observer.h" |
| #include "chrome/browser/chrome_notification_types.h" |
| #include "chrome/browser/extensions/extension_install_prompt.h" |
| #include "chrome/browser/extensions/extension_install_ui.h" |
| @@ -17,6 +18,7 @@ |
| #include "chrome/common/pref_names.h" |
| #include "chrome/test/base/in_process_browser_test.h" |
| #include "chrome/test/base/test_switches.h" |
| +#include "chrome/test/base/testing_profile.h" |
| #include "chrome/test/base/ui_test_utils.h" |
| #include "content/public/browser/notification_registrar.h" |
| #include "content/public/browser/notification_service.h" |
| @@ -25,6 +27,7 @@ |
| #include "content/public/test/browser_test_utils.h" |
| #include "extensions/browser/extension_host.h" |
| #include "extensions/browser/extension_registry.h" |
| +#include "extensions/browser/extension_registry_observer.h" |
| #include "extensions/browser/extension_system.h" |
| #include "extensions/common/extension_builder.h" |
| #include "extensions/common/value_builder.h" |
| @@ -236,18 +239,21 @@ IN_PROC_BROWSER_TEST_F(WebstoreStartupInstallUnpackFailureTest, |
| RunTest("runTest"); |
| } |
| -class CommandLineWebstoreInstall : public WebstoreStartupInstallerTest, |
| - public content::NotificationObserver { |
| +class CommandLineWebstoreInstall |
| + : public WebstoreStartupInstallerTest, |
| + public content::NotificationObserver, |
| + public extensions::ExtensionRegistryObserver { |
| public: |
| - CommandLineWebstoreInstall() : saw_install_(false), browser_open_count_(0) {} |
| + CommandLineWebstoreInstall() |
| + : extensions_registry_observer_(this), |
| + saw_install_(false), |
| + browser_open_count_(0) {} |
| virtual ~CommandLineWebstoreInstall() {} |
| virtual void SetUpOnMainThread() OVERRIDE { |
| WebstoreStartupInstallerTest::SetUpOnMainThread(); |
| - registrar_.Add( |
| - this, |
| - extensions::NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED, |
| - content::NotificationService::AllSources()); |
| + extensions_registry_observer_.Add( |
| + extensions::ExtensionRegistry::Get(&profile_)); |
| registrar_.Add(this, chrome::NOTIFICATION_BROWSER_OPENED, |
| content::NotificationService::AllSources()); |
| } |
| @@ -260,23 +266,29 @@ class CommandLineWebstoreInstall : public WebstoreStartupInstallerTest, |
| virtual void Observe(int type, |
| const content::NotificationSource& source, |
| const content::NotificationDetails& details) OVERRIDE { |
| - if (type == |
| - extensions::NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED) { |
| - const Extension* extension = |
| - content::Details<const extensions::InstalledExtensionInfo>(details)-> |
| - extension; |
| - ASSERT_TRUE(extension != NULL); |
| - EXPECT_EQ(extension->id(), kTestExtensionId); |
| - saw_install_ = true; |
| - } else if (type == chrome::NOTIFICATION_BROWSER_OPENED) { |
| - browser_open_count_++; |
| - } else { |
| - ASSERT_TRUE(false) << "Unexpected notification type : " << type; |
| - } |
| + DCHECK_EQ(type, chrome::NOTIFICATION_BROWSER_OPENED) |
| + << "Unexpected notification type : " << type; |
|
not at google - send to devlin
2014/07/31 17:24:58
eh who cares about the message
limasdf
2014/07/31 17:31:49
Done. Removed printing message.
|
| + browser_open_count_++; |
|
not at google - send to devlin
2014/07/31 17:24:58
++brower_open_count_;
limasdf
2014/07/31 17:31:49
Done.
|
| + } |
| + |
| + virtual void OnExtensionWillBeInstalled( |
| + content::BrowserContext* browser_context, |
| + const extensions::Extension* extension, |
| + bool is_update, |
| + bool from_ephemeral, |
| + const std::string& old_name) OVERRIDE { |
| + EXPECT_EQ(extension->id(), kTestExtensionId); |
| + saw_install_ = true; |
| } |
| content::NotificationRegistrar registrar_; |
| + ScopedObserver<extensions::ExtensionRegistry, |
| + extensions::ExtensionRegistryObserver> |
| + extensions_registry_observer_; |
| + |
| + TestingProfile profile_; |
| + |
| // Have we seen an installation notification for kTestExtensionId ? |
| bool saw_install_; |