| Index: chrome/browser/ui/cocoa/speech_recognition_bubble_cocoa.mm
|
| diff --git a/chrome/browser/ui/cocoa/speech_recognition_bubble_cocoa.mm b/chrome/browser/ui/cocoa/speech_recognition_bubble_cocoa.mm
|
| index c308f5a931fbdf6368b38634459856259b5ba4ba..8c65daddea6e37f591e368d2591ed834797bb735 100644
|
| --- a/chrome/browser/ui/cocoa/speech_recognition_bubble_cocoa.mm
|
| +++ b/chrome/browser/ui/cocoa/speech_recognition_bubble_cocoa.mm
|
| @@ -25,7 +25,8 @@ namespace {
|
| // for more information on how this gets used.
|
| class SpeechRecognitionBubbleImpl : public SpeechRecognitionBubbleBase {
|
| public:
|
| - SpeechRecognitionBubbleImpl(WebContents* web_contents,
|
| + SpeechRecognitionBubbleImpl(int render_process_id,
|
| + int render_view_id,
|
| Delegate* delegate,
|
| const gfx::Rect& element_rect);
|
| virtual ~SpeechRecognitionBubbleImpl();
|
| @@ -41,10 +42,11 @@ class SpeechRecognitionBubbleImpl : public SpeechRecognitionBubbleBase {
|
| };
|
|
|
| SpeechRecognitionBubbleImpl::SpeechRecognitionBubbleImpl(
|
| - WebContents* web_contents,
|
| + int render_process_id,
|
| + int render_view_id,
|
| Delegate* delegate,
|
| const gfx::Rect& element_rect)
|
| - : SpeechRecognitionBubbleBase(web_contents),
|
| + : SpeechRecognitionBubbleBase(render_process_id, render_view_id),
|
| delegate_(delegate),
|
| element_rect_(element_rect) {
|
| }
|
| @@ -55,11 +57,14 @@ SpeechRecognitionBubbleImpl::~SpeechRecognitionBubbleImpl() {
|
| }
|
|
|
| void SpeechRecognitionBubbleImpl::UpdateImage() {
|
| - if (window_.get())
|
| + if (window_.get() && GetWebContents())
|
| [window_.get() setImage:gfx::NSImageFromImageSkia(icon_image())];
|
| }
|
|
|
| void SpeechRecognitionBubbleImpl::Show() {
|
| + if (!GetWebContents())
|
| + return;
|
| +
|
| if (window_.get()) {
|
| [window_.get() show];
|
| return;
|
| @@ -115,7 +120,7 @@ void SpeechRecognitionBubbleImpl::Hide() {
|
| }
|
|
|
| void SpeechRecognitionBubbleImpl::UpdateLayout() {
|
| - if (!window_.get())
|
| + if (!window_.get() || !GetWebContents())
|
| return;
|
|
|
| [window_.get() updateLayout:display_mode()
|
| @@ -126,8 +131,12 @@ void SpeechRecognitionBubbleImpl::UpdateLayout() {
|
| } // namespace
|
|
|
| SpeechRecognitionBubble* SpeechRecognitionBubble::CreateNativeBubble(
|
| - WebContents* web_contents,
|
| + int render_process_id,
|
| + int render_view_id,
|
| Delegate* delegate,
|
| const gfx::Rect& element_rect) {
|
| - return new SpeechRecognitionBubbleImpl(web_contents, delegate, element_rect);
|
| + return new SpeechRecognitionBubbleImpl(render_process_id,
|
| + render_view_id,
|
| + delegate,
|
| + element_rect);
|
| }
|
|
|