Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "ash/aura/wm_window_aura.h" | 5 #include "ash/aura/wm_window_aura.h" |
| 6 | 6 |
| 7 #include "ash/aura/aura_layout_manager_adapter.h" | 7 #include "ash/aura/aura_layout_manager_adapter.h" |
| 8 #include "ash/aura/wm_root_window_controller_aura.h" | 8 #include "ash/aura/wm_root_window_controller_aura.h" |
| 9 #include "ash/aura/wm_shell_aura.h" | 9 #include "ash/aura/wm_shell_aura.h" |
| 10 #include "ash/common/ash_constants.h" | 10 #include "ash/common/ash_constants.h" |
| (...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 341 NOTREACHED(); | 341 NOTREACHED(); |
| 342 } | 342 } |
| 343 | 343 |
| 344 int WmWindowAura::GetIntProperty(WmWindowProperty key) { | 344 int WmWindowAura::GetIntProperty(WmWindowProperty key) { |
| 345 if (key == WmWindowProperty::MODAL_TYPE) | 345 if (key == WmWindowProperty::MODAL_TYPE) |
| 346 return window_->GetProperty(aura::client::kModalKey); | 346 return window_->GetProperty(aura::client::kModalKey); |
| 347 | 347 |
| 348 if (key == WmWindowProperty::SHELF_ID) | 348 if (key == WmWindowProperty::SHELF_ID) |
| 349 return window_->GetProperty(kShelfIDKey); | 349 return window_->GetProperty(kShelfIDKey); |
| 350 | 350 |
| 351 if (key == WmWindowProperty::SHELF_ITEM_TYPE) | 351 if (key == WmWindowProperty::SHELF_ITEM_TYPE) { |
| 352 return window_->GetProperty(kShelfItemTypeKey); | 352 if (aura::Env::GetInstance()->mode() == aura::Env::Mode::LOCAL || |
| 353 aura_window()->GetProperty(kShelfItemTypeKey) != TYPE_UNDEFINED) { | |
|
James Cook
2017/01/05 23:16:47
nit: just use |window_| here and below for consist
sky
2017/01/05 23:30:54
Done.
| |
| 354 return aura_window()->GetProperty(kShelfItemTypeKey); | |
| 355 } | |
| 356 // Mash provides a default shelf item type for non-ignored windows. | |
| 357 return GetWindowState()->ignored_by_shelf() ? TYPE_UNDEFINED : TYPE_APP; | |
| 358 } | |
| 353 | 359 |
| 354 if (key == WmWindowProperty::TOP_VIEW_INSET) | 360 if (key == WmWindowProperty::TOP_VIEW_INSET) |
| 355 return window_->GetProperty(aura::client::kTopViewInset); | 361 return window_->GetProperty(aura::client::kTopViewInset); |
| 356 | 362 |
| 357 NOTREACHED(); | 363 NOTREACHED(); |
| 358 return 0; | 364 return 0; |
| 359 } | 365 } |
| 360 | 366 |
| 361 void WmWindowAura::SetIntProperty(WmWindowProperty key, int value) { | 367 void WmWindowAura::SetIntProperty(WmWindowProperty key, int value) { |
| 362 if (key == WmWindowProperty::SHELF_ID) { | 368 if (key == WmWindowProperty::SHELF_ID) { |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 653 return (window_->GetProperty(aura::client::kResizeBehaviorKey) & | 659 return (window_->GetProperty(aura::client::kResizeBehaviorKey) & |
| 654 ui::mojom::kResizeBehaviorCanMinimize) != 0; | 660 ui::mojom::kResizeBehaviorCanMinimize) != 0; |
| 655 } | 661 } |
| 656 | 662 |
| 657 bool WmWindowAura::CanResize() const { | 663 bool WmWindowAura::CanResize() const { |
| 658 return (window_->GetProperty(aura::client::kResizeBehaviorKey) & | 664 return (window_->GetProperty(aura::client::kResizeBehaviorKey) & |
| 659 ui::mojom::kResizeBehaviorCanResize) != 0; | 665 ui::mojom::kResizeBehaviorCanResize) != 0; |
| 660 } | 666 } |
| 661 | 667 |
| 662 bool WmWindowAura::CanActivate() const { | 668 bool WmWindowAura::CanActivate() const { |
| 669 // TODO(sky): for aura-mus need to key off CanFocus() as well, which is not | |
| 670 // currently mirrored to ash. | |
| 663 return ::wm::CanActivateWindow(window_); | 671 return ::wm::CanActivateWindow(window_); |
| 664 } | 672 } |
| 665 | 673 |
| 666 void WmWindowAura::StackChildAtTop(WmWindow* child) { | 674 void WmWindowAura::StackChildAtTop(WmWindow* child) { |
| 667 window_->StackChildAtTop(GetAuraWindow(child)); | 675 window_->StackChildAtTop(GetAuraWindow(child)); |
| 668 } | 676 } |
| 669 | 677 |
| 670 void WmWindowAura::StackChildAtBottom(WmWindow* child) { | 678 void WmWindowAura::StackChildAtBottom(WmWindow* child) { |
| 671 window_->StackChildAtBottom(GetAuraWindow(child)); | 679 window_->StackChildAtBottom(GetAuraWindow(child)); |
| 672 } | 680 } |
| 673 | 681 |
| 674 void WmWindowAura::StackChildAbove(WmWindow* child, WmWindow* target) { | 682 void WmWindowAura::StackChildAbove(WmWindow* child, WmWindow* target) { |
| 675 window_->StackChildAbove(GetAuraWindow(child), GetAuraWindow(target)); | 683 window_->StackChildAbove(GetAuraWindow(child), GetAuraWindow(target)); |
| 676 } | 684 } |
| 677 | 685 |
| 678 void WmWindowAura::StackChildBelow(WmWindow* child, WmWindow* target) { | 686 void WmWindowAura::StackChildBelow(WmWindow* child, WmWindow* target) { |
| 679 window_->StackChildBelow(GetAuraWindow(child), GetAuraWindow(target)); | 687 window_->StackChildBelow(GetAuraWindow(child), GetAuraWindow(target)); |
| 680 } | 688 } |
| 681 | 689 |
| 682 void WmWindowAura::SetPinned(bool trusted) { | 690 void WmWindowAura::SetPinned(bool trusted) { |
| 691 if (aura::Env::GetInstance()->mode() == aura::Env::Mode::MUS) { | |
| 692 // TODO: fix, see http://crbug.com/622486. With aura-mus pinning may just | |
| 693 // work. | |
| 694 NOTIMPLEMENTED(); | |
| 695 return; | |
| 696 } | |
| 683 wm::PinWindow(window_, trusted); | 697 wm::PinWindow(window_, trusted); |
| 684 } | 698 } |
| 685 | 699 |
| 686 void WmWindowAura::SetAlwaysOnTop(bool value) { | 700 void WmWindowAura::SetAlwaysOnTop(bool value) { |
| 687 window_->SetProperty(aura::client::kAlwaysOnTopKey, value); | 701 window_->SetProperty(aura::client::kAlwaysOnTopKey, value); |
| 688 } | 702 } |
| 689 | 703 |
| 690 bool WmWindowAura::IsAlwaysOnTop() const { | 704 bool WmWindowAura::IsAlwaysOnTop() const { |
| 691 return window_->GetProperty(aura::client::kAlwaysOnTopKey); | 705 return window_->GetProperty(aura::client::kAlwaysOnTopKey); |
| 692 } | 706 } |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 752 | 766 |
| 753 std::vector<WmWindow*> WmWindowAura::GetChildren() { | 767 std::vector<WmWindow*> WmWindowAura::GetChildren() { |
| 754 return FromAuraWindows(window_->children()); | 768 return FromAuraWindows(window_->children()); |
| 755 } | 769 } |
| 756 | 770 |
| 757 WmWindow* WmWindowAura::GetChildByShellWindowId(int id) { | 771 WmWindow* WmWindowAura::GetChildByShellWindowId(int id) { |
| 758 return Get(window_->GetChildById(id)); | 772 return Get(window_->GetChildById(id)); |
| 759 } | 773 } |
| 760 | 774 |
| 761 void WmWindowAura::ShowResizeShadow(int component) { | 775 void WmWindowAura::ShowResizeShadow(int component) { |
| 776 if (aura::Env::GetInstance()->mode() == aura::Env::Mode::MUS) { | |
| 777 // TODO: http://crbug.com/640773. | |
| 778 return; | |
| 779 } | |
| 762 ResizeShadowController* resize_shadow_controller = | 780 ResizeShadowController* resize_shadow_controller = |
| 763 Shell::GetInstance()->resize_shadow_controller(); | 781 Shell::GetInstance()->resize_shadow_controller(); |
| 764 if (resize_shadow_controller) | 782 if (resize_shadow_controller) |
| 765 resize_shadow_controller->ShowShadow(window_, component); | 783 resize_shadow_controller->ShowShadow(window_, component); |
| 766 } | 784 } |
| 767 | 785 |
| 768 void WmWindowAura::HideResizeShadow() { | 786 void WmWindowAura::HideResizeShadow() { |
| 787 if (aura::Env::GetInstance()->mode() == aura::Env::Mode::MUS) { | |
| 788 // TODO: http://crbug.com/640773. | |
| 789 return; | |
| 790 } | |
| 769 ResizeShadowController* resize_shadow_controller = | 791 ResizeShadowController* resize_shadow_controller = |
| 770 Shell::GetInstance()->resize_shadow_controller(); | 792 Shell::GetInstance()->resize_shadow_controller(); |
| 771 if (resize_shadow_controller) | 793 if (resize_shadow_controller) |
| 772 resize_shadow_controller->HideShadow(window_); | 794 resize_shadow_controller->HideShadow(window_); |
| 773 } | 795 } |
| 774 | 796 |
| 775 void WmWindowAura::InstallResizeHandleWindowTargeter( | 797 void WmWindowAura::InstallResizeHandleWindowTargeter( |
| 776 ImmersiveFullscreenController* immersive_fullscreen_controller) { | 798 ImmersiveFullscreenController* immersive_fullscreen_controller) { |
| 799 if (aura::Env::GetInstance()->mode() == aura::Env::Mode::MUS) { | |
| 800 // TODO(sky): I believe once ImmersiveFullscreenController is ported this | |
| 801 // won't be necessary in mash, but I need to verify that: | |
| 802 // http://crbug.com/548435. | |
| 803 return; | |
| 804 } | |
| 777 window_->SetEventTargeter(base::MakeUnique<ResizeHandleWindowTargeter>( | 805 window_->SetEventTargeter(base::MakeUnique<ResizeHandleWindowTargeter>( |
| 778 window_, immersive_fullscreen_controller)); | 806 window_, immersive_fullscreen_controller)); |
| 779 } | 807 } |
| 780 | 808 |
| 781 void WmWindowAura::SetBoundsInScreenBehaviorForChildren( | 809 void WmWindowAura::SetBoundsInScreenBehaviorForChildren( |
| 782 BoundsInScreenBehavior behavior) { | 810 BoundsInScreenBehavior behavior) { |
| 783 window_->SetProperty( | 811 window_->SetProperty( |
| 784 kUsesScreenCoordinatesKey, | 812 kUsesScreenCoordinatesKey, |
| 785 behavior == BoundsInScreenBehavior::USE_SCREEN_COORDINATES); | 813 behavior == BoundsInScreenBehavior::USE_SCREEN_COORDINATES); |
| 786 } | 814 } |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 967 observer.OnTransientChildAdded(this, Get(transient)); | 995 observer.OnTransientChildAdded(this, Get(transient)); |
| 968 } | 996 } |
| 969 | 997 |
| 970 void WmWindowAura::OnTransientChildRemoved(aura::Window* window, | 998 void WmWindowAura::OnTransientChildRemoved(aura::Window* window, |
| 971 aura::Window* transient) { | 999 aura::Window* transient) { |
| 972 for (auto& observer : transient_observers_) | 1000 for (auto& observer : transient_observers_) |
| 973 observer.OnTransientChildRemoved(this, Get(transient)); | 1001 observer.OnTransientChildRemoved(this, Get(transient)); |
| 974 } | 1002 } |
| 975 | 1003 |
| 976 } // namespace ash | 1004 } // namespace ash |
| OLD | NEW |