| 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/mus/bridge/wm_window_mus.h" | 5 #include "ash/mus/bridge/wm_window_mus.h" |
| 6 | 6 |
| 7 #include "ash/common/shelf/shelf_item_types.h" | 7 #include "ash/common/shelf/shelf_item_types.h" |
| 8 #include "ash/common/wm/container_finder.h" | 8 #include "ash/common/wm/container_finder.h" |
| 9 #include "ash/common/wm/window_positioning_utils.h" | 9 #include "ash/common/wm/window_positioning_utils.h" |
| 10 #include "ash/common/wm/window_state.h" | 10 #include "ash/common/wm/window_state.h" |
| (...skipping 864 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 875 void WmWindowMus::SetBoundsInScreenBehaviorForChildren( | 875 void WmWindowMus::SetBoundsInScreenBehaviorForChildren( |
| 876 WmWindow::BoundsInScreenBehavior behavior) { | 876 WmWindow::BoundsInScreenBehavior behavior) { |
| 877 child_bounds_in_screen_behavior_ = behavior; | 877 child_bounds_in_screen_behavior_ = behavior; |
| 878 } | 878 } |
| 879 | 879 |
| 880 void WmWindowMus::SetSnapsChildrenToPhysicalPixelBoundary() { | 880 void WmWindowMus::SetSnapsChildrenToPhysicalPixelBoundary() { |
| 881 if (snap_children_to_pixel_boundary_) | 881 if (snap_children_to_pixel_boundary_) |
| 882 return; | 882 return; |
| 883 | 883 |
| 884 snap_children_to_pixel_boundary_ = true; | 884 snap_children_to_pixel_boundary_ = true; |
| 885 FOR_EACH_OBSERVER( | 885 for (auto& observer : observers_) { |
| 886 WmWindowObserver, observers_, | 886 observer.OnWindowPropertyChanged( |
| 887 OnWindowPropertyChanged( | 887 this, WmWindowProperty::SNAP_CHILDREN_TO_PIXEL_BOUNDARY); |
| 888 this, WmWindowProperty::SNAP_CHILDREN_TO_PIXEL_BOUNDARY)); | 888 } |
| 889 } | 889 } |
| 890 | 890 |
| 891 void WmWindowMus::SnapToPixelBoundaryIfNecessary() { | 891 void WmWindowMus::SnapToPixelBoundaryIfNecessary() { |
| 892 WmWindowMus* parent = Get(window_->parent()); | 892 WmWindowMus* parent = Get(window_->parent()); |
| 893 if (parent && parent->snap_children_to_pixel_boundary_) { | 893 if (parent && parent->snap_children_to_pixel_boundary_) { |
| 894 // TODO: implement snap to pixel: http://crbug.com/615554. | 894 // TODO: implement snap to pixel: http://crbug.com/615554. |
| 895 NOTIMPLEMENTED(); | 895 NOTIMPLEMENTED(); |
| 896 } | 896 } |
| 897 } | 897 } |
| 898 | 898 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 935 | 935 |
| 936 void WmWindowMus::RemoveLimitedPreTargetHandler(ui::EventHandler* handler) { | 936 void WmWindowMus::RemoveLimitedPreTargetHandler(ui::EventHandler* handler) { |
| 937 widget_->GetNativeWindow()->RemovePreTargetHandler(handler); | 937 widget_->GetNativeWindow()->RemovePreTargetHandler(handler); |
| 938 } | 938 } |
| 939 | 939 |
| 940 void WmWindowMus::OnTreeChanging(const TreeChangeParams& params) { | 940 void WmWindowMus::OnTreeChanging(const TreeChangeParams& params) { |
| 941 WmWindowObserver::TreeChangeParams wm_params; | 941 WmWindowObserver::TreeChangeParams wm_params; |
| 942 wm_params.target = Get(params.target); | 942 wm_params.target = Get(params.target); |
| 943 wm_params.new_parent = Get(params.new_parent); | 943 wm_params.new_parent = Get(params.new_parent); |
| 944 wm_params.old_parent = Get(params.old_parent); | 944 wm_params.old_parent = Get(params.old_parent); |
| 945 FOR_EACH_OBSERVER(WmWindowObserver, observers_, | 945 for (auto& observer : observers_) |
| 946 OnWindowTreeChanging(this, wm_params)); | 946 observer.OnWindowTreeChanging(this, wm_params); |
| 947 } | 947 } |
| 948 | 948 |
| 949 void WmWindowMus::OnTreeChanged(const TreeChangeParams& params) { | 949 void WmWindowMus::OnTreeChanged(const TreeChangeParams& params) { |
| 950 WmWindowObserver::TreeChangeParams wm_params; | 950 WmWindowObserver::TreeChangeParams wm_params; |
| 951 wm_params.target = Get(params.target); | 951 wm_params.target = Get(params.target); |
| 952 wm_params.new_parent = Get(params.new_parent); | 952 wm_params.new_parent = Get(params.new_parent); |
| 953 wm_params.old_parent = Get(params.old_parent); | 953 wm_params.old_parent = Get(params.old_parent); |
| 954 FOR_EACH_OBSERVER(WmWindowObserver, observers_, | 954 for (auto& observer : observers_) |
| 955 OnWindowTreeChanged(this, wm_params)); | 955 observer.OnWindowTreeChanged(this, wm_params); |
| 956 } | 956 } |
| 957 | 957 |
| 958 void WmWindowMus::OnWindowReordered(ui::Window* window, | 958 void WmWindowMus::OnWindowReordered(ui::Window* window, |
| 959 ui::Window* relative_window, | 959 ui::Window* relative_window, |
| 960 ui::mojom::OrderDirection direction) { | 960 ui::mojom::OrderDirection direction) { |
| 961 FOR_EACH_OBSERVER(WmWindowObserver, observers_, | 961 for (auto& observer : observers_) |
| 962 OnWindowStackingChanged(this)); | 962 observer.OnWindowStackingChanged(this); |
| 963 } | 963 } |
| 964 | 964 |
| 965 void WmWindowMus::OnWindowSharedPropertyChanged( | 965 void WmWindowMus::OnWindowSharedPropertyChanged( |
| 966 ui::Window* window, | 966 ui::Window* window, |
| 967 const std::string& name, | 967 const std::string& name, |
| 968 const std::vector<uint8_t>* old_data, | 968 const std::vector<uint8_t>* old_data, |
| 969 const std::vector<uint8_t>* new_data) { | 969 const std::vector<uint8_t>* new_data) { |
| 970 if (name == ui::mojom::WindowManager::kShowState_Property) { | 970 if (name == ui::mojom::WindowManager::kShowState_Property) { |
| 971 GetWindowState()->OnWindowShowStateChanged(); | 971 GetWindowState()->OnWindowShowStateChanged(); |
| 972 return; | 972 return; |
| 973 } | 973 } |
| 974 if (name == ui::mojom::WindowManager::kWindowTitle_Property) { | 974 if (name == ui::mojom::WindowManager::kWindowTitle_Property) { |
| 975 FOR_EACH_OBSERVER(WmWindowObserver, observers_, OnWindowTitleChanged(this)); | 975 for (auto& observer : observers_) |
| 976 observer.OnWindowTitleChanged(this); |
| 976 return; | 977 return; |
| 977 } | 978 } |
| 978 | 979 |
| 979 // Notify WmWindowObserver of certain white-listed property changes. | 980 // Notify WmWindowObserver of certain white-listed property changes. |
| 980 WmWindowProperty wm_property = WmWindowPropertyFromUI(name); | 981 WmWindowProperty wm_property = WmWindowPropertyFromUI(name); |
| 981 if (wm_property != WmWindowProperty::INVALID_PROPERTY) { | 982 if (wm_property != WmWindowProperty::INVALID_PROPERTY) { |
| 982 FOR_EACH_OBSERVER(WmWindowObserver, observers_, | 983 for (auto& observer : observers_) |
| 983 OnWindowPropertyChanged(this, wm_property)); | 984 observer.OnWindowPropertyChanged(this, wm_property); |
| 984 return; | 985 return; |
| 985 } | 986 } |
| 986 | 987 |
| 987 // Deal with snap to pixel. | 988 // Deal with snap to pixel. |
| 988 NOTIMPLEMENTED(); | 989 NOTIMPLEMENTED(); |
| 989 } | 990 } |
| 990 | 991 |
| 991 void WmWindowMus::OnWindowBoundsChanged(ui::Window* window, | 992 void WmWindowMus::OnWindowBoundsChanged(ui::Window* window, |
| 992 const gfx::Rect& old_bounds, | 993 const gfx::Rect& old_bounds, |
| 993 const gfx::Rect& new_bounds) { | 994 const gfx::Rect& new_bounds) { |
| 994 FOR_EACH_OBSERVER(WmWindowObserver, observers_, | 995 for (auto& observer : observers_) |
| 995 OnWindowBoundsChanged(this, old_bounds, new_bounds)); | 996 observer.OnWindowBoundsChanged(this, old_bounds, new_bounds); |
| 996 } | 997 } |
| 997 | 998 |
| 998 void WmWindowMus::OnWindowDestroying(ui::Window* window) { | 999 void WmWindowMus::OnWindowDestroying(ui::Window* window) { |
| 999 FOR_EACH_OBSERVER(WmWindowObserver, observers_, OnWindowDestroying(this)); | 1000 for (auto& observer : observers_) |
| 1001 observer.OnWindowDestroying(this); |
| 1000 } | 1002 } |
| 1001 | 1003 |
| 1002 void WmWindowMus::OnWindowDestroyed(ui::Window* window) { | 1004 void WmWindowMus::OnWindowDestroyed(ui::Window* window) { |
| 1003 FOR_EACH_OBSERVER(WmWindowObserver, observers_, OnWindowDestroyed(this)); | 1005 for (auto& observer : observers_) |
| 1006 observer.OnWindowDestroyed(this); |
| 1004 } | 1007 } |
| 1005 | 1008 |
| 1006 void WmWindowMus::OnWindowVisibilityChanging(ui::Window* window, bool visible) { | 1009 void WmWindowMus::OnWindowVisibilityChanging(ui::Window* window, bool visible) { |
| 1007 DCHECK_EQ(window_, window); | 1010 DCHECK_EQ(window_, window); |
| 1008 FOR_EACH_OBSERVER(WmWindowObserver, observers_, | 1011 for (auto& observer : observers_) |
| 1009 OnWindowVisibilityChanging(this, visible)); | 1012 observer.OnWindowVisibilityChanging(this, visible); |
| 1010 } | 1013 } |
| 1011 | 1014 |
| 1012 void WmWindowMus::OnWindowVisibilityChanged(ui::Window* window, bool visible) { | 1015 void WmWindowMus::OnWindowVisibilityChanged(ui::Window* window, bool visible) { |
| 1013 FOR_EACH_OBSERVER(WmWindowObserver, observers_, | 1016 for (auto& observer : observers_) |
| 1014 OnWindowVisibilityChanged(Get(window), visible)); | 1017 observer.OnWindowVisibilityChanged(Get(window), visible); |
| 1015 } | 1018 } |
| 1016 | 1019 |
| 1017 void WmWindowMus::OnTransientChildAdded(ui::Window* window, | 1020 void WmWindowMus::OnTransientChildAdded(ui::Window* window, |
| 1018 ui::Window* transient) { | 1021 ui::Window* transient) { |
| 1019 FOR_EACH_OBSERVER(WmTransientWindowObserver, transient_observers_, | 1022 for (auto& observer : transient_observers_) |
| 1020 OnTransientChildAdded(this, Get(transient))); | 1023 observer.OnTransientChildAdded(this, Get(transient)); |
| 1021 } | 1024 } |
| 1022 | 1025 |
| 1023 void WmWindowMus::OnTransientChildRemoved(ui::Window* window, | 1026 void WmWindowMus::OnTransientChildRemoved(ui::Window* window, |
| 1024 ui::Window* transient) { | 1027 ui::Window* transient) { |
| 1025 FOR_EACH_OBSERVER(WmTransientWindowObserver, transient_observers_, | 1028 for (auto& observer : transient_observers_) |
| 1026 OnTransientChildRemoved(this, Get(transient))); | 1029 observer.OnTransientChildRemoved(this, Get(transient)); |
| 1027 } | 1030 } |
| 1028 | 1031 |
| 1029 } // namespace mus | 1032 } // namespace mus |
| 1030 } // namespace ash | 1033 } // namespace ash |
| OLD | NEW |