| // 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 const int kVerticalPadding = 14; // top/bottom padding. |
| static const int kHorizontalPadding = 17; // left/right padding. |
| static const int kRowPadding = 20; // Vertical margin between dialog rows. |
| static const int kBorderRadius = 2; // Border radius for dialog corners. |
| |
| // Font style for dialog text. |
| static const ui::ResourceBundle::FontStyle kTextFontStyle = |
| ui::ResourceBundle::BaseFont; |
| // Font style for dialog title. |
| static const ui::ResourceBundle::FontStyle kTitleFontStyle = |
| ui::ResourceBundle::MediumFont; |
| |
| static SkColor GetBackgroundColor(); // Dialog background color. |
| static SkColor GetTextColor(); // Dialog text 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(); |
| |
| // 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_ |