summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/speech/speech_input_browsertest.cc1
-rw-r--r--chrome/browser/speech/speech_input_dispatcher_host.cc4
-rw-r--r--chrome/browser/speech/speech_input_dispatcher_host.h1
-rw-r--r--chrome/browser/speech/speech_input_manager.cc5
-rw-r--r--chrome/browser/speech/speech_input_manager.h1
-rw-r--r--chrome/browser/speech/speech_recognition_request.cc13
-rw-r--r--chrome/browser/speech/speech_recognition_request.h3
-rw-r--r--chrome/browser/speech/speech_recognizer.cc5
-rw-r--r--chrome/browser/speech/speech_recognizer.h5
-rw-r--r--chrome/browser/speech/speech_recognizer_unittest.cc3
-rw-r--r--chrome/common/render_messages_internal.h7
-rw-r--r--chrome/renderer/speech_input_dispatcher.cc10
-rw-r--r--chrome/renderer/speech_input_dispatcher.h7
-rw-r--r--webkit/tools/test_shell/layout_test_controller.cc5
14 files changed, 28 insertions, 42 deletions
diff --git a/chrome/browser/speech/speech_input_browsertest.cc b/chrome/browser/speech/speech_input_browsertest.cc
index 472e30c..9f12758 100644
--- a/chrome/browser/speech/speech_input_browsertest.cc
+++ b/chrome/browser/speech/speech_input_browsertest.cc
@@ -47,7 +47,6 @@ class FakeSpeechInputManager : public SpeechInputManager {
int render_process_id,
int render_view_id,
const gfx::Rect& element_rect,
- const std::string& language,
const std::string& grammar) {
VLOG(1) << "StartRecognition invoked.";
EXPECT_EQ(0, caller_id_);
diff --git a/chrome/browser/speech/speech_input_dispatcher_host.cc b/chrome/browser/speech/speech_input_dispatcher_host.cc
index 1563af3..0b2ca1d 100644
--- a/chrome/browser/speech/speech_input_dispatcher_host.cc
+++ b/chrome/browser/speech/speech_input_dispatcher_host.cc
@@ -141,14 +141,12 @@ void SpeechInputDispatcherHost::OnStartRecognition(
int render_view_id,
int request_id,
const gfx::Rect& element_rect,
- const std::string& language,
const std::string& grammar) {
int caller_id = callers_->CreateId(resource_message_filter_process_id_,
render_view_id, request_id);
manager()->StartRecognition(this, caller_id,
resource_message_filter_process_id_,
- render_view_id, element_rect,
- language, grammar);
+ render_view_id, element_rect, grammar);
}
void SpeechInputDispatcherHost::OnCancelRecognition(int render_view_id,
diff --git a/chrome/browser/speech/speech_input_dispatcher_host.h b/chrome/browser/speech/speech_input_dispatcher_host.h
index 85ca5c0..db42f1e 100644
--- a/chrome/browser/speech/speech_input_dispatcher_host.h
+++ b/chrome/browser/speech/speech_input_dispatcher_host.h
@@ -46,7 +46,6 @@ class SpeechInputDispatcherHost
void OnStartRecognition(int render_view_id, int request_id,
const gfx::Rect& element_rect,
- const std::string& language,
const std::string& grammar);
void OnCancelRecognition(int render_view_id, int request_id);
void OnStopRecording(int render_view_id, int request_id);
diff --git a/chrome/browser/speech/speech_input_manager.cc b/chrome/browser/speech/speech_input_manager.cc
index 181234e..24f0f5d7 100644
--- a/chrome/browser/speech/speech_input_manager.cc
+++ b/chrome/browser/speech/speech_input_manager.cc
@@ -29,7 +29,6 @@ class SpeechInputManagerImpl : public SpeechInputManager,
int render_process_id,
int render_view_id,
const gfx::Rect& element_rect,
- const std::string& language,
const std::string& grammar);
virtual void CancelRecognition(int caller_id);
virtual void StopRecording(int caller_id);
@@ -107,7 +106,6 @@ void SpeechInputManagerImpl::StartRecognition(
int render_process_id,
int render_view_id,
const gfx::Rect& element_rect,
- const std::string& language,
const std::string& grammar) {
DCHECK(!HasPendingRequest(caller_id));
@@ -116,8 +114,7 @@ void SpeechInputManagerImpl::StartRecognition(
SpeechInputRequest* request = &requests_[caller_id];
request->delegate = delegate;
- request->recognizer = new SpeechRecognizer(this, caller_id, language,
- grammar);
+ request->recognizer = new SpeechRecognizer(this, caller_id, grammar);
request->is_active = false;
StartRecognitionForRequest(caller_id);
diff --git a/chrome/browser/speech/speech_input_manager.h b/chrome/browser/speech/speech_input_manager.h
index be9779f..ba938b9 100644
--- a/chrome/browser/speech/speech_input_manager.h
+++ b/chrome/browser/speech/speech_input_manager.h
@@ -54,7 +54,6 @@ class SpeechInputManager {
int render_process_id,
int render_view_id,
const gfx::Rect& element_rect,
- const std::string& language,
const std::string& grammar) = 0;
virtual void CancelRecognition(int caller_id) = 0;
virtual void StopRecording(int caller_id) = 0;
diff --git a/chrome/browser/speech/speech_recognition_request.cc b/chrome/browser/speech/speech_recognition_request.cc
index e17f69b1..fe901042 100644
--- a/chrome/browser/speech/speech_recognition_request.cc
+++ b/chrome/browser/speech/speech_recognition_request.cc
@@ -4,7 +4,6 @@
#include "chrome/browser/speech/speech_recognition_request.h"
-#include "app/l10n_util.h"
#include "base/json/json_reader.h"
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
@@ -118,20 +117,14 @@ SpeechRecognitionRequest::SpeechRecognitionRequest(
SpeechRecognitionRequest::~SpeechRecognitionRequest() {}
-bool SpeechRecognitionRequest::Send(const std::string& language,
- const std::string& grammar,
+bool SpeechRecognitionRequest::Send(const std::string& grammar,
const std::string& content_type,
const std::string& audio_data) {
DCHECK(!url_fetcher_.get());
std::vector<std::string> parts;
- if (!language.empty()) {
- parts.push_back("lang=" + EscapeQueryParamValue(language, true));
- } else {
- std::string app_locale = l10n_util::GetApplicationLocale("");
- parts.push_back("lang=" + EscapeQueryParamValue(app_locale, true));
- }
-
+ // TODO(leandro): Replace with the language tag given by WebKit.
+ parts.push_back("lang=en-us");
if (!grammar.empty())
parts.push_back("grammar=" + EscapeQueryParamValue(grammar, true));
GURL url(std::string(kDefaultSpeechRecognitionUrl) + JoinString(parts, '&'));
diff --git a/chrome/browser/speech/speech_recognition_request.h b/chrome/browser/speech/speech_recognition_request.h
index 89beed1..d567541 100644
--- a/chrome/browser/speech/speech_recognition_request.h
+++ b/chrome/browser/speech/speech_recognition_request.h
@@ -44,8 +44,7 @@ class SpeechRecognitionRequest : public URLFetcher::Delegate {
// Sends a new request with the given audio data, returns true if successful.
// The same object can be used to send multiple requests but only after the
// previous request has completed.
- bool Send(const std::string& language,
- const std::string& grammar,
+ bool Send(const std::string& grammar,
const std::string& content_type,
const std::string& audio_data);
diff --git a/chrome/browser/speech/speech_recognizer.cc b/chrome/browser/speech/speech_recognizer.cc
index fd32c20..2852c5e 100644
--- a/chrome/browser/speech/speech_recognizer.cc
+++ b/chrome/browser/speech/speech_recognizer.cc
@@ -109,11 +109,9 @@ void SpeexEncoder::Encode(const short* samples,
SpeechRecognizer::SpeechRecognizer(Delegate* delegate,
int caller_id,
- const std::string& language,
const std::string& grammar)
: delegate_(delegate),
caller_id_(caller_id),
- language_(language),
grammar_(grammar),
encoder_(new SpeexEncoder()),
endpointer_(kAudioSampleRate),
@@ -212,11 +210,10 @@ void SpeechRecognizer::StopRecording() {
it != audio_buffers_.end(); it++) {
data.append(*(*it));
}
-
DCHECK(!request_.get());
request_.reset(new SpeechRecognitionRequest(
Profile::GetDefaultRequestContext(), this));
- request_->Send(language_, grammar_, kContentTypeSpeex, data);
+ request_->Send(grammar_, kContentTypeSpeex, data);
ReleaseAudioBuffers(); // No need to keep the audio anymore.
}
diff --git a/chrome/browser/speech/speech_recognizer.h b/chrome/browser/speech/speech_recognizer.h
index 61226f4..0473dde 100644
--- a/chrome/browser/speech/speech_recognizer.h
+++ b/chrome/browser/speech/speech_recognizer.h
@@ -73,9 +73,7 @@ class SpeechRecognizer
virtual ~Delegate() {}
};
- SpeechRecognizer(Delegate* delegate,
- int caller_id,
- const std::string& language,
+ SpeechRecognizer(Delegate* delegate, int caller_id,
const std::string& grammar);
~SpeechRecognizer();
@@ -120,7 +118,6 @@ class SpeechRecognizer
Delegate* delegate_;
int caller_id_;
- std::string language_;
std::string grammar_;
// Buffer holding the recorded audio. Owns the strings inside the list.
diff --git a/chrome/browser/speech/speech_recognizer_unittest.cc b/chrome/browser/speech/speech_recognizer_unittest.cc
index d71876f..65315949 100644
--- a/chrome/browser/speech/speech_recognizer_unittest.cc
+++ b/chrome/browser/speech/speech_recognizer_unittest.cc
@@ -23,8 +23,7 @@ class SpeechRecognizerTest : public SpeechRecognizerDelegate,
SpeechRecognizerTest()
: io_thread_(BrowserThread::IO, &message_loop_),
ALLOW_THIS_IN_INITIALIZER_LIST(
- recognizer_(new SpeechRecognizer(this, 1, std::string(),
- std::string()))),
+ recognizer_(new SpeechRecognizer(this, 1, std::string()))),
recording_complete_(false),
recognition_complete_(false),
result_received_(false),
diff --git a/chrome/common/render_messages_internal.h b/chrome/common/render_messages_internal.h
index f32667d..353bfc9 100644
--- a/chrome/common/render_messages_internal.h
+++ b/chrome/common/render_messages_internal.h
@@ -2876,11 +2876,10 @@ IPC_BEGIN_MESSAGES(ViewHost)
// Requests the speech input service to start speech recognition on behalf of
// the given |render_view_id|.
- IPC_MESSAGE_CONTROL5(ViewHostMsg_SpeechInput_StartRecognition,
+ IPC_MESSAGE_CONTROL4(ViewHostMsg_SpeechInput_StartRecognition,
int /* render_view_id */,
- int /* request_id */,
- gfx::Rect /* element_rect */,
- std::string /* language */,
+ int /* request id */,
+ gfx::Rect /* element rect in render view coordinates */,
std::string /* grammar */)
// Requests the speech input service to cancel speech recognition on behalf of
diff --git a/chrome/renderer/speech_input_dispatcher.cc b/chrome/renderer/speech_input_dispatcher.cc
index d119621..eaab3b7 100644
--- a/chrome/renderer/speech_input_dispatcher.cc
+++ b/chrome/renderer/speech_input_dispatcher.cc
@@ -39,13 +39,19 @@ bool SpeechInputDispatcher::startRecognition(
const WebKit::WebRect& element_rect,
const WebKit::WebString& language,
const WebKit::WebString& grammar) {
+ return startRecognition(request_id, element_rect, grammar);
+}
+
+bool SpeechInputDispatcher::startRecognition(
+ int request_id,
+ const WebKit::WebRect& element_rect,
+ const WebKit::WebString& grammar) {
VLOG(1) << "SpeechInputDispatcher::startRecognition enter";
gfx::Size scroll = render_view_->webview()->mainFrame()->scrollOffset();
gfx::Rect rect = element_rect;
rect.Offset(-scroll.width(), -scroll.height());
render_view_->Send(new ViewHostMsg_SpeechInput_StartRecognition(
- render_view_->routing_id(), request_id, rect,
- UTF16ToUTF8(language), UTF16ToUTF8(grammar)));
+ render_view_->routing_id(), request_id, rect, UTF16ToUTF8(grammar)));
VLOG(1) << "SpeechInputDispatcher::startRecognition exit";
return true;
}
diff --git a/chrome/renderer/speech_input_dispatcher.h b/chrome/renderer/speech_input_dispatcher.h
index 1af8f5d..2402eae 100644
--- a/chrome/renderer/speech_input_dispatcher.h
+++ b/chrome/renderer/speech_input_dispatcher.h
@@ -14,9 +14,9 @@ class GURL;
class RenderView;
namespace WebKit {
-class WebSpeechInputListener;
class WebString;
struct WebRect;
+class WebSpeechInputListener;
}
// SpeechInputDispatcher is a delegate for speech input messages used by WebKit.
@@ -31,11 +31,16 @@ class SpeechInputDispatcher : public WebKit::WebSpeechInputController {
bool OnMessageReceived(const IPC::Message& msg);
// WebKit::WebSpeechInputController.
+ // TODO(leandro): this is a temporary fix for a two-sided patch.
+ // https://bugs.webkit.org/show_bug.cgi?id=47089
bool startRecognition(int request_id,
const WebKit::WebRect& element_rect,
const WebKit::WebString& language,
const WebKit::WebString& grammar);
+ bool startRecognition(int request_id, const WebKit::WebRect& element_rect,
+ const WebKit::WebString& grammar);
+
void cancelRecognition(int request_id);
void stopRecording(int request_id);
diff --git a/webkit/tools/test_shell/layout_test_controller.cc b/webkit/tools/test_shell/layout_test_controller.cc
index d1d13bc..ef206e3 100644
--- a/webkit/tools/test_shell/layout_test_controller.cc
+++ b/webkit/tools/test_shell/layout_test_controller.cc
@@ -1128,10 +1128,9 @@ void LayoutTestController::setAllowFileAccessFromFileURLs(
void LayoutTestController::setMockSpeechInputResult(const CppArgumentList& args,
CppVariant* result) {
- if (args.size() > 0 && args[0].isString() && args[1].isString()) {
+ if (args.size() > 0 && args[0].isString()) {
shell_->speech_input_controller_mock()->setMockRecognitionResult(
- WebString::fromUTF8(args[0].ToString()),
- WebString::fromUTF8(args[1].ToString()));
+ WebString::fromUTF8(args[0].ToString()));
}
result->SetNull();
}