summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_view.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer/render_view.h')
-rw-r--r--chrome/renderer/render_view.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h
index 7ee0f8f..0d6cda8 100644
--- a/chrome/renderer/render_view.h
+++ b/chrome/renderer/render_view.h
@@ -273,6 +273,7 @@ class RenderView : public RenderWidget, public WebViewDelegate,
// WebWidgetDelegate
// Most methods are handled by RenderWidget.
virtual void Show(WebWidget* webwidget, WindowOpenDisposition disposition);
+ virtual void CloseWidgetSoon(WebWidget* webwidget);
virtual void RunModal(WebWidget* webwidget);
// Do not delete directly. This class is reference counted.
@@ -471,6 +472,9 @@ class RenderView : public RenderWidget, public WebViewDelegate,
const std::vector<std::wstring>& suggestions,
int default_suggestions_index);
+ // Message that the popup notification has been shown or hidden.
+ void OnPopupNotificationVisiblityChanged(bool visible);
+
#ifdef CHROME_PERSONALIZATION
void OnPersonalizationEvent(std::string event_name, std::string event_args);
#endif
@@ -695,7 +699,16 @@ class RenderView : public RenderWidget, public WebViewDelegate,
// WebCore (via the window.history.go API). We only have one such navigation
// pending at a time.
scoped_refptr<WebHistoryItem> history_navigation_item_;
-
+
+ // We need to prevent windows from closing themselves with a window.close()
+ // call while a blocked popup notification is being displayed. We cannot
+ // synchronously querry the Browser process. We cannot wait for the Browser
+ // process to send a message to us saying that a blocked popup notification
+ // is being displayed. We instead assume that when we create a window off
+ // this RenderView, that it is going to be blocked until we get a message
+ // from the Browser process telling us otherwise.
+ bool popup_notification_visible_;
+
DISALLOW_COPY_AND_ASSIGN(RenderView);
};