| Index: chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc
|
| diff --git a/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc b/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc
|
| index f5392208b29dc1df0de21aa1a5181e6d07f22bac..22c64a45ba5135c724ff7d69118f814702888222 100644
|
| --- a/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc
|
| +++ b/chrome/browser/apps/guest_view/extension_view/extension_view_browsertest.cc
|
| @@ -6,68 +6,15 @@
|
| #include "chrome/browser/apps/app_browsertest_util.h"
|
| #include "chrome/test/base/ui_test_utils.h"
|
| #include "content/public/test/browser_test_utils.h"
|
| +#include "extensions/browser/guest_view/extensions_guest_view_manager_delegate.h"
|
| #include "extensions/browser/guest_view/guest_view_manager.h"
|
| #include "extensions/browser/guest_view/guest_view_manager_factory.h"
|
| +#include "extensions/browser/guest_view/test_guest_view_manager.h"
|
| #include "extensions/test/extension_test_message_listener.h"
|
|
|
| -namespace {
|
| -
|
| -class TestGuestViewManager : public extensions::GuestViewManager {
|
| - public:
|
| - explicit TestGuestViewManager(content::BrowserContext* context)
|
| - : extensions::GuestViewManager(context), web_contents_(NULL) {}
|
| -
|
| - content::WebContents* WaitForGuestCreated() {
|
| - if (web_contents_)
|
| - return web_contents_;
|
| -
|
| - message_loop_runner_ = new content::MessageLoopRunner;
|
| - message_loop_runner_->Run();
|
| - return web_contents_;
|
| - }
|
| -
|
| - private:
|
| - // GuestViewManager override.
|
| - void AddGuest(int guest_instance_id,
|
| - content::WebContents* guest_web_contents) override {
|
| - extensions::GuestViewManager::AddGuest(guest_instance_id,
|
| - guest_web_contents);
|
| - web_contents_ = guest_web_contents;
|
| -
|
| - if (message_loop_runner_.get())
|
| - message_loop_runner_->Quit();
|
| - }
|
| -
|
| - content::WebContents* web_contents_;
|
| - scoped_refptr<content::MessageLoopRunner> message_loop_runner_;
|
| -};
|
| -
|
| -// Test factory for creating test instances of GuestViewManager.
|
| -class TestGuestViewManagerFactory : public extensions::GuestViewManagerFactory {
|
| - public:
|
| - TestGuestViewManagerFactory() : test_guest_view_manager_(NULL) {}
|
| -
|
| - ~TestGuestViewManagerFactory() override {}
|
| -
|
| - extensions::GuestViewManager* CreateGuestViewManager(
|
| - content::BrowserContext* context) override {
|
| - return GetManager(context);
|
| - }
|
| -
|
| - TestGuestViewManager* GetManager(content::BrowserContext* context) {
|
| - if (!test_guest_view_manager_) {
|
| - test_guest_view_manager_ = new TestGuestViewManager(context);
|
| - }
|
| - return test_guest_view_manager_;
|
| - }
|
| -
|
| - private:
|
| - TestGuestViewManager* test_guest_view_manager_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TestGuestViewManagerFactory);
|
| -};
|
| -
|
| -} // namespace
|
| +using extensions::ExtensionsGuestViewManagerDelegate;
|
| +using extensions::GuestViewManager;
|
| +using extensions::TestGuestViewManager;
|
|
|
| class ExtensionViewTest : public extensions::PlatformAppBrowserTest {
|
| public:
|
| @@ -75,8 +22,20 @@ class ExtensionViewTest : public extensions::PlatformAppBrowserTest {
|
| extensions::GuestViewManager::set_factory_for_testing(&factory_);
|
| }
|
|
|
| - TestGuestViewManager* GetGuestViewManager() {
|
| - return factory_.GetManager(browser()->profile());
|
| + extensions::TestGuestViewManager* GetGuestViewManager() {
|
| + TestGuestViewManager* manager = static_cast<TestGuestViewManager*>(
|
| + TestGuestViewManager::FromBrowserContext(browser()->profile()));
|
| + // TestGuestViewManager::WaitForSingleGuestCreated may and will get called
|
| + // before a guest is created.
|
| + if (!manager) {
|
| + manager = static_cast<TestGuestViewManager*>(
|
| + GuestViewManager::CreateWithDelegate(
|
| + browser()->profile(),
|
| + scoped_ptr<guestview::GuestViewManagerDelegate>(
|
| + new ExtensionsGuestViewManagerDelegate(
|
| + browser()->profile()))));
|
| + }
|
| + return manager;
|
| }
|
|
|
| void TestHelper(const std::string& test_name,
|
| @@ -111,7 +70,7 @@ class ExtensionViewTest : public extensions::PlatformAppBrowserTest {
|
| extensions::PlatformAppBrowserTest::SetUpCommandLine(command_line);
|
| }
|
|
|
| - TestGuestViewManagerFactory factory_;
|
| + extensions::TestGuestViewManagerFactory factory_;
|
| };
|
|
|
| // Tests that <extensionview> can be created and added to the DOM.
|
|
|