summaryrefslogtreecommitdiffstats
path: root/chrome/views/window.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/views/window.h')
-rw-r--r--chrome/views/window.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/chrome/views/window.h b/chrome/views/window.h
index bdd3d6d..c1c097f 100644
--- a/chrome/views/window.h
+++ b/chrome/views/window.h
@@ -5,6 +5,7 @@
#ifndef CHROME_VIEWS_WINDOW_H__
#define CHROME_VIEWS_WINDOW_H__
+#include "chrome/common/notification_service.h"
#include "chrome/views/widget_win.h"
namespace gfx {
@@ -30,7 +31,8 @@ class WindowDelegate;
// rendered by the operating system.
//
///////////////////////////////////////////////////////////////////////////////
-class Window : public WidgetWin {
+class Window : public WidgetWin,
+ public NotificationObserver {
public:
virtual ~Window();
@@ -121,6 +123,11 @@ class Window : public WidgetWin {
static gfx::Size GetLocalizedContentsSize(int col_resource_id,
int row_resource_id);
+ // NotificationObserver overrides:
+ virtual void Observe(NotificationType type,
+ const NotificationSource& source,
+ const NotificationDetails& details);
+
protected:
// Constructs the Window. |window_delegate| cannot be NULL.
explicit Window(WindowDelegate* window_delegate);
@@ -143,6 +150,11 @@ class Window : public WidgetWin {
// Sizes the window to the default size specified by its ClientView.
virtual void SizeWindowToDefault();
+ // Returns true if the Window is considered to be an "app window" - i.e. any
+ // window which when it is the last of its type closed causes the application
+ // to exit.
+ virtual bool IsAppWindow() const { return false; }
+
void set_client_view(ClientView* client_view) { client_view_ = client_view; }
// Shows the system menu at the specified screen point.