Index: ash/common/wm/default_state.cc |
diff --git a/ash/common/wm/default_state.cc b/ash/common/wm/default_state.cc |
index d7e49d9579bb57bb16e98241e359238de9cefeaf..280b61a56d8b099b3bce3abdf3fe485a02a03eb5 100644 |
--- a/ash/common/wm/default_state.cc |
+++ b/ash/common/wm/default_state.cc |
@@ -179,14 +179,20 @@ void DefaultState::OnWMEvent(WindowState* window_state, const WMEvent* event) { |
: WINDOW_STATE_TYPE_NORMAL; |
break; |
case WM_EVENT_MAXIMIZE: |
+ if (window_state->IsTrustedPinned()) |
+ return; |
next_state_type = WINDOW_STATE_TYPE_MAXIMIZED; |
break; |
case WM_EVENT_MINIMIZE: |
+ if (window_state->IsTrustedPinned()) |
+ return; |
next_state_type = current_state_type == WINDOW_STATE_TYPE_DOCKED |
? WINDOW_STATE_TYPE_DOCKED_MINIMIZED |
: WINDOW_STATE_TYPE_MINIMIZED; |
break; |
case WM_EVENT_FULLSCREEN: |
+ if (window_state->IsTrustedPinned()) |
+ return; |
next_state_type = WINDOW_STATE_TYPE_FULLSCREEN; |
break; |
case WM_EVENT_SNAP_LEFT: |
@@ -293,6 +299,8 @@ bool DefaultState::ProcessCompoundEvents(WindowState* window_state, |
switch (event->type()) { |
case WM_EVENT_TOGGLE_MAXIMIZE_CAPTION: |
+ if (window_state->IsTrustedPinned()) |
+ return true; |
if (window_state->IsFullscreen()) { |
const wm::WMEvent event(wm::WM_EVENT_TOGGLE_FULLSCREEN); |
window_state->OnWMEvent(&event); |
@@ -304,6 +312,8 @@ bool DefaultState::ProcessCompoundEvents(WindowState* window_state, |
} |
return true; |
case WM_EVENT_TOGGLE_MAXIMIZE: |
+ if (window_state->IsTrustedPinned()) |
+ return true; |
if (window_state->IsFullscreen()) { |
const wm::WMEvent event(wm::WM_EVENT_TOGGLE_FULLSCREEN); |
window_state->OnWMEvent(&event); |
@@ -314,6 +324,8 @@ bool DefaultState::ProcessCompoundEvents(WindowState* window_state, |
} |
return true; |
case WM_EVENT_TOGGLE_VERTICAL_MAXIMIZE: { |
+ if (window_state->IsTrustedPinned()) |
+ return true; |
gfx::Rect work_area = GetDisplayWorkAreaBoundsInParent(window); |
// Maximize vertically if: |
@@ -338,6 +350,9 @@ bool DefaultState::ProcessCompoundEvents(WindowState* window_state, |
return true; |
} |
case WM_EVENT_TOGGLE_HORIZONTAL_MAXIMIZE: { |
+ if (window_state->IsTrustedPinned()) |
+ return true; |
+ |
// Maximize horizontally if: |
// - The window does not have a max width defined. |
// - The window is snapped or has the normal state type. |
@@ -371,6 +386,8 @@ bool DefaultState::ProcessCompoundEvents(WindowState* window_state, |
return true; |
} |
case WM_EVENT_TOGGLE_FULLSCREEN: |
+ if (window_state->IsTrustedPinned()) |
+ return true; |
ToggleFullScreen(window_state, window_state->delegate()); |
return true; |
case WM_EVENT_CYCLE_SNAP_DOCK_LEFT: |