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

Unified Diff: chrome/browser/speech/speech_recognition_bubble.h

Issue 148343008: Speech Recognition API: Safeguarding against page closes during startup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cleanup Created 6 years, 10 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
« no previous file with comments | « no previous file | chrome/browser/speech/speech_recognition_bubble.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/speech/speech_recognition_bubble.h
diff --git a/chrome/browser/speech/speech_recognition_bubble.h b/chrome/browser/speech/speech_recognition_bubble.h
index 6ca5a73c7c3b3d12ef8bb72011eb674ad5e1ba3b..f351a11a04f525bc3223501c7de3b8fed3732ccb 100644
--- a/chrome/browser/speech/speech_recognition_bubble.h
+++ b/chrome/browser/speech/speech_recognition_bubble.h
@@ -55,19 +55,37 @@ class SpeechRecognitionBubble {
}
};
- // Factory method to create new instances.
+ // Factory methods to create new instances.
// Creates the bubble, call |Show| to display it on screen.
+
// |web_contents| is the WebContents hosting the page.
// |element_rect| is the display bounds of the html element requesting speech
// recognition (in page coordinates).
- static SpeechRecognitionBubble* Create(content::WebContents* web_contents,
- Delegate* delegate,
- const gfx::Rect& element_rect);
+ // This should ONLY be called from for tests
sky 2014/02/12 18:12:18 Isn't there a way to make the tests go through the
+ static SpeechRecognitionBubble* Create(
+ content::WebContents*,
+ Delegate* delegate,
+ const gfx::Rect& element_rect);
+
+ // |render_process_id| and |render_view_id| is used to extract the
+ // correct WebContents.
+ // |element_rect| is the display bounds of the html element requesting speech
+ // recognition (in page coordinates).
+ static SpeechRecognitionBubble* Create(
+ int render_process_id,
+ int render_view_id,
+ Delegate* delegate,
+ const gfx::Rect& element_rect);
- // This is implemented by platform specific code to create the underlying
+ // These are implemented by platform specific code to create the underlying
// bubble window. Not to be called directly by users of this class.
static SpeechRecognitionBubble* CreateNativeBubble(
- content::WebContents* web_contents,
+ content::WebContents*,
+ Delegate* delegate,
+ const gfx::Rect& element_rect);
+ static SpeechRecognitionBubble* CreateNativeBubble(
+ int render_process_id,
+ int render_view_id,
Delegate* delegate,
const gfx::Rect& element_rect);
@@ -135,7 +153,10 @@ class SpeechRecognitionBubbleBase : public SpeechRecognitionBubble {
DISPLAY_MODE_MESSAGE
};
- explicit SpeechRecognitionBubbleBase(content::WebContents* web_contents);
+ // Only for tests
+ explicit SpeechRecognitionBubbleBase(content::WebContents* test_web_contents);
+
+ SpeechRecognitionBubbleBase(int render_process_id, int render_view_id);
virtual ~SpeechRecognitionBubbleBase();
// SpeechRecognitionBubble methods
@@ -160,6 +181,8 @@ class SpeechRecognitionBubbleBase : public SpeechRecognitionBubble {
gfx::ImageSkia icon_image();
private:
+ void Initialize();
+
void DoRecognizingAnimationStep();
void DoWarmingUpAnimationStep();
void SetImage(const gfx::ImageSkia& image);
@@ -179,8 +202,12 @@ class SpeechRecognitionBubbleBase : public SpeechRecognitionBubble {
scoped_ptr<SkBitmap> mic_image_;
// A temporary buffer image used in creating the above mic image.
scoped_ptr<SkBitmap> buffer_image_;
+
// WebContents in which this this bubble gets displayed.
- content::WebContents* web_contents_;
+ content::WebContents* test_web_contents_;
+ int render_process_id_;
+ int render_view_id_;
+
// The current image displayed in the bubble's icon widget.
gfx::ImageSkia icon_image_;
// The scale factor used for the web-contents.
« no previous file with comments | « no previous file | chrome/browser/speech/speech_recognition_bubble.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698