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

Issue 243164 link

Starred by 51 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 1
Type: Bug

Blocking:
issue 874341

Restricted
  • Only users with Google permission may comment.



Sign in to add a comment

Remove Ctrl+Shift+Q shortcut and add a toast instructing users to press Alt+F, X instead

Reported by glen@chromium.org, May 23 2013

Issue description

Version: 29.0.1514.1 canary Aura
OS: Windows

What steps will reproduce the problem?
1. Press Ctrl+Shift+Q

What is the expected output?
Nothing.

What do you see instead?
window closes

Please use labels and text to provide additional information.

I think this got inherited from ChromeOS.

 
Showing comments 32 - 131 of 131 Older
Ah, right. I thought that Chrome would override it, but no, the extension
activates, so the workaround works. Thanks!
 Issue 659678  has been merged into this issue.

Comment 34 by n...@chromium.org, Nov 17 2016

calamity: Thanks for the clever workaround :)

Can we reenergize this effort? It seems accidental quits happen for several reasons:
 - Hitting Ctrl+Shift+Q when trying to do the awkward one-handed Ctrl+Shift+Tab
 - Hitting Ctrl+Shift+Q while typing text (this seems less likely to me)
 - Hitting the X button accidentally

For users who spent much of their time inside Chrome, having Chrome close from an unintentional action is about as helpful as having the entire OS shut down. This is worth prioritizing.
Labels: OS-Linux
Is the proposed solution hard to implement?

Personally I'd be fine with disabling Ctrl-Shift-Q altogether or having a setting to disable it, I've got Alt-F4 and the close button already. Pressing Ctrl-W multiple times also does the trick.
Extending the list of accidental quits:
- Hitting CTRL-SHIFT-W when trying to close a tab using the pinky to hit CTRL.
- Hitting CTRL-SHIFT-W when trying to do a CTRL-SHIFT paste (on Dvorak layouts w and v are next to each other)

Comment 38 by rpop@chromium.org, Apr 5 2017

Labels: Hotlist-Polish

Comment 39 by ytp...@gmail.com, May 16 2017

Just now - yet again - lost a bunch of work due to this clumsily-placed shortcut with no confirmation prompt. FF and Edge are both smart enough to prompt. Why isn't Chrome?

Restoring tabs on next launch is not enough... there is just too much session state that can exist on a page that hasn't been saved to the server yet.
As a workaround, you can go to chrome://extensions and bind Ctrl+Shift+W (and Ctrl+Shift+Q) to a random extension in the Keyboard Shortcuts dialog.

Components: -UI>Aura -Internals>Aura UI>Browser
Labels: -Pri-2 Pri-1
@24: We should learn the lesson of removing backspace-goes-back here: preventing dataloss is more important than avoiding inconvenience.  Indeed, in this case the inconvenience is less and the dataloss is greater, so this should be an easier call to make.

I believe UI review's "simpler direction" amounts to "get more data", which is what I advised for years on backspace-goes-back, and which led to stalling the removal there.  I was wrong, and they are similarly wrong.  We don't need more data here.  We are not in a situation where we "don't know whether we need this" as the UI review notes claim.  We have compelling UMA data already (cited in the deck) as well as anecdotal data that users lose data.  This should be fixed.

We are letting the perfect be the enemy of the good.  Any proposal, be it the one in the deck or simply bringing the Mac/CrOS UI to other platforms, would be an improvement on the status quo, just as removing backspace to go back was an improvement even if an imperfect one.

The plan of record should be to implement the proposal in the deck.  Let's stop stalling and do it.

Comment 42 by rpop@chromium.org, Jun 7 2017

Status: Assigned (was: Available)
Agree that we should fix this and that we don't need more data. I'll try to move this forward.
I keep losing work to Chromium quitting without any confirmation. This ticket has been open FOUR YEARS and this kind of a fix is so simple.

Can we get someone to actually handle this already please? Make it a setting in-case someone really wants to not have a confirmation dialogue?

Seriously, I'm sick and tired of losing work to this absurdity of a UX shortcut combo.
Cc: timbrown@chromium.org

Comment 45 by rpop@chromium.org, Oct 3 2017

Cc: groby@chromium.org

Comment 46 by dim...@gmail.com, Dec 4 2017

Bump
I've long since given up on this, it seems nobody gives a crap about this bug. I just switched browsers, I can't lose any more work to this mundane function. Waste. Of. Time.

Comment 48 by and...@rainway.io, Feb 15 2018

Years later it really is a shame the concept of reassigning (or disabling) keyboard shortcuts is still such an impossible task for the Chromium team. I shouldn't have to install a browser extension just to work around this issue. 

Comment 49 by das.x...@gmail.com, Feb 15 2018

It might be faster to get into the chromium team and fix the issue by oneself than waiting on it to be fixed.
I just switched browsers instead. Fed up with this level of incompetence. If they don't give this much of a care about UX for something like this, then I know they won't care about any other bug reported.

Like, seriously, THIS WAS REPORTED IN 2013, AND iT'S 2018 ALREADY!! It's the smallest amount of work to fix, and it's completely clear that is NEVER GOING TO HAPPEN.

So, fuck this, I'm out.
How is this still a thing?? This has been happening for years. How hard would it be to add an option to chrome://flags to disable this? Or better, a general settings option to re-map shortcuts? Or, the first time on a new Chrome profile someone presses Ctrl+Shift+Q, it pops a dialog saying "Are you sure?" with options to say "yes", "yes (and don't ask again)", or "disable this". 99.9% will choose option three.

Comment 52 by newt@google.com, Mar 23 2018

In case anyone needs motivation to think about this issue. I just came across several articles complaining about the Ctrl+Shift+Q shortcut:

 - How to disable Chrome's obnoxious Ctrl-Shift-Q shortcut
    * https://www.computerworld.com/article/3177326/internet/chrome-ctrl-shift-q.html
 - How to Override Chrome’s “Quit Everything” Ctrl+Shift+Q Shortcut
   * https://www.howtogeek.com/319787/how-to-override-chromes-quit-everything-ctrlshiftq-shortcut/
 - I hate Crtl-Shift-Q!
   * https://www.reddit.com/r/chrome/comments/39jdxt/i_hate_crtlshiftq/
Cc: markchang@chromium.org
Cc: rpop@chromium.org
Owner: markchang@chromium.org
I just closed all my tabs again with this silly keyboard shortcut. If necessary for other platforms (who knows why), at least just a simple alert dialog for "Do we want to close all windows?"
Owner: thomasanderson@chromium.org
Status: Started (was: Assigned)

Comment 57 by cl...@chromium.org, Apr 25 2018

Cc: -cl...@chromium.org
Project Member

Comment 58 by bugdroid1@chromium.org, May 3 2018

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

commit 6cbd505d3cb04e3e108e61a74f82421b66f0f655
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Thu May 03 23:49:54 2018

Add warn before quitting experiment on Windows and Linux

This CL adds a warn-before-quitting flag.  When enabled, pressing Ctrl+Shift+Q
will show a bubble asking to continue holding the shortcut to quit.  Pressing
the shortcut a second time while the bubble is showing will also confirm the
quit.

R=sky
BUG= 243164 

Change-Id: I97c4dc37cb5107fde975a4162f349e1ea5337b5d
Reviewed-on: https://chromium-review.googlesource.com/1031097
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555909}
[modify] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/browser/about_flags.cc
[modify] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/browser/ui/BUILD.gn
[add] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/browser/ui/views/confirm_quit_bubble.cc
[add] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/browser/ui/views/confirm_quit_bubble.h
[add] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/browser/ui/views/confirm_quit_bubble_base.h
[add] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/browser/ui/views/confirm_quit_bubble_controller.cc
[add] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/browser/ui/views/confirm_quit_bubble_controller.h
[add] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/browser/ui/views/confirm_quit_bubble_controller_unittest.cc
[modify] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/browser/ui/views/frame/browser_view.cc
[modify] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/common/chrome_features.cc
[modify] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/common/chrome_features.h
[modify] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/chrome/test/BUILD.gn
[modify] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/content/public/browser/keyboard_event_processing_result.h
[modify] https://crrev.com/6cbd505d3cb04e3e108e61a74f82421b66f0f655/tools/metrics/histograms/enums.xml

So you hold Ctrl-Shift-Q and the window closes.. what happens to the window that gets focus afterwards while you're holding Ctrl-Shift-Q?
c#59 that window will probably get the Ctrl+Shift+Q too.  We need to make sure the user has released the shortcut before closing chrome, like we do on Mac.  This is yet to be implemented on Linux/Windows.

Comment 61 Deleted

Labels: TE-Verified-M68 TE-Verified-68.0.3423.0
Verified the fix on Windows-10 & Ubuntu 14.04 on Chrome version #68.0.3423.0 as per the comment#0 & 58
Attaching screen cast for reference.
Observed "On pressing Ctrl+Shift+Q it shows a bubble asking to continue holding the shortcut to quit, again on pressing it for second time while the bubble is showing, window got closed"
Hence, the fix is working as expected.
Adding the verified label.

Thanks!
243164.ogv
1.2 MB View Download
Project Member

Comment 63 by bugdroid1@chromium.org, May 21 2018

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

commit ee6a9e4d12a31d5f461476070dc6746efe27dbe7
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Mon May 21 19:40:08 2018

Confirm-to-quit: Delay quitting until accelerator is released

On Mac, they discovered long ago that quitting after holding Cmd+Q was a bad
idea since apps underneath Chrome would get the repeated Cmd+Q key event and
would also close [1].  Their solution was to delay quitting until the shortcut
is released.  To give users confirmation that Chrome is quitting, all browser
windows are faded out.

The same issue occurs on Linux and Windows (I've unintentionally closed many
background apps writing CL [2]), so this CL implements the Mac solution.

[1] http://dev.chromium.org/developers/design-documents/confirm-to-quit-experiment
[2] https://chromium.googlesource.com/chromium/src.git/+/6cbd505d3cb04e3e108e61a74f82421b66f0f655

BUG= 243164 
R=sky

Change-Id: Ia3de4acaf463cd5b202743d44f763c6d52fbe963
Reviewed-on: https://chromium-review.googlesource.com/1066924
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560336}
[modify] https://crrev.com/ee6a9e4d12a31d5f461476070dc6746efe27dbe7/chrome/browser/ui/views/confirm_quit_bubble_controller.cc
[modify] https://crrev.com/ee6a9e4d12a31d5f461476070dc6746efe27dbe7/chrome/browser/ui/views/confirm_quit_bubble_controller.h
[modify] https://crrev.com/ee6a9e4d12a31d5f461476070dc6746efe27dbe7/chrome/browser/ui/views/confirm_quit_bubble_controller_unittest.cc

Project Member

Comment 64 by bugdroid1@chromium.org, May 24 2018

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

commit ee2c93bd00022572b5ae097b1aea80265982989a
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Thu May 24 03:32:37 2018

Confirm-to-quit: Close bubble when browser loses focus

Sometimes, another app can grab the focus while the confirm-to-quit bubble is
showing. When this happens, Chrome won't get the key release event and the
bubble will stay open forever.  The only way to close it would be to press
Ctrl+Shift+Q again, but this would close Chrome.

This CL closes the confirm-to-quit bubble and resets the state of the controller
when this happens.

BUG= 243164 
R=sky

Change-Id: I1800501be3cd4896876347ce2fb511a08e90eba7
Reviewed-on: https://chromium-review.googlesource.com/1069487
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561377}
[modify] https://crrev.com/ee2c93bd00022572b5ae097b1aea80265982989a/chrome/browser/ui/views/confirm_quit_bubble_controller.cc
[modify] https://crrev.com/ee2c93bd00022572b5ae097b1aea80265982989a/chrome/browser/ui/views/confirm_quit_bubble_controller.h
[modify] https://crrev.com/ee2c93bd00022572b5ae097b1aea80265982989a/chrome/browser/ui/views/confirm_quit_bubble_controller_unittest.cc

Project Member

Comment 65 by bugdroid1@chromium.org, May 29 2018

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

commit 3610635d00f7bb182f760e7cfa55942b450bb828
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Tue May 29 18:01:50 2018

Show the confirm-to-quit bubble on the active browser window's screen

The bubble used to always show on the primary monitor.  This looked odd when
there was a browser window open only on a secondary monitor.

This CL changes the bubble to show on the same monitor as the last active
browser window.

BUG= 243164 
R=sky

Change-Id: I439f6c873bace728a39fe1f93728590a47f083be
Reviewed-on: https://chromium-review.googlesource.com/1072274
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562502}
[modify] https://crrev.com/3610635d00f7bb182f760e7cfa55942b450bb828/chrome/browser/ui/views/confirm_quit_bubble.cc

Project Member

Comment 66 by bugdroid1@chromium.org, Jun 14 2018

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

commit bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Thu Jun 14 22:25:06 2018

Confirm-to-quit: Add menu setting to enable the feature

On Mac, confirm-to-quit is a feature that is enabled with a menu item
in the global menu bar.  On Windows and Linux, this menu bar doesn't
exist, so instead it's put in the settings menu, above the "Exit"
entry.

There's still some debate about whether the setting should go in the
settings menu or in chrome://settings [1], so this may end up not being
the final place for it.  But either way, most of these changes are
still necessary.

In addition, this CL also
* Adds localized strings for Win/Linux
  - The Mac ones won't work due to the difference in the shortcut
    (Cmd+Q vs Ctrl+Shift+Q) and terminology (quit vs exit).
* Moves chrome/browser/ui/cocoa/confirm_quit.h to chrome/browser/ui so
  that some constants etc can be shared between Mac and Win/Linux.
* Adds metrics for the Win/Linux impl.
* Changes PrefNameRegistrar to unregister observers when PrefService
  is destroyed.  This was necessary to prevent a crash when the user
  presses Ctrl+Shift+Q and then closes Chrome using the close button
  while the bubble was showing.  This also fixes some log spam like
  "Pref observer found at shutdown" that used to get printed out in
  all debug builds during browser shutdown.

[1] https://docs.google.com/presentation/d/1JDRUtKAXSON_13Ef9VbURk3L7yonzH9dDCj90BZDA6w/edit?usp=sharing

BUG= 243164 
R=sky

Change-Id: I671276a41b7878531ea216281f7c994914e1ddf3
Reviewed-on: https://chromium-review.googlesource.com/1099689
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567443}
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/app/chrome_command_ids.h
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/app/generated_resources.grd
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/app_controller_mac.mm
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/prefs/browser_prefs.cc
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/browser_command_controller.cc
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/browser_commands.cc
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/browser_commands.h
[delete] https://crrev.com/811d8136de54e2c3c28af75a38f143670f6d9343/chrome/browser/ui/cocoa/confirm_quit.h
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/cocoa/confirm_quit_panel_controller.mm
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/cocoa/confirm_quit_panel_controller_unittest.mm
[add] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/confirm_quit.cc
[add] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/confirm_quit.h
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/toolbar/app_menu_model.cc
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/views/confirm_quit_bubble.cc
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/views/confirm_quit_bubble_controller.cc
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/browser/ui/views/confirm_quit_bubble_controller.h
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/common/pref_names.cc
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/chrome/common/pref_names.h
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/ui/content_accelerators/accelerator_util.cc
[modify] https://crrev.com/bddfeda54e0f2d1d3cb4a3b1bed1ec3d28e1c1b2/ui/strings/ui_strings.grd

Project Member

Comment 67 by bugdroid1@chromium.org, Jun 20 2018

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

commit 7ee1316ad12b6918a00b0a81985613aa2b2b37b8
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Wed Jun 20 17:11:31 2018

Confirm-to-quit: Fix missing Ctrl+Shift+Q keyup event when omnibox is focused

Also clean up some event routing to ConfirmQuitBubbleController.

BUG= 243164 
R=sky

Change-Id: I2dfeb60c6efb24816b73db3f0e014a0deb648be5
Reviewed-on: https://chromium-review.googlesource.com/1104884
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568887}
[modify] https://crrev.com/7ee1316ad12b6918a00b0a81985613aa2b2b37b8/chrome/browser/ui/views/accelerator_table.cc
[modify] https://crrev.com/7ee1316ad12b6918a00b0a81985613aa2b2b37b8/chrome/browser/ui/views/confirm_quit_bubble_controller.cc
[modify] https://crrev.com/7ee1316ad12b6918a00b0a81985613aa2b2b37b8/chrome/browser/ui/views/confirm_quit_bubble_controller.h
[modify] https://crrev.com/7ee1316ad12b6918a00b0a81985613aa2b2b37b8/chrome/browser/ui/views/confirm_quit_bubble_controller_unittest.cc
[modify] https://crrev.com/7ee1316ad12b6918a00b0a81985613aa2b2b37b8/chrome/browser/ui/views/frame/browser_view.cc
[modify] https://crrev.com/7ee1316ad12b6918a00b0a81985613aa2b2b37b8/chrome/browser/ui/views/frame/browser_view.h
[modify] https://crrev.com/7ee1316ad12b6918a00b0a81985613aa2b2b37b8/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/7ee1316ad12b6918a00b0a81985613aa2b2b37b8/content/public/browser/keyboard_event_processing_result.h

Cc: glen@google.com
+glen@google.com
Summary: Remove Ctrl+Shift+Q shortcut and add a toast instructing users to press Alt+F, X instead (was: Ctrl+Shift+Q should have "hold to quit" UI on all platforms)
We decided it's best to remove the shortcut altogether and replace it with a notification similar to the "Press Alt+Left to go back" notification.  In this case, the alternative is pressing Alt+F, X.
Thank you!
Accidentally Ctrl+Shift+Q'd Chrome again yesterday with a cry. Great news! Thanks
Project Member

Comment 72 by bugdroid1@chromium.org, Aug 15

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

commit c463a13bdfe19a4112e14276760e707e0e7d007e
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Wed Aug 15 02:47:05 2018

Repurpose the confirm-quit-bubble to a quit-instruction-bubble

It was decided in [1] that the Ctrl+Shift+Q shortcut should be removed
altogether and replaced with a bubble giving an alternative way to quit using
the keyboard (similar to the "Press Alt+Left to go back" bubble).

[1] https://docs.google.com/document/d/1mvTBrxD58GIsqFiqgiLCZiXy1iOtDpQx_Tp5OSuYWEU/edit?usp=sharing

BUG= 243164 
R=sky

Change-Id: I47578d6b750c45fbc5d0a6e6ffe7e5f528dbe80d
Reviewed-on: https://chromium-review.googlesource.com/1173654
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583138}
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/app/chrome_command_ids.h
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/app/generated_resources.grd
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/about_flags.cc
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/lifetime/browser_shutdown_browsertest.cc
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/ui/browser_command_controller.cc
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/ui/toolbar/app_menu_model.cc
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/ui/views/accelerator_table.cc
[delete] https://crrev.com/1de54d4ef4f143e74fbae9286ea3f16480b2f4d3/chrome/browser/ui/views/confirm_quit_bubble_base.h
[delete] https://crrev.com/1de54d4ef4f143e74fbae9286ea3f16480b2f4d3/chrome/browser/ui/views/confirm_quit_bubble_controller.cc
[delete] https://crrev.com/1de54d4ef4f143e74fbae9286ea3f16480b2f4d3/chrome/browser/ui/views/confirm_quit_bubble_controller.h
[delete] https://crrev.com/1de54d4ef4f143e74fbae9286ea3f16480b2f4d3/chrome/browser/ui/views/confirm_quit_bubble_controller_unittest.cc
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/ui/views/frame/browser_view.cc
[rename] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/ui/views/quit_instruction_bubble.cc
[rename] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/ui/views/quit_instruction_bubble.h
[add] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/ui/views/quit_instruction_bubble_base.h
[add] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/ui/views/quit_instruction_bubble_controller.cc
[add] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/ui/views/quit_instruction_bubble_controller.h
[add] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/browser/ui/views/quit_instruction_bubble_controller_unittest.cc
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/common/chrome_features.cc
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/common/chrome_features.h
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/chrome/test/BUILD.gn
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/c463a13bdfe19a4112e14276760e707e0e7d007e/ui/strings/ui_strings.grd

Blocking: 874341
Status: Fixed (was: Started)
The shortcut has been removed with
https://chromium.googlesource.com/chromium/src.git/+/c463a13bdfe19a4112e14276760e707e0e7d007e

Now a transient toast will show when pressing Ctrl+Shift+Q saying "Press |Alt|+|F| followed by |X| to exit" (where |key| represents a key with a rounded rectangle around it).  The change is not guarded behind any flags and will rollout in M70, so I'm marking this issue fixed.

If any UI/UX folks want the message changed, plmk before the M70 branch point and I'd be happy to change it.

We'll remove the toast in several milestones (bug 874341).
Project Member

Comment 75 by bugdroid1@chromium.org, Aug 15

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

commit 92294bfc0e9760ecdaa26b8c234ad94698293d1b
Author: Morten Stenshorne <mstensho@chromium.org>
Date: Wed Aug 15 12:18:10 2018

Revert "Repurpose the confirm-quit-bubble to a quit-instruction-bubble"

This reverts commit c463a13bdfe19a4112e14276760e707e0e7d007e.

Reason for revert: FindIt is right. This CL made BrowserShutdownBrowserTest.ShutdownConfirmation flaky.

Original change's description:
> Repurpose the confirm-quit-bubble to a quit-instruction-bubble
> 
> It was decided in [1] that the Ctrl+Shift+Q shortcut should be removed
> altogether and replaced with a bubble giving an alternative way to quit using
> the keyboard (similar to the "Press Alt+Left to go back" bubble).
> 
> [1] https://docs.google.com/document/d/1mvTBrxD58GIsqFiqgiLCZiXy1iOtDpQx_Tp5OSuYWEU/edit?usp=sharing
> 
> BUG= 243164 
> R=​sky
> 
> Change-Id: I47578d6b750c45fbc5d0a6e6ffe7e5f528dbe80d
> Reviewed-on: https://chromium-review.googlesource.com/1173654
> Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
> Reviewed-by: Scott Violet <sky@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#583138}

TBR=sky@chromium.org,thomasanderson@chromium.org

Change-Id: I29ba82785756fddcd8e8c6bb30b6069c89cf58a6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  243164 
Reviewed-on: https://chromium-review.googlesource.com/1175801
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583218}
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/app/chrome_command_ids.h
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/app/generated_resources.grd
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/about_flags.cc
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/lifetime/browser_shutdown_browsertest.cc
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/ui/browser_command_controller.cc
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/ui/toolbar/app_menu_model.cc
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/ui/views/accelerator_table.cc
[rename] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/ui/views/confirm_quit_bubble.cc
[rename] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/ui/views/confirm_quit_bubble.h
[add] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/ui/views/confirm_quit_bubble_base.h
[add] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/ui/views/confirm_quit_bubble_controller.cc
[add] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/ui/views/confirm_quit_bubble_controller.h
[add] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/ui/views/confirm_quit_bubble_controller_unittest.cc
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/browser/ui/views/frame/browser_view.cc
[delete] https://crrev.com/f41f215c837b6b9f4f7db402a78638bf7a0b2676/chrome/browser/ui/views/quit_instruction_bubble_base.h
[delete] https://crrev.com/f41f215c837b6b9f4f7db402a78638bf7a0b2676/chrome/browser/ui/views/quit_instruction_bubble_controller.cc
[delete] https://crrev.com/f41f215c837b6b9f4f7db402a78638bf7a0b2676/chrome/browser/ui/views/quit_instruction_bubble_controller.h
[delete] https://crrev.com/f41f215c837b6b9f4f7db402a78638bf7a0b2676/chrome/browser/ui/views/quit_instruction_bubble_controller_unittest.cc
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/common/chrome_features.cc
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/common/chrome_features.h
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/chrome/test/BUILD.gn
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/92294bfc0e9760ecdaa26b8c234ad94698293d1b/ui/strings/ui_strings.grd

Status: Started (was: Fixed)
Project Member

Comment 77 by bugdroid1@chromium.org, Aug 16

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

commit 30344afafeb60e1bebc6f0d65f47deddc4c8900b
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Thu Aug 16 20:00:34 2018

Reland "Repurpose the confirm-quit-bubble to a quit-instruction-bubble"

This is a reland of c463a13bdfe19a4112e14276760e707e0e7d007e

This CL removes BrowserShutdownBrowserTest.ShutdownConfirmation on non-ChromeOS
since the test is only meaningful on ChromeOS.

Original change's description:
> Repurpose the confirm-quit-bubble to a quit-instruction-bubble
>
> It was decided in [1] that the Ctrl+Shift+Q shortcut should be removed
> altogether and replaced with a bubble giving an alternative way to quit using
> the keyboard (similar to the "Press Alt+Left to go back" bubble).
>
> [1] https://docs.google.com/document/d/1mvTBrxD58GIsqFiqgiLCZiXy1iOtDpQx_Tp5OSuYWEU/edit?usp=sharing
>
> BUG= 243164 
> R=sky
>
> Change-Id: I47578d6b750c45fbc5d0a6e6ffe7e5f528dbe80d
> Reviewed-on: https://chromium-review.googlesource.com/1173654
> Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
> Reviewed-by: Scott Violet <sky@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#583138}

TBR=sky

Bug:  243164 
Change-Id: I376e9b31c071b0c08e7f5cbe9e2bbda22ee1f1ac
Reviewed-on: https://chromium-review.googlesource.com/1178165
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583781}
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/app/chrome_command_ids.h
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/app/generated_resources.grd
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/about_flags.cc
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/lifetime/browser_shutdown_browsertest.cc
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/ui/browser_command_controller.cc
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/ui/toolbar/app_menu_model.cc
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/ui/views/accelerator_table.cc
[delete] https://crrev.com/c5acf57dc6979b2d9e7e2fcc7666ffad0fa929f7/chrome/browser/ui/views/confirm_quit_bubble_base.h
[delete] https://crrev.com/c5acf57dc6979b2d9e7e2fcc7666ffad0fa929f7/chrome/browser/ui/views/confirm_quit_bubble_controller.cc
[delete] https://crrev.com/c5acf57dc6979b2d9e7e2fcc7666ffad0fa929f7/chrome/browser/ui/views/confirm_quit_bubble_controller.h
[delete] https://crrev.com/c5acf57dc6979b2d9e7e2fcc7666ffad0fa929f7/chrome/browser/ui/views/confirm_quit_bubble_controller_unittest.cc
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/ui/views/frame/browser_view.cc
[rename] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/ui/views/quit_instruction_bubble.cc
[rename] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/ui/views/quit_instruction_bubble.h
[add] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/ui/views/quit_instruction_bubble_base.h
[add] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/ui/views/quit_instruction_bubble_controller.cc
[add] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/ui/views/quit_instruction_bubble_controller.h
[add] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/browser/ui/views/quit_instruction_bubble_controller_unittest.cc
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/common/chrome_features.cc
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/common/chrome_features.h
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/chrome/test/BUILD.gn
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/30344afafeb60e1bebc6f0d65f47deddc4c8900b/ui/strings/ui_strings.grd

Status: Fixed (was: Started)
chromium-devs@, you've broken two use cases:
1. Alt-F, X won't work if the keyboard layout language is different to the UI language.
2. Alt-F, X won't work if the current window has no menu which is the case with various popup-type windows or a floating devtools window.

What's worse Chrome/Chromium ignores an externally sent message like WM_QUIT in MessagePumpForUI::ProcessMessageHelper.
Neither WM_COMMAND with IDC_EXIT or ID_FILE_EXIT is handled in BrowserView::GetCommandIDForAppCommandID.
Meaning I'll have to write a script to enumerate the entire process tree of Chrome, find the associated window handles, send WM_CLOSE...

And I can't assign Ctrl-Shift-Q to an extension either (that would have quit Chrome for me) via chrome://extensions/shortcuts
Status: Started (was: Fixed)
> 1. Alt-F, X won't work if the keyboard layout language is different to the UI language.

You mean because of the "X" in "Exit"?  Yeah, we should fix that.

> 2. Alt-F, X won't work if the current window has no menu which is the case with various popup-type windows or a floating devtools window.

Only browser windows handled Ctrl+Shift+Q before (eg you couldn't Ctrl+Shift+Q from the task manager), browser windows will have the menu.

The difference now is that Ctrl+Shift+Q will show the bubble from any window.  We should probably change that.

> And I can't assign Ctrl-Shift-Q to an extension either (that would have quit Chrome for me) via chrome://extensions/shortcuts

It's probably expected that extensions shouldn't be able to quit chrome.
Previously we could quit via Ctrl-Shift-Q from a floating devtools window that has no file menu, from a browser window that had no address bar or menu (so called popup-type window).
* insignificant correction: popup-type windows do have an address bar, they just don't have a menu and toolbar.
  (these are the windows opened via window.open with custom parameters or via chrome.windows.create with type:'popup')
Extensions should be able to quit Chrome.


Project Member

Comment 84 by bugdroid1@chromium.org, Aug 30

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

commit 1c7e1956dc72e9a8b5ae370700c69cfe8d7d138c
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Thu Aug 30 21:39:23 2018

Internationalize menu accelerator for quit instruction bubble

The message always used to say "Press Alt+F followed by X to exit".  The "X"
comes from the menu option "Exit".  But the accelerator may be different in
non-English languages.  This CL internationalizes the accelerator.

BUG= 243164 
R=sky

Change-Id: I695979eef5ea15f1764b891611b2c513302c4c0e
Reviewed-on: https://chromium-review.googlesource.com/1194976
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587786}
[modify] https://crrev.com/1c7e1956dc72e9a8b5ae370700c69cfe8d7d138c/chrome/browser/ui/libgtkui/menu_util.cc
[modify] https://crrev.com/1c7e1956dc72e9a8b5ae370700c69cfe8d7d138c/chrome/browser/ui/views/frame/global_menu_bar_x11.cc
[modify] https://crrev.com/1c7e1956dc72e9a8b5ae370700c69cfe8d7d138c/chrome/browser/ui/views/quit_instruction_bubble.cc
[modify] https://crrev.com/1c7e1956dc72e9a8b5ae370700c69cfe8d7d138c/ui/base/BUILD.gn
[add] https://crrev.com/1c7e1956dc72e9a8b5ae370700c69cfe8d7d138c/ui/base/accelerators/menu_label_accelerator_util.cc
[add] https://crrev.com/1c7e1956dc72e9a8b5ae370700c69cfe8d7d138c/ui/base/accelerators/menu_label_accelerator_util.h
[add] https://crrev.com/1c7e1956dc72e9a8b5ae370700c69cfe8d7d138c/ui/base/accelerators/menu_label_accelerator_util_unittest.cc

Project Member

Comment 85 by bugdroid1@chromium.org, Aug 30

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

commit 4664c32aba01625de093bd089dd6948ffc9962fc
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Thu Aug 30 21:40:08 2018

Only show quit instruction bubble on browser windows

The new instruction bubble's recommendation to "press Alt+F" won't work on
non-browser windows, so don't show the instructions unless the focused window is
a browser window and has a toolbar.

BUG= 243164 
R=sky

Change-Id: I1ab550ff57134009a2cbb0a1ee612775c1323e88
Reviewed-on: https://chromium-review.googlesource.com/1197343
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587787}
[modify] https://crrev.com/4664c32aba01625de093bd089dd6948ffc9962fc/chrome/browser/ui/views/frame/browser_view.cc

Alt+F, X doesn't work in Google Docs because it opens the File menu.

Re. comment #9: I've *never* accidentally pressed Ctrl+Shift+Q. But OTOH, I don't use Ctrl+Shift+Tab much. I use Ctrl+PgUp/PgDn instead.

Number of times I've wanted to close all my browser windows when pressing Ctrl+Shift+Q: 0
Number of times I've meant to press Ctrl+Shift+Tab but accidentally hit Q instead: too many to count

Re "If multiple windows are closed, only one window is restored when Chrome is reopened." - that is not the case, at least in Chrome 67 or later. If you have "Continue where you left off" selected in the On startup option, Chrome will restore all windows with all tabs.

Re: "Not to mention the pain of reopening dozens of tabs in a low bandwidth setting." - that is true, see isues 32061.

@czerwins, comment 27: Ctrl+Shift+Q used to work on Linux just as well as on Windows. It wasn't a Windows-only issue. Perhaps a non-MacOS issue rather.
 Issue 885251  has been merged into this issue.
That is awful change. New proposed shortcut doesn't work at many places and requires more actions to close browser that isn't convenient. It should be possible to restore previous behavior of Ctrl+Shift+Q so it closes browser as it was before.

Such one-way changes are significant downgrade to functionality that is highly used.
@xenum never met anyone who used Ctrl-Shift-Q. Do you use Ctrl-Shift-Tab ever? It's dangerously close.
I occasionally use Ctrl-Shift-Tab.
I often use Ctrl-Shift-Q while finding regressions in chromium snapshots.
I've never mistaken one for another in 10 years.
I find it hard to imagine how one could even do it but I guess I'm not very imaginative.

Anyway, a better compromise would be Ctrl-Shift-Alt-Q.
Better because Alt-F,X doesn't work in a floating devtools window.
Better because we could remap it externally via hotkey manager to anything we like.
@mikemurk I use Ctrl+Tab and Ctrl+Shift+Tab a lot and haven't had a single time when I've accidentally pressed Ctrl+Shift+Q instead. Yes, they are close but I find it nearly impossible to press something else instead of the leftmost key that is Tab.

As there are people who somehow manage to do it then it should be OK to make hotkeys configurable. But removing hotkey altogether and making everyone who used them regularly suffer is bad decision.

Ctrl+Shift+Alt+Q alternative that was suggested by woxxom seems like a lot better alternative to what was done. 

@woxom: it may work for you, but this whole issue exists exactly because many people have this problem. Keep in mind there are also many different keyboard layouts, some of which have differing key sizes and arrangements which make it easier or harder to accidentally press the combination and lose all your windows.
2018-09-19 8:59 GMT+02:00 xenum… via monorail
<monorail+v2.3029763226@chromium.org>:

There's also Ctrl-W and Ctrl-Shift-W. When mixing Ctrl-Tab,
Ctrl-Shift-Tab and Ctrl-W, Ctrl-Shift-Q is very close.
re 92, please specify "it" you're referring to, as I doubt Ctrl+Shift+Alt+Q can be pressed accidentally.
@woxxom, please consider if in fact you represent a minority opinion.

IMO, Alt is often used by window managers and menus, thus, sticking to ctrl/shift would be ideal. A toast and delayed quit would already do the job. Being able to recover from  quit alone would do the job. Removing the quit shortcut entirely would do the job too (instruct or expect users to depress ctrl-w and not release it until done).

I believe the fundamental problem with the old behaviour is two-fold:
* it's unexpected (I pressed something and *poof* chrome is gone! what did I even press?)
* it cannot be undone (tabs are not saved)

+1E10 for removing the old shortcut in any event!
Please note: webpages can capture the alt-F keypress, in which case it won't open the Chrome menu (e.g. the Vimium extension). In this case the toast is inaccurate, and it's not possible (as far as I know) to quit Chrome via the keyboard.
Cc: -jsc...@chromium.org
>please consider if in fact you represent a minority opinion.

Why? I think the problem is exaggerated by the vocal minority.

>IMO, Alt is often used by window managers and menus, thus, sticking to ctrl/shift would be ideal

How the Alt key being used by window managers is a problem?
As for menus, it's definitely not a problem since the shortcut has other modifiers.

============

There are at least two ideal solutions mentioned and rejected in this discussion like a) making the shortcut customizable, b) show a confirmation before quitting. These are offered in like every sane GUI app I've been using over the last 30 years. Long press of the old hotkey might work too. Unfortunately, Chrome's UX guidelines forbid all those so I believe the fundamental problem is the inflexibility of the UX guidelines used by Chrome engineers.
Despite being part of the "vocal minority", I do agree that a better solution could have been made. It does seem quite odd that the "hold apple-Q to quit" behavior was not adopted on all platforms, as it seemed to have the best UX and has worked great on macOS for me. I don't believe there was an explanation for why that route was abandoned, just that it was.
I'm also part of this supposed "vocal minority". I'll be happily Ctrl-Shift-Tabbing to the left and then accidentally hit Ctrl-Shift-Q, which will close out everything without prompt. Poof! I've lost the entire browsing session.

I've had to use workarounds such as having Chrome open the previous tabs on start, an AutoHotkey script to block Ctrl-Shift-Q completely, and also religiously backing up my sessions with an extension called SessionBuddy.

However, that said, if I've been typing anything into a textbox, or am in the middle of making an order when it happens, such tabs will lose their state after a close, and all that work will be lost on resume.
This is a horrible solution to the shortcut no longer existing. Please just add a way for us to keep ctrl+shift+q if you really want to go this way. I really do not want to maintain a patch set to restore this feature.
Status: Fixed (was: Started)
This is a disappointing change. I've never hit Ctrl-Shift-Q by accident. I agree that no prompt is an issue, but surely, the "hold Apple-Q to quit" style behaviour would be better than removing the shortcut altogether, and replacing it with an annoying 2 step process that doesn't work everywhere.

One more reason I'm moving away from Chrome.
Please at least add a flag option to re-enable the old behavior.

I get the frustration of everyone complaining about accidentally triggering this shortcut.  What I don't get is how that justifies a unilateral decision that the new design is better for everyone.


Completely agree with Comment 104 - If you are using Vimium to have familiar keyboard shortcuts with minimal hand movement on the home row, then Alt+F does not work (at least with the current version). I do understand Vimium is a third party extension that most people won't have installed, but I don't think anyone could argue that keeping the old behavior as an option to re-enable under chrome://flags/ would have been difficult. When using a proper keyboard the likelihood of an "accidental" Ctrl+Shift+Q press is extremely low.
There already is an issue filed on GitHub regarding Vimium binding Alt+F: https://github.com/philc/vimium/issues/3166
I really wish the developers would reconsider this change. Many people use the hotkey and do not have fat finger issues. I'm already applying a patch to restore the behavior under Linux, but that takes 7+ hours to build and I'd rather not build chrome for Windows as well. This change is a massive PITA. Alt+F, x is not a convenient keystroke, Ctrl+Shift+Q is.
Wow, what a terrible decision by a minority of users. Only discovering this because my workflow was broken. The new hotkey is not only inconvenient and unreliable but also undocumented.

It will not work on a kiosk window that has no menubar. Granted this is likely a small use case but none-the-less a breaking change.

Please, revert and rethink the approach!
Please add a setting to chrome://flags/ to re-enable Ctrl+Shift+Q.
Settings or at least chrome://flags/ should have a setting to enable/disable Ctrl+Shift+Q.

I get why some people would be frustrated hitting the q instead of tab, but Alt+F then x is a two-step solution to a one-step problem. Twice as many steps is an inefficient solution.
> Twice as many steps is an inefficient solution.

It's the same amount of keys isn't it? ;)
The keys are easier to reach so it should actually be faster.
How about the ability to change the shortcuts to whatever the user wants? I seriously don't get the "customization = bad" mentality that Google et. el. seem to adhere to.
It's not just 'x', as the key for exit. On a German system it's 'b'.
So now depending on the language, the keys to be pressed are different. On my working PC it's different now from my private PC.

I always have multiple Chrome windows open. And I used CTRL+Shift+Q to close Chrome completely, so the next time I start it, all windows are restored and not just the last window like it would be, when I close the windows with X in the upper corner.
I wish to add my voice to the choir of people demanding the return of a convenient keyboard quit shortcut. The fact that this change was made without warning or any option to keep the expected behaviour, ingrained into muscle memory through years of repetition, is just baffling to me. Surely an option to turn off the shorcut would have been just as easy to implement?

While I don't want to make assumptions or judgements about anyone's anatomy, anyone saying alt+f then x is more convenient must have weird fingers. Or keyboards. Just sayin'... Ctrl+shift+q can be easily hit on a qwerty keyboard with a single hand without stretching any fingers into unnatural positions, just a slight shift to the left from a typical touch typing position. (Especially if one's changed the dumb capslock into a more useful extra ctrl, like some of us linux-users do...)

Actually, what I REALLY want is the option to use just ctrl+q to quit, the command that is almost universally used in the linux software I use. The fact that this shortcut doesn't work in Chrome is a fact that has frustrated and confused me since the first moment I started using Chrome.
+1 for adding a setting in flags to reenable it or replace it with ctrl+q
Also for those that say they pressed the shortcut by mistake when trying to cycle the tabs, ctrl+pageup/down works too.
I would also like to voice my opinion against removing this shortcut. I have been using Chrome (and Chromium on Linux) for years and have never accidentally closed a window when trying to cycle through tabs. In addition, you seem to be forgetting that there's a handy shortcut for reopening the previously closed tab(s) - CTRL+SHIFT+T - for the times when you accidentally close a window that you didn't mean to close. I would prefer that the shortcut be brought back, and leave a flag in there allowing those who dislike it to disable it.
To all the people coming in here now and saying "I've used Chrome for years and have never accidentally closed a window when trying to cycle through tabs":

Keep in mind that there's *always* that crowd for all kinds of bugs (and ailments) -- the ones with anecdotes on how they're just so good with their keyboard, or the ones that like to play on the edge, the ones that like such and such an option regardless of the dangers; the ones that have never made the mistake. It's like the people who smoke all their lives, but happen to be the select few with the right genetics and such, that they still don't get lung disease, cancer, or heart disease and live to 100.

In my opinion, sure, give people who really want Ctrl-Shift-Q with *no* confirmation before data loss (i.e. browser close), a way to turn the shortcut back on, but I don't think it should be on by default, because I suspect that the unwashed masses simply aren't as good with their keyboards as the elite special forces team currently commenting on how they are so good that they prefer to climb without a rope. :)
wow, decade old shortcut gets removed because "unwashed masses" might press it by accident while still able to use ctrl+shift+tab? I used this shortcut to close multiple windows and get them all back on next launch. I can't use alt+f and X, because alt+f is doing different action on google docs for example, X is doing nothing when i open menu because my chrome is not in English ... Thank you for this nice change

Of course there are lot of people coming in now that it was removed. We didn't know someone was trying to convince someone else to remove this shortcut ... it is really simple
This is really annoying. Removing this shortcut without an option to reenable it and without asking the users who potentially use it a lot is poor style. Alt+F and then X is maybe the worst possible alternative. Alt+F makes a window fullscreen in many window managers.

How come Ctrl+Shift+W is still working? Does nobody accidentally do that shortcut?

I'd recommend one of you opening a new bug that references this one. This one is 5 years old, marked as fixed, and the stars would logically correspond to the number of people that wanted this change. Opening a new bug and allowing people to star their support would probably bring more attention to it.
How one could press ctrl+shift+q accidentally? Ctrl+q is a standard quit shortcut.
As said earlier, another reason for me to move away from Chrome. I've now moved to Firefox, bring back this shortcut and I'll consider coming back. Making changes like this, without flags to bring back a shortcut is just shortsighted.
Since ctrl-shift-Q started showing the Alt-F-x overlay I've scratched my head how to close a kiosk mode chrome session? Alt-F-x doesn't work in kiosk mode, but it turns out the numerously mentioned ctrl-shift-W now/still closes my kiosk window.

Hope it will stay that way in future.
Added a new issue for ctrl-shift-q nostalgic... https://crbug.com/903990
Numerous applications have used Ctrl+Shift+q to close all windows for decades. I really don't think this should have been introduced without a backwards compatibility flag. I look forward to tracking #903990.
Do those "numerous applications" also make common use of Ctrl+Shift+Tab? This shortcut was destructive; congratulations if you never fat-fingered it, but it's obviously easy to do as the Tab and Q keys are next to each other. The real problem was that it took so long to remove a feature that amounted to a destructive trap for users.
Yes, they do. Here is a handy list of examples you can reference https://defkey.com/what-means/ctrl-shift-q

Your argument is facile. At the end of the day, this was an *opinionated* change that moved forward with ~50 stars. This shortcut has existed for too long to have not offered a configuration option for those that use it.
Facile, you say. That link only shows Chrome as using Ctrl+Shift+Q for closing it, and none of the other software use it for something destructive. It was a usability trap that existed for too long and should never have existed.
But now it exists, and several users prefer to keep this shortcut. Therefore we should have that option as a flag.
This change is incredibly annoying. Those of us who use Vimium cannot exit with the keyboard. Those of us who don't use QWERTY don't have the supposed 'problem' to begin with (I can't speak for anyone else, but I don't think that I've ever intentionally (or unintentionally) used `ctrl+shift+tab` for *anything* anyhow). Please at least add a flag to restore sane `ctrl+shift+q` behaviour.

Comment 131 Deleted

Showing comments 32 - 131 of 131 Older

Sign in to add a comment