Commit 0e9d2bc6 authored by limasdf@gmail.com's avatar limasdf@gmail.com

Resubmit: Remove deprecated extension notification from WebstoreStartupInstallerTest

This CL fixes the previous reverted CL#437603002.
To fix, removed ExtensionRegistryObserver from TearDownOnMainThread instead of destructor.

R=kalman@chromium.org
BUG=354046
TEST=browser_tests

Review URL: https://codereview.chromium.org/429173003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287414 0039d316-1c4b-4281-b951-d872f2087c98
parent 652533b0
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
#include "base/command_line.h" #include "base/command_line.h"
#include "base/scoped_observer.h"
#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/extensions/extension_install_prompt.h" #include "chrome/browser/extensions/extension_install_prompt.h"
#include "chrome/browser/extensions/extension_install_ui.h" #include "chrome/browser/extensions/extension_install_ui.h"
...@@ -25,6 +26,7 @@ ...@@ -25,6 +26,7 @@
#include "content/public/test/browser_test_utils.h" #include "content/public/test/browser_test_utils.h"
#include "extensions/browser/extension_host.h" #include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_registry_observer.h"
#include "extensions/browser/extension_system.h" #include "extensions/browser/extension_system.h"
#include "extensions/common/extension_builder.h" #include "extensions/common/extension_builder.h"
#include "extensions/common/value_builder.h" #include "extensions/common/value_builder.h"
...@@ -236,22 +238,27 @@ IN_PROC_BROWSER_TEST_F(WebstoreStartupInstallUnpackFailureTest, ...@@ -236,22 +238,27 @@ IN_PROC_BROWSER_TEST_F(WebstoreStartupInstallUnpackFailureTest,
RunTest("runTest"); RunTest("runTest");
} }
class CommandLineWebstoreInstall : public WebstoreStartupInstallerTest, class CommandLineWebstoreInstall
public content::NotificationObserver { : public WebstoreStartupInstallerTest,
public content::NotificationObserver,
public extensions::ExtensionRegistryObserver {
public: public:
CommandLineWebstoreInstall() : saw_install_(false), browser_open_count_(0) {} CommandLineWebstoreInstall() : saw_install_(false), browser_open_count_(0) {}
virtual ~CommandLineWebstoreInstall() {} virtual ~CommandLineWebstoreInstall() {}
virtual void SetUpOnMainThread() OVERRIDE { virtual void SetUpOnMainThread() OVERRIDE {
WebstoreStartupInstallerTest::SetUpOnMainThread(); WebstoreStartupInstallerTest::SetUpOnMainThread();
registrar_.Add( extensions::ExtensionRegistry::Get(browser()->profile())->AddObserver(this);
this,
extensions::NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED,
content::NotificationService::AllSources());
registrar_.Add(this, chrome::NOTIFICATION_BROWSER_OPENED, registrar_.Add(this, chrome::NOTIFICATION_BROWSER_OPENED,
content::NotificationService::AllSources()); content::NotificationService::AllSources());
} }
virtual void TearDownOnMainThread() OVERRIDE {
extensions::ExtensionRegistry::Get(browser()->profile())
->RemoveObserver(this);
WebstoreStartupInstallerTest::TearDownOnMainThread();
}
bool saw_install() { return saw_install_; } bool saw_install() { return saw_install_; }
int browser_open_count() { return browser_open_count_; } int browser_open_count() { return browser_open_count_; }
...@@ -260,19 +267,18 @@ class CommandLineWebstoreInstall : public WebstoreStartupInstallerTest, ...@@ -260,19 +267,18 @@ class CommandLineWebstoreInstall : public WebstoreStartupInstallerTest,
virtual void Observe(int type, virtual void Observe(int type,
const content::NotificationSource& source, const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE { const content::NotificationDetails& details) OVERRIDE {
if (type == DCHECK_EQ(type, chrome::NOTIFICATION_BROWSER_OPENED);
extensions::NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED) { ++browser_open_count_;
const Extension* extension = }
content::Details<const extensions::InstalledExtensionInfo>(details)->
extension; virtual void OnExtensionWillBeInstalled(
ASSERT_TRUE(extension != NULL); 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); EXPECT_EQ(extension->id(), kTestExtensionId);
saw_install_ = true; saw_install_ = true;
} else if (type == chrome::NOTIFICATION_BROWSER_OPENED) {
browser_open_count_++;
} else {
ASSERT_TRUE(false) << "Unexpected notification type : " << type;
}
} }
content::NotificationRegistrar registrar_; content::NotificationRegistrar registrar_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment