| Index: ash/wm/gestures/shelf_gesture_handler.cc
|
| diff --git a/ash/wm/gestures/shelf_gesture_handler.cc b/ash/wm/gestures/shelf_gesture_handler.cc
|
| index aba69fd9e803655ceafbb3cb91cd0cb5969c96fc..2d3e9b99a5e40de57ab66e85594fea98c70a3698 100644
|
| --- a/ash/wm/gestures/shelf_gesture_handler.cc
|
| +++ b/ash/wm/gestures/shelf_gesture_handler.cc
|
| @@ -12,6 +12,7 @@
|
| #include "ash/shell.h"
|
| #include "ash/system/status_area_widget.h"
|
| #include "ash/wm/gestures/tray_gesture_handler.h"
|
| +#include "ash/wm/window_properties.h"
|
| #include "ash/wm/window_util.h"
|
| #include "ui/aura/window.h"
|
| #include "ui/compositor/layer.h"
|
| @@ -37,14 +38,17 @@ bool ShelfGestureHandler::ProcessGestureEvent(const ui::GestureEvent& event) {
|
| return false;
|
| }
|
|
|
| - // The gesture are disabled for fullscreen windows.
|
| - aura::Window* active = wm::GetActiveWindow();
|
| - if (active && wm::IsWindowFullscreen(active))
|
| + // TODO(oshima): Find the root window controller from event's location.
|
| + RootWindowController* controller = Shell::GetPrimaryRootWindowController();
|
| +
|
| + ShelfLayoutManager* shelf = controller->GetShelfLayoutManager();
|
| +
|
| + // The gesture are disabled for fullscreen windows that are not in immersive
|
| + // mode.
|
| + aura::Window* fullscreen = controller->GetFullscreenWindow();
|
| + if (fullscreen && !shelf->FullscreenWithMinimalChrome())
|
| return false;
|
|
|
| - // TODO(oshima): Find the root window controller from event's location.
|
| - ShelfLayoutManager* shelf =
|
| - Shell::GetPrimaryRootWindowController()->GetShelfLayoutManager();
|
| if (event.type() == ui::ET_GESTURE_SCROLL_BEGIN) {
|
| drag_in_progress_ = true;
|
| shelf->StartGestureDrag(event);
|
|
|