Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/common/wm/maximize_mode/maximize_mode_window_state.h" | 5 #include "ash/common/wm/maximize_mode/maximize_mode_window_state.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "ash/common/wm/maximize_mode/maximize_mode_window_manager.h" | 9 #include "ash/common/wm/maximize_mode/maximize_mode_window_manager.h" |
| 10 #include "ash/common/wm/window_animation_types.h" | 10 #include "ash/common/wm/window_animation_types.h" |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 126 | 126 |
| 127 defer_bounds_updates_ = defer_bounds_updates; | 127 defer_bounds_updates_ = defer_bounds_updates; |
| 128 if (!defer_bounds_updates_) | 128 if (!defer_bounds_updates_) |
| 129 UpdateBounds(window_->GetWindowState(), true); | 129 UpdateBounds(window_->GetWindowState(), true); |
| 130 } | 130 } |
| 131 | 131 |
| 132 void MaximizeModeWindowState::OnWMEvent(wm::WindowState* window_state, | 132 void MaximizeModeWindowState::OnWMEvent(wm::WindowState* window_state, |
| 133 const wm::WMEvent* event) { | 133 const wm::WMEvent* event) { |
| 134 switch (event->type()) { | 134 switch (event->type()) { |
| 135 case wm::WM_EVENT_TOGGLE_FULLSCREEN: | 135 case wm::WM_EVENT_TOGGLE_FULLSCREEN: |
| 136 if (window_state->IsTrustedPinned()) | |
| 137 return; | |
|
oshima
2016/12/21 01:38:58
FYI: ARC windows are no longer using this class. W
hidehiko
2016/12/21 06:57:30
Thanks, so reverted this file.
Let's address remov
| |
| 136 ToggleFullScreen(window_state, window_state->delegate()); | 138 ToggleFullScreen(window_state, window_state->delegate()); |
| 137 break; | 139 break; |
| 138 case wm::WM_EVENT_FULLSCREEN: | 140 case wm::WM_EVENT_FULLSCREEN: |
| 141 if (window_state->IsTrustedPinned()) | |
| 142 return; | |
| 139 UpdateWindow(window_state, wm::WINDOW_STATE_TYPE_FULLSCREEN, true); | 143 UpdateWindow(window_state, wm::WINDOW_STATE_TYPE_FULLSCREEN, true); |
| 140 break; | 144 break; |
| 141 case wm::WM_EVENT_PIN: | 145 case wm::WM_EVENT_PIN: |
| 142 if (!WmShell::Get()->IsPinned()) | 146 if (!WmShell::Get()->IsPinned()) |
| 143 UpdateWindow(window_state, wm::WINDOW_STATE_TYPE_PINNED, true); | 147 UpdateWindow(window_state, wm::WINDOW_STATE_TYPE_PINNED, true); |
| 144 break; | 148 break; |
| 145 case wm::WM_EVENT_TRUSTED_PIN: | 149 case wm::WM_EVENT_TRUSTED_PIN: |
| 146 if (!WmShell::Get()->IsPinned()) | 150 if (!WmShell::Get()->IsPinned()) |
| 147 UpdateWindow(window_state, wm::WINDOW_STATE_TYPE_TRUSTED_PINNED, true); | 151 UpdateWindow(window_state, wm::WINDOW_STATE_TYPE_TRUSTED_PINNED, true); |
| 148 break; | 152 break; |
| 149 case wm::WM_EVENT_TOGGLE_MAXIMIZE_CAPTION: | 153 case wm::WM_EVENT_TOGGLE_MAXIMIZE_CAPTION: |
| 150 case wm::WM_EVENT_TOGGLE_VERTICAL_MAXIMIZE: | 154 case wm::WM_EVENT_TOGGLE_VERTICAL_MAXIMIZE: |
| 151 case wm::WM_EVENT_TOGGLE_HORIZONTAL_MAXIMIZE: | 155 case wm::WM_EVENT_TOGGLE_HORIZONTAL_MAXIMIZE: |
| 152 case wm::WM_EVENT_TOGGLE_MAXIMIZE: | 156 case wm::WM_EVENT_TOGGLE_MAXIMIZE: |
| 157 case wm::WM_EVENT_MAXIMIZE: | |
| 158 if (window_state->IsTrustedPinned()) | |
| 159 return; | |
| 160 // Fall through. | |
| 153 case wm::WM_EVENT_CYCLE_SNAP_DOCK_LEFT: | 161 case wm::WM_EVENT_CYCLE_SNAP_DOCK_LEFT: |
| 154 case wm::WM_EVENT_CYCLE_SNAP_DOCK_RIGHT: | 162 case wm::WM_EVENT_CYCLE_SNAP_DOCK_RIGHT: |
| 155 case wm::WM_EVENT_CENTER: | 163 case wm::WM_EVENT_CENTER: |
| 156 case wm::WM_EVENT_SNAP_LEFT: | 164 case wm::WM_EVENT_SNAP_LEFT: |
| 157 case wm::WM_EVENT_SNAP_RIGHT: | 165 case wm::WM_EVENT_SNAP_RIGHT: |
| 158 case wm::WM_EVENT_NORMAL: | 166 case wm::WM_EVENT_NORMAL: |
| 159 case wm::WM_EVENT_MAXIMIZE: | |
| 160 case wm::WM_EVENT_DOCK: | 167 case wm::WM_EVENT_DOCK: |
| 161 UpdateWindow(window_state, GetMaximizedOrCenteredWindowType(window_state), | 168 UpdateWindow(window_state, GetMaximizedOrCenteredWindowType(window_state), |
| 162 true); | 169 true); |
| 163 return; | 170 return; |
| 164 case wm::WM_EVENT_MINIMIZE: | 171 case wm::WM_EVENT_MINIMIZE: |
| 172 if (window_state->IsTrustedPinned()) | |
| 173 return; | |
| 165 UpdateWindow(window_state, wm::WINDOW_STATE_TYPE_MINIMIZED, true); | 174 UpdateWindow(window_state, wm::WINDOW_STATE_TYPE_MINIMIZED, true); |
| 166 return; | 175 return; |
| 167 case wm::WM_EVENT_SHOW_INACTIVE: | 176 case wm::WM_EVENT_SHOW_INACTIVE: |
| 168 return; | 177 return; |
| 169 case wm::WM_EVENT_SET_BOUNDS: | 178 case wm::WM_EVENT_SET_BOUNDS: |
| 170 if (window_state->allow_set_bounds_in_maximized()) { | 179 if (window_state->allow_set_bounds_in_maximized()) { |
| 171 window_state->SetBoundsConstrained( | 180 window_state->SetBoundsConstrained( |
| 172 static_cast<const wm::SetBoundsEvent*>(event)->requested_bounds()); | 181 static_cast<const wm::SetBoundsEvent*>(event)->requested_bounds()); |
| 173 } else if (current_state_type_ == wm::WINDOW_STATE_TYPE_MAXIMIZED) { | 182 } else if (current_state_type_ == wm::WINDOW_STATE_TYPE_MAXIMIZED) { |
| 174 // Having a maximized window, it could have been created with an empty | 183 // Having a maximized window, it could have been created with an empty |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 328 // avoid flashing. | 337 // avoid flashing. |
| 329 if (window_state->IsMaximized()) | 338 if (window_state->IsMaximized()) |
| 330 window_state->SetBoundsDirectCrossFade(bounds_in_parent); | 339 window_state->SetBoundsDirectCrossFade(bounds_in_parent); |
| 331 else | 340 else |
| 332 window_state->SetBoundsDirectAnimated(bounds_in_parent); | 341 window_state->SetBoundsDirectAnimated(bounds_in_parent); |
| 333 } | 342 } |
| 334 } | 343 } |
| 335 } | 344 } |
| 336 | 345 |
| 337 } // namespace ash | 346 } // namespace ash |
| OLD | NEW |