Index: chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc |
diff --git a/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc b/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc |
index 2d9079183e2dffcbee97cfa0170622eba1a755c3..dc903ea558ab1c9795256f42be6f6345f56cb6fe 100644 |
--- a/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc |
+++ b/chrome/browser/apps/guest_view/web_view_interactive_browsertest.cc |
@@ -51,42 +51,6 @@ using guest_view::GuestViewManager; |
using guest_view::TestGuestViewManager; |
using guest_view::TestGuestViewManagerFactory; |
-namespace { |
-// A helper class which polls the text input state of the given WebContents. |
-class TextInputStateHelper { |
- public: |
- using Predicate = |
- base::Callback<bool(const content::TextInputStateTestExport&)>; |
- |
- static void WaitForDesiredState(content::WebContents* web_contents, |
- const Predicate& predicate) { |
- content::TextInputStateTestExport state = |
- content::TextInputStateTestExport::FromWebContents(web_contents); |
- while (!predicate.Run(state)) { |
- scoped_refptr<content::MessageLoopRunner> loop = |
- new content::MessageLoopRunner(); |
- content::BrowserThread::PostDelayedTask( |
- content::BrowserThread::UI, FROM_HERE, loop->QuitClosure(), |
- base::TimeDelta::FromMilliseconds(100LL)); |
- loop->Run(); |
- state = content::TextInputStateTestExport::FromWebContents(web_contents); |
- } |
- } |
- |
- static bool IsStateOfGivenType( |
- ui::TextInputType type, |
- const content::TextInputStateTestExport& state) { |
- return type == state.type(); |
- } |
- |
- static bool HasGivenValue(const std::string& value, |
- const content::TextInputStateTestExport& state) { |
- return value == state.value(); |
- } |
-}; |
- |
-} // namespace |
- |
class WebViewInteractiveTestBase : public extensions::PlatformAppBrowserTest { |
public: |
WebViewInteractiveTestBase() |
@@ -547,9 +511,6 @@ class WebViewPopupInteractiveTest : public WebViewInteractiveTestBase {}; |
class WebViewContextMenuInteractiveTest : public WebViewInteractiveTestBase {}; |
class WebViewPointerLockInteractiveTest : public WebViewInteractiveTestBase {}; |
class WebViewDragDropInteractiveTest : public WebViewInteractiveTestBase {}; |
-// TODO(ekaramad): The following tests fail of OOPIF due to focus issues. |
-// see crbug.com/61060. |
-class WebViewTextInputStateInteractiveTest : public WebViewInteractiveTest {}; |
INSTANTIATE_TEST_CASE_P(WebViewInteractiveTests, |
WebViewInteractiveTest, |
@@ -559,10 +520,6 @@ INSTANTIATE_TEST_CASE_P(WebViewInteractiveTests, |
WebViewNewWindowInteractiveTest, |
testing::Bool()); |
-INSTANTIATE_TEST_CASE_P(WebViewInteractiveTests, |
- WebViewTextInputStateInteractiveTest, |
- testing::Values(false)); |
- |
// ui_test_utils::SendMouseMoveSync doesn't seem to work on OS_MACOSX, and |
// likely won't work on many other platforms as well, so for now this test |
// is for Windows and Linux only. As of Sept 17th, 2013 this test is disabled |
@@ -1375,110 +1332,3 @@ IN_PROC_BROWSER_TEST_F(WebViewFocusInteractiveTest, FocusAndVisibility) { |
SendMessageToEmbedder("verify"); |
EXPECT_TRUE(webview_button_not_focused_listener.WaitUntilSatisfied()); |
} |
- |
-// TODO(crbug.com/602954) Test is flaky. |
-#if defined(OS_WIN) || defined(OS_MACOSX) |
-#define MAYBE_TopLevelWebContentsTracksCorrectly \ |
- DISABLED_TopLevelWebContentsTracksCorrectly |
-#else |
-#define MAYBE_TopLevelWebContentsTracksCorrectly \ |
- TopLevelWebContentsTracksCorrectly |
-#endif |
-IN_PROC_BROWSER_TEST_P(WebViewTextInputStateInteractiveTest, |
- MAYBE_TopLevelWebContentsTracksCorrectly) { |
- SetupTest("web_view/text_input_state", |
- "/extensions/platform_apps/web_view/text_input_state/guest.html"); |
- |
- auto press_tab_to_focus = [](WebViewTextInputStateInteractiveTest* test, |
- const std::string& message) { |
- ExtensionTestMessageListener listener(message, false); |
- test->SendKeyPressToPlatformApp(ui::VKEY_TAB); |
- listener.WaitUntilSatisfied(); |
- }; |
- |
- auto get_type_checker = [](ui::TextInputType target) { |
- return base::Bind(&TextInputStateHelper::IsStateOfGivenType, target); |
- }; |
- |
- // Press the tab key. The <input> in the embedder should get focused. |
- // Top level state type should be number. |
- press_tab_to_focus(this, "EMBEDDER-FOCUSED-1"); |
- TextInputStateHelper::WaitForDesiredState( |
- embedder_web_contents(), get_type_checker(ui::TEXT_INPUT_TYPE_NUMBER)); |
- |
- // Press the tab key again and the <input> inside <webview> gets focused. The |
- // input type should text now. |
- press_tab_to_focus(this, "GUEST-FOCUSED"); |
- TextInputStateHelper::WaitForDesiredState( |
- embedder_web_contents(), get_type_checker(ui::TEXT_INPUT_TYPE_TEXT)); |
- |
- // Press the tab key one more time to get back to embedder's second <input>. |
- // The value should be "last one". |
- press_tab_to_focus(this, "EMBEDDER-FOCUSED-2"); |
- TextInputStateHelper::WaitForDesiredState( |
- embedder_web_contents(), |
- base::Bind(&TextInputStateHelper::HasGivenValue, "last one")); |
-} |
- |
-IN_PROC_BROWSER_TEST_P(WebViewTextInputStateInteractiveTest, |
- CrashingWebViewResetsState) { |
- SetupTest("web_view/text_input_state", |
- "/extensions/platform_apps/web_view/text_input_state/guest.html"); |
- |
- // Press tab key twice to end up in the <input> of the <webview>. |
- ExtensionTestMessageListener listener("GUEST-FOCUSED", false); |
- for (size_t i = 0; i < 2; ++i) |
- SendKeyPressToPlatformApp(ui::VKEY_TAB); |
- |
- listener.WaitUntilSatisfied(); |
- |
- // Now wait for a text input state change. |
- TextInputStateHelper::WaitForDesiredState( |
- embedder_web_contents(), |
- base::Bind(&TextInputStateHelper::HasGivenValue, "guest")); |
- |
- // Now crash the <webview>. |
- guest_web_contents()->GetRenderProcessHost()->Shutdown(false, 0); |
- |
- // Wait for the outer WebContentsImpl |text_input_state_->type| to be reset to |
- // none. |
- TextInputStateHelper::WaitForDesiredState( |
- embedder_web_contents(), |
- base::Bind(&TextInputStateHelper::IsStateOfGivenType, |
- ui::TEXT_INPUT_TYPE_NONE)); |
-} |
- |
-// This test creates a <webview> with a text input field inside, gives focus to |
-// the input field, and then detaches the <webview>. It monitors the embedder |
-// WebContents text input state to make sure it tracks the state properly. |
-IN_PROC_BROWSER_TEST_P(WebViewTextInputStateInteractiveTest, |
- OuterWebContentsResetsStateAfterDetach) { |
- SetupTest("web_view/text_input_state", |
- "/extensions/platform_apps/web_view/text_input_state/guest.html"); |
- |
- // Press tab key twice to end up in the <input> of the <webview>. |
- ExtensionTestMessageListener listener("GUEST-FOCUSED", false); |
- for (size_t i = 0; i < 2; ++i) |
- SendKeyPressToPlatformApp(ui::VKEY_TAB); |
- |
- listener.WaitUntilSatisfied(); |
- |
- // Now wait for a text input state change. |
- TextInputStateHelper::WaitForDesiredState( |
- embedder_web_contents(), |
- base::Bind(&TextInputStateHelper::HasGivenValue, "guest")); |
- |
- // Now detach the <webview>. |
- ExtensionTestMessageListener detach_listener("detached", false); |
- detach_listener.set_failure_message("failed-to-detach"); |
- EXPECT_TRUE( |
- content::ExecuteScript(embedder_web_contents(), "detachWebView();")); |
- detach_listener.WaitUntilSatisfied(); |
- |
- // Wait for the outer WebContentsImpl |text_input_state_->type| to be reset to |
- // none. |
- TextInputStateHelper::WaitForDesiredState( |
- embedder_web_contents(), |
- base::Bind(&TextInputStateHelper::IsStateOfGivenType, |
- ui::TEXT_INPUT_TYPE_NONE)); |
-} |