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

Issue 2789773003: Send FrameSwapMessageQueue's messages with a separate IPC (Closed)

Created:
3 years, 8 months ago by Saman Sami
Modified:
3 years, 8 months ago
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Send FrameSwapMessageQueue's messages with a separate IPC We can't put messages inside ViewHostMsg_SwapCompositorFrame once it's mojoified, so those messages need to be sent separately. In order to achieve this, I added an integer token to CompositorFrameMetadata and send the same token with the messages to the browser. The browser uses the token to match frames and messages and once both the frame and its messages arrive, the messages are processed. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel BUG=704972 Review-Url: https://codereview.chromium.org/2789773003 Cr-Commit-Position: refs/heads/master@{#461962} Committed: https://chromium.googlesource.com/chromium/src/+/d8ecdc4a0429d984fde83e08a1bb343af2d6851b

Patch Set 1 #

Patch Set 2 : c #

Patch Set 3 : c #

Patch Set 4 : rebased #

Total comments: 10

Patch Set 5 : c #

Patch Set 6 : rebase #

Patch Set 7 : c #

Patch Set 8 : c #

Total comments: 10

Patch Set 9 : c #

Patch Set 10 : c #

Patch Set 11 : Survive renderer crash #

Patch Set 12 : c #

Patch Set 13 : Added unit test #

Patch Set 14 : Added comments #

Patch Set 15 : Remove messages_to_deliver_with_frame #

Total comments: 2

Patch Set 16 : Remove semicolon #

Total comments: 2

Patch Set 17 : Drop messages on renderer exit #

Patch Set 18 : Fixed unit tests #

Patch Set 19 : rebase #

Patch Set 20 : Fix rebase mistake #

Unified diffs Side-by-side diffs Delta from patch set Stats (+352 lines, -32 lines) Patch
M cc/ipc/cc_param_traits_macros.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M cc/ipc/compositor_frame_metadata.mojom View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M cc/ipc/compositor_frame_metadata_struct_traits.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M cc/output/compositor_frame_metadata.h View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M content/browser/bad_message.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +18 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 7 chunks +63 lines, -13 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 6 chunks +225 lines, -4 lines 0 comments Download
M content/common/view_messages.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +8 lines, -6 lines 0 comments Download
M content/renderer/gpu/frame_swap_message_queue.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +7 lines, -2 lines 0 comments Download
M content/renderer/gpu/frame_swap_message_queue.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M content/renderer/gpu/queue_message_swap_promise.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M content/renderer/gpu/renderer_compositor_frame_sink.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +12 lines, -5 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 90 (68 generated)
Saman Sami
Please comment on the overall approach. I'm assuming that either pipe can be busted and ...
3 years, 8 months ago (2017-03-31 15:29:04 UTC) #10
Fady Samuel
https://codereview.chromium.org/2789773003/diff/80001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/80001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1584 content/browser/renderer_host/render_widget_host_impl.cc:1584: while (queued_tokens_.size() && queued_tokens_.front() < frame_token) Why would the ...
3 years, 8 months ago (2017-03-31 16:45:14 UTC) #16
Saman Sami
https://codereview.chromium.org/2789773003/diff/80001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/80001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1584 content/browser/renderer_host/render_widget_host_impl.cc:1584: while (queued_tokens_.size() && queued_tokens_.front() < frame_token) On 2017/03/31 16:45:14, ...
3 years, 8 months ago (2017-04-03 19:22:28 UTC) #19
piman
https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1624 content/browser/renderer_host/render_widget_host_impl.cc:1624: // future. nit: shouldn't this be consistent with the ...
3 years, 8 months ago (2017-04-03 23:48:26 UTC) #30
Saman Sami
https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1624 content/browser/renderer_host/render_widget_host_impl.cc:1624: // future. On 2017/04/03 23:48:26, piman wrote: > nit: ...
3 years, 8 months ago (2017-04-03 23:56:01 UTC) #31
Saman Sami
https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1624 content/browser/renderer_host/render_widget_host_impl.cc:1624: // future. On 2017/04/03 23:56:01, Saman Sami wrote: > ...
3 years, 8 months ago (2017-04-03 23:58:09 UTC) #32
piman
https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1624 content/browser/renderer_host/render_widget_host_impl.cc:1624: // future. On 2017/04/03 23:58:09, Saman Sami wrote: > ...
3 years, 8 months ago (2017-04-04 00:08:11 UTC) #33
Fady Samuel
https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1624 content/browser/renderer_host/render_widget_host_impl.cc:1624: // future. On 2017/04/04 00:08:11, piman wrote: > On ...
3 years, 8 months ago (2017-04-04 00:10:11 UTC) #34
Saman Sami
https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1624 content/browser/renderer_host/render_widget_host_impl.cc:1624: // future. On 2017/04/04 00:10:10, Fady Samuel wrote: > ...
3 years, 8 months ago (2017-04-04 00:13:51 UTC) #35
Saman Sami
https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1624 content/browser/renderer_host/render_widget_host_impl.cc:1624: // future. If it makes sense to process the ...
3 years, 8 months ago (2017-04-04 00:16:17 UTC) #36
piman
On Mon, Apr 3, 2017 at 5:10 PM, <fsamuel@chromium.org> wrote: > > https://codereview.chromium.org/2789773003/diff/160001/ > content/browser/renderer_host/render_widget_host_impl.cc ...
3 years, 8 months ago (2017-04-04 00:21:30 UTC) #37
piman
https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/160001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1624 content/browser/renderer_host/render_widget_host_impl.cc:1624: // future. On 2017/04/04 00:16:17, Saman Sami wrote: > ...
3 years, 8 months ago (2017-04-04 00:21:53 UTC) #38
Saman Sami
tsepez@: Please review IPC piman@: Please review content/ isherman@: Please review metrics
3 years, 8 months ago (2017-04-04 18:02:59 UTC) #59
Tom Sepez
https://codereview.chromium.org/2789773003/diff/300001/cc/ipc/compositor_frame_metadata.mojom File cc/ipc/compositor_frame_metadata.mojom (right): https://codereview.chromium.org/2789773003/diff/300001/cc/ipc/compositor_frame_metadata.mojom#newcode37 cc/ipc/compositor_frame_metadata.mojom:37: uint32 frame_token; Does it matter that these are guessable? ...
3 years, 8 months ago (2017-04-04 18:11:04 UTC) #60
Saman Sami
https://codereview.chromium.org/2789773003/diff/300001/cc/ipc/compositor_frame_metadata.mojom File cc/ipc/compositor_frame_metadata.mojom (right): https://codereview.chromium.org/2789773003/diff/300001/cc/ipc/compositor_frame_metadata.mojom#newcode37 cc/ipc/compositor_frame_metadata.mojom:37: uint32 frame_token; On 2017/04/04 18:11:04, Tom Sepez wrote: > ...
3 years, 8 months ago (2017-04-04 18:25:25 UTC) #61
Tom Sepez
lgtm
3 years, 8 months ago (2017-04-04 18:38:53 UTC) #64
piman
lgtm
3 years, 8 months ago (2017-04-04 19:11:05 UTC) #65
Saman Sami
https://codereview.chromium.org/2789773003/diff/320001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/320001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1661 content/browser/renderer_host/render_widget_host_impl.cc:1661: ProcessSwapMessages(std::move(queued_messages_.front().second)); OK, maybe this is not a good idea. ...
3 years, 8 months ago (2017-04-04 19:43:12 UTC) #66
piman
https://codereview.chromium.org/2789773003/diff/320001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/2789773003/diff/320001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1661 content/browser/renderer_host/render_widget_host_impl.cc:1661: ProcessSwapMessages(std::move(queued_messages_.front().second)); On 2017/04/04 19:43:12, Saman Sami wrote: > OK, ...
3 years, 8 months ago (2017-04-04 19:49:49 UTC) #67
Ilya Sherman
histograms.xml lgtm
3 years, 8 months ago (2017-04-04 20:48:59 UTC) #70
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/2789773003/420001
3 years, 8 months ago (2017-04-05 02:40:26 UTC) #87
commit-bot: I haz the power
3 years, 8 months ago (2017-04-05 03:07:09 UTC) #90
Message was sent while issue was closed.
Committed patchset #20 (id:420001) as
https://chromium.googlesource.com/chromium/src/+/d8ecdc4a0429d984fde83e08a1bb...

Powered by Google App Engine
This is Rietveld 408576698