Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Unified Diff: ash/common/wm/maximize_mode/maximize_mode_window_state.cc

Issue 2285633002: Add WM_EVENT_TRUSTED_PIN and WINDOW_STATE_TYPE_TRUSTED_PINNED to Ash. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added trusted argument. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/common/wm/maximize_mode/maximize_mode_window_state.cc
diff --git a/ash/common/wm/maximize_mode/maximize_mode_window_state.cc b/ash/common/wm/maximize_mode/maximize_mode_window_state.cc
index 307a73036c817714f0176949c6661593a84b552f..7dc4030c21e177985d06be6d5c2d58608c751b08 100644
--- a/ash/common/wm/maximize_mode/maximize_mode_window_state.cc
+++ b/ash/common/wm/maximize_mode/maximize_mode_window_state.cc
@@ -142,6 +142,10 @@ void MaximizeModeWindowState::OnWMEvent(wm::WindowState* window_state,
if (!WmShell::Get()->IsPinned())
UpdateWindow(window_state, wm::WINDOW_STATE_TYPE_PINNED, true);
break;
+ case wm::WM_EVENT_TRUSTED_PIN:
+ if (!WmShell::Get()->IsPinned())
+ UpdateWindow(window_state, wm::WINDOW_STATE_TYPE_TRUSTED_PINNED, true);
+ break;
case wm::WM_EVENT_TOGGLE_MAXIMIZE_CAPTION:
case wm::WM_EVENT_TOGGLE_VERTICAL_MAXIMIZE:
case wm::WM_EVENT_TOGGLE_HORIZONTAL_MAXIMIZE:
@@ -176,7 +180,8 @@ void MaximizeModeWindowState::OnWMEvent(wm::WindowState* window_state,
window_state->SetRestoreBoundsInParent(bounds_in_parent);
} else if (current_state_type_ != wm::WINDOW_STATE_TYPE_MINIMIZED &&
current_state_type_ != wm::WINDOW_STATE_TYPE_FULLSCREEN &&
- current_state_type_ != wm::WINDOW_STATE_TYPE_PINNED) {
+ current_state_type_ != wm::WINDOW_STATE_TYPE_PINNED &&
+ current_state_type_ != wm::WINDOW_STATE_TYPE_TRUSTED_PINNED) {
// In all other cases (except for minimized windows) we respect the
// requested bounds and center it to a fully visible area on the screen.
gfx::Rect bounds_in_parent =
@@ -232,7 +237,8 @@ void MaximizeModeWindowState::AttachState(
if (current_state_type_ != wm::WINDOW_STATE_TYPE_MAXIMIZED &&
current_state_type_ != wm::WINDOW_STATE_TYPE_MINIMIZED &&
current_state_type_ != wm::WINDOW_STATE_TYPE_FULLSCREEN &&
- current_state_type_ != wm::WINDOW_STATE_TYPE_PINNED) {
+ current_state_type_ != wm::WINDOW_STATE_TYPE_PINNED &&
+ current_state_type_ != wm::WINDOW_STATE_TYPE_TRUSTED_PINNED) {
UpdateWindow(window_state, GetMaximizedOrCenteredWindowType(window_state),
true);
}
@@ -253,6 +259,7 @@ void MaximizeModeWindowState::UpdateWindow(wm::WindowState* window_state,
DCHECK(target_state == wm::WINDOW_STATE_TYPE_MINIMIZED ||
target_state == wm::WINDOW_STATE_TYPE_MAXIMIZED ||
target_state == wm::WINDOW_STATE_TYPE_PINNED ||
+ target_state == wm::WINDOW_STATE_TYPE_TRUSTED_PINNED ||
(target_state == wm::WINDOW_STATE_TYPE_NORMAL &&
!window_state->CanMaximize()) ||
target_state == wm::WINDOW_STATE_TYPE_FULLSCREEN);
@@ -283,7 +290,9 @@ void MaximizeModeWindowState::UpdateWindow(wm::WindowState* window_state,
window_state->NotifyPostStateTypeChange(old_state_type);
if (old_state_type == wm::WINDOW_STATE_TYPE_PINNED ||
- target_state == wm::WINDOW_STATE_TYPE_PINNED) {
+ target_state == wm::WINDOW_STATE_TYPE_PINNED ||
+ old_state_type == wm::WINDOW_STATE_TYPE_TRUSTED_PINNED ||
+ target_state == wm::WINDOW_STATE_TYPE_TRUSTED_PINNED) {
WmShell::Get()->SetPinnedWindow(window_state->window());
}

Powered by Google App Engine
This is Rietveld 408576698