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..87f40a80d435c0a3ce187b246d220e3c7f1055e4 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" |
@@ -25,6 +26,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,22 +238,28 @@ 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() |
+ : 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::ExtensionRegistry::Get(browser()->profile())->AddObserver(this); |
registrar_.Add(this, chrome::NOTIFICATION_BROWSER_OPENED, |
content::NotificationService::AllSources()); |
} |
+ virtual void TearDownOnMainThread() OVERRIDE { |
+ extensions::ExtensionRegistry::Get(browser()->profile()) |
+ ->RemoveObserver(this); |
not at google - send to devlin
2014/08/04 15:46:05
also run WebstoreStartupInstallerTest::TearDownOnM
limasdf
2014/08/04 16:38:09
Done.
|
+ } |
+ |
bool saw_install() { return saw_install_; } |
int browser_open_count() { return browser_open_count_; } |
@@ -260,19 +268,18 @@ 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); |
+ ++browser_open_count_; |
+ } |
+ |
+ 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_; |