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

Issue 749005 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Regression: Ctrl+O doesn't work in Performance tab of devtools

Project Member Reported by sc00335...@techmahindra.com, Jul 26 2017

Issue description

Chrome Version:61.0.3163.13
OS:Ubuntu 14.04 , Windows

What steps will reproduce the problem?
(1) Launch chrome and open devtools on any page >> Go to performance tab and hit ctrl+o nad observe
(2)

Expected: Open dialog should be seen on using ctrl+o
Actual: Instead nothing happens.

This is a regression issue broken in M61.

Manual Bisect Info:
===================
Good Build: 61.0.3142.0 dev
Bad Build: 61.0.3143.0 dev
 
Actual_open dialog.ogv
703 KB View Download
Description: Show this description
Labels: OS-Mac
Status: Untriaged (was: Unconfirmed)
Able to reproduce this issue on Mac OS 10.12.6 using chrome latest dev #61.0.3163.13.
Labels: -Needs-Bisect hasbisect-per-revision ReleaseBlock-Stable
Owner: a...@chromium.org
Status: Assigned (was: Untriaged)
Using per revision bisect providing bisect results below

Bisect Information:
--------------------
You are probably looking for a change made after 482625 (known good), but no later than 482626 (first known bad).

Change Log URL: 
-----------------
https://chromium.googlesource.com/chromium/src/+log/997b71924f38eb831ba87cf97a07371100715268..56f9a641544d2cafa37142545bb39254f7bd98b3

avi@ - Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right owner.

Adding Release Block Stable as this is a recent Regression. Please feel free to remove if not the case.

Thanks!!

Comment 4 by a...@chromium.org, Jul 26 2017

Cc: pfeldman@chromium.org
Pavel, why is DevTools relying on the user gesture bit here?

Comment 5 by gov...@chromium.org, Jul 26 2017

URGENT - PTAL.
Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and get it merged into the M61 branch #3163 ASAP to have enough baking time in Beta before Stable promotion. Thank you!

Know that this issue shouldn't block the release?  Remove the ReleaseBlock-Stable label.

@avi: where?

Comment 7 by a...@chromium.org, Jul 28 2017

This bug is that control-O doesn't work. It bisected to a change (56f9a641544d2cafa37142545bb39254f7bd98b3) that I made that made "browser shortcut" events (e.g. control-O, control-R) not generate user gestures in the render process.

But apparently it only doesn't work in the performance tab in devtools, this bug. So my question is why devtools would be relying on the user gesture bit.

Comment 8 by a...@chromium.org, Jul 28 2017

And only in the Performance tab. In every other tab, control-O (or as I'm testing on the Mac command-O) pops up a little popup thing, but not in the Performance tab.

Comment 9 by a...@chromium.org, Jul 28 2017

Cc: caseq@chromium.org dgozman@chromium.org
caseq@ writes in email:

-----
Timeline historically opens File selection dialog by calling click() on a hidden input element of the type "file":

https://cs.chromium.org/chromium/src/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js?rcl=e65ab0a11b73c8eea0139c0757005432d6dbb0b6&l=406

Renderer apparently ignores the event unless it handles a user gesture (https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/html/forms/FileInputType.cpp?rcl=e65ab0a11b73c8eea0139c0757005432d6dbb0b6&l=135)
-----

As of 56f9a641544d2cafa37142545bb39254f7bd98b3, the "control-O" key event no longer generates a user gesture. In fact, what devtools is currently trying to do is take advantage of a security hole that that change closed. Suppose a random web page out there had a file picker control that was hidden, and that web page listened for "control-O" and simulated the click. That would turn the "choose a file to open" box that the user was expecting into a "choose a file to send to the attacker" box.

That is fixed, because browser shortcuts aren't user gestures any more.

But this means that devtools need to create a user gesture token if it wants to keep doing this. That needs to be done in C++, not JavaScript.

Where can I tie into C++ to make that happen?
Just to update, this issue is still observed using #62.0.3179.0 on Mac 10.12.6, Linux Ubuntu 14.04 and Win 10.

@avi: Is there any latest updates available on this issue as this issue is tagged with Release Block Stable?

Thanks!!
[Bulk Edit]
URGENT - PTAL.
Your bug is labelled as M61 Stable ReleaseBlock, pls make sure to land the fix and get it merged into the release branch ASAP.

Know that this issue shouldn't block the release?  Remove the ReleaseBlock-Stable label.

Thank you.

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 10 2017

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

commit 8b750849271adebe4dc164d1101ccaaa3790f922
Author: Avi Drissman <avi@chromium.org>
Date: Thu Aug 10 21:18:26 2017

Revert "Don't count browser shortcut events as being user gestures."

This reverts commit 56f9a641544d2cafa37142545bb39254f7bd98b3.

The lack of a user gesture for browser shortcut events causes web
compatibility issues. This needs a better-engineered approach.

BUG=709765,  749005 ,  753612 ,  741612 
TEST=as in bugs

Change-Id: I2faee9623597561297e01756b4bdf6f56c049eeb
Reviewed-on: https://chromium-review.googlesource.com/610829
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493549}
[modify] https://crrev.com/8b750849271adebe4dc164d1101ccaaa3790f922/third_party/WebKit/Source/core/input/KeyboardEventManager.cpp

Comment 13 by a...@chromium.org, Aug 10 2017

Labels: Merge-Request-61
Labels: TE-Verified-M62 TE-Verified-62.0.3182.0
Tested the issue on Windows-7, Ubuntu 14.04 and Mac OS 10.12.6 using chrome latest Canary M62-62.0.3182.0 by following steps mentioned in the original comment. Observed that open dialog box seen on using ctrl+o option in devtools>Performence tab and its working as expected. Hence adding TE-Verified label.

Please find the screen shot for reference.

Thank you!
749005.png
214 KB View Download

Comment 15 by a...@chromium.org, Aug 11 2017

Thank you for the verification. This looks good on the canary to me too.
Labels: -Merge-Request-61 Merge-Approved-61
Approving merge to M61 branch 3163 based on comment #14 and #15 and per chat with avi@, this will be a small and clean revert merge.
Project Member

Comment 17 by bugdroid1@chromium.org, Aug 11 2017

Labels: -merge-approved-61 merge-merged-3163
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0234225c87bd459b2039d642921e9a7ad502eb89

commit 0234225c87bd459b2039d642921e9a7ad502eb89
Author: Avi Drissman <avi@chromium.org>
Date: Fri Aug 11 17:35:51 2017

Revert "Don't count browser shortcut events as being user gestures."

This reverts commit 56f9a641544d2cafa37142545bb39254f7bd98b3.

The lack of a user gesture for browser shortcut events causes web
compatibility issues. This needs a better-engineered approach.

BUG=709765,  749005 ,  753612 ,  741612 
TEST=as in bugs
TBR=avi@chromium.org

Change-Id: I2faee9623597561297e01756b4bdf6f56c049eeb
Reviewed-on: https://chromium-review.googlesource.com/610829
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#493549}(cherry picked from commit 8b750849271adebe4dc164d1101ccaaa3790f922)
Reviewed-on: https://chromium-review.googlesource.com/611668
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#490}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/0234225c87bd459b2039d642921e9a7ad502eb89/third_party/WebKit/Source/core/input/KeyboardEventManager.cpp

Comment 18 by a...@chromium.org, Aug 11 2017

Status: Fixed (was: Assigned)
Labels: TE-Verified-M61 TE-Verified-61.0.3163.49
Retested the above issue on #61.0.3163.49 on Mac(10.11.6,10.12.3), Win(7,8,10), Linux(14.04).
Fix is working as intended.
Result.mov
2.2 MB Download

Sign in to add a comment