summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tab_contents/constrained_window.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/tab_contents/constrained_window.h')
-rw-r--r--chrome/browser/tab_contents/constrained_window.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/chrome/browser/tab_contents/constrained_window.h b/chrome/browser/tab_contents/constrained_window.h
new file mode 100644
index 0000000..d703ad2
--- /dev/null
+++ b/chrome/browser/tab_contents/constrained_window.h
@@ -0,0 +1,68 @@
+// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_CONSTRAINED_WINDOW_H__
+#define CHROME_BROWSER_CONSTRAINED_WINDOW_H__
+
+#include "chrome/common/page_transition_types.h"
+#include "webkit/glue/window_open_disposition.h"
+
+class ConstrainedWindow;
+namespace views {
+class View;
+class WindowDelegate;
+}
+namespace gfx {
+class Point;
+class Rect;
+}
+class GURL;
+class TabContents;
+
+///////////////////////////////////////////////////////////////////////////////
+// ConstrainedWindow
+//
+// This interface represents a window that is constrained to a TabContents'
+// bounds.
+//
+class ConstrainedWindow {
+ public:
+ // Create a Constrained Window that contains a views::View subclass
+ // that provides the client area. Typical uses include the HTTP Basic Auth
+ // prompt. The caller must provide an object implementing
+ // views::WindowDelegate so that the Constrained Window can be properly
+ // configured. If |initial_bounds| is empty, the dialog will be centered
+ // within the constraining TabContents.
+ static ConstrainedWindow* CreateConstrainedDialog(
+ TabContents* owner,
+ const gfx::Rect& initial_bounds,
+ views::View* contents_view,
+ views::WindowDelegate* window_delegate);
+
+ // Closes the Constrained Window.
+ virtual void CloseConstrainedWindow() = 0;
+
+ // Repositions the Constrained Window so that the lower right corner
+ // of the titlebar is at the passed in |anchor_point|.
+ virtual void RepositionConstrainedWindowTo(
+ const gfx::Point& anchor_point) = 0;
+
+ // Tells the Constrained Window that the constraining TabContents was hidden,
+ // e.g. via a tab switch.
+ virtual void WasHidden() = 0;
+
+ // Tells the Constrained Window that the constraining TabContents became
+ // visible, e.g. via a tab switch.
+ virtual void DidBecomeSelected() = 0;
+
+ // Returns the title of the Constrained Window.
+ virtual std::wstring GetWindowTitle() const = 0;
+
+ // Returns the current display rectangle (relative to its
+ // parent). This method is only called from the unit tests to check
+ // the location/size of a constrained window.
+ virtual const gfx::Rect& GetCurrentBounds() const = 0;
+};
+
+#endif // #ifndef CHROME_BROWSER_CONSTRAINED_WINDOW_H__