Index: content/browser/vibration_browsertest.cc |
diff --git a/content/browser/vibration_browsertest.cc b/content/browser/vibration_browsertest.cc |
deleted file mode 100644 |
index 342e58beb035346bd44e988439f453a32bc69b91..0000000000000000000000000000000000000000 |
--- a/content/browser/vibration_browsertest.cc |
+++ /dev/null |
@@ -1,203 +0,0 @@ |
-// Copyright 2015 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 <stdint.h> |
-#include <utility> |
- |
-#include "base/bind.h" |
-#include "base/macros.h" |
-#include "base/memory/ptr_util.h" |
-#include "base/strings/string_number_conversions.h" |
-#include "build/build_config.h" |
-#include "content/public/browser/render_frame_host.h" |
-#include "content/public/browser/web_contents.h" |
-#include "content/public/test/browser_test_utils.h" |
-#include "content/public/test/content_browser_test.h" |
-#include "content/public/test/content_browser_test_utils.h" |
-#include "content/public/test/test_utils.h" |
-#include "content/shell/browser/shell.h" |
-#include "device/vibration/vibration_manager.mojom.h" |
-#include "mojo/public/cpp/bindings/strong_binding.h" |
-#include "services/service_manager/public/cpp/interface_registry.h" |
- |
-// These tests run against a dummy implementation of the VibrationManager |
-// service. That is, they verify that the service implementation is correctly |
-// exposed to the renderer, whatever the implementation is. |
- |
-namespace content { |
- |
-namespace { |
- |
-// Global, record milliseconds when FakeVibrationManager::Vibrate got called. |
-int64_t g_vibrate_milliseconds = -1; |
- |
-// Global, record whether FakeVibrationManager::Cancel got called. |
-bool g_cancelled = false; |
- |
-// Global, wait for end of execution for FakeVibrationManager::Vibrate. |
-scoped_refptr<MessageLoopRunner> g_wait_vibrate_runner; |
- |
-// Global, wait for end of execution for FakeVibrationManager::Cancel. |
-scoped_refptr<MessageLoopRunner> g_wait_cancel_runner; |
- |
-void ResetGlobalValues() { |
- g_vibrate_milliseconds = -1; |
- g_cancelled = false; |
- |
- g_wait_vibrate_runner = new MessageLoopRunner(); |
- g_wait_cancel_runner = new MessageLoopRunner(); |
-} |
- |
-class FakeVibrationManager : public device::mojom::VibrationManager { |
- public: |
- FakeVibrationManager() {} |
- ~FakeVibrationManager() override {} |
- |
- static void Create(device::mojom::VibrationManagerRequest request) { |
- mojo::MakeStrongBinding(base::MakeUnique<FakeVibrationManager>(), |
- std::move(request)); |
- } |
- |
- private: |
- void Vibrate(int64_t milliseconds, const VibrateCallback& callback) override { |
- g_vibrate_milliseconds = milliseconds; |
- callback.Run(); |
- g_wait_vibrate_runner->Quit(); |
- } |
- |
- void Cancel(const CancelCallback& callback) override { |
- g_cancelled = true; |
- callback.Run(); |
- g_wait_cancel_runner->Quit(); |
- } |
-}; |
- |
-class VibrationTest : public ContentBrowserTest { |
- public: |
- VibrationTest() {} |
- |
- void SetUpOnMainThread() override { |
- ResetGlobalValues(); |
- GetMainFrame()->GetInterfaceRegistry()->AddInterface( |
- base::Bind(&FakeVibrationManager::Create)); |
- } |
- |
- bool Vibrate(int duration) { return Vibrate(duration, GetMainFrame()); } |
- |
- bool Vibrate(int duration, RenderFrameHost* frame) { |
- bool result; |
- std::string script = "domAutomationController.send(navigator.vibrate(" + |
- base::IntToString(duration) + "))"; |
- EXPECT_TRUE(ExecuteScriptAndExtractBool(frame, script, &result)); |
- return result; |
- } |
- |
- bool Cancel() { |
- bool result; |
- std::string script = "domAutomationController.send(navigator.vibrate(0))"; |
- EXPECT_TRUE(ExecuteScriptAndExtractBool(GetMainFrame(), script, &result)); |
- return result; |
- } |
- |
- bool DestroyIframe() { |
- std::string script = |
- "document.getElementById('test_iframe').parentNode.innerHTML = ''"; |
- return ExecuteScript(GetMainFrame(), script); |
- } |
- |
- RenderFrameHost* GetMainFrame() { |
- return shell()->web_contents()->GetMainFrame(); |
- } |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(VibrationTest); |
-}; |
- |
-IN_PROC_BROWSER_TEST_F(VibrationTest, Vibrate) { |
- ASSERT_EQ(-1, g_vibrate_milliseconds); |
- |
- ASSERT_TRUE(NavigateToURL(shell(), GetTestUrl(".", "simple_page.html"))); |
- ASSERT_TRUE(Vibrate(1234)); |
- g_wait_vibrate_runner->Run(); |
- |
- ASSERT_EQ(1234, g_vibrate_milliseconds); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(VibrationTest, Cancel) { |
- ASSERT_FALSE(g_cancelled); |
- |
- ASSERT_TRUE(NavigateToURL(shell(), GetTestUrl(".", "simple_page.html"))); |
- ASSERT_TRUE(Vibrate(1234)); |
- g_wait_vibrate_runner->Run(); |
- ASSERT_TRUE(Cancel()); |
- g_wait_cancel_runner->Run(); |
- |
- ASSERT_TRUE(g_cancelled); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(VibrationTest, |
- CancelVibrationFromMainFrameWhenMainFrameIsReloaded) { |
- ASSERT_FALSE(g_cancelled); |
- |
- ASSERT_TRUE(NavigateToURL(shell(), GetTestUrl(".", "simple_page.html"))); |
- ASSERT_TRUE(Vibrate(1234)); |
- g_wait_vibrate_runner->Run(); |
- ASSERT_TRUE(NavigateToURL(shell(), GetTestUrl(".", "simple_page.html"))); |
- g_wait_cancel_runner->Run(); |
- |
- ASSERT_TRUE(g_cancelled); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(VibrationTest, |
- CancelVibrationFromSubFrameWhenSubFrameIsReloaded) { |
- ASSERT_FALSE(g_cancelled); |
- |
- ASSERT_TRUE(NavigateToURL(shell(), GetTestUrl(".", "page_with_iframe.html"))); |
- RenderFrameHost* iframe = ChildFrameAt(GetMainFrame(), 0); |
- iframe->GetInterfaceRegistry()->AddInterface( |
- base::Bind(&FakeVibrationManager::Create)); |
- ASSERT_TRUE(Vibrate(1234, iframe)); |
- g_wait_vibrate_runner->Run(); |
- ASSERT_TRUE(NavigateIframeToURL(shell()->web_contents(), "test_iframe", |
- GetTestUrl(".", "title1.html"))); |
- g_wait_cancel_runner->Run(); |
- |
- ASSERT_TRUE(g_cancelled); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(VibrationTest, |
- CancelVibrationFromSubFrameWhenMainFrameIsReloaded) { |
- ASSERT_FALSE(g_cancelled); |
- |
- ASSERT_TRUE(NavigateToURL(shell(), GetTestUrl(".", "page_with_iframe.html"))); |
- RenderFrameHost* iframe = ChildFrameAt(GetMainFrame(), 0); |
- iframe->GetInterfaceRegistry()->AddInterface( |
- base::Bind(&FakeVibrationManager::Create)); |
- ASSERT_TRUE(Vibrate(1234, iframe)); |
- g_wait_vibrate_runner->Run(); |
- ASSERT_TRUE(NavigateToURL(shell(), GetTestUrl(".", "page_with_iframe.html"))); |
- g_wait_cancel_runner->Run(); |
- |
- ASSERT_TRUE(g_cancelled); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(VibrationTest, |
- CancelVibrationFromSubFrameWhenSubFrameIsDestroyed) { |
- ASSERT_FALSE(g_cancelled); |
- |
- ASSERT_TRUE(NavigateToURL(shell(), GetTestUrl(".", "page_with_iframe.html"))); |
- RenderFrameHost* iframe = ChildFrameAt(GetMainFrame(), 0); |
- iframe->GetInterfaceRegistry()->AddInterface( |
- base::Bind(&FakeVibrationManager::Create)); |
- ASSERT_TRUE(Vibrate(1234, iframe)); |
- g_wait_vibrate_runner->Run(); |
- ASSERT_TRUE(DestroyIframe()); |
- g_wait_cancel_runner->Run(); |
- |
- ASSERT_TRUE(g_cancelled); |
-} |
- |
-} // namespace |
- |
-} // namespace content |