diff options
author | tmdiep@chromium.org <tmdiep@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-14 06:16:00 +0000 |
---|---|---|
committer | tmdiep@chromium.org <tmdiep@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-14 06:16:00 +0000 |
commit | 9123f55abcba591f96e2cdb4d2e2074b5b87179c (patch) | |
tree | 53bff1ae75d8c567a49e218b51529ef60d36f36a /apps | |
parent | d421f6208bb997a429247d2d264182b1f24f8522 (diff) | |
download | chromium_src-9123f55abcba591f96e2cdb4d2e2074b5b87179c.zip chromium_src-9123f55abcba591f96e2cdb4d2e2074b5b87179c.tar.gz chromium_src-9123f55abcba591f96e2cdb4d2e2074b5b87179c.tar.bz2 |
Implement setters for app window bounds API
App window inner and outer bounds can now be changed after
window creation. The functions for get/set constraints were
still in Dev and have been removed.
BUG=315471
TEST=browser_tests (AppWindowAPITest.*)
Review URL: https://codereview.chromium.org/192373002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257030 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_window.cc | 33 | ||||
-rw-r--r-- | apps/app_window.h | 7 | ||||
-rw-r--r-- | apps/ui/native_app_window.h | 8 | ||||
-rw-r--r-- | apps/ui/views/native_app_window_views.cc | 10 | ||||
-rw-r--r-- | apps/ui/views/native_app_window_views.h | 4 |
5 files changed, 24 insertions, 38 deletions
diff --git a/apps/app_window.cc b/apps/app_window.cc index 3a7c0e5..e96bda4 100644 --- a/apps/app_window.cc +++ b/apps/app_window.cc @@ -632,14 +632,20 @@ void AppWindow::ForcedFullscreen() { SetNativeWindowFullscreen(); } -void AppWindow::SetContentMinimumSize(const gfx::Size& min_size) { - native_app_window_->SetContentMinimumSize(min_size); - OnSizeConstraintsChanged(); -} +void AppWindow::SetContentSizeConstraints(const gfx::Size& min_size, + const gfx::Size& max_size) { + SizeConstraints constraints(min_size, max_size); + native_app_window_->SetContentSizeConstraints(constraints.GetMinimumSize(), + constraints.GetMaximumSize()); -void AppWindow::SetContentMaximumSize(const gfx::Size& max_size) { - native_app_window_->SetContentMaximumSize(max_size); - OnSizeConstraintsChanged(); + gfx::Rect bounds = GetClientBounds(); + gfx::Size constrained_size = constraints.ClampSize(bounds.size()); + if (bounds.size() != constrained_size) { + bounds.set_size(constrained_size); + bounds.Inset(-native_app_window_->GetFrameInsets()); + native_app_window_->SetBounds(bounds); + } + OnNativeWindowChanged(); } void AppWindow::Show(ShowType show_type) { @@ -781,19 +787,6 @@ void AppWindow::UpdateExtensionAppIcon() { app_icon_image_->image_skia().GetRepresentation(1.0f); } -void AppWindow::OnSizeConstraintsChanged() { - SizeConstraints size_constraints(native_app_window_->GetContentMinimumSize(), - native_app_window_->GetContentMaximumSize()); - gfx::Rect bounds = GetClientBounds(); - gfx::Size constrained_size = size_constraints.ClampSize(bounds.size()); - if (bounds.size() != constrained_size) { - bounds.set_size(constrained_size); - bounds.Inset(-native_app_window_->GetFrameInsets()); - native_app_window_->SetBounds(bounds); - } - OnNativeWindowChanged(); -} - void AppWindow::SetNativeWindowFullscreen() { native_app_window_->SetFullscreen(fullscreen_types_); diff --git a/apps/app_window.h b/apps/app_window.h index 9729484..cb9bf17 100644 --- a/apps/app_window.h +++ b/apps/app_window.h @@ -319,8 +319,8 @@ class AppWindow : public content::NotificationObserver, void ForcedFullscreen(); // Set the minimum and maximum size of the content bounds. - void SetContentMinimumSize(const gfx::Size& min_size); - void SetContentMaximumSize(const gfx::Size& max_size); + void SetContentSizeConstraints(const gfx::Size& min_size, + const gfx::Size& max_size); enum ShowType { SHOW_ACTIVE, SHOW_INACTIVE }; @@ -439,9 +439,6 @@ class AppWindow : public content::NotificationObserver, // Load the app's image, firing a load state change when loaded. void UpdateExtensionAppIcon(); - // Called when size_constraints is changed. - void OnSizeConstraintsChanged(); - // Set the fullscreen state in the native app window. void SetNativeWindowFullscreen(); diff --git a/apps/ui/native_app_window.h b/apps/ui/native_app_window.h index 12b08d5..ba033a1 100644 --- a/apps/ui/native_app_window.h +++ b/apps/ui/native_app_window.h @@ -79,14 +79,12 @@ class NativeAppWindow : public ui::BaseWindow, // Returns the minimum size constraints of the content. virtual gfx::Size GetContentMinimumSize() const = 0; - // Updates the minimum size constraints of the content. - virtual void SetContentMinimumSize(const gfx::Size& size) = 0; - // Returns the maximum size constraints of the content. virtual gfx::Size GetContentMaximumSize() const = 0; - // Updates the maximum size constraints of the content. - virtual void SetContentMaximumSize(const gfx::Size& size) = 0; + // Updates the minimum and maximum size constraints of the content. + virtual void SetContentSizeConstraints(const gfx::Size& min_size, + const gfx::Size& max_size) = 0; virtual ~NativeAppWindow() {} }; diff --git a/apps/ui/views/native_app_window_views.cc b/apps/ui/views/native_app_window_views.cc index 90a63af..dd70d1a 100644 --- a/apps/ui/views/native_app_window_views.cc +++ b/apps/ui/views/native_app_window_views.cc @@ -411,16 +411,14 @@ gfx::Size NativeAppWindowViews::GetContentMinimumSize() const { return size_constraints_.GetMinimumSize(); } -void NativeAppWindowViews::SetContentMinimumSize(const gfx::Size& size) { - size_constraints_.set_minimum_size(size); -} - gfx::Size NativeAppWindowViews::GetContentMaximumSize() const { return size_constraints_.GetMaximumSize(); } -void NativeAppWindowViews::SetContentMaximumSize(const gfx::Size& size) { - size_constraints_.set_maximum_size(size); +void NativeAppWindowViews::SetContentSizeConstraints( + const gfx::Size& min_size, const gfx::Size& max_size) { + size_constraints_.set_minimum_size(min_size); + size_constraints_.set_maximum_size(max_size); } } // namespace apps diff --git a/apps/ui/views/native_app_window_views.h b/apps/ui/views/native_app_window_views.h index f22cea9..217a465 100644 --- a/apps/ui/views/native_app_window_views.h +++ b/apps/ui/views/native_app_window_views.h @@ -151,9 +151,9 @@ class NativeAppWindowViews : public NativeAppWindow, virtual void ShowWithApp() OVERRIDE; virtual void UpdateShelfMenu() OVERRIDE; virtual gfx::Size GetContentMinimumSize() const OVERRIDE; - virtual void SetContentMinimumSize(const gfx::Size& size) OVERRIDE; virtual gfx::Size GetContentMaximumSize() const OVERRIDE; - virtual void SetContentMaximumSize(const gfx::Size& size) OVERRIDE; + virtual void SetContentSizeConstraints(const gfx::Size& min_size, + const gfx::Size& max_size) OVERRIDE; // web_modal::WebContentsModalDialogHost implementation. virtual gfx::NativeView GetHostView() const OVERRIDE; |