OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/views/widget/native_widget_aura.h" | 5 #include "ui/views/widget/native_widget_aura.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "third_party/skia/include/core/SkRegion.h" | 9 #include "third_party/skia/include/core/SkRegion.h" |
10 #include "ui/aura/client/aura_constants.h" | 10 #include "ui/aura/client/aura_constants.h" |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
477 void NativeWidgetAura::ShowMaximizedWithBounds( | 477 void NativeWidgetAura::ShowMaximizedWithBounds( |
478 const gfx::Rect& restored_bounds) { | 478 const gfx::Rect& restored_bounds) { |
479 SetRestoreBounds(window_, restored_bounds); | 479 SetRestoreBounds(window_, restored_bounds); |
480 ShowWithWindowState(ui::SHOW_STATE_MAXIMIZED); | 480 ShowWithWindowState(ui::SHOW_STATE_MAXIMIZED); |
481 } | 481 } |
482 | 482 |
483 void NativeWidgetAura::ShowWithWindowState(ui::WindowShowState state) { | 483 void NativeWidgetAura::ShowWithWindowState(ui::WindowShowState state) { |
484 if (!window_) | 484 if (!window_) |
485 return; | 485 return; |
486 | 486 |
487 if (state == ui::SHOW_STATE_MAXIMIZED || state == ui::SHOW_STATE_FULLSCREEN) | 487 window_->SetProperty(aura::client::kShowStateKey, state); |
488 window_->SetProperty(aura::client::kShowStateKey, state); | |
489 window_->Show(); | 488 window_->Show(); |
490 if (delegate_->CanActivate()) { | 489 if (delegate_->CanActivate()) { |
491 if (state != ui::SHOW_STATE_INACTIVE) | 490 if (state != ui::SHOW_STATE_INACTIVE) |
492 Activate(); | 491 Activate(); |
493 // SetInitialFocus() should be always be called, even for | 492 // SetInitialFocus() should be always be called, even for |
494 // SHOW_STATE_INACTIVE. If the window has to stay inactive, the method will | 493 // SHOW_STATE_INACTIVE. If the window has to stay inactive, the method will |
495 // do the right thing. | 494 // do the right thing. |
496 SetInitialFocus(state); | 495 SetInitialFocus(state); |
497 } | 496 } |
| 497 |
| 498 // On desktop aura, a window is activated first even when it is shown as |
| 499 // minimized. Do the same for consistency. |
| 500 if (state == ui::SHOW_STATE_MINIMIZED) |
| 501 Minimize(); |
498 } | 502 } |
499 | 503 |
500 bool NativeWidgetAura::IsVisible() const { | 504 bool NativeWidgetAura::IsVisible() const { |
501 return window_ && window_->IsVisible(); | 505 return window_ && window_->IsVisible(); |
502 } | 506 } |
503 | 507 |
504 void NativeWidgetAura::Activate() { | 508 void NativeWidgetAura::Activate() { |
505 if (!window_) | 509 if (!window_) |
506 return; | 510 return; |
507 | 511 |
(...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1207 l10n_util::AdjustUIFont(&(ncm.lfCaptionFont)); | 1211 l10n_util::AdjustUIFont(&(ncm.lfCaptionFont)); |
1208 base::win::ScopedHFONT caption_font(CreateFontIndirect(&(ncm.lfCaptionFont))); | 1212 base::win::ScopedHFONT caption_font(CreateFontIndirect(&(ncm.lfCaptionFont))); |
1209 return gfx::FontList(gfx::Font(caption_font)); | 1213 return gfx::FontList(gfx::Font(caption_font)); |
1210 #else | 1214 #else |
1211 return gfx::FontList(); | 1215 return gfx::FontList(); |
1212 #endif | 1216 #endif |
1213 } | 1217 } |
1214 | 1218 |
1215 } // namespace internal | 1219 } // namespace internal |
1216 } // namespace views | 1220 } // namespace views |
OLD | NEW |