diff options
Diffstat (limited to 'chrome/browser/tab_contents/constrained_window.h')
-rw-r--r-- | chrome/browser/tab_contents/constrained_window.h | 68 |
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__ |