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

Side by Side Diff: content/renderer/speech_recognition_dispatcher.cc

Issue 11232014: Move a bunch of code in content\renderer to the content namespace. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix mac Created 8 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/speech_recognition_dispatcher.h" 5 #include "content/renderer/speech_recognition_dispatcher.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "content/common/speech_recognition_messages.h" 9 #include "content/common/speech_recognition_messages.h"
10 #include "content/renderer/render_view_impl.h" 10 #include "content/renderer/render_view_impl.h"
11 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" 11 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
12 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h" 12 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h"
13 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSpeechGrammar.h" 13 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSpeechGrammar.h"
14 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSpeechRecognitionP arams.h" 14 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSpeechRecognitionP arams.h"
15 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSpeechRecognitionR esult.h" 15 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSpeechRecognitionR esult.h"
16 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSpeechRecognizerCl ient.h" 16 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSpeechRecognizerCl ient.h"
17 17
18 using content::SpeechRecognitionError;
19 using content::SpeechRecognitionResult;
20 using WebKit::WebVector; 18 using WebKit::WebVector;
21 using WebKit::WebString; 19 using WebKit::WebString;
22 using WebKit::WebSpeechGrammar; 20 using WebKit::WebSpeechGrammar;
23 using WebKit::WebSpeechRecognitionHandle; 21 using WebKit::WebSpeechRecognitionHandle;
24 using WebKit::WebSpeechRecognitionResult; 22 using WebKit::WebSpeechRecognitionResult;
25 using WebKit::WebSpeechRecognitionParams; 23 using WebKit::WebSpeechRecognitionParams;
26 using WebKit::WebSpeechRecognizerClient; 24 using WebKit::WebSpeechRecognizerClient;
27 25
26 namespace content {
27
28 SpeechRecognitionDispatcher::SpeechRecognitionDispatcher( 28 SpeechRecognitionDispatcher::SpeechRecognitionDispatcher(
29 RenderViewImpl* render_view) 29 RenderViewImpl* render_view)
30 : content::RenderViewObserver(render_view), 30 : RenderViewObserver(render_view),
31 recognizer_client_(NULL), 31 recognizer_client_(NULL),
32 next_id_(1) { 32 next_id_(1) {
33 } 33 }
34 34
35 SpeechRecognitionDispatcher::~SpeechRecognitionDispatcher() { 35 SpeechRecognitionDispatcher::~SpeechRecognitionDispatcher() {
36 } 36 }
37 37
38 bool SpeechRecognitionDispatcher::OnMessageReceived( 38 bool SpeechRecognitionDispatcher::OnMessageReceived(
39 const IPC::Message& message) { 39 const IPC::Message& message) {
40 bool handled = true; 40 bool handled = true;
(...skipping 15 matching lines...) Expand all
56 const WebSpeechRecognitionHandle& handle, 56 const WebSpeechRecognitionHandle& handle,
57 const WebSpeechRecognitionParams& params, 57 const WebSpeechRecognitionParams& params,
58 WebSpeechRecognizerClient* recognizer_client) { 58 WebSpeechRecognizerClient* recognizer_client) {
59 DCHECK(!recognizer_client_ || recognizer_client_ == recognizer_client); 59 DCHECK(!recognizer_client_ || recognizer_client_ == recognizer_client);
60 recognizer_client_ = recognizer_client; 60 recognizer_client_ = recognizer_client;
61 61
62 SpeechRecognitionHostMsg_StartRequest_Params msg_params; 62 SpeechRecognitionHostMsg_StartRequest_Params msg_params;
63 for (size_t i = 0; i < params.grammars().size(); ++i) { 63 for (size_t i = 0; i < params.grammars().size(); ++i) {
64 const WebSpeechGrammar& grammar = params.grammars()[i]; 64 const WebSpeechGrammar& grammar = params.grammars()[i];
65 msg_params.grammars.push_back( 65 msg_params.grammars.push_back(
66 content::SpeechRecognitionGrammar(grammar.src().spec(), 66 SpeechRecognitionGrammar(grammar.src().spec(), grammar.weight()));
67 grammar.weight()));
68 } 67 }
69 msg_params.language = UTF16ToUTF8(params.language()); 68 msg_params.language = UTF16ToUTF8(params.language());
70 msg_params.max_hypotheses = static_cast<uint32>(params.maxAlternatives()); 69 msg_params.max_hypotheses = static_cast<uint32>(params.maxAlternatives());
71 msg_params.continuous = params.continuous(); 70 msg_params.continuous = params.continuous();
72 msg_params.interim_results = params.interimResults(); 71 msg_params.interim_results = params.interimResults();
73 msg_params.origin_url = params.origin().toString().utf8(); 72 msg_params.origin_url = params.origin().toString().utf8();
74 msg_params.render_view_id = routing_id(); 73 msg_params.render_view_id = routing_id();
75 msg_params.request_id = GetOrCreateIDForHandle(handle); 74 msg_params.request_id = GetOrCreateIDForHandle(handle);
76 // The handle mapping will be removed in |OnRecognitionEnd|. 75 // The handle mapping will be removed in |OnRecognitionEnd|.
77 Send(new SpeechRecognitionHostMsg_StartRequest(msg_params)); 76 Send(new SpeechRecognitionHostMsg_StartRequest(msg_params));
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 110
112 void SpeechRecognitionDispatcher::OnSoundEnded(int request_id) { 111 void SpeechRecognitionDispatcher::OnSoundEnded(int request_id) {
113 recognizer_client_->didEndSound(GetHandleFromID(request_id)); 112 recognizer_client_->didEndSound(GetHandleFromID(request_id));
114 } 113 }
115 114
116 void SpeechRecognitionDispatcher::OnAudioEnded(int request_id) { 115 void SpeechRecognitionDispatcher::OnAudioEnded(int request_id) {
117 recognizer_client_->didEndAudio(GetHandleFromID(request_id)); 116 recognizer_client_->didEndAudio(GetHandleFromID(request_id));
118 } 117 }
119 118
120 static WebSpeechRecognizerClient::ErrorCode WebKitErrorCode( 119 static WebSpeechRecognizerClient::ErrorCode WebKitErrorCode(
121 content::SpeechRecognitionErrorCode e) { 120 SpeechRecognitionErrorCode e) {
122 switch (e) { 121 switch (e) {
123 case content::SPEECH_RECOGNITION_ERROR_NONE: 122 case SPEECH_RECOGNITION_ERROR_NONE:
124 NOTREACHED(); 123 NOTREACHED();
125 return WebSpeechRecognizerClient::OtherError; 124 return WebSpeechRecognizerClient::OtherError;
126 case content::SPEECH_RECOGNITION_ERROR_ABORTED: 125 case SPEECH_RECOGNITION_ERROR_ABORTED:
127 return WebSpeechRecognizerClient::AbortedError; 126 return WebSpeechRecognizerClient::AbortedError;
128 case content::SPEECH_RECOGNITION_ERROR_AUDIO: 127 case SPEECH_RECOGNITION_ERROR_AUDIO:
129 return WebSpeechRecognizerClient::AudioCaptureError; 128 return WebSpeechRecognizerClient::AudioCaptureError;
130 case content::SPEECH_RECOGNITION_ERROR_NETWORK: 129 case SPEECH_RECOGNITION_ERROR_NETWORK:
131 return WebSpeechRecognizerClient::NetworkError; 130 return WebSpeechRecognizerClient::NetworkError;
132 case content::SPEECH_RECOGNITION_ERROR_NOT_ALLOWED: 131 case SPEECH_RECOGNITION_ERROR_NOT_ALLOWED:
133 return WebSpeechRecognizerClient::NotAllowedError; 132 return WebSpeechRecognizerClient::NotAllowedError;
134 case content::SPEECH_RECOGNITION_ERROR_NO_SPEECH: 133 case SPEECH_RECOGNITION_ERROR_NO_SPEECH:
135 return WebSpeechRecognizerClient::NoSpeechError; 134 return WebSpeechRecognizerClient::NoSpeechError;
136 case content::SPEECH_RECOGNITION_ERROR_NO_MATCH: 135 case SPEECH_RECOGNITION_ERROR_NO_MATCH:
137 NOTREACHED(); 136 NOTREACHED();
138 return WebSpeechRecognizerClient::OtherError; 137 return WebSpeechRecognizerClient::OtherError;
139 case content::SPEECH_RECOGNITION_ERROR_BAD_GRAMMAR: 138 case SPEECH_RECOGNITION_ERROR_BAD_GRAMMAR:
140 return WebSpeechRecognizerClient::BadGrammarError; 139 return WebSpeechRecognizerClient::BadGrammarError;
141 } 140 }
142 NOTREACHED(); 141 NOTREACHED();
143 return WebSpeechRecognizerClient::OtherError; 142 return WebSpeechRecognizerClient::OtherError;
144 } 143 }
145 144
146 void SpeechRecognitionDispatcher::OnErrorOccurred( 145 void SpeechRecognitionDispatcher::OnErrorOccurred(
147 int request_id, const SpeechRecognitionError& error) { 146 int request_id, const SpeechRecognitionError& error) {
148 if (error.code == content::SPEECH_RECOGNITION_ERROR_NO_MATCH) { 147 if (error.code == SPEECH_RECOGNITION_ERROR_NO_MATCH) {
149 recognizer_client_->didReceiveNoMatch(GetHandleFromID(request_id), 148 recognizer_client_->didReceiveNoMatch(GetHandleFromID(request_id),
150 WebSpeechRecognitionResult()); 149 WebSpeechRecognitionResult());
151 } else { 150 } else {
152 recognizer_client_->didReceiveError(GetHandleFromID(request_id), 151 recognizer_client_->didReceiveError(GetHandleFromID(request_id),
153 WebString(), // TODO(primiano): message? 152 WebString(), // TODO(primiano): message?
154 WebKitErrorCode(error.code)); 153 WebKitErrorCode(error.code));
155 } 154 }
156 } 155 }
157 156
158 void SpeechRecognitionDispatcher::OnRecognitionEnded(int request_id) { 157 void SpeechRecognitionDispatcher::OnRecognitionEnded(int request_id) {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 } 205 }
207 return false; 206 return false;
208 } 207 }
209 208
210 const WebSpeechRecognitionHandle& SpeechRecognitionDispatcher::GetHandleFromID( 209 const WebSpeechRecognitionHandle& SpeechRecognitionDispatcher::GetHandleFromID(
211 int request_id) { 210 int request_id) {
212 HandleMap::iterator iter = handle_map_.find(request_id); 211 HandleMap::iterator iter = handle_map_.find(request_id);
213 DCHECK(iter != handle_map_.end()); 212 DCHECK(iter != handle_map_.end());
214 return iter->second; 213 return iter->second;
215 } 214 }
215
216 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/speech_recognition_dispatcher.h ('k') | content/renderer/text_input_client_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698