Index: extensions/browser/guest_view/web_view/web_view_apitest.cc |
diff --git a/extensions/browser/guest_view/web_view/web_view_apitest.cc b/extensions/browser/guest_view/web_view/web_view_apitest.cc |
index 2730fab780ca043b1b43fff3ea28af3504499a0d..4770c62ab9b551367de02148e7f8446d93895b78 100644 |
--- a/extensions/browser/guest_view/web_view/web_view_apitest.cc |
+++ b/extensions/browser/guest_view/web_view/web_view_apitest.cc |
@@ -11,6 +11,7 @@ |
#include "extensions/browser/extension_host.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/web_view/test_guest_view_manager.h" |
#include "extensions/browser/process_manager.h" |
#include "extensions/common/extension.h" |
#include "extensions/common/extension_paths.h" |
@@ -18,91 +19,6 @@ |
#include "extensions/shell/test/shell_test.h" |
#include "extensions/test/extension_test_message_listener.h" |
-namespace { |
- |
-// TODO(lfg) Merge TestGuestViewManager and its factory with the one in chrome |
-// web_view_browsertest.cc. |
-class TestGuestViewManager : public extensions::GuestViewManager { |
- public: |
- explicit TestGuestViewManager(content::BrowserContext* context) |
- : GuestViewManager(context), |
- seen_guest_removed_(false), |
- web_contents_(NULL) {} |
- |
- content::WebContents* WaitForGuestCreated() { |
- if (web_contents_) |
- return web_contents_; |
- |
- created_message_loop_runner_ = new content::MessageLoopRunner; |
- created_message_loop_runner_->Run(); |
- return web_contents_; |
- } |
- |
- void WaitForGuestDeleted() { |
- if (seen_guest_removed_) |
- return; |
- |
- deleted_message_loop_runner_ = new content::MessageLoopRunner; |
- deleted_message_loop_runner_->Run(); |
- } |
- |
- private: |
- // GuestViewManager override: |
- virtual 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; |
- seen_guest_removed_ = false; |
- |
- if (created_message_loop_runner_.get()) |
- created_message_loop_runner_->Quit(); |
- } |
- |
- virtual void RemoveGuest(int guest_instance_id) OVERRIDE { |
- extensions::GuestViewManager::RemoveGuest(guest_instance_id); |
- web_contents_ = NULL; |
- seen_guest_removed_ = true; |
- |
- if (deleted_message_loop_runner_.get()) |
- deleted_message_loop_runner_->Quit(); |
- } |
- |
- bool seen_guest_removed_; |
- content::WebContents* web_contents_; |
- scoped_refptr<content::MessageLoopRunner> created_message_loop_runner_; |
- scoped_refptr<content::MessageLoopRunner> deleted_message_loop_runner_; |
-}; |
- |
-// Test factory for creating test instances of GuestViewManager. |
-class TestGuestViewManagerFactory : public extensions::GuestViewManagerFactory { |
- public: |
- TestGuestViewManagerFactory() : test_guest_view_manager_(NULL) {} |
- |
- virtual ~TestGuestViewManagerFactory() {} |
- |
- virtual extensions::GuestViewManager* CreateGuestViewManager( |
- content::BrowserContext* context) OVERRIDE { |
- return GetManager(context); |
- } |
- |
- // This function gets called from GuestViewManager::FromBrowserContext(), |
- // where test_guest_view_manager_ is assigned to a linked_ptr that takes care |
- // of deleting it. |
- TestGuestViewManager* GetManager(content::BrowserContext* context) { |
- DCHECK(!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 |
- |
namespace extensions { |
// This class intercepts download request from the guest. |
@@ -110,7 +26,7 @@ class WebViewAPITest : public AppShellTest { |
protected: |
void RunTest(const std::string& test_name, const std::string& app_location) { |
base::FilePath test_data_dir; |
- PathService::Get(extensions::DIR_TEST_DATA, &test_data_dir); |
+ PathService::Get(DIR_TEST_DATA, &test_data_dir); |
test_data_dir = test_data_dir.AppendASCII(app_location.c_str()); |
ASSERT_TRUE(extension_system_->LoadApp(test_data_dir)); |
@@ -136,16 +52,38 @@ class WebViewAPITest : public AppShellTest { |
ASSERT_TRUE(done_listener.WaitUntilSatisfied()); |
} |
- WebViewAPITest() { |
- extensions::GuestViewManager::set_factory_for_testing(&factory_); |
- } |
+ WebViewAPITest() { GuestViewManager::set_factory_for_testing(&factory_); } |
private: |
TestGuestViewManagerFactory factory_; |
}; |
+IN_PROC_BROWSER_TEST_F(WebViewAPITest, TestAllowTransparencyAttribute) { |
+ RunTest("testAllowTransparencyAttribute", "web_view/apitest"); |
+} |
+ |
IN_PROC_BROWSER_TEST_F(WebViewAPITest, TestAPIMethodExistence) { |
RunTest("testAPIMethodExistence", "web_view/apitest"); |
} |
+IN_PROC_BROWSER_TEST_F(WebViewAPITest, TestAutosizeAfterNavigation) { |
+ RunTest("testAutosizeAfterNavigation", "web_view/apitest"); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(WebViewAPITest, TestAutosizeBeforeNavigation) { |
+ RunTest("testAutosizeBeforeNavigation", "web_view/apitest"); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(WebViewAPITest, TestAutosizeHeight) { |
+ RunTest("testAutosizeHeight", "web_view/apitest"); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(WebViewAPITest, TestAutosizeRemoveAttributes) { |
+ RunTest("testAutosizeRemoveAttributes", "web_view/apitest"); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(WebViewAPITest, TestAutosizeWithPartialAttributes) { |
+ RunTest("testAutosizeWithPartialAttributes", "web_view/apitest"); |
+} |
+ |
} // namespace extensions |