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. |