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

Unified Diff: chrome/browser/ui/cocoa/speech_recognition_bubble_cocoa.mm

Issue 148343008: Speech Recognition API: Safeguarding against page closes during startup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review comments 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
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);
}

Powered by Google App Engine
This is Rietveld 408576698