| // Copyright (c) 2012 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_UI_CONSTRAINED_WINDOW_H_ |
| #define CHROME_BROWSER_UI_CONSTRAINED_WINDOW_H_ |
| |
| #include "build/build_config.h" |
| #include "third_party/skia/include/core/SkColor.h" |
| #include "ui/base/resource/resource_bundle.h" |
| #include "ui/gfx/native_widget_types.h" |
| |
| /////////////////////////////////////////////////////////////////////////////// |
| // ConstrainedWindow |
| // |
| // This interface represents a window that is constrained to a |
| // WebContentsView's bounds. |
| // |
| class ConstrainedWindow { |
| public: |
| static int GetCloseButtonSize(); // Size of close button. |
| static SkColor GetBackgroundColor(); // Dialog background color. |
| static SkColor GetLinkColor(); // Dialog link color. |
| static SkColor GetSeparatorColor(); // Dialog separator color. |
| |
| // Makes the Constrained Window visible. Only one Constrained Window is shown |
| // at a time per tab. |
| virtual void ShowConstrainedWindow() = 0; |
| |
| // Closes the Constrained Window. |
| virtual void CloseConstrainedWindow() = 0; |
| |
| // Sets focus on the Constrained Window. |
| virtual void FocusConstrainedWindow(); |
| |
| // Runs a pulse animation for the constrained window. |
| virtual void PulseConstrainedWindow(); |
| |
| // Checks if the constrained window can be shown. |
| virtual bool CanShowConstrainedWindow(); |
| |
| // Returns the native window of the constrained window. |
| virtual gfx::NativeWindow GetNativeWindow(); |
| |
| protected: |
| virtual ~ConstrainedWindow() {} |
| }; |
| |
| #endif // CHROME_BROWSER_UI_CONSTRAINED_WINDOW_H_ |