| Index: chrome/test/remoting/fullscreen_browsertest.cc
|
| diff --git a/chrome/test/remoting/fullscreen_browsertest.cc b/chrome/test/remoting/fullscreen_browsertest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6b9f5100a63cc0dfa4c727129a949d33eb94f13f
|
| --- /dev/null
|
| +++ b/chrome/test/remoting/fullscreen_browsertest.cc
|
| @@ -0,0 +1,75 @@
|
| +// Copyright 2014 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 "base/file_util.h"
|
| +#include "base/files/file_path.h"
|
| +#include "chrome/test/remoting/remote_desktop_browsertest.h"
|
| +#include "chrome/test/remoting/waiter.h"
|
| +
|
| +namespace remoting {
|
| +
|
| +class FullscreenBrowserTest : public RemoteDesktopBrowserTest {
|
| + protected:
|
| + bool WaitForFullscreenChange(bool expect_fullscreen);
|
| +};
|
| +
|
| +bool FullscreenBrowserTest::WaitForFullscreenChange(bool expect_fullscreen) {
|
| + std::string javascript = expect_fullscreen ?
|
| + "remoting.fullscreen.isActive()" :
|
| + "!remoting.fullscreen.isActive()";
|
| + ConditionalTimeoutWaiter waiter(
|
| + base::TimeDelta::FromSeconds(20),
|
| + base::TimeDelta::FromSeconds(1),
|
| + base::Bind(&RemoteDesktopBrowserTest::IsHostActionComplete,
|
| + active_web_contents(),
|
| + javascript));
|
| + bool result = waiter.Wait();
|
| + // Entering or leaving full-screen mode causes local and remote desktop
|
| + // reconfigurations that can take a while to settle down, so wait a few
|
| + // seconds before continuing.
|
| + TimeoutWaiter(base::TimeDelta::FromSeconds(10)).Wait();
|
| + return result;
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(FullscreenBrowserTest, MANUAL_Me2Me_Fullscreen) {
|
| + SetUpTestForMe2Me();
|
| + ConnectToLocalHost(false);
|
| +
|
| + // Verify that we're initially not full-screen.
|
| + EXPECT_FALSE(ExecuteScriptAndExtractBool(
|
| + "remoting.fullscreen.isActive()"));
|
| +
|
| + // Click the full-screen button and verify that it activates full-screen mode.
|
| + ClickOnControl("toggle-full-screen");
|
| + EXPECT_TRUE(WaitForFullscreenChange(true));
|
| +
|
| + // Click the full-screen button again and verify that it deactivates
|
| + // full-screen mode.
|
| + ClickOnControl("toggle-full-screen");
|
| + EXPECT_TRUE(WaitForFullscreenChange(false));
|
| +
|
| + // Enter full-screen mode again, then disconnect and verify that full-screen
|
| + // mode is deactivated upon disconnection.
|
| + // TODO(jamiewalch): For the v2 app, activate full-screen mode indirectly by
|
| + // maximizing the window for the second test.
|
| + ClickOnControl("toggle-full-screen");
|
| + EXPECT_TRUE(WaitForFullscreenChange(true));
|
| + DisconnectMe2Me();
|
| + EXPECT_TRUE(WaitForFullscreenChange(false));
|
| +
|
| + Cleanup();
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(FullscreenBrowserTest, MANUAL_Me2Me_Bump_Scroll) {
|
| + SetUpTestForMe2Me();
|
| +
|
| + content::WebContents* content = app_web_content();
|
| + LoadScript(content, FILE_PATH_LITERAL("bump_scroll_browser_test.js"));
|
| +
|
| + RunJavaScriptTest(content, "Bump_Scroll", "{pin: '" + me2me_pin() + "'}");
|
| +
|
| + Cleanup();
|
| +}
|
| +
|
| +} // namespace remoting
|
|
|