Index: chrome/browser/ui/gtk/speech_recognition_bubble_gtk.cc |
diff --git a/chrome/browser/ui/gtk/speech_recognition_bubble_gtk.cc b/chrome/browser/ui/gtk/speech_recognition_bubble_gtk.cc |
index 58574c3101e621c2dbc4faa3d5ec9f365fc15c20..7d82d90e552396bb94b8d8126d97ec81b29d2d85 100644 |
--- a/chrome/browser/ui/gtk/speech_recognition_bubble_gtk.cc |
+++ b/chrome/browser/ui/gtk/speech_recognition_bubble_gtk.cc |
@@ -45,7 +45,7 @@ const GdkColor& kLabelTextColor = ui::kGdkBlack; |
class SpeechRecognitionBubbleGtk : public SpeechRecognitionBubbleBase, |
public BubbleDelegateGtk { |
public: |
- SpeechRecognitionBubbleGtk(WebContents* web_contents, |
+ SpeechRecognitionBubbleGtk(int render_process_id, int render_view_id, |
Delegate* delegate, |
const gfx::Rect& element_rect); |
virtual ~SpeechRecognitionBubbleGtk(); |
@@ -80,9 +80,9 @@ class SpeechRecognitionBubbleGtk : public SpeechRecognitionBubbleBase, |
}; |
SpeechRecognitionBubbleGtk::SpeechRecognitionBubbleGtk( |
- WebContents* web_contents, Delegate* delegate, |
+ int render_process_id, int render_view_id, Delegate* delegate, |
const gfx::Rect& element_rect) |
- : SpeechRecognitionBubbleBase(web_contents), |
+ : SpeechRecognitionBubbleBase(render_process_id, render_process_id), |
delegate_(delegate), |
bubble_(NULL), |
element_rect_(element_rect), |
@@ -117,7 +117,7 @@ void SpeechRecognitionBubbleGtk::OnMicSettingsClicked(GtkWidget* widget) { |
} |
void SpeechRecognitionBubbleGtk::Show() { |
- if (bubble_) |
+ if (bubble_ || !GetWebContents()) |
return; // Nothing further to do since the bubble is already visible. |
// We use a vbox to arrange the controls (label, image, button bar) vertically |
@@ -212,7 +212,7 @@ void SpeechRecognitionBubbleGtk::Hide() { |
} |
void SpeechRecognitionBubbleGtk::UpdateLayout() { |
- if (!bubble_) |
+ if (!bubble_ || !GetWebContents()) |
return; |
if (display_mode() == DISPLAY_MODE_MESSAGE) { |
@@ -293,8 +293,9 @@ void SpeechRecognitionBubbleGtk::BubbleClosing(BubbleGtk* bubble, |
} // namespace |
SpeechRecognitionBubble* SpeechRecognitionBubble::CreateNativeBubble( |
- WebContents* web_contents, |
- Delegate* delegate, |
+ int render_process_id, int render_view_id, |
+ SpeechRecognitionBubble::Delegate* delegate, |
const gfx::Rect& element_rect) { |
- return new SpeechRecognitionBubbleGtk(web_contents, delegate, element_rect); |
+ return new SpeechRecognitionBubbleGtk(render_process_id, render_view_id, |
+ delegate, element_rect); |
} |