Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Issue 2804813002: Hide popups when handling mouse down, mouse wheel, or gesture tap in a WebFrameWidget (Closed)

Created:
3 years, 8 months ago by EhsanK
Modified:
3 years, 8 months ago
Reviewers:
kenrb, alexmos, dcheng
CC:
chromium-reviews, mlamouri+watch-blink_chromium.org, blink-reviews, kinuko+watch, dcheng, site-isolation-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Hide popups when handling mouse down, mouse wheel, or gesture tap in a WebFrameWidget When a mouse down is handled inside WebViewImpl (main frame), the current page popup is hidden. The same behavior should apply to out of process renderers. However, in OOPIF renderers the WebViewImpl does not handle mouse events and the task is delegated to the WebFrameWidget corresponding to the frame which has received the event. But since receiving and input inside a WebFrameWidget suggests that the mouse down has been outside the bounds of the WebPagePopup, we should dismiss any currently showing popups the same way as we do it for WebViewImpls. Specifically, not having this behavior led to a bug on Windows where date picker inside OOPIFs does not show again after dismissing an older one by clicking inside the OOPIF. BUG=671732 Review-Url: https://codereview.chromium.org/2804813002 Cr-Commit-Position: refs/heads/master@{#466055} Committed: https://chromium.googlesource.com/chromium/src/+/e3cbfeec943500d99832b93b015d62937ff15443

Patch Set 1 #

Patch Set 2 : Rebased #

Patch Set 3 : Applied the changes to WebMouseEvent #

Patch Set 4 : Rebased #

Patch Set 5 : Use Alt + Down instead of F4 #

Patch Set 6 : Make sure a new popup is not generated #

Total comments: 8

Patch Set 7 : (Try to) Dismiss popup on scroll and gesture tap #

Total comments: 2

Patch Set 8 : Rebased (post blink rename) #

Patch Set 9 : Cancel popup on mouse scroll #

Patch Set 10 : Fix a compile error #

Patch Set 11 : Fix a compile error (2) #

Total comments: 11

Patch Set 12 : Addressing comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+159 lines, -20 lines) Patch
M chrome/browser/site_per_process_interactive_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +110 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp View 1 2 3 4 5 6 7 5 chunks +28 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/WebViewImpl.h View 1 2 3 4 5 6 7 8 9 10 6 chunks +11 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/web/WebViewImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +10 lines, -16 lines 0 comments Download

Messages

Total messages: 64 (50 generated)
EhsanK
Please take a look. Thanks!
3 years, 8 months ago (2017-04-06 20:10:35 UTC) #20
kenrb
The problem also occurs when I click on a different frame than the one with ...
3 years, 8 months ago (2017-04-06 20:42:04 UTC) #21
EhsanK
On 2017/04/06 20:42:04, kenrb wrote: > The problem also occurs when I click on a ...
3 years, 8 months ago (2017-04-06 21:29:16 UTC) #22
dcheng
https://codereview.chromium.org/2804813002/diff/100001/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp File third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp (right): https://codereview.chromium.org/2804813002/diff/100001/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp#newcode775 third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp:775: // the current page popup for this process. Nit: ...
3 years, 8 months ago (2017-04-07 06:32:01 UTC) #23
kenrb
This is maybe not an ideal state, because it is different from WebViewImpl::OnMouseDown's intent in ...
3 years, 8 months ago (2017-04-07 14:27:47 UTC) #24
EhsanK
PTAL. https://codereview.chromium.org/2804813002/diff/100001/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp File third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp (right): https://codereview.chromium.org/2804813002/diff/100001/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp#newcode775 third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp:775: // the current page popup for this process. ...
3 years, 8 months ago (2017-04-07 16:16:12 UTC) #26
EhsanK
On 2017/04/07 14:27:47, kenrb wrote: > This is maybe not an ideal state, because it ...
3 years, 8 months ago (2017-04-07 16:17:16 UTC) #27
dcheng
LGTM with the CL description highlighted to note that this covers taps too now (and ...
3 years, 8 months ago (2017-04-07 17:34:44 UTC) #28
EhsanK
Ken, could you please take another look? Thanks! Adding alexmos@ as the test owner. Alex, ...
3 years, 8 months ago (2017-04-18 17:56:28 UTC) #50
kenrb
lgtm with nits https://codereview.chromium.org/2804813002/diff/200001/chrome/browser/site_per_process_interactive_browsertest.cc File chrome/browser/site_per_process_interactive_browsertest.cc (right): https://codereview.chromium.org/2804813002/diff/200001/chrome/browser/site_per_process_interactive_browsertest.cc#newcode1427 chrome/browser/site_per_process_interactive_browsertest.cc:1427: // Wait a tiny bit. In ...
3 years, 8 months ago (2017-04-18 19:25:53 UTC) #53
alexmos
Test LGTM with nits https://codereview.chromium.org/2804813002/diff/200001/chrome/browser/site_per_process_interactive_browsertest.cc File chrome/browser/site_per_process_interactive_browsertest.cc (right): https://codereview.chromium.org/2804813002/diff/200001/chrome/browser/site_per_process_interactive_browsertest.cc#newcode1345 chrome/browser/site_per_process_interactive_browsertest.cc:1345: size_t GetNumberOfRenderWidgetHosts() { Perhaps put ...
3 years, 8 months ago (2017-04-18 19:59:49 UTC) #54
EhsanK
Thanks for the reviews! https://codereview.chromium.org/2804813002/diff/200001/chrome/browser/site_per_process_interactive_browsertest.cc File chrome/browser/site_per_process_interactive_browsertest.cc (right): https://codereview.chromium.org/2804813002/diff/200001/chrome/browser/site_per_process_interactive_browsertest.cc#newcode1345 chrome/browser/site_per_process_interactive_browsertest.cc:1345: size_t GetNumberOfRenderWidgetHosts() { On 2017/04/18 ...
3 years, 8 months ago (2017-04-20 15:23:09 UTC) #55
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2804813002/220001
3 years, 8 months ago (2017-04-20 17:05:19 UTC) #61
commit-bot: I haz the power
3 years, 8 months ago (2017-04-20 17:46:14 UTC) #64
Message was sent while issue was closed.
Committed patchset #12 (id:220001) as
https://chromium.googlesource.com/chromium/src/+/e3cbfeec943500d99832b93b015d...

Powered by Google App Engine
This is Rietveld 408576698