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

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

Issue 260903010: Start removing support for the experimental x-webkit-speech API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Don't touch histograms.xml Created 6 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
deleted file mode 100644
index ede3858ae69f7d96d6a6b0fcf49ea793df70c0ae..0000000000000000000000000000000000000000
--- a/chrome/browser/speech/speech_recognition_bubble_controller.cc
+++ /dev/null
@@ -1,218 +0,0 @@
-// Copyright (c) 2012 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 "chrome/browser/speech/speech_recognition_bubble_controller.h"
-
-#include "base/bind.h"
-#include "chrome/browser/tab_contents/tab_util.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/notification_registrar.h"
-#include "content/public/browser/notification_source.h"
-#include "content/public/browser/notification_types.h"
-#include "content/public/browser/render_process_host.h"
-#include "content/public/browser/render_view_host.h"
-#include "content/public/browser/web_contents.h"
-
-using content::BrowserThread;
-using content::WebContents;
-
-namespace {
-const int kInvalidSessionId = 0;
-}
-
-namespace speech {
-
-SpeechRecognitionBubbleController::SpeechRecognitionBubbleController(
- Delegate* delegate)
- : delegate_(delegate),
- last_request_issued_(REQUEST_CLOSE),
- current_bubble_session_id_(kInvalidSessionId),
- current_bubble_render_process_id_(0),
- current_bubble_render_view_id_(0) {
-}
-
-SpeechRecognitionBubbleController::~SpeechRecognitionBubbleController() {
- DCHECK_EQ(kInvalidSessionId, current_bubble_session_id_);
-}
-
-void SpeechRecognitionBubbleController::CreateBubble(
- int session_id,
- int render_process_id,
- int render_view_id,
- const gfx::Rect& element_rect) {
- {
- base::AutoLock auto_lock(lock_);
- current_bubble_session_id_ = session_id;
- current_bubble_render_process_id_ = render_process_id;
- current_bubble_render_view_id_ = render_view_id;
- }
-
- UIRequest request(REQUEST_CREATE);
- request.render_process_id = render_process_id;
- request.render_view_id = render_view_id;
- request.element_rect = element_rect;
- ProcessRequestInUiThread(request);
-}
-
-void SpeechRecognitionBubbleController::SetBubbleRecordingMode() {
- ProcessRequestInUiThread(UIRequest(REQUEST_SET_RECORDING_MODE));
-}
-
-void SpeechRecognitionBubbleController::SetBubbleRecognizingMode() {
- ProcessRequestInUiThread(UIRequest(REQUEST_SET_RECOGNIZING_MODE));
-}
-
-void SpeechRecognitionBubbleController::SetBubbleMessage(
- const base::string16& text) {
- UIRequest request(REQUEST_SET_MESSAGE);
- request.message = text;
- ProcessRequestInUiThread(request);
-}
-
-bool SpeechRecognitionBubbleController::IsShowingMessage() const {
- return last_request_issued_ == REQUEST_SET_MESSAGE;
-}
-
-void SpeechRecognitionBubbleController::SetBubbleInputVolume(
- float volume,
- float noise_volume) {
- UIRequest request(REQUEST_SET_INPUT_VOLUME);
- request.volume = volume;
- request.noise_volume = noise_volume;
- ProcessRequestInUiThread(request);
-}
-
-void SpeechRecognitionBubbleController::CloseBubble() {
- {
- base::AutoLock auto_lock(lock_);
- current_bubble_session_id_ = kInvalidSessionId;
- }
- ProcessRequestInUiThread(UIRequest(REQUEST_CLOSE));
-}
-
-void SpeechRecognitionBubbleController::CloseBubbleForRenderViewOnUIThread(
- int render_process_id, int render_view_id) {
- {
- base::AutoLock auto_lock(lock_);
- if (current_bubble_session_id_ == kInvalidSessionId ||
- current_bubble_render_process_id_ != render_process_id ||
- current_bubble_render_view_id_ != render_view_id) {
- return;
- }
- current_bubble_session_id_ = kInvalidSessionId;
- }
- ProcessRequestInUiThread(UIRequest(REQUEST_CLOSE));
-}
-
-int SpeechRecognitionBubbleController::GetActiveSessionID() {
- base::AutoLock auto_lock(lock_);
- return current_bubble_session_id_;
-}
-
-void SpeechRecognitionBubbleController::InfoBubbleButtonClicked(
- SpeechRecognitionBubble::Button button) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
- base::Bind(
- &SpeechRecognitionBubbleController::InvokeDelegateButtonClicked, this,
- button));
-}
-
-void SpeechRecognitionBubbleController::InfoBubbleFocusChanged() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
- base::Bind(&SpeechRecognitionBubbleController::InvokeDelegateFocusChanged,
- this));
-}
-
-void SpeechRecognitionBubbleController::InvokeDelegateButtonClicked(
- SpeechRecognitionBubble::Button button) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- {
- base::AutoLock auto_lock(lock_);
- if (kInvalidSessionId == current_bubble_session_id_)
- return;
- }
- delegate_->InfoBubbleButtonClicked(current_bubble_session_id_, button);
-}
-
-void SpeechRecognitionBubbleController::InvokeDelegateFocusChanged() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- {
- base::AutoLock auto_lock(lock_);
- if (kInvalidSessionId == current_bubble_session_id_)
- return;
- }
- delegate_->InfoBubbleFocusChanged(current_bubble_session_id_);
-}
-
-void SpeechRecognitionBubbleController::ProcessRequestInUiThread(
- const UIRequest& request) {
- if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
- last_request_issued_ = request.type;
- BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
- base::Bind(&SpeechRecognitionBubbleController::ProcessRequestInUiThread,
- this, request));
- return;
- }
-
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-
- // In the case of a tab closed or crashed, the bubble can have been destroyed
- // earlier on the UI thread, while other tasks were being enqueued from the IO
- // to the UI thread. Simply return in such cases.
- if (request.type != REQUEST_CREATE && !bubble_.get())
- return;
-
- switch (request.type) {
- case REQUEST_CREATE:
- bubble_.reset(SpeechRecognitionBubble::Create(
- request.render_process_id, request.render_view_id,
- this, request.element_rect));
-
- if (!bubble_.get()) {
- // Could be null if tab or display rect were invalid.
- // Simulate the cancel button being clicked to inform the delegate.
- BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
- base::Bind(
- &SpeechRecognitionBubbleController::InvokeDelegateButtonClicked,
- this, SpeechRecognitionBubble::BUTTON_CANCEL));
- return;
- }
- bubble_->Show();
- bubble_->SetWarmUpMode();
- break;
- case REQUEST_SET_RECORDING_MODE:
- bubble_->SetRecordingMode();
- break;
- case REQUEST_SET_RECOGNIZING_MODE:
- bubble_->SetRecognizingMode();
- break;
- case REQUEST_SET_MESSAGE:
- bubble_->SetMessage(request.message);
- break;
- case REQUEST_SET_INPUT_VOLUME:
- bubble_->SetInputVolume(request.volume, request.noise_volume);
- break;
- case REQUEST_CLOSE:
- bubble_.reset();
- break;
- default:
- NOTREACHED();
- break;
- }
-}
-
-SpeechRecognitionBubbleController::UIRequest::UIRequest(RequestType type_value)
- : type(type_value),
- volume(0.0F),
- noise_volume(0.0F),
- render_process_id(0),
- render_view_id(0) {
-}
-
-SpeechRecognitionBubbleController::UIRequest::~UIRequest() {
-}
-
-} // namespace speech

Powered by Google App Engine
This is Rietveld 408576698