New issue
Advanced search Search tips

Issue 877176 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 13
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug



Sign in to add a comment

[Host] Allow 'stop sharing' dialog to auto-hide on Me2Me connections

Project Member Reported by joedow@chromium.org, Aug 23

Issue description

This is an often requested feature for non-curtained, Me2Me sessions.

I have a design doc that is being discussed within the team, once we have signoff I can make the changes to the disconnect window to allow for it to be hidden.

In addition to the changes needed for the disconnect window, I also want to refactor the LocalInputMonitor class as it will be needed in my design but requires some work to separate the ClientSessionControl logic out of the input monitors.

Note that this work sets us up to implement similar functionality for MacOS, however that is not in scope for this bug.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 24

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

commit e721fb2d263468f1a0eaae9987c23389e7f32014
Author: Joe Downing <joedow@chromium.org>
Date: Fri Aug 24 17:51:12 2018

[Input Monitor] Branching base files for future refactoring

I'm making duplicates of the existing LocalInputMonitor classes
and checking them in prior to the refactoring.  This is make future
CLs easier to review as I've found that the way Git handles branching
of files isn't deterministic enough and so it is easy to lose history
and diff bases if too much of the files are changed.  Thus this CL.

My plan is to introduce specific listener classes for Mouse, Keyboard,
Touch, and 'Disconnect Hotkey'which will be passed to the
LocalInputMonitor which will then create the appropriate input monitor
for that input type.

BUG= 877176 

Change-Id: I8b259e416a15b4b4c6f082481800066d97317040
Reviewed-on: https://chromium-review.googlesource.com/1184250
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Joe Downing <joedow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585902}
[add] https://crrev.com/e721fb2d263468f1a0eaae9987c23389e7f32014/remoting/host/local_hotkey_input_monitor.h
[add] https://crrev.com/e721fb2d263468f1a0eaae9987c23389e7f32014/remoting/host/local_hotkey_input_monitor_chromeos.cc
[add] https://crrev.com/e721fb2d263468f1a0eaae9987c23389e7f32014/remoting/host/local_hotkey_input_monitor_mac.mm
[add] https://crrev.com/e721fb2d263468f1a0eaae9987c23389e7f32014/remoting/host/local_hotkey_input_monitor_x11.cc
[add] https://crrev.com/e721fb2d263468f1a0eaae9987c23389e7f32014/remoting/host/local_mouse_input_monitor.h
[add] https://crrev.com/e721fb2d263468f1a0eaae9987c23389e7f32014/remoting/host/local_mouse_input_monitor_chromeos.cc
[add] https://crrev.com/e721fb2d263468f1a0eaae9987c23389e7f32014/remoting/host/local_mouse_input_monitor_mac.mm
[add] https://crrev.com/e721fb2d263468f1a0eaae9987c23389e7f32014/remoting/host/local_mouse_input_monitor_win.cc
[add] https://crrev.com/e721fb2d263468f1a0eaae9987c23389e7f32014/remoting/host/local_mouse_input_monitor_x11.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Aug 24

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

commit c2772c64229326a631608e6081dd2aa27c02e370
Author: Joe Downing <joedow@chromium.org>
Date: Fri Aug 24 18:33:59 2018

[Input Monitor] Refactoring LocalInputMonitor into mouse and kb variants

This work is to support the auto-hide disconnect window.  The idea is to
allow consumers of the Local*InputMonitor interfaces to choose which
Monitors they want to subscribe to.  This means breaking the current
impls up into Mouse and Hotkey variations.

Change-Id: Id38e37e23b0b4747a672d8f4b21fe9fd1656c680
Bug:  877176 
Reviewed-on: https://chromium-review.googlesource.com/1185289
Commit-Queue: Joe Downing <joedow@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585914}
[modify] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/BUILD.gn
[modify] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_hotkey_input_monitor.h
[modify] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_hotkey_input_monitor_chromeos.cc
[modify] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_hotkey_input_monitor_mac.mm
[add] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_hotkey_input_monitor_win.cc
[modify] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_hotkey_input_monitor_x11.cc
[add] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_input_monitor.cc
[modify] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_input_monitor.h
[delete] https://crrev.com/a70f2f12399586dbabbce7d21354b05352bc5004/remoting/host/local_input_monitor_chromeos.cc
[delete] https://crrev.com/a70f2f12399586dbabbce7d21354b05352bc5004/remoting/host/local_input_monitor_mac.mm
[delete] https://crrev.com/a70f2f12399586dbabbce7d21354b05352bc5004/remoting/host/local_input_monitor_win.cc
[delete] https://crrev.com/a70f2f12399586dbabbce7d21354b05352bc5004/remoting/host/local_input_monitor_x11.cc
[modify] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_mouse_input_monitor.h
[modify] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_mouse_input_monitor_chromeos.cc
[modify] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_mouse_input_monitor_mac.mm
[modify] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_mouse_input_monitor_win.cc
[modify] https://crrev.com/c2772c64229326a631608e6081dd2aa27c02e370/remoting/host/local_mouse_input_monitor_x11.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 24

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

commit da1eb5e5063ddd5e2d6299c16ede9f5901f6f402
Author: Joe Downing <joedow@chromium.org>
Date: Fri Aug 24 23:49:06 2018

Decouple LocalInputMonitor sub-classes from ClientSessionControl

This change decouples the mouse/keyboard input monitors from
ClientSessionControl and allows them to be used for other purposes.

Bug:  877176 
Change-Id: Idcefa8a8dd1d36bb57f83b8a27d8aba90981466f
Reviewed-on: https://chromium-review.googlesource.com/1189027
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Joe Downing <joedow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#586061}
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_hotkey_input_monitor.h
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_hotkey_input_monitor_chromeos.cc
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_hotkey_input_monitor_mac.mm
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_hotkey_input_monitor_win.cc
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_hotkey_input_monitor_x11.cc
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_input_monitor.cc
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_input_monitor.h
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_mouse_input_monitor.h
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_mouse_input_monitor_chromeos.cc
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_mouse_input_monitor_mac.mm
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_mouse_input_monitor_win.cc
[modify] https://crrev.com/da1eb5e5063ddd5e2d6299c16ede9f5901f6f402/remoting/host/input_monitor/local_mouse_input_monitor_x11.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 29

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

commit f86c8a0177706620d4d0837a12baf0457b5c18a3
Author: Joe Downing <joedow@chromium.org>
Date: Wed Aug 29 16:49:04 2018

[Input Monitor] Adding delayed start method to LocalInputMonitor

This CL updates LocalInputMonitor so it can be initialized and started
in separate calls.  This allows an instance to be created with the
appropriate task runners and then passed into a different class which
can set the callbacks for each input type.

This change makes usage of the monitor simpler for classes, like the
disconnect window, which do not have knowledge of task runners.  It
also decouples the mouse/keyboard input monitors from
ClientSessionControl and allows them to be used for other purposes.

Change-Id: I6c05acd84090cb4210b81863c09d243412c1bd87
BUG:  877176 
Reviewed-on: https://chromium-review.googlesource.com/1187015
Commit-Queue: Joe Downing <joedow@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587157}
[modify] https://crrev.com/f86c8a0177706620d4d0837a12baf0457b5c18a3/remoting/host/input_monitor/local_input_monitor.cc
[modify] https://crrev.com/f86c8a0177706620d4d0837a12baf0457b5c18a3/remoting/host/input_monitor/local_input_monitor.h
[modify] https://crrev.com/f86c8a0177706620d4d0837a12baf0457b5c18a3/remoting/host/input_monitor/local_input_monitor_unittest.cc
[modify] https://crrev.com/f86c8a0177706620d4d0837a12baf0457b5c18a3/remoting/host/input_monitor/local_mouse_input_monitor.h
[modify] https://crrev.com/f86c8a0177706620d4d0837a12baf0457b5c18a3/remoting/host/input_monitor/local_mouse_input_monitor_chromeos.cc
[modify] https://crrev.com/f86c8a0177706620d4d0837a12baf0457b5c18a3/remoting/host/input_monitor/local_mouse_input_monitor_mac.mm
[modify] https://crrev.com/f86c8a0177706620d4d0837a12baf0457b5c18a3/remoting/host/input_monitor/local_mouse_input_monitor_win.cc
[modify] https://crrev.com/f86c8a0177706620d4d0837a12baf0457b5c18a3/remoting/host/input_monitor/local_mouse_input_monitor_x11.cc
[modify] https://crrev.com/f86c8a0177706620d4d0837a12baf0457b5c18a3/remoting/host/it2me_desktop_environment.cc
[modify] https://crrev.com/f86c8a0177706620d4d0837a12baf0457b5c18a3/remoting/host/me2me_desktop_environment.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 29

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

commit a6d9e56fb8728df1e14697cbe0de47969a0d5795
Author: Joe Downing <joedow@chromium.org>
Date: Wed Aug 29 19:20:44 2018

[Input monitor] Adding a Local Keyboard Input Monitor for Windows

This CL splits up the existing Mouse input monitor for Windows into
a common base class for mouse and keyboard and adds the keyboard
implementation for Windows.  We can implement the other platforms
as needed.

Bug:  877176 
Change-Id: I2ae2168ff340b81306065e647a2d1bd17b59c9d9
Reviewed-on: https://chromium-review.googlesource.com/1187335
Commit-Queue: Joe Downing <joedow@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587235}
[modify] https://crrev.com/a6d9e56fb8728df1e14697cbe0de47969a0d5795/remoting/host/input_monitor/BUILD.gn
[modify] https://crrev.com/a6d9e56fb8728df1e14697cbe0de47969a0d5795/remoting/host/input_monitor/local_input_monitor.cc
[add] https://crrev.com/a6d9e56fb8728df1e14697cbe0de47969a0d5795/remoting/host/input_monitor/local_input_monitor_win.cc
[add] https://crrev.com/a6d9e56fb8728df1e14697cbe0de47969a0d5795/remoting/host/input_monitor/local_input_monitor_win.h
[add] https://crrev.com/a6d9e56fb8728df1e14697cbe0de47969a0d5795/remoting/host/input_monitor/local_keyboard_input_monitor.h
[add] https://crrev.com/a6d9e56fb8728df1e14697cbe0de47969a0d5795/remoting/host/input_monitor/local_keyboard_input_monitor_chromeos.cc
[add] https://crrev.com/a6d9e56fb8728df1e14697cbe0de47969a0d5795/remoting/host/input_monitor/local_keyboard_input_monitor_mac.mm
[add] https://crrev.com/a6d9e56fb8728df1e14697cbe0de47969a0d5795/remoting/host/input_monitor/local_keyboard_input_monitor_win.cc
[add] https://crrev.com/a6d9e56fb8728df1e14697cbe0de47969a0d5795/remoting/host/input_monitor/local_keyboard_input_monitor_x11.cc
[modify] https://crrev.com/a6d9e56fb8728df1e14697cbe0de47969a0d5795/remoting/host/input_monitor/local_mouse_input_monitor_win.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 30

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

commit 8e95ed183265afae9238d68f7c9521f1d04c32fa
Author: Joe Downing <joedow@chromium.org>
Date: Thu Aug 30 22:57:19 2018

[Disconnect Window] Add auto-hide behavior to disconnect window

This CL updates the DisconnectWindow class for Windows to allow it
to auto-hide after a period of inactivity (currently 10 seconds).
The dialog will then be reshown when local user activity is seen.

BUG= 877176 

Change-Id: Icc1e8d7db74690eac54e4084f18e1021830e0765
Reviewed-on: https://chromium-review.googlesource.com/1188597
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Joe Downing <joedow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587824}
[modify] https://crrev.com/8e95ed183265afae9238d68f7c9521f1d04c32fa/remoting/host/disconnect_window_win.cc
[modify] https://crrev.com/8e95ed183265afae9238d68f7c9521f1d04c32fa/remoting/host/host_window.h
[modify] https://crrev.com/8e95ed183265afae9238d68f7c9521f1d04c32fa/remoting/host/input_monitor/local_input_monitor.cc
[modify] https://crrev.com/8e95ed183265afae9238d68f7c9521f1d04c32fa/remoting/host/me2me_desktop_environment.cc

Labels: Merge-Request-70
Requesting a merge for commit: 8e95ed183265afae9238d68f7c9521f1d04c32fa.

I had thought this made it before branch point on Aug 30th but I guess I missed the window : (

Requesting merge for M70, this code only affects Chrome Remote Desktop and is not used by the Chrome browser.
Project Member

Comment 8 by sheriffbot@chromium.org, Sep 13

Labels: -Merge-Request-70 Hotlist-Merge-Approved Merge-Approved-70
Your change meets the bar and is auto-approved for M70. Please go ahead and merge the CL to branch 3538 manually. Please contact milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 9 by bugdroid1@chromium.org, Sep 13

Labels: -merge-approved-70 merge-merged-3538
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6149d54fd20d7da686a5d39eed88be6cf27be0d

commit b6149d54fd20d7da686a5d39eed88be6cf27be0d
Author: Joe Downing <joedow@chromium.org>
Date: Thu Sep 13 18:23:23 2018

[Disconnect Window] Add auto-hide behavior to disconnect window

This CL updates the DisconnectWindow class for Windows to allow it
to auto-hide after a period of inactivity (currently 10 seconds).
The dialog will then be reshown when local user activity is seen.

BUG= 877176 

Change-Id: Icc1e8d7db74690eac54e4084f18e1021830e0765
Reviewed-on: https://chromium-review.googlesource.com/1188597
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Joe Downing <joedow@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#587824}(cherry picked from commit 8e95ed183265afae9238d68f7c9521f1d04c32fa)
Reviewed-on: https://chromium-review.googlesource.com/1224649
Reviewed-by: Joe Downing <joedow@chromium.org>
Cr-Commit-Position: refs/branch-heads/3538@{#375}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
[modify] https://crrev.com/b6149d54fd20d7da686a5d39eed88be6cf27be0d/remoting/host/disconnect_window_win.cc
[modify] https://crrev.com/b6149d54fd20d7da686a5d39eed88be6cf27be0d/remoting/host/host_window.h
[modify] https://crrev.com/b6149d54fd20d7da686a5d39eed88be6cf27be0d/remoting/host/input_monitor/local_input_monitor.cc
[modify] https://crrev.com/b6149d54fd20d7da686a5d39eed88be6cf27be0d/remoting/host/me2me_desktop_environment.cc

Status: Fixed (was: Assigned)

Sign in to add a comment