Index: chrome/browser/speech/speech_recognition_bubble_controller.h |
diff --git a/chrome/browser/speech/speech_recognition_bubble_controller.h b/chrome/browser/speech/speech_recognition_bubble_controller.h |
deleted file mode 100644 |
index 67e0e71a920f033c2f3831b3180a1699197b7ed0..0000000000000000000000000000000000000000 |
--- a/chrome/browser/speech/speech_recognition_bubble_controller.h |
+++ /dev/null |
@@ -1,136 +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. |
- |
-#ifndef CHROME_BROWSER_SPEECH_SPEECH_RECOGNITION_BUBBLE_CONTROLLER_H_ |
-#define CHROME_BROWSER_SPEECH_SPEECH_RECOGNITION_BUBBLE_CONTROLLER_H_ |
- |
-#include "base/basictypes.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/synchronization/lock.h" |
-#include "chrome/browser/speech/speech_recognition_bubble.h" |
-#include "ui/gfx/rect.h" |
- |
-namespace speech { |
- |
-// This class handles the speech recognition popup UI on behalf of |
-// SpeechRecognitionManager, which invokes methods on the IO thread, processing |
-// those requests on the UI thread. At most one bubble can be active. |
-class SpeechRecognitionBubbleController |
- : public base::RefCountedThreadSafe<SpeechRecognitionBubbleController>, |
- public SpeechRecognitionBubbleDelegate { |
- public: |
- // All methods of this delegate are called on the IO thread. |
- class Delegate { |
- public: |
- // Invoked when the user clicks on a button in the speech recognition UI. |
- virtual void InfoBubbleButtonClicked( |
- int session_id, SpeechRecognitionBubble::Button button) = 0; |
- |
- // Invoked when the user clicks outside the speech recognition info bubble |
- // causing it to close and input focus to change. |
- virtual void InfoBubbleFocusChanged(int session_id) = 0; |
- |
- protected: |
- virtual ~Delegate() {} |
- }; |
- |
- explicit SpeechRecognitionBubbleController(Delegate* delegate); |
- |
- // Creates and shows a new speech recognition UI bubble in warmup mode. |
- void CreateBubble(int session_id, |
- int render_process_id, |
- int render_view_id, |
- const gfx::Rect& element_rect); |
- |
- // Indicates to the user that audio recording is in progress. |
- void SetBubbleRecordingMode(); |
- |
- // Indicates to the user that recognition is in progress. |
- void SetBubbleRecognizingMode(); |
- |
- // Displays the given string with the 'Try again' and 'Cancel' buttons. |
- void SetBubbleMessage(const base::string16& text); |
- |
- // Checks whether the bubble is active and is showing a message. |
- bool IsShowingMessage() const; |
- |
- // Updates the current captured audio volume displayed on screen. |
- void SetBubbleInputVolume(float volume, float noise_volume); |
- |
- // Closes the bubble. |
- void CloseBubble(); |
- |
- // This is the only method that can be called from the UI thread. |
- void CloseBubbleForRenderViewOnUIThread(int render_process_id, |
- int render_view_id); |
- |
- // Retrieves the session ID associated to the active bubble (if any). |
- // Returns 0 if no bubble is currently shown. |
- int GetActiveSessionID(); |
- |
- // SpeechRecognitionBubble::Delegate methods. |
- virtual void InfoBubbleButtonClicked( |
- SpeechRecognitionBubble::Button button) OVERRIDE; |
- virtual void InfoBubbleFocusChanged() OVERRIDE; |
- |
- private: |
- friend class base::RefCountedThreadSafe<SpeechRecognitionBubbleController>; |
- |
- // The various calls received by this object and handled on the UI thread. |
- enum RequestType { |
- REQUEST_CREATE, |
- REQUEST_SET_RECORDING_MODE, |
- REQUEST_SET_RECOGNIZING_MODE, |
- REQUEST_SET_MESSAGE, |
- REQUEST_SET_INPUT_VOLUME, |
- REQUEST_CLOSE, |
- }; |
- |
- struct UIRequest { |
- RequestType type; |
- base::string16 message; |
- gfx::Rect element_rect; |
- float volume; |
- float noise_volume; |
- int render_process_id; |
- int render_view_id; |
- |
- explicit UIRequest(RequestType type_value); |
- ~UIRequest(); |
- }; |
- |
- virtual ~SpeechRecognitionBubbleController(); |
- |
- void InvokeDelegateButtonClicked(SpeechRecognitionBubble::Button button); |
- void InvokeDelegateFocusChanged(); |
- void ProcessRequestInUiThread(const UIRequest& request); |
- |
- // The following are accessed only on the IO thread. |
- Delegate* delegate_; |
- RequestType last_request_issued_; |
- |
- // The following are accessed only on the UI thread. |
- scoped_ptr<SpeechRecognitionBubble> bubble_; |
- |
- // The following are accessed on both IO and UI threads. |
- base::Lock lock_; |
- |
- // The session id for currently visible bubble. |
- int current_bubble_session_id_; |
- |
- // The render process and view ids for the currently visible bubble. |
- int current_bubble_render_process_id_; |
- int current_bubble_render_view_id_; |
-}; |
- |
-// This typedef is to workaround the issue with certain versions of |
-// Visual Studio where it gets confused between multiple Delegate |
-// classes and gives a C2500 error. (I saw this error on the try bots - |
-// the workaround was not needed for my machine). |
-typedef SpeechRecognitionBubbleController::Delegate |
- SpeechRecognitionBubbleControllerDelegate; |
- |
-} // namespace speech |
- |
-#endif // CHROME_BROWSER_SPEECH_SPEECH_RECOGNITION_BUBBLE_CONTROLLER_H_ |