Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(380)

Unified Diff: chrome/browser/extensions/web_view_interactive_browsertest.cc

Issue 23003004: Move apps tests from c/b/extensions to c/b/apps and refine DEPS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Correct ordering in typi Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/web_view_interactive_browsertest.cc
diff --git a/chrome/browser/extensions/web_view_interactive_browsertest.cc b/chrome/browser/extensions/web_view_interactive_browsertest.cc
deleted file mode 100644
index 170fb9ba548d0a888ba46364cff741c6627a6b3b..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/web_view_interactive_browsertest.cc
+++ /dev/null
@@ -1,671 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "apps/shell_window.h"
-#include "apps/shell_window_registry.h"
-#include "base/strings/stringprintf.h"
-#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/extensions/extension_test_message_listener.h"
-#include "chrome/browser/extensions/platform_app_browsertest_util.h"
-#include "chrome/test/base/interactive_test_utils.h"
-#include "chrome/test/base/test_launcher_utils.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/browser/render_process_host.h"
-#include "content/public/browser/render_view_host.h"
-#include "content/public/browser/render_widget_host_view.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_contents_view.h"
-#include "content/public/common/content_switches.h"
-#include "content/public/test/browser_test_utils.h"
-#include "net/test/embedded_test_server/embedded_test_server.h"
-#include "ui/base/keycodes/keyboard_codes.h"
-#include "ui/base/test/ui_controls.h"
-
-using apps::ShellWindow;
-
-class WebViewInteractiveTest
- : public extensions::PlatformAppBrowserTest {
- public:
- WebViewInteractiveTest()
- : corner_(gfx::Point()),
- mouse_click_result_(false),
- first_click_(true) {}
-
- void MoveMouseInsideWindowWithListener(gfx::Point point,
- const std::string& message) {
- ExtensionTestMessageListener move_listener(message, false);
- ASSERT_TRUE(ui_test_utils::SendMouseMoveSync(
- gfx::Point(corner_.x() + point.x(), corner_.y() + point.y())));
- ASSERT_TRUE(move_listener.WaitUntilSatisfied());
- }
-
- void SendMouseClickWithListener(ui_controls::MouseButton button,
- const std::string& message) {
- ExtensionTestMessageListener listener(message, false);
- SendMouseClick(button);
- ASSERT_TRUE(listener.WaitUntilSatisfied());
- }
-
- void SendMouseClick(ui_controls::MouseButton button) {
- SendMouseEvent(button, ui_controls::DOWN);
- SendMouseEvent(button, ui_controls::UP);
- }
-
- void MoveMouseInsideWindow(const gfx::Point& point) {
- ASSERT_TRUE(ui_test_utils::SendMouseMoveSync(
- gfx::Point(corner_.x() + point.x(), corner_.y() + point.y())));
- }
-
- gfx::NativeWindow GetPlatformAppWindow() {
- const apps::ShellWindowRegistry::ShellWindowList& shell_windows =
- apps::ShellWindowRegistry::Get(
- browser()->profile())->shell_windows();
- return (*shell_windows.begin())->GetNativeWindow();
- }
-
- void SendKeyPressToPlatformApp(ui::KeyboardCode key) {
- ASSERT_EQ(1U, GetShellWindowCount());
- ASSERT_TRUE(ui_test_utils::SendKeyPressToWindowSync(
- GetPlatformAppWindow(), key, false, false, false, false));
- }
-
- void SendCopyKeyPressToPlatformApp() {
- ASSERT_EQ(1U, GetShellWindowCount());
-#if defined(OS_MACOSX)
- // Send Cmd+C on MacOSX.
- ASSERT_TRUE(ui_test_utils::SendKeyPressToWindowSync(
- GetPlatformAppWindow(), ui::VKEY_C, false, false, false, true));
-#else
- // Send Ctrl+C on Windows and Linux/ChromeOS.
- ASSERT_TRUE(ui_test_utils::SendKeyPressToWindowSync(
- GetPlatformAppWindow(), ui::VKEY_C, true, false, false, false));
-#endif
- }
-
- void SendStartOfLineKeyPressToPlatformApp() {
-#if defined(OS_MACOSX)
- // Send Cmd+Left on MacOSX.
- ASSERT_TRUE(ui_test_utils::SendKeyPressToWindowSync(
- GetPlatformAppWindow(), ui::VKEY_LEFT, false, false, false, true));
-#else
- // Send Ctrl+Left on Windows and Linux/ChromeOS.
- ASSERT_TRUE(ui_test_utils::SendKeyPressToWindowSync(
- GetPlatformAppWindow(), ui::VKEY_LEFT, true, false, false, false));
-#endif
- }
-
- void SendBackShortcutToPlatformApp() {
-#if defined(OS_MACOSX)
- // Send Cmd+[ on MacOSX.
- ASSERT_TRUE(ui_test_utils::SendKeyPressToWindowSync(
- GetPlatformAppWindow(), ui::VKEY_OEM_4, false, false, false, true));
-#else
- // Send browser back key on Linux/Windows.
- ASSERT_TRUE(ui_test_utils::SendKeyPressToWindowSync(
- GetPlatformAppWindow(), ui::VKEY_BROWSER_BACK,
- false, false, false, false));
-#endif
- }
-
- void SendForwardShortcutToPlatformApp() {
-#if defined(OS_MACOSX)
- // Send Cmd+] on MacOSX.
- ASSERT_TRUE(ui_test_utils::SendKeyPressToWindowSync(
- GetPlatformAppWindow(), ui::VKEY_OEM_6, false, false, false, true));
-#else
- // Send browser back key on Linux/Windows.
- ASSERT_TRUE(ui_test_utils::SendKeyPressToWindowSync(
- GetPlatformAppWindow(), ui::VKEY_BROWSER_FORWARD,
- false, false, false, false));
-#endif
- }
-
- void SendMouseEvent(ui_controls::MouseButton button,
- ui_controls::MouseButtonState state) {
- if (first_click_) {
- mouse_click_result_ = ui_test_utils::SendMouseEventsSync(button,
- state);
- first_click_ = false;
- } else {
- ASSERT_EQ(mouse_click_result_, ui_test_utils::SendMouseEventsSync(
- button, state));
- }
- }
-
- void TestHelper(const std::string& test_name,
- const std::string& test_passed_msg,
- const std::string& test_failed_msg,
- const std::string& app_location) {
- ASSERT_TRUE(StartEmbeddedTestServer()); // For serving guest pages.
- ExtensionTestMessageListener launched_listener("Launched", false);
- LoadAndLaunchPlatformApp(app_location.c_str());
- ASSERT_TRUE(launched_listener.WaitUntilSatisfied());
-
- ASSERT_TRUE(ui_test_utils::ShowAndFocusNativeWindow(
- GetPlatformAppWindow()));
-
- // Flush any pending events to make sure we start with a clean slate.
- content::RunAllPendingInMessageLoop();
-
- content::WebContents* embedder_web_contents =
- GetFirstShellWindowWebContents();
- ASSERT_TRUE(embedder_web_contents);
-
- ExtensionTestMessageListener done_listener(test_passed_msg, false);
- done_listener.AlsoListenForFailureMessage(test_failed_msg);
- EXPECT_TRUE(content::ExecuteScript(
- embedder_web_contents,
- base::StringPrintf("runTest('%s')", test_name.c_str())));
- ASSERT_TRUE(done_listener.WaitUntilSatisfied());
- }
-
- void SetupTest(const std::string& app_name,
- const std::string& guest_url_spec) {
- ASSERT_TRUE(StartEmbeddedTestServer());
- GURL::Replacements replace_host;
- std::string host_str("localhost"); // Must stay in scope with replace_host.
- replace_host.SetHostStr(host_str);
-
- GURL guest_url = embedded_test_server()->GetURL(guest_url_spec);
- guest_url = guest_url.ReplaceComponents(replace_host);
-
- ui_test_utils::UrlLoadObserver guest_observer(
- guest_url, content::NotificationService::AllSources());
-
- ExtensionTestMessageListener guest_connected_listener("connected", false);
- LoadAndLaunchPlatformApp(app_name.c_str());
-
- guest_observer.Wait();
-
- // Wait until the guest process reports that it has established a message
- // channel with the app.
- ASSERT_TRUE(guest_connected_listener.WaitUntilSatisfied());
- content::Source<content::NavigationController> source =
- guest_observer.source();
- EXPECT_TRUE(source->GetWebContents()->GetRenderProcessHost()->IsGuest());
-
- guest_web_contents_ = source->GetWebContents();
- embedder_web_contents_ = guest_web_contents_->GetEmbedderWebContents();
-
- gfx::Rect offset;
- embedder_web_contents_->GetView()->GetContainerBounds(&offset);
- corner_ = gfx::Point(offset.x(), offset.y());
-
- const testing::TestInfo* const test_info =
- testing::UnitTest::GetInstance()->current_test_info();
- const std::string& prefix = "DragDropWithinWebView";
- if (!strncmp(test_info->name(), prefix.c_str(), prefix.size())) {
- // In the drag drop test we add 20px padding to the page body because on
- // windows if we get too close to the edge of the window the resize cursor
- // appears and we start dragging the window edge.
- corner_.Offset(20, 20);
- }
- }
-
- content::WebContents* guest_web_contents() {
- return guest_web_contents_;
- }
-
- content::WebContents* embedder_web_contents() {
- return embedder_web_contents_;
- }
-
- gfx::Point corner() {
- return corner_;
- }
-
- void SimulateRWHMouseClick(content::RenderWidgetHost* rwh, int x, int y) {
- WebKit::WebMouseEvent mouse_event;
- mouse_event.button = WebKit::WebMouseEvent::ButtonLeft;
- mouse_event.x = mouse_event.windowX = x;
- mouse_event.y = mouse_event.windowY = y;
- mouse_event.modifiers = 0;
-
- mouse_event.type = WebKit::WebInputEvent::MouseDown;
- rwh->ForwardMouseEvent(mouse_event);
- mouse_event.type = WebKit::WebInputEvent::MouseUp;
- rwh->ForwardMouseEvent(mouse_event);
- }
-
- class PopupCreatedObserver {
- public:
- PopupCreatedObserver() : created_(false), last_render_widget_host_(NULL) {
- created_callback_ = base::Bind(
- &PopupCreatedObserver::CreatedCallback, base::Unretained(this));
- content::RenderWidgetHost::AddCreatedCallback(created_callback_);
- }
- virtual ~PopupCreatedObserver() {
- content::RenderWidgetHost::RemoveCreatedCallback(created_callback_);
- }
- void Reset() {
- created_ = false;
- }
- void Start() {
- if (created_)
- return;
- message_loop_ = new content::MessageLoopRunner;
- message_loop_->Run();
- }
- content::RenderWidgetHost* last_render_widget_host() {
- return last_render_widget_host_;
- }
-
- private:
- void CreatedCallback(content::RenderWidgetHost* rwh) {
- last_render_widget_host_ = rwh;
- if (message_loop_.get())
- message_loop_->Quit();
- else
- created_ = true;
- }
- content::RenderWidgetHost::CreatedCallback created_callback_;
- scoped_refptr<content::MessageLoopRunner> message_loop_;
- bool created_;
- content::RenderWidgetHost* last_render_widget_host_;
- };
-
- void WaitForTitle(const char* title) {
- string16 expected_title(ASCIIToUTF16(title));
- string16 error_title(ASCIIToUTF16("FAILED"));
- content::TitleWatcher title_watcher(guest_web_contents(), expected_title);
- title_watcher.AlsoWaitForTitle(error_title);
- ASSERT_EQ(expected_title, title_watcher.WaitAndGetTitle());
- }
-
- void PopupTestHelper(const gfx::Point& padding) {
- PopupCreatedObserver popup_created_observer;
- popup_created_observer.Reset();
-
- content::SimulateKeyPress(
- guest_web_contents(),
- ui::VKEY_C, // C to autocomplete.
- false, false, false, false);
-
- WaitForTitle("PASSED1");
-
- popup_created_observer.Start();
-
- content::RenderWidgetHost* popup_rwh = NULL;
- popup_rwh = popup_created_observer.last_render_widget_host();
- // Popup must be present.
- ASSERT_TRUE(popup_rwh);
- ASSERT_TRUE(!popup_rwh->IsRenderView());
- ASSERT_TRUE(popup_rwh->GetView());
-
- string16 expected_title = ASCIIToUTF16("PASSED2");
- string16 error_title = ASCIIToUTF16("FAILED");
- content::TitleWatcher title_watcher(guest_web_contents(), expected_title);
- title_watcher.AlsoWaitForTitle(error_title);
- EXPECT_TRUE(content::ExecuteScript(guest_web_contents(),
- "changeTitle();"));
- ASSERT_EQ(expected_title, title_watcher.WaitAndGetTitle());
-
- gfx::Rect popup_bounds = popup_rwh->GetView()->GetViewBounds();
- // (2, 2) is expected to lie on the first datalist element.
- SimulateRWHMouseClick(popup_rwh, 2, 2);
-
- content::RenderViewHost* embedder_rvh =
- GetFirstShellWindowWebContents()->GetRenderViewHost();
- gfx::Rect embedder_bounds = embedder_rvh->GetView()->GetViewBounds();
- gfx::Vector2d diff = popup_bounds.origin() - embedder_bounds.origin();
- LOG(INFO) << "DIFF: x = " << diff.x() << ", y = " << diff.y();
-
- const int left_spacing = 40 + padding.x(); // div.style.paddingLeft = 40px.
- // div.style.paddingTop = 50px + (input box height = 26px).
- const int top_spacing = 50 + 26 + padding.y();
-
- // If the popup is placed within |threshold_px| of the expected position,
- // then we consider the test as a pass.
- const int threshold_px = 10;
-
- EXPECT_LE(std::abs(diff.x() - left_spacing), threshold_px);
- EXPECT_LE(std::abs(diff.y() - top_spacing), threshold_px);
-
- WaitForTitle("PASSED3");
- }
-
- void DragTestStep1() {
- // Move mouse to start of text.
- MoveMouseInsideWindow(gfx::Point(45, 8));
- SendMouseEvent(ui_controls::LEFT, ui_controls::DOWN);
- MoveMouseInsideWindow(gfx::Point(76, 12));
-
- // Now wait a bit before moving mouse to initiate drag/drop.
- base::MessageLoop::current()->PostDelayedTask(
- FROM_HERE,
- base::Bind(&WebViewInteractiveTest::DragTestStep2,
- base::Unretained(this)),
- base::TimeDelta::FromMilliseconds(200));
- }
-
- void DragTestStep2() {
- // Drag source over target.
- MoveMouseInsideWindow(gfx::Point(76, 76));
-
- // Create a second mouse over the source to trigger the drag over event.
- MoveMouseInsideWindow(gfx::Point(76, 77));
-
- // Release mouse to drop.
- SendMouseEvent(ui_controls::LEFT, ui_controls::UP);
- SendMouseClick(ui_controls::LEFT);
-
- quit_closure_.Run();
-
- // Note that following ExtensionTestMessageListener and ExecuteScript*
- // call must be after we quit |quit_closure_|. Otherwise the class
- // here won't be able to receive messages sent by chrome.test.sendMessage.
- // This is because of the nature of drag and drop code (esp. the
- // MessageLoop) in it.
-
- // Now verify we got a drop and correct drop data.
- ExtensionTestMessageListener drop_listener("guest-got-drop", false);
- EXPECT_TRUE(content::ExecuteScript(guest_web_contents_,
- "window.pingEmbedder()"));
- EXPECT_TRUE(drop_listener.WaitUntilSatisfied());
-
- std::string last_drop_data;
- EXPECT_TRUE(content::ExecuteScriptAndExtractString(
- embedder_web_contents_,
- "window.domAutomationController.send(getLastDropData())",
- &last_drop_data));
- EXPECT_EQ(last_drop_data, "Drop me");
- }
-
- protected:
- virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
- command_line->AppendSwitch(switches::kEnableBrowserPluginDragDrop);
- extensions::PlatformAppBrowserTest::SetUpCommandLine(command_line);
- }
-
- content::WebContents* guest_web_contents_;
- content::WebContents* embedder_web_contents_;
- gfx::Point corner_;
- bool mouse_click_result_;
- bool first_click_;
- // Only used in drag/drop test.
- base::Closure quit_closure_;
-};
-
-// 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.
-#if (defined(OS_WIN) || defined(OS_LINUX))
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, PointerLock) {
- SetupTest("web_view/pointer_lock",
- "/extensions/platform_apps/web_view/pointer_lock/guest.html");
-
- // Move the mouse over the Lock Pointer button.
- ASSERT_TRUE(ui_test_utils::SendMouseMoveSync(
- gfx::Point(corner().x() + 75, corner().y() + 25)));
-
- // Click the Lock Pointer button. The first two times the button is clicked
- // the permission API will deny the request (intentional).
- ExtensionTestMessageListener exception_listener("request exception", false);
- SendMouseClickWithListener(ui_controls::LEFT, "lock error");
- ASSERT_TRUE(exception_listener.WaitUntilSatisfied());
- SendMouseClickWithListener(ui_controls::LEFT, "lock error");
-
- // Click the Lock Pointer button, locking the mouse to lockTarget1.
- SendMouseClickWithListener(ui_controls::LEFT, "locked");
-
- // Attempt to move the mouse off of the lock target, and onto lockTarget2,
- // (which would trigger a test failure).
- ASSERT_TRUE(ui_test_utils::SendMouseMoveSync(
- gfx::Point(corner().x() + 74, corner().y() + 74)));
- MoveMouseInsideWindowWithListener(gfx::Point(75, 75), "mouse-move");
-
-#if (defined(OS_WIN) && defined(USE_AURA))
- // When the mouse is unlocked on win aura, sending a test mouse click clicks
- // where the mouse moved to while locked. I was unable to figure out why, and
- // since the issue only occurs with the test mouse events, just fix it with
- // a simple workaround - moving the mouse back to where it should be.
- // TODO(mthiesse): Fix Win Aura simulated mouse events while mouse locked.
- MoveMouseInsideWindowWithListener(gfx::Point(75, 25), "mouse-move");
-#endif
-
- ExtensionTestMessageListener unlocked_listener("unlocked", false);
- // Send a key press to unlock the mouse.
- SendKeyPressToPlatformApp(ui::VKEY_ESCAPE);
-
- // Wait for page to receive (successful) mouse unlock response.
- ASSERT_TRUE(unlocked_listener.WaitUntilSatisfied());
-
- // After the second lock, guest.js sends a message to main.js to remove the
- // webview object. main.js then removes the div containing the webview, which
- // should unlock, and leave the mouse over the mousemove-capture-container
- // div. We then move the mouse over that div to ensure the mouse was properly
- // unlocked and that the div receieves the message.
- ExtensionTestMessageListener move_captured_listener("move-captured", false);
- move_captured_listener.AlsoListenForFailureMessage("timeout");
-
- // Mouse should already be over lock button (since we just unlocked), so send
- // click to re-lock the mouse.
- SendMouseClickWithListener(ui_controls::LEFT, "deleted");
-
- // A mousemove event is triggered on the mousemove-capture-container element
- // when we delete the webview container (since the mouse moves onto the
- // element), but just in case, send an explicit mouse movement to be safe.
- ASSERT_TRUE(ui_test_utils::SendMouseMoveSync(
- gfx::Point(corner().x() + 50, corner().y() + 10)));
-
- // Wait for page to receive second (successful) mouselock response.
- bool success = move_captured_listener.WaitUntilSatisfied();
- if (!success) {
- fprintf(stderr, "TIMEOUT - retrying\n");
- // About 1 in 40 tests fail to detect mouse moves at this point (why?).
- // Sending a right click seems to fix this (why?).
- ExtensionTestMessageListener move_listener2("move-captured", false);
- SendMouseClick(ui_controls::RIGHT);
- ASSERT_TRUE(ui_test_utils::SendMouseMoveSync(
- gfx::Point(corner().x() + 51, corner().y() + 11)));
- ASSERT_TRUE(move_listener2.WaitUntilSatisfied());
- }
-}
-
-#endif // (defined(OS_WIN) || defined(OS_LINUX))
-
-// Tests that setting focus on the <webview> sets focus on the guest.
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, DISABLED_Focus) {
- ASSERT_TRUE(StartEmbeddedTestServer()); // For serving guest pages.
- ASSERT_TRUE(RunPlatformAppTest("platform_apps/web_view/focus"))
- << message_;
-}
-
-// Tests that guests receive edit commands and respond appropriately.
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, EditCommands) {
- SetupTest("web_view/edit_commands",
- "/extensions/platform_apps/web_view/edit_commands/guest.html");
-
- ASSERT_TRUE(ui_test_utils::ShowAndFocusNativeWindow(
- GetPlatformAppWindow()));
-
- // Flush any pending events to make sure we start with a clean slate.
- content::RunAllPendingInMessageLoop();
-
- ExtensionTestMessageListener copy_listener("copy", false);
- SendCopyKeyPressToPlatformApp();
-
- // Wait for the guest to receive a 'copy' edit command.
- ASSERT_TRUE(copy_listener.WaitUntilSatisfied());
-}
-
-// Tests that guests receive edit commands and respond appropriately.
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, EditCommandsNoMenu) {
- SetupTest("web_view/edit_commands_no_menu",
- "/extensions/platform_apps/web_view/edit_commands_no_menu/"
- "guest.html");
-
- ASSERT_TRUE(ui_test_utils::ShowAndFocusNativeWindow(
- GetPlatformAppWindow()));
-
- // Flush any pending events to make sure we start with a clean slate.
- content::RunAllPendingInMessageLoop();
-
- ExtensionTestMessageListener start_of_line_listener("StartOfLine", false);
- SendStartOfLineKeyPressToPlatformApp();
- // Wait for the guest to receive a 'copy' edit command.
- ASSERT_TRUE(start_of_line_listener.WaitUntilSatisfied());
-}
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest,
- NewWindow_NewWindowNameTakesPrecedence) {
- TestHelper("testNewWindowNameTakesPrecedence",
- "DoneNewWindowTest.PASSED",
- "DoneNewWindowTest.FAILED",
- "web_view/newwindow");
-}
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest,
- NewWindow_WebViewNameTakesPrecedence) {
- TestHelper("testWebViewNameTakesPrecedence",
- "DoneNewWindowTest.PASSED",
- "DoneNewWindowTest.FAILED",
- "web_view/newwindow");
-}
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, NewWindow_NoName) {
- TestHelper("testNoName",
- "DoneNewWindowTest.PASSED",
- "DoneNewWindowTest.FAILED",
- "web_view/newwindow");
-}
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, NewWindow_Redirect) {
- TestHelper("testNewWindowRedirect",
- "DoneNewWindowTest.PASSED",
- "DoneNewWindowTest.FAILED",
- "web_view/newwindow");
-}
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, NewWindow_Close) {
- TestHelper("testNewWindowClose",
- "DoneNewWindowTest.PASSED",
- "DoneNewWindowTest.FAILED",
- "web_view/newwindow");
-}
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, NewWindow_ExecuteScript) {
- TestHelper("testNewWindowExecuteScript",
- "DoneNewWindowTest.PASSED",
- "DoneNewWindowTest.FAILED",
- "web_view/newwindow");
-}
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, NewWindow_WebRequest) {
- TestHelper("testNewWindowWebRequest",
- "DoneNewWindowTest.PASSED",
- "DoneNewWindowTest.FAILED",
- "web_view/newwindow");
-}
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, ExecuteCode) {
- ASSERT_TRUE(StartEmbeddedTestServer()); // For serving guest pages.
- ASSERT_TRUE(RunPlatformAppTestWithArg(
- "platform_apps/web_view/common", "execute_code")) << message_;
-}
-
-// This test used the old Autofill UI, which has been removed.
-// See crbug.com/259438
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, DISABLED_PopupPositioning) {
- SetupTest(
- "web_view/popup_positioning",
- "/extensions/platform_apps/web_view/popup_positioning/guest.html");
- ASSERT_TRUE(guest_web_contents());
-
- PopupTestHelper(gfx::Point());
-
- // moveTo a random location and run the steps again.
- EXPECT_TRUE(content::ExecuteScript(embedder_web_contents(),
- "window.moveTo(16, 20);"));
- PopupTestHelper(gfx::Point());
-}
-
-// Tests that moving browser plugin (without resize/UpdateRects) correctly
-// repositions popup.
-// Started flakily failing after a Blink roll: http://crbug.com/245332
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, DISABLED_PopupPositioningMoved) {
- SetupTest(
- "web_view/popup_positioning_moved",
- "/extensions/platform_apps/web_view/popup_positioning_moved"
- "/guest.html");
- ASSERT_TRUE(guest_web_contents());
-
- PopupTestHelper(gfx::Point(20, 0));
-}
-
-// Drag and drop inside a webview is currently only enabled for linux and mac,
-// but the tests don't work on anything except chromeos for now. This is because
-// of simulating mouse drag code's dependency on platforms.
-#if defined(OS_CHROMEOS)
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, DragDropWithinWebView) {
- SetupTest(
- "web_view/dnd_within_webview",
- "/extensions/platform_apps/web_view/dnd_within_webview/guest.html");
- ASSERT_TRUE(ui_test_utils::ShowAndFocusNativeWindow(GetPlatformAppWindow()));
-
- // Flush any pending events to make sure we start with a clean slate.
- content::RunAllPendingInMessageLoop();
- base::RunLoop run_loop;
- quit_closure_ = run_loop.QuitClosure();
- base::MessageLoop::current()->PostTask(
- FROM_HERE,
- base::Bind(&WebViewInteractiveTest::DragTestStep1,
- base::Unretained(this)));
- run_loop.Run();
-}
-#endif // (defined(OS_CHROMEOS))
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, Navigation) {
- TestHelper("testNavigation",
- "DoneNavigationTest.PASSED",
- "DoneNavigationTest.FAILED",
- "web_view/navigation");
-}
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest, Navigation_BackForwardKeys) {
- ASSERT_TRUE(StartEmbeddedTestServer()); // For serving guest pages.
- ExtensionTestMessageListener launched_listener("Launched", false);
- LoadAndLaunchPlatformApp("web_view/navigation");
- ASSERT_TRUE(launched_listener.WaitUntilSatisfied());
-
- ASSERT_TRUE(ui_test_utils::ShowAndFocusNativeWindow(
- GetPlatformAppWindow()));
- // Flush any pending events to make sure we start with a clean slate.
- content::RunAllPendingInMessageLoop();
-
- content::WebContents* embedder_web_contents =
- GetFirstShellWindowWebContents();
- ASSERT_TRUE(embedder_web_contents);
-
- ExtensionTestMessageListener done_listener(
- "DoneNavigationTest.PASSED", false);
- done_listener.AlsoListenForFailureMessage("DoneNavigationTest.FAILED");
- ExtensionTestMessageListener ready_back_key_listener(
- "ReadyForBackKey", false);
- ExtensionTestMessageListener ready_forward_key_listener(
- "ReadyForForwardKey", false);
-
- EXPECT_TRUE(content::ExecuteScript(
- embedder_web_contents,
- "runTest('testBackForwardKeys')"));
-
- ASSERT_TRUE(ready_back_key_listener.WaitUntilSatisfied());
- SendBackShortcutToPlatformApp();
-
- ASSERT_TRUE(ready_forward_key_listener.WaitUntilSatisfied());
- SendForwardShortcutToPlatformApp();
-
- ASSERT_TRUE(done_listener.WaitUntilSatisfied());
-}
-
-IN_PROC_BROWSER_TEST_F(WebViewInteractiveTest,
- PointerLock_PointerLockLostWithFocus) {
- TestHelper("testPointerLockLostWithFocus",
- "DonePointerLockTest.PASSED",
- "DonePointerLockTest.FAILED",
- "web_view/pointerlock");
-}
-
« no previous file with comments | « chrome/browser/extensions/web_view_browsertest.cc ('k') | chrome/browser/extensions/window_controls_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698