| Index: ash/wm/lock_window_state.h
|
| diff --git a/ash/wm/lock_window_state.h b/ash/wm/lock_window_state.h
|
| index 9a164ca87a514c5964d0737748cd58f71ce07cb1..5947e70ee3a9cf6e21527d63f644b1a3fc2245c4 100644
|
| --- a/ash/wm/lock_window_state.h
|
| +++ b/ash/wm/lock_window_state.h
|
| @@ -12,13 +12,18 @@ namespace ash {
|
|
|
| // The LockWindowState implementation which reduces all possible window
|
| // states to maximized (or normal if can't be maximized)/minimized/full-screen
|
| -// and is applied only on lock (login) window container.
|
| +// and is applied only on lock (login) window container and window containers
|
| +// associated with apps handling lock screen tray actions.
|
| // LockWindowState implements Ash behavior without state machine.
|
| class LockWindowState : public wm::WindowState::State {
|
| public:
|
| // The |window|'s state object will be modified to use this new window mode
|
| // state handler.
|
| - explicit LockWindowState(WmWindow* window);
|
| + // |shelf_visible| - if set, the maximized window size will be
|
| + // restricted to work area defined by ash shelf, rather than taking only
|
| + // virtual keyboard window into consideration when calculating the window
|
| + // size.
|
| + LockWindowState(WmWindow* window, bool shelf_visible);
|
| ~LockWindowState() override;
|
|
|
| // WindowState::State overrides:
|
| @@ -31,6 +36,7 @@ class LockWindowState : public wm::WindowState::State {
|
|
|
| // Creates new LockWindowState instance and attaches it to |window|.
|
| static wm::WindowState* SetLockWindowState(WmWindow* window);
|
| + static wm::WindowState* SetLockWindowStateWithVisibleShelf(WmWindow* window);
|
|
|
| private:
|
| // Updates the window to |new_state_type| and resulting bounds:
|
| @@ -44,6 +50,9 @@ class LockWindowState : public wm::WindowState::State {
|
| wm::WindowStateType GetMaximizedOrCenteredWindowType(
|
| wm::WindowState* window_state);
|
|
|
| + // Returns boudns to be used for the provided window.
|
| + gfx::Rect GetWindowBounds(aura::Window* window);
|
| +
|
| // Updates the bounds taking virtual keyboard bounds into consideration.
|
| void UpdateBounds(wm::WindowState* window_state);
|
|
|
| @@ -51,6 +60,9 @@ class LockWindowState : public wm::WindowState::State {
|
| // WM_STATE_TYPE{NORMAL, MINIMIZED, MAXIMIZED}.
|
| wm::WindowStateType current_state_type_;
|
|
|
| + // Restrict window size to the work area defined by the shelf.
|
| + bool shelf_visible_ = false;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(LockWindowState);
|
| };
|
|
|
|
|