New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 624157 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 6
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 612629



Sign in to add a comment

Need mus implementation of ImmersiveGestureHandlerClassic

Project Member Reported by sky@chromium.org, Jun 28 2016

Issue description

See the aura implementation. We can get this code close with a PointerWatcher, but that doesn't give us a way to stop propagation, which we need. We likely need a way for the wm to get events before clients.
 

Comment 1 by sky@chromium.org, Jun 28 2016

Blocking: 612629
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665

commit 281b34eeff49d0f6bc9b92eef2a8ac707cb5f665
Author: sky <sky@chromium.org>
Date: Wed Jun 29 03:55:36 2016

Refactors maximize mode event handling into its own class

This way we can have mash and ash implementations. I can't implement
this in terms of PointerWatcher as it needs to stop propagation.

BUG= 624157 ,  612629 
TEST=covered by tests
R=jamescook@chromium.org

Review-Url: https://codereview.chromium.org/2106823004
Cr-Commit-Position: refs/heads/master@{#402706}

[modify] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/ash.gyp
[modify] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/aura/wm_shell_aura.cc
[modify] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/aura/wm_shell_aura.h
[add] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/common/wm/maximize_mode/OWNERS
[add] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/common/wm/maximize_mode/maximize_mode_event_handler.cc
[add] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/common/wm/maximize_mode/maximize_mode_event_handler.h
[modify] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/common/wm_shell.h
[modify] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/mus/bridge/wm_shell_mus.cc
[modify] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/mus/bridge/wm_shell_mus.h
[add] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/wm/maximize_mode/maximize_mode_event_handler_aura.cc
[add] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/wm/maximize_mode/maximize_mode_event_handler_aura.h
[modify] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/wm/maximize_mode/maximize_mode_window_manager.cc
[modify] https://crrev.com/281b34eeff49d0f6bc9b92eef2a8ac707cb5f665/ash/wm/maximize_mode/maximize_mode_window_manager.h

Components: Internals>MUS
Labels: Proj-Mustash

Comment 4 by sadrul@chromium.org, Nov 22 2016

Cc: moshayedi@chromium.org riajiang@chromium.org
Labels: -Pri-3 -mash Proj-Mustash-Mash Pri-2
Owner: sadrul@chromium.org
Status: Assigned (was: Untriaged)
Components: -Internals>MUS Internals>Services>WindowService
Components: -MUS
Components: -Internals>Services>WindowService Internals>Services>Ash
Labels: -Proj-Mustash-Mash
Labels: -Proj-Mustash Proj-Mash-SingleProcess
Summary: Need mus implementation of ImmersiveGestureHandlerClassic (was: Need mus implementation of MaximizeModeEventHandler)
Updated to reflect new names
Owner: est...@chromium.org
Project Member

Comment 10 by bugdroid1@chromium.org, Aug 24

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0a96157aac6861890cae5a124367432428752976

commit 0a96157aac6861890cae5a124367432428752976
Author: Evan Stade <estade@chromium.org>
Date: Fri Aug 24 20:33:39 2018

Remove ImmersiveHandlerFactoryMash.

It's not used in any configuration. Ash creates
ImmersiveHandlerFactoryAsh and the client (Chrome) creates
ImmersiveHandlerFactoryMus.

Bug:  624157 
Change-Id: I123e28a46d14c0dfbb931144b4edebb9ea02eaa2
Reviewed-on: https://chromium-review.googlesource.com/1187635
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585973}
[modify] https://crrev.com/0a96157aac6861890cae5a124367432428752976/ash/BUILD.gn
[delete] https://crrev.com/9e07b5b9aa717bb23d9dcc0a9f5d1760afab3331/ash/wm/immersive_handler_factory_mash.cc
[delete] https://crrev.com/9e07b5b9aa717bb23d9dcc0a9f5d1760afab3331/ash/wm/immersive_handler_factory_mash.h

Cc: est...@chromium.org sky@chromium.org
 Issue 640394  has been merged into this issue.
Project Member

Comment 12 by bugdroid1@chromium.org, Nov 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b3fa200760daad23aedfea73cc079edcd927205c

commit b3fa200760daad23aedfea73cc079edcd927205c
Author: Evan Stade <estade@chromium.org>
Date: Tue Nov 06 18:00:16 2018

Refactor ImmersiveGestureHandler to work in Mash.

Currently, ImmersiveGestureHandlerClassic installs itself as a pretarget
handler on Shell. This is necessary to get events from bezel sensors,
which have bounds outside the immersive fs window. It also forwards
gesture events to ImmersiveFullscreenController.

Keep the part of ImmersiveGestureHandlerClassic that handles drag-
triggering gesture events in tablet mode (i.e. most of the class) and
run that within Ash in both Classic and Mash configurations.

Make ImmersiveFullscreenController a pretarget handler for the toplevel
window when it's in immersive mode. This works in either Ash or client
as ImmersiveFullscreenController doesn't need to get events outside of
the window's bounds. ImmersiveFullscreenController is now both an
EventHandler (for gesture events) and an EventObserver (for mouse and
touch events).

Bug:  624157 ,640374
Change-Id: I83536cb407b4ac890db63d4c6a0fe98b7912a3f4
Reviewed-on: https://chromium-review.googlesource.com/c/1300678
Commit-Queue: Evan Stade <estade@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605733}
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/BUILD.gn
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/public/cpp/BUILD.gn
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/public/cpp/immersive/immersive_context.h
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/public/cpp/immersive/immersive_fullscreen_controller.cc
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/public/cpp/immersive/immersive_fullscreen_controller.h
[delete] https://crrev.com/04ffe015fad5fa68bc571938d1aa06c955d34812/ash/public/cpp/immersive/immersive_gesture_handler.h
[delete] https://crrev.com/04ffe015fad5fa68bc571938d1aa06c955d34812/ash/public/cpp/immersive/immersive_handler_factory.cc
[delete] https://crrev.com/04ffe015fad5fa68bc571938d1aa06c955d34812/ash/public/cpp/immersive/immersive_handler_factory.h
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/shell.cc
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/shell.h
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/wm/immersive_context_ash.cc
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/wm/immersive_context_ash.h
[rename] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/wm/immersive_gesture_drag_handler.cc
[add] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/wm/immersive_gesture_drag_handler.h
[delete] https://crrev.com/04ffe015fad5fa68bc571938d1aa06c955d34812/ash/wm/immersive_gesture_handler_classic.h
[delete] https://crrev.com/04ffe015fad5fa68bc571938d1aa06c955d34812/ash/wm/immersive_handler_factory_ash.cc
[delete] https://crrev.com/04ffe015fad5fa68bc571938d1aa06c955d34812/ash/wm/immersive_handler_factory_ash.h
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/wm/window_state.cc
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/ash/wm/window_state.h
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.cc
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/chrome/browser/ui/ash/chrome_browser_main_extra_parts_ash.h
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/chrome/browser/ui/views/frame/immersive_context_mus.cc
[modify] https://crrev.com/b3fa200760daad23aedfea73cc079edcd927205c/chrome/browser/ui/views/frame/immersive_context_mus.h
[delete] https://crrev.com/04ffe015fad5fa68bc571938d1aa06c955d34812/chrome/browser/ui/views/frame/immersive_handler_factory_mus.cc
[delete] https://crrev.com/04ffe015fad5fa68bc571938d1aa06c955d34812/chrome/browser/ui/views/frame/immersive_handler_factory_mus.h

Status: Fixed (was: Assigned)

Sign in to add a comment