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

Unified Diff: chrome/browser/speech/speech_input_dispatcher_host.cc

Issue 5711001: Add a new GetInstance() method for remaining files with singleton classes under chrome/browser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 10 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/speech/speech_input_dispatcher_host.cc
diff --git a/chrome/browser/speech/speech_input_dispatcher_host.cc b/chrome/browser/speech/speech_input_dispatcher_host.cc
index 1563af3788bb7e01b789b558cef32816322d6fd0..add39af21cb46fc12956df1e01f446805be1e528 100644
--- a/chrome/browser/speech/speech_input_dispatcher_host.cc
+++ b/chrome/browser/speech/speech_input_dispatcher_host.cc
@@ -4,7 +4,7 @@
#include "chrome/browser/speech/speech_input_dispatcher_host.h"
-#include "base/singleton.h"
+#include "base/lazy_instance.h"
#include "chrome/browser/renderer_host/render_process_host.h"
#include "chrome/browser/renderer_host/render_view_host.h"
#include "chrome/browser/renderer_host/render_view_host_notification_task.h"
@@ -40,7 +40,7 @@ class SpeechInputDispatcherHost::SpeechInputCallers {
int render_view_id;
int request_id;
};
- friend struct DefaultSingletonTraits<SpeechInputCallers>;
+ friend struct base::DefaultLazyInstanceTraits<SpeechInputCallers>;
SpeechInputCallers();
@@ -48,6 +48,9 @@ class SpeechInputDispatcherHost::SpeechInputCallers {
int next_id_;
};
+static base::LazyInstance<SpeechInputDispatcherHost::SpeechInputCallers>
+ g_speech_input_callers(base::LINKER_INITIALIZED);
+
SpeechInputDispatcherHost::SpeechInputCallers::SpeechInputCallers()
: next_id_(1) {
}
@@ -107,8 +110,7 @@ SpeechInputManager::AccessorMethod*
SpeechInputDispatcherHost::SpeechInputDispatcherHost(
int resource_message_filter_process_id)
- : resource_message_filter_process_id_(resource_message_filter_process_id),
- callers_(Singleton<SpeechInputCallers>::get()) {
+ : resource_message_filter_process_id_(resource_message_filter_process_id) {
// This is initialized by ResourceMessageFilter. Do not add any non-trivial
// initialization here, instead do it lazily when required (e.g. see the
// method |manager()|) or add an Init() method.
@@ -143,8 +145,8 @@ void SpeechInputDispatcherHost::OnStartRecognition(
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);
+ int caller_id = g_speech_input_callers.Get().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,
@@ -153,18 +155,19 @@ void SpeechInputDispatcherHost::OnStartRecognition(
void SpeechInputDispatcherHost::OnCancelRecognition(int render_view_id,
int request_id) {
- int caller_id = callers_->GetId(resource_message_filter_process_id_,
- render_view_id, request_id);
+ int caller_id = g_speech_input_callers.Get().GetId(
+ resource_message_filter_process_id_, render_view_id, request_id);
if (caller_id) {
manager()->CancelRecognition(caller_id);
- callers_->RemoveId(caller_id); // Request sequence ended so remove mapping.
+ // Request sequence ended so remove mapping.
+ g_speech_input_callers.Get().RemoveId(caller_id);
}
}
void SpeechInputDispatcherHost::OnStopRecording(int render_view_id,
int request_id) {
- int caller_id = callers_->GetId(resource_message_filter_process_id_,
- render_view_id, request_id);
+ int caller_id = g_speech_input_callers.Get().GetId(
+ resource_message_filter_process_id_, render_view_id, request_id);
if (caller_id)
manager()->StopRecording(caller_id);
}
@@ -180,8 +183,9 @@ void SpeechInputDispatcherHost::SetRecognitionResult(
int caller_id, const SpeechInputResultArray& result) {
VLOG(1) << "SpeechInputDispatcherHost::SetRecognitionResult enter";
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- int caller_render_view_id = callers_->render_view_id(caller_id);
- int caller_request_id = callers_->request_id(caller_id);
+ int caller_render_view_id =
+ g_speech_input_callers.Get().render_view_id(caller_id);
+ int caller_request_id = g_speech_input_callers.Get().request_id(caller_id);
SendMessageToRenderView(
new ViewMsg_SpeechInput_SetRecognitionResult(caller_render_view_id,
caller_request_id,
@@ -193,8 +197,9 @@ void SpeechInputDispatcherHost::SetRecognitionResult(
void SpeechInputDispatcherHost::DidCompleteRecording(int caller_id) {
VLOG(1) << "SpeechInputDispatcherHost::DidCompleteRecording enter";
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- int caller_render_view_id = callers_->render_view_id(caller_id);
- int caller_request_id = callers_->request_id(caller_id);
+ int caller_render_view_id =
+ g_speech_input_callers.Get().render_view_id(caller_id);
+ int caller_request_id = g_speech_input_callers.Get().request_id(caller_id);
SendMessageToRenderView(
new ViewMsg_SpeechInput_RecordingComplete(caller_render_view_id,
caller_request_id),
@@ -205,13 +210,15 @@ void SpeechInputDispatcherHost::DidCompleteRecording(int caller_id) {
void SpeechInputDispatcherHost::DidCompleteRecognition(int caller_id) {
VLOG(1) << "SpeechInputDispatcherHost::DidCompleteRecognition enter";
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- int caller_render_view_id = callers_->render_view_id(caller_id);
- int caller_request_id = callers_->request_id(caller_id);
+ int caller_render_view_id =
+ g_speech_input_callers.Get().render_view_id(caller_id);
+ int caller_request_id = g_speech_input_callers.Get().request_id(caller_id);
SendMessageToRenderView(
new ViewMsg_SpeechInput_RecognitionComplete(caller_render_view_id,
caller_request_id),
caller_render_view_id);
- callers_->RemoveId(caller_id); // Request sequence ended, so remove mapping.
+ // Request sequence ended, so remove mapping.
+ g_speech_input_callers.Get().RemoveId(caller_id);
VLOG(1) << "SpeechInputDispatcherHost::DidCompleteRecognition exit";
}

Powered by Google App Engine
This is Rietveld 408576698