| Index: content/browser/speech/input_tag_speech_browsertest.cc
|
| diff --git a/content/browser/speech/input_tag_speech_browsertest.cc b/content/browser/speech/input_tag_speech_browsertest.cc
|
| deleted file mode 100644
|
| index cc3bc115633f911d45dbb639bd15b4141a51a5d7..0000000000000000000000000000000000000000
|
| --- a/content/browser/speech/input_tag_speech_browsertest.cc
|
| +++ /dev/null
|
| @@ -1,139 +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 "base/command_line.h"
|
| -#include "base/files/file_path.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "base/strings/string_number_conversions.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "content/browser/renderer_host/render_view_host_impl.h"
|
| -#include "content/browser/web_contents/web_contents_impl.h"
|
| -#include "content/public/browser/notification_types.h"
|
| -#include "content/public/browser/web_contents.h"
|
| -#include "content/public/common/content_switches.h"
|
| -#include "content/public/common/speech_recognition_error.h"
|
| -#include "content/public/common/speech_recognition_result.h"
|
| -#include "content/public/common/url_constants.h"
|
| -#include "content/public/test/content_browser_test.h"
|
| -#include "content/public/test/content_browser_test_utils.h"
|
| -#include "content/public/test/fake_speech_recognition_manager.h"
|
| -#include "content/public/test/test_utils.h"
|
| -#include "content/shell/browser/shell.h"
|
| -#include "third_party/WebKit/public/web/WebInputEvent.h"
|
| -
|
| -namespace content {
|
| -
|
| -class InputTagSpeechBrowserTest : public ContentBrowserTest {
|
| - public:
|
| - // ContentBrowserTest methods
|
| - virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
|
| - EXPECT_TRUE(!command_line->HasSwitch(switches::kDisableSpeechInput));
|
| - }
|
| -
|
| - protected:
|
| - void LoadAndStartSpeechRecognitionTest(const char* filename) {
|
| - // The test page calculates the speech button's coordinate in the page on
|
| - // load & sets that coordinate in the URL fragment. We send mouse down & up
|
| - // events at that coordinate to trigger speech recognition.
|
| - GURL test_url = GetTestUrl("speech", filename);
|
| - NavigateToURL(shell(), test_url);
|
| -
|
| - blink::WebMouseEvent mouse_event;
|
| - mouse_event.type = blink::WebInputEvent::MouseDown;
|
| - mouse_event.button = blink::WebMouseEvent::ButtonLeft;
|
| - mouse_event.x = 0;
|
| - mouse_event.y = 0;
|
| - mouse_event.clickCount = 1;
|
| - WebContents* web_contents = shell()->web_contents();
|
| -
|
| - WindowedNotificationObserver observer(
|
| - NOTIFICATION_LOAD_STOP,
|
| - Source<NavigationController>(&web_contents->GetController()));
|
| - web_contents->GetRenderViewHost()->ForwardMouseEvent(mouse_event);
|
| - mouse_event.type = blink::WebInputEvent::MouseUp;
|
| - web_contents->GetRenderViewHost()->ForwardMouseEvent(mouse_event);
|
| - fake_speech_recognition_manager_.WaitForRecognitionStarted();
|
| -
|
| - // We should wait for a navigation event, raised by the test page JS code
|
| - // upon the onwebkitspeechchange event, in all cases except when the
|
| - // speech response is inhibited.
|
| - if (fake_speech_recognition_manager_.should_send_fake_response())
|
| - observer.Wait();
|
| - }
|
| -
|
| - void RunSpeechRecognitionTest(const char* filename) {
|
| - // The fake speech input manager would receive the speech input
|
| - // request and return the test string as recognition result. The test page
|
| - // then sets the URL fragment as 'pass' if it received the expected string.
|
| - LoadAndStartSpeechRecognitionTest(filename);
|
| -
|
| - EXPECT_EQ("pass", shell()->web_contents()->GetLastCommittedURL().ref());
|
| - }
|
| -
|
| - // ContentBrowserTest methods.
|
| - virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
|
| - fake_speech_recognition_manager_.set_should_send_fake_response(true);
|
| - speech_recognition_manager_ = &fake_speech_recognition_manager_;
|
| -
|
| - // Inject the fake manager factory so that the test result is returned to
|
| - // the web page.
|
| - SpeechRecognitionManager::SetManagerForTesting(speech_recognition_manager_);
|
| - }
|
| -
|
| - virtual void TearDownInProcessBrowserTestFixture() OVERRIDE {
|
| - speech_recognition_manager_ = NULL;
|
| - }
|
| -
|
| - FakeSpeechRecognitionManager fake_speech_recognition_manager_;
|
| -
|
| - // This is used by the static |fakeManager|, and it is a pointer rather than a
|
| - // direct instance per the style guide.
|
| - static SpeechRecognitionManager* speech_recognition_manager_;
|
| -};
|
| -
|
| -SpeechRecognitionManager*
|
| - InputTagSpeechBrowserTest::speech_recognition_manager_ = NULL;
|
| -
|
| -// TODO(satish): Once this flakiness has been fixed, add a second test here to
|
| -// check for sending many clicks in succession to the speech button and verify
|
| -// that it doesn't cause any crash but works as expected. This should act as the
|
| -// test for http://crbug.com/59173
|
| -//
|
| -// TODO(satish): Similar to above, once this flakiness has been fixed add
|
| -// another test here to check that when speech recognition is in progress and
|
| -// a renderer crashes, we get a call to
|
| -// SpeechRecognitionManager::CancelAllRequestsWithDelegate.
|
| -// crbug/360448
|
| -IN_PROC_BROWSER_TEST_F(InputTagSpeechBrowserTest,
|
| - DISABLED_TestBasicRecognition) {
|
| - RunSpeechRecognitionTest("basic_recognition.html");
|
| - EXPECT_TRUE(fake_speech_recognition_manager_.grammar().empty());
|
| -}
|
| -
|
| -// crbug/360448
|
| -IN_PROC_BROWSER_TEST_F(InputTagSpeechBrowserTest, DISABLED_GrammarAttribute) {
|
| - RunSpeechRecognitionTest("grammar_attribute.html");
|
| - EXPECT_EQ("http://example.com/grammar.xml",
|
| - fake_speech_recognition_manager_.grammar());
|
| -}
|
| -
|
| -// Flaky on Linux, Windows and Mac http://crbug.com/140765.
|
| -IN_PROC_BROWSER_TEST_F(InputTagSpeechBrowserTest, DISABLED_TestCancelAll) {
|
| - // The test checks that the cancel-all callback gets issued when a session
|
| - // is pending, so don't send a fake response.
|
| - // We are not expecting a navigation event being raised from the JS of the
|
| - // test page JavaScript in this case.
|
| - fake_speech_recognition_manager_.set_should_send_fake_response(false);
|
| -
|
| - LoadAndStartSpeechRecognitionTest("basic_recognition.html");
|
| -
|
| - // Make the renderer crash. This should trigger
|
| - // InputTagSpeechDispatcherHost to cancel all pending sessions.
|
| - NavigateToURL(shell(), GURL(kChromeUICrashURL));
|
| -
|
| - EXPECT_TRUE(fake_speech_recognition_manager_.did_cancel_all());
|
| -}
|
| -
|
| -} // namespace content
|
|
|