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

Issue 1255483004: Implement surface-based browser process hit testing for Mac and Aura (Closed)

Created:
5 years, 5 months ago by kenrb
Modified:
5 years, 3 months ago
Reviewers:
piman
CC:
chromium-reviews, creis+watch_chromium.org, danakj+watch_chromium.org, darin-cc_chromium.org, jam, jbauman+watch_chromium.org, kalyank, lfg, miu+watch_chromium.org, nasko+codewatch_chromium.org, nona+watch_chromium.org, piman+watch_chromium.org, shuchen+watch_chromium.org, sievers+watch_chromium.org, site-isolation-reviews_chromium.org, James Su, Ian Vollick, yusukes+watch_chromium.org, rjkroege
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement surface-based browser process hit testing for Mac and Aura For efficient input handling with out-of-process iframes, events need to be routed directly to the correct renderer process that will end up handling the event (rather than forwarding from renderer process to renderer process, as we have been doing previously). This patch causes RenderWidgetHostViewAura and RenderWidgetHostViewMac to send mouse and mousewheel events to a routing class that performs a hit test base on the event's coordinates and forwards to the correct RenderWidgetHostView. This should only have an affect when running in Site-per-process mode. Otherwise the hit test gets short circuited because there is only one RenderWidgetHostView per tab. BUG=491334 Committed: https://crrev.com/2a565f883aa938587ed745a077e1dd734c389c55 Cr-Commit-Position: refs/heads/master@{#347008}

Patch Set 1 #

Patch Set 2 : Missing files #

Patch Set 3 : Another WIP #

Patch Set 4 : Working revision uploaded for try jobs #

Patch Set 5 : Rebase + bug fix #

Patch Set 6 : Mac support #

Patch Set 7 : Fix compile bug #

Patch Set 8 : Compile bug part deux #

Patch Set 9 : Rebase #

Patch Set 10 : Fix crash bug on Mac #

Patch Set 11 : Test added #

Patch Set 12 : Fixed compile issue in test #

Patch Set 13 : Added missing test file #

Total comments: 10

Patch Set 14 : Rebase only #

Patch Set 15 : Comments addressed #

Total comments: 2

Patch Set 16 : Add null checks on RenderWidgetHostDelegate #

Patch Set 17 : Disabled test on Android (not implemented there) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+508 lines, -22 lines) Patch
M content/browser/compositor/delegated_frame_host.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/compositor/delegated_frame_host.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/frame_host/cross_process_frame_connector.cc View 1 2 3 2 chunks +3 lines, -6 lines 0 comments Download
M content/browser/frame_host/render_widget_host_view_child_frame.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/frame_host/render_widget_host_view_child_frame.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +30 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_widget_host_delegate.h View 1 2 3 2 chunks +3 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_delegate.cc View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
A content/browser/renderer_host/render_widget_host_input_event_router.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +59 lines, -0 lines 0 comments Download
A content/browser/renderer_host/render_widget_host_input_event_router.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +82 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_aura.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_aura.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +52 lines, -10 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_base.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +5 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 9 chunks +87 lines, -5 lines 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +134 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +4 lines, -0 lines 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +11 lines, -0 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -0 lines 0 comments Download
A content/test/data/frame_tree/page_with_positioned_frame.html View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +16 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (3 generated)
kenrb
piman: PTAL? There still seems to be a problem with this working on Mac, with ...
5 years, 3 months ago (2015-08-31 19:02:23 UTC) #2
kenrb
piman: PTAL? There still seems to be a problem with this working on Mac, with ...
5 years, 3 months ago (2015-08-31 19:02:26 UTC) #3
piman
lgtm https://codereview.chromium.org/1255483004/diff/240001/content/browser/renderer_host/render_widget_host_input_event_router.h File content/browser/renderer_host/render_widget_host_input_event_router.h (right): https://codereview.chromium.org/1255483004/diff/240001/content/browser/renderer_host/render_widget_host_input_event_router.h#newcode50 content/browser/renderer_host/render_widget_host_input_event_router.h:50: typedef std::map<uint32_t, RenderWidgetHostViewBase*> nit: hash_map?
5 years, 3 months ago (2015-08-31 23:45:14 UTC) #4
dcheng
Some random drive-bys. https://codereview.chromium.org/1255483004/diff/240001/content/browser/compositor/delegated_frame_host.h File content/browser/compositor/delegated_frame_host.h (right): https://codereview.chromium.org/1255483004/diff/240001/content/browser/compositor/delegated_frame_host.h#newcode156 content/browser/compositor/delegated_frame_host.h:156: // Returns a null SurfaceId if ...
5 years, 3 months ago (2015-08-31 23:45:54 UTC) #5
kenrb
https://codereview.chromium.org/1255483004/diff/240001/content/browser/compositor/delegated_frame_host.h File content/browser/compositor/delegated_frame_host.h (right): https://codereview.chromium.org/1255483004/diff/240001/content/browser/compositor/delegated_frame_host.h#newcode156 content/browser/compositor/delegated_frame_host.h:156: // Returns a null SurfaceId if a surface has ...
5 years, 3 months ago (2015-09-01 15:56:16 UTC) #6
lazyboy
https://chromiumcodereview.appspot.com/1255483004/diff/280001/content/browser/renderer_host/render_widget_host_view_mac.mm File content/browser/renderer_host/render_widget_host_view_mac.mm (right): https://chromiumcodereview.appspot.com/1255483004/diff/280001/content/browser/renderer_host/render_widget_host_view_mac.mm#newcode1158 content/browser/renderer_host/render_widget_host_view_mac.mm:1158: render_widget_host_->delegate()->GetInputEventRouter()) { FYI, the mac failures seems to be ...
5 years, 3 months ago (2015-09-01 21:29:43 UTC) #7
kenrb
https://codereview.chromium.org/1255483004/diff/280001/content/browser/renderer_host/render_widget_host_view_mac.mm File content/browser/renderer_host/render_widget_host_view_mac.mm (right): https://codereview.chromium.org/1255483004/diff/280001/content/browser/renderer_host/render_widget_host_view_mac.mm#newcode1158 content/browser/renderer_host/render_widget_host_view_mac.mm:1158: render_widget_host_->delegate()->GetInputEventRouter()) { On 2015/09/01 21:29:42, lazyboy wrote: > FYI, ...
5 years, 3 months ago (2015-09-02 16:35:06 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1255483004/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1255483004/320001
5 years, 3 months ago (2015-09-02 19:19:50 UTC) #11
commit-bot: I haz the power
Committed patchset #17 (id:320001)
5 years, 3 months ago (2015-09-02 20:25:07 UTC) #12
commit-bot: I haz the power
5 years, 3 months ago (2015-09-02 20:25:49 UTC) #13
Message was sent while issue was closed.
Patchset 17 (id:??) landed as
https://crrev.com/2a565f883aa938587ed745a077e1dd734c389c55
Cr-Commit-Position: refs/heads/master@{#347008}

Powered by Google App Engine
This is Rietveld 408576698