| Index: views/widget/native_widget_aura.cc
|
| diff --git a/views/widget/native_widget_aura.cc b/views/widget/native_widget_aura.cc
|
| index 7d014ad301599cb2db0d1634a5f855c040c5b6f9..aec95342e2b6fa1471b35de817e641c41a03977b 100644
|
| --- a/views/widget/native_widget_aura.cc
|
| +++ b/views/widget/native_widget_aura.cc
|
| @@ -5,6 +5,7 @@
|
| #include "views/widget/native_widget_aura.h"
|
|
|
| #include "base/bind.h"
|
| +#include "ui/aura/aura_constants.h"
|
| #include "ui/aura/desktop.h"
|
| #include "ui/aura/event.h"
|
| #include "ui/aura/window.h"
|
| @@ -95,6 +96,7 @@ void NativeWidgetAura::InitNativeWidget(const Widget::InitParams& params) {
|
| Widget::InitParams::Type window_type =
|
| params.child ? Widget::InitParams::TYPE_CONTROL : params.type;
|
| window_->SetType(GetAuraWindowTypeForWidgetType(window_type));
|
| + window_->SetIntProperty(aura::kShowStateKey, ui::SHOW_STATE_NORMAL);
|
| window_->Init(params.create_texture_for_layer ?
|
| ui::Layer::LAYER_HAS_TEXTURE :
|
| ui::Layer::LAYER_HAS_NO_TEXTURE);
|
| @@ -249,7 +251,8 @@ void NativeWidgetAura::CenterWindow(const gfx::Size& size) {
|
| void NativeWidgetAura::GetWindowPlacement(
|
| gfx::Rect* bounds,
|
| ui::WindowShowState* maximized) const {
|
| - *maximized = window_->show_state();
|
| + *maximized = static_cast<ui::WindowShowState>(
|
| + window_->GetIntProperty(aura::kShowStateKey));
|
| }
|
|
|
| void NativeWidgetAura::SetWindowTitle(const string16& title) {
|
| @@ -345,20 +348,14 @@ void NativeWidgetAura::Hide() {
|
| void NativeWidgetAura::ShowMaximizedWithBounds(
|
| const gfx::Rect& restored_bounds) {
|
| window_->SetBounds(restored_bounds);
|
| - window_->Maximize();
|
| + window_->SetIntProperty(aura::kShowStateKey, ui::SHOW_STATE_MAXIMIZED);
|
| window_->Show();
|
| }
|
|
|
| void NativeWidgetAura::ShowWithWindowState(ui::WindowShowState state) {
|
| - switch(state) {
|
| - case ui::SHOW_STATE_MAXIMIZED:
|
| - window_->Maximize();
|
| - break;
|
| - case ui::SHOW_STATE_FULLSCREEN:
|
| - window_->Fullscreen();
|
| - break;
|
| - default:
|
| - break;
|
| + if (state == ui::SHOW_STATE_MAXIMIZED ||
|
| + state == ui::SHOW_STATE_FULLSCREEN) {
|
| + window_->SetIntProperty(aura::kShowStateKey, state);
|
| }
|
| window_->Show();
|
| }
|
| @@ -384,7 +381,7 @@ void NativeWidgetAura::SetAlwaysOnTop(bool on_top) {
|
| }
|
|
|
| void NativeWidgetAura::Maximize() {
|
| - window_->Maximize();
|
| + window_->SetIntProperty(aura::kShowStateKey, ui::SHOW_STATE_MAXIMIZED);
|
| }
|
|
|
| void NativeWidgetAura::Minimize() {
|
| @@ -392,23 +389,28 @@ void NativeWidgetAura::Minimize() {
|
| }
|
|
|
| bool NativeWidgetAura::IsMaximized() const {
|
| - return window_->show_state() == ui::SHOW_STATE_MAXIMIZED;
|
| + return window_->GetIntProperty(aura::kShowStateKey) ==
|
| + ui::SHOW_STATE_MAXIMIZED;
|
| }
|
|
|
| bool NativeWidgetAura::IsMinimized() const {
|
| - return window_->show_state() == ui::SHOW_STATE_MINIMIZED;
|
| + return window_->GetIntProperty(aura::kShowStateKey) ==
|
| + ui::SHOW_STATE_MINIMIZED;
|
| }
|
|
|
| void NativeWidgetAura::Restore() {
|
| - window_->Restore();
|
| + window_->SetIntProperty(aura::kShowStateKey, ui::SHOW_STATE_NORMAL);
|
| }
|
|
|
| void NativeWidgetAura::SetFullscreen(bool fullscreen) {
|
| - fullscreen ? window_->Fullscreen() : window_->Restore();
|
| + window_->SetIntProperty(
|
| + aura::kShowStateKey,
|
| + fullscreen ? ui::SHOW_STATE_FULLSCREEN : ui::SHOW_STATE_NORMAL);
|
| }
|
|
|
| bool NativeWidgetAura::IsFullscreen() const {
|
| - return window_->show_state() == ui::SHOW_STATE_FULLSCREEN;
|
| + return window_->GetIntProperty(aura::kShowStateKey) ==
|
| + ui::SHOW_STATE_FULLSCREEN;
|
| }
|
|
|
| void NativeWidgetAura::SetOpacity(unsigned char opacity) {
|
| @@ -576,6 +578,7 @@ void NativeWidgetAura::OnWindowDestroying() {
|
|
|
| void NativeWidgetAura::OnWindowDestroyed() {
|
| window_ = NULL;
|
| + tooltip_manager_.reset();
|
| delegate_->OnNativeWidgetDestroyed();
|
| if (ownership_ == Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET)
|
| delete this;
|
|
|