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

Issue 14487003: Add a new pair of IPC categories for messages that need handling as input events (Closed)

Created:
7 years, 8 months ago by jamesr
Modified:
7 years, 8 months ago
CC:
chromium-reviews, yusukes+watch_chromium.org, jam, penghuang+watch_chromium.org, sail+watch_chromium.org, joi+watch-content_chromium.org, nona+watch_chromium.org, darin-cc_chromium.org, apatrick_chromium, James Su, piman
Visibility:
Public.

Description

Add a new pair of IPC categories for messages that need handling as input events The compositor thread input filtering mechanism adds the possibility of handling some IPCs in the render process main thread in a different order than they were sent from the browser process since it filters some messages from the IO thread. For the most part, this is OK since the exact order of different types of messages is not important but there are some input-related messages that do need to processed in order - for instance MouseCaptureLost (see crbug.com/231532). This adds a new IPC class, InputMsg, for messages that need input-like filtering and InputHostMsg for their ACKs. All messages of this class are routed through the compositor thread to preserve order. BUG=233365 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=196907

Patch Set 1 #

Patch Set 2 : compile fixes pt 1 #

Patch Set 3 : compile fixes pt 2 #

Total comments: 1

Patch Set 4 : ViewInputMsg -> InputMsg #

Patch Set 5 : update comment #

Total comments: 3

Patch Set 6 : addresses feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+394 lines, -346 lines) Patch
M content/browser/android/content_view_core_impl.cc View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M content/browser/browser_plugin/browser_plugin_guest.cc View 1 2 3 3 chunks +3 lines, -2 lines 0 comments Download
M content/browser/renderer_host/ime_adapter_android.cc View 1 2 3 6 chunks +6 lines, -5 lines 0 comments Download
M content/browser/renderer_host/render_view_host_impl.cc View 1 2 3 2 chunks +3 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_view_host_unittest.cc View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.cc View 1 2 3 10 chunks +22 lines, -21 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_unittest.cc View 1 2 3 17 chunks +20 lines, -19 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.cc View 1 2 3 2 chunks +2 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_widget_host_view_gtk.cc View 1 2 3 3 chunks +3 lines, -6 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 5 chunks +6 lines, -4 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac_unittest.mm View 1 2 3 2 chunks +3 lines, -3 lines 0 comments Download
M content/common/content_message_generator.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
A content/common/input_messages.h View 1 2 3 4 5 1 chunk +131 lines, -0 lines 0 comments Download
M content/common/swapped_out_messages.cc View 1 2 3 2 chunks +2 lines, -1 line 0 comments Download
M content/common/view_messages.h View 8 chunks +0 lines, -89 lines 0 comments Download
M content/content_common.gypi View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M content/public/test/render_view_test.cc View 1 2 3 3 chunks +5 lines, -3 lines 0 comments Download
M content/renderer/gpu/input_event_filter.h View 1 2 3 3 chunks +6 lines, -5 lines 0 comments Download
M content/renderer/gpu/input_event_filter.cc View 1 2 3 4 5 5 chunks +6 lines, -23 lines 0 comments Download
M content/renderer/gpu/input_event_filter_unittest.cc View 1 2 3 6 chunks +34 lines, -29 lines 0 comments Download
M content/renderer/idle_user_detector.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M content/renderer/render_view_impl.h View 1 2 3 4 5 6 chunks +21 lines, -20 lines 0 comments Download
M content/renderer/render_view_impl.cc View 1 2 3 4 5 14 chunks +97 lines, -96 lines 0 comments Download
M content/renderer/render_widget.h View 1 2 3 4 5 2 chunks +4 lines, -4 lines 0 comments Download
M content/renderer/render_widget.cc View 1 2 3 4 5 4 chunks +6 lines, -5 lines 0 comments Download
M ipc/ipc_message_start.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
jamesr
This adds a new IPC class to do the compositor thread filtering. Hopefully this method ...
7 years, 8 months ago (2013-04-24 23:38:13 UTC) #1
jam
question: why ViewInputMsg instead of InputMsg? https://codereview.chromium.org/14487003/diff/8001/content/common/view_input_messages.h File content/common/view_input_messages.h (right): https://codereview.chromium.org/14487003/diff/8001/content/common/view_input_messages.h#newcode130 content/common/view_input_messages.h:130: // independent ViewHostMsg, ...
7 years, 8 months ago (2013-04-25 15:31:16 UTC) #2
jamesr
On 2013/04/25 15:31:16, jam wrote: > question: why ViewInputMsg instead of InputMsg? I didn't think ...
7 years, 8 months ago (2013-04-26 00:23:28 UTC) #3
jam
lgtm https://codereview.chromium.org/14487003/diff/17001/content/renderer/render_view_impl.cc File content/renderer/render_view_impl.cc (right): https://codereview.chromium.org/14487003/diff/17001/content/renderer/render_view_impl.cc#newcode1007 content/renderer/render_view_impl.cc:1007: IPC_MESSAGE_HANDLER(InputMsg_Undo, OnUndo) nit: please sort all the InputMsg ...
7 years, 8 months ago (2013-04-26 00:36:09 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/14487003/28001
7 years, 8 months ago (2013-04-26 01:21:09 UTC) #5
commit-bot: I haz the power
Presubmit check for 14487003-28001 failed and returned exit status 1. INFO:root:Found 28 file(s). Running presubmit ...
7 years, 8 months ago (2013-04-26 01:21:20 UTC) #6
jamesr
Cris - could you security review this change? I'm moving a bunch of IPCs to ...
7 years, 8 months ago (2013-04-26 02:23:36 UTC) #7
darin (slow to review)
LGTM
7 years, 8 months ago (2013-04-26 04:59:13 UTC) #8
palmer
IPC security LGTM
7 years, 8 months ago (2013-04-26 21:50:41 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/14487003/28001
7 years, 8 months ago (2013-04-26 21:51:04 UTC) #10
commit-bot: I haz the power
7 years, 8 months ago (2013-04-27 01:08:17 UTC) #11
Message was sent while issue was closed.
Change committed as 196907

Powered by Google App Engine
This is Rietveld 408576698