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

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

Issue 10068036: RefCounted types should not have public destructors, chrome/browser/ part 5 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Win fix Created 8 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/speech/speech_recognition_bubble_controller.cc
diff --git a/chrome/browser/speech/speech_recognition_bubble_controller.cc b/chrome/browser/speech/speech_recognition_bubble_controller.cc
index fc6627900cb2c29bc736d4f218979d90b19d51e8..c03d01921bc06b091392feb3d1e052b0e2b5c7de 100644
--- a/chrome/browser/speech/speech_recognition_bubble_controller.cc
+++ b/chrome/browser/speech/speech_recognition_bubble_controller.cc
@@ -25,10 +25,6 @@ SpeechRecognitionBubbleController::SpeechRecognitionBubbleController(
registrar_(new content::NotificationRegistrar) {
}
-SpeechRecognitionBubbleController::~SpeechRecognitionBubbleController() {
- DCHECK(bubbles_.empty());
-}
-
void SpeechRecognitionBubbleController::CreateBubble(
int session_id,
int render_process_id,
@@ -65,10 +61,6 @@ void SpeechRecognitionBubbleController::CreateBubble(
UpdateTabContentsSubscription(session_id, BUBBLE_ADDED);
}
-void SpeechRecognitionBubbleController::CloseBubble(int session_id) {
- ProcessRequestInUiThread(session_id, REQUEST_CLOSE, string16(), 0, 0);
-}
-
void SpeechRecognitionBubbleController::SetBubbleWarmUpMode(int session_id) {
ProcessRequestInUiThread(session_id, REQUEST_SET_WARM_UP_MODE,
string16(), 0, 0);
@@ -85,42 +77,45 @@ void SpeechRecognitionBubbleController::SetBubbleRecognizingMode(
string16(), 0, 0);
}
+void SpeechRecognitionBubbleController::SetBubbleMessage(int session_id,
+ const string16& text) {
+ ProcessRequestInUiThread(session_id, REQUEST_SET_MESSAGE, text, 0, 0);
+}
+
void SpeechRecognitionBubbleController::SetBubbleInputVolume(
int session_id, float volume, float noise_volume) {
ProcessRequestInUiThread(session_id, REQUEST_SET_INPUT_VOLUME, string16(),
volume, noise_volume);
}
-void SpeechRecognitionBubbleController::SetBubbleMessage(int session_id,
- const string16& text) {
- ProcessRequestInUiThread(session_id, REQUEST_SET_MESSAGE, text, 0, 0);
+void SpeechRecognitionBubbleController::CloseBubble(int session_id) {
+ ProcessRequestInUiThread(session_id, REQUEST_CLOSE, string16(), 0, 0);
}
-void SpeechRecognitionBubbleController::UpdateTabContentsSubscription(
- int session_id, ManageSubscriptionAction action) {
+void SpeechRecognitionBubbleController::InfoBubbleButtonClicked(
+ SpeechRecognitionBubble::Button button) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(current_bubble_session_id_);
- // If there are any other bubbles existing for the same WebContents, we would
- // have subscribed to tab close notifications on their behalf and we need to
- // stay registered. So we don't change the subscription in such cases.
- WebContents* web_contents = bubbles_[session_id]->GetWebContents();
- for (BubbleSessionIdMap::iterator iter = bubbles_.begin();
- iter != bubbles_.end(); ++iter) {
- if (iter->second->GetWebContents() == web_contents &&
- iter->first != session_id) {
- // At least one other bubble exists for the same WebContents. So don't
- // make any change to the subscription.
- return;
- }
- }
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE,
+ base::Bind(
+ &SpeechRecognitionBubbleController::InvokeDelegateButtonClicked,
+ this, current_bubble_session_id_, button));
+}
- if (action == BUBBLE_ADDED) {
- registrar_->Add(this, content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
- content::Source<WebContents>(web_contents));
- } else {
- registrar_->Remove(this, content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
- content::Source<WebContents>(web_contents));
- }
+void SpeechRecognitionBubbleController::InfoBubbleFocusChanged() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(current_bubble_session_id_);
+
+ int old_bubble_session_id = current_bubble_session_id_;
+ current_bubble_session_id_ = 0;
+
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE,
+ base::Bind(
+ &SpeechRecognitionBubbleController::InvokeDelegateFocusChanged,
+ this, old_bubble_session_id));
}
void SpeechRecognitionBubbleController::Observe(
@@ -150,6 +145,20 @@ void SpeechRecognitionBubbleController::Observe(
}
}
+SpeechRecognitionBubbleController::~SpeechRecognitionBubbleController() {
+ DCHECK(bubbles_.empty());
+}
+
+void SpeechRecognitionBubbleController::InvokeDelegateButtonClicked(
+ int session_id, SpeechRecognitionBubble::Button button) {
+ delegate_->InfoBubbleButtonClicked(session_id, button);
+}
+
+void SpeechRecognitionBubbleController::InvokeDelegateFocusChanged(
+ int session_id) {
+ delegate_->InfoBubbleFocusChanged(session_id);
+}
+
void SpeechRecognitionBubbleController::ProcessRequestInUiThread(
int session_id, RequestType type, const string16& text, float volume,
float noise_volume) {
@@ -206,40 +215,31 @@ void SpeechRecognitionBubbleController::ProcessRequestInUiThread(
bubble->Show();
}
-void SpeechRecognitionBubbleController::InfoBubbleButtonClicked(
- SpeechRecognitionBubble::Button button) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- DCHECK(current_bubble_session_id_);
-
- BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- base::Bind(
- &SpeechRecognitionBubbleController::InvokeDelegateButtonClicked,
- this, current_bubble_session_id_, button));
-}
-
-void SpeechRecognitionBubbleController::InfoBubbleFocusChanged() {
+void SpeechRecognitionBubbleController::UpdateTabContentsSubscription(
+ int session_id, ManageSubscriptionAction action) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- DCHECK(current_bubble_session_id_);
-
- int old_bubble_session_id = current_bubble_session_id_;
- current_bubble_session_id_ = 0;
-
- BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- base::Bind(
- &SpeechRecognitionBubbleController::InvokeDelegateFocusChanged,
- this, old_bubble_session_id));
-}
-void SpeechRecognitionBubbleController::InvokeDelegateButtonClicked(
- int session_id, SpeechRecognitionBubble::Button button) {
- delegate_->InfoBubbleButtonClicked(session_id, button);
-}
+ // If there are any other bubbles existing for the same WebContents, we would
+ // have subscribed to tab close notifications on their behalf and we need to
+ // stay registered. So we don't change the subscription in such cases.
+ WebContents* web_contents = bubbles_[session_id]->GetWebContents();
+ for (BubbleSessionIdMap::iterator iter = bubbles_.begin();
+ iter != bubbles_.end(); ++iter) {
+ if (iter->second->GetWebContents() == web_contents &&
+ iter->first != session_id) {
+ // At least one other bubble exists for the same WebContents. So don't
+ // make any change to the subscription.
+ return;
+ }
+ }
-void SpeechRecognitionBubbleController::InvokeDelegateFocusChanged(
- int session_id) {
- delegate_->InfoBubbleFocusChanged(session_id);
+ if (action == BUBBLE_ADDED) {
+ registrar_->Add(this, content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
+ content::Source<WebContents>(web_contents));
+ } else {
+ registrar_->Remove(this, content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
+ content::Source<WebContents>(web_contents));
+ }
}
} // namespace speech
« no previous file with comments | « chrome/browser/speech/speech_recognition_bubble_controller.h ('k') | chrome/browser/spellchecker/spellcheck_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698