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

Issue 1281663002: Mandoline: Allow submitting CompositorFrames directly to mojo::Views (Closed)

Created:
5 years, 4 months ago by Fady Samuel
Modified:
5 years, 3 months ago
Reviewers:
rjkroege, sadrul, sky
CC:
chromium-reviews, kalyank, sadrul, qsr+mojo_chromium.org, droger+watchlist_chromium.org, viettrungluu+watch_chromium.org, blundell+watchlist_chromium.org, sdefresne+watchlist_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, penghuang+watch-mandoline_chromium.org, piman+watch_chromium.org, darin (slow to review), ben+mojo_chromium.org, cc-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Mandoline: Allow submitting CompositorFrames directly to mojo::Views Right now, prior to this patch, Views and Surfaces are similar but separate concepts. A View has a Surface ID. A View is a thing that you manipulate on the main thread of an html_viewer, and a Surface is the thing you submit CompositorFrames to on the compositor thread. This CL allows submitting frames directly to Views via a Surface interface that is implemented upon request. A Subsequent patch will teach the View Manager how to read CompositorFrame messages so that it updates the view hierarchy on each frame. BUG=492389 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel TBR=jam@chromium.org for mechanical pdf_viewer.cc change. Committed: https://crrev.com/856ded0fc87f766efd59642701aa215b4fdce66f Cr-Commit-Position: refs/heads/master@{#345952}

Patch Set 1 #

Patch Set 2 : Proper diff #

Patch Set 3 : Browser uses CompositorFrameReceiver::SubmitFrame #

Patch Set 4 : Rebased #

Patch Set 5 : Fixed SubmitFrame #

Patch Set 6 : PDF Viewer works #

Patch Set 7 : Rebased #

Total comments: 10

Patch Set 8 : Rebased #

Patch Set 9 : Rebased #

Patch Set 10 : Addressed comments #

Total comments: 1

Patch Set 11 : Proper rebase #

Patch Set 12 : Rebased #

Patch Set 13 : Simplify surface ID allocation #

Patch Set 14 : Yet anther rebase (YAR!!!) #

Total comments: 18

Patch Set 15 : Addressed Rob's comments + Lots of cleanup #

Total comments: 3

Patch Set 16 : Added plumbing for returning resources #

Total comments: 3

Patch Set 17 : Added a TODO #

Total comments: 6

Patch Set 18 : Rebased #

Patch Set 19 : Rebased + added uip::Surface #

Total comments: 24

Patch Set 20 : Remove commented out code #

Patch Set 21 : Addressed Scott's comments #

Patch Set 22 : rebased #

Patch Set 23 : Fixed rebase #

Patch Set 24 : Fixed broken tests (I hope) #

Patch Set 25 : Fixed DEPS + BUILD.gn #

Patch Set 26 : Fixed a crash in tests #

Patch Set 27 : Fixed DEPS #

Patch Set 28 : Rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+406 lines, -640 lines) Patch
M components/html_viewer/html_widget.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 6 chunks +19 lines, -19 lines 0 comments Download
M components/html_viewer/web_layer_tree_view_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +5 lines, -13 lines 0 comments Download
M components/html_viewer/web_layer_tree_view_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 3 chunks +9 lines, -18 lines 0 comments Download
M components/pdf_viewer/pdf_viewer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 10 chunks +17 lines, -50 lines 0 comments Download
M components/view_manager/connection_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 4 chunks +8 lines, -1 line 0 comments Download
M components/view_manager/connection_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 3 chunks +9 lines, -1 line 0 comments Download
M components/view_manager/public/cpp/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 3 chunks +4 lines, -0 lines 0 comments Download
M components/view_manager/public/cpp/lib/view.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +11 lines, -6 lines 0 comments Download
A components/view_manager/public/cpp/lib/view_surface.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +46 lines, -0 lines 0 comments Download
M components/view_manager/public/cpp/lib/view_tree_client_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +4 lines, -1 line 0 comments Download
M components/view_manager/public/cpp/lib/view_tree_client_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +7 lines, -8 lines 0 comments Download
M components/view_manager/public/cpp/view.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +3 lines, -2 lines 0 comments Download
A components/view_manager/public/cpp/view_surface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +54 lines, -0 lines 0 comments Download
A components/view_manager/public/cpp/view_surface_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +24 lines, -0 lines 0 comments Download
M components/view_manager/public/interfaces/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +0 lines, -1 line 0 comments Download
M components/view_manager/public/interfaces/compositor_frame.mojom View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +14 lines, -4 lines 0 comments Download
D components/view_manager/public/interfaces/surfaces.mojom View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +0 lines, -29 lines 0 comments Download
M components/view_manager/public/interfaces/view_tree.mojom View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 3 chunks +4 lines, -3 lines 0 comments Download
M components/view_manager/server_view.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 5 chunks +29 lines, -2 lines 0 comments Download
M components/view_manager/server_view.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 6 chunks +75 lines, -2 lines 0 comments Download
M components/view_manager/server_view_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +7 lines, -0 lines 0 comments Download
M components/view_manager/surfaces/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +0 lines, -3 lines 0 comments Download
D components/view_manager/surfaces/public/interfaces/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +0 lines, -27 lines 0 comments Download
D components/view_manager/surfaces/surfaces_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +0 lines, -24 lines 0 comments Download
D components/view_manager/surfaces/surfaces_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +0 lines, -78 lines 0 comments Download
D components/view_manager/surfaces/surfaces_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +0 lines, -94 lines 0 comments Download
M components/view_manager/test_server_view_delegate.h 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
M components/view_manager/test_server_view_delegate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +4 lines, -0 lines 0 comments Download
M components/view_manager/view_manager_app.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 5 chunks +0 lines, -14 lines 0 comments Download
M components/view_manager/view_manager_app.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 4 chunks +1 line, -21 lines 0 comments Download
M components/view_manager/view_tree_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +4 lines, -3 lines 0 comments Download
M components/view_manager/view_tree_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2 chunks +11 lines, -14 lines 0 comments Download
M components/view_manager/view_tree_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +3 lines, -1 line 0 comments Download
M mandoline/tab/frame_connection.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 chunks +0 lines, -2 lines 0 comments Download
M mandoline/ui/aura/surface_binding.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 6 chunks +10 lines, -126 lines 0 comments Download
M mojo/cc/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +1 line, -0 lines 0 comments Download
M mojo/cc/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +1 line, -1 line 0 comments Download
M mojo/cc/output_surface_mojo.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +12 lines, -27 lines 0 comments Download
M mojo/cc/output_surface_mojo.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +9 lines, -45 lines 0 comments Download

Messages

Total messages: 70 (26 generated)
Fady Samuel
5 years, 4 months ago (2015-08-07 00:15:16 UTC) #2
rjkroege
please line-break the comment. https://codereview.chromium.org/1281663002/diff/120001/components/pdf_viewer/pdf_viewer.cc File components/pdf_viewer/pdf_viewer.cc (right): https://codereview.chromium.org/1281663002/diff/120001/components/pdf_viewer/pdf_viewer.cc#newcode75 components/pdf_viewer/pdf_viewer.cc:75: view_->RequestCompositorFrameReceiver(GetProxy(&receiver_)); i don't like this ...
5 years, 4 months ago (2015-08-13 18:04:01 UTC) #3
Fady Samuel
PTAL Rob! I believe I've addressed your comments and I've renamed SubmitFrame to SubmitCompositorFrame. https://codereview.chromium.org/1281663002/diff/120001/components/pdf_viewer/pdf_viewer.cc ...
5 years, 4 months ago (2015-08-17 21:11:11 UTC) #4
rjkroege
did you line-break the description?
5 years, 4 months ago (2015-08-17 22:34:28 UTC) #5
Fady Samuel
On 2015/08/17 22:34:28, rjkroege wrote: > did you line-break the description? I have now! :-)
5 years, 4 months ago (2015-08-17 22:40:16 UTC) #6
rjkroege
Please fix up skia includes? https://codereview.chromium.org/1281663002/diff/180001/components/view_manager/DEPS File components/view_manager/DEPS (right): https://codereview.chromium.org/1281663002/diff/180001/components/view_manager/DEPS#newcode11 components/view_manager/DEPS:11: "+third_party/skia/include", you didn't address ...
5 years, 4 months ago (2015-08-17 23:06:19 UTC) #7
Fady Samuel
PTAL Rob. As discussed offline, this will need some changes to the cc interface. I'll ...
5 years, 4 months ago (2015-08-18 20:28:31 UTC) #8
rjkroege
On 2015/08/18 20:28:31, Fady Samuel wrote: > PTAL Rob. As discussed offline, this will need ...
5 years, 4 months ago (2015-08-19 17:44:23 UTC) #9
Fady Samuel
On 2015/08/19 17:44:23, rjkroege wrote: > On 2015/08/18 20:28:31, Fady Samuel wrote: > > PTAL ...
5 years, 4 months ago (2015-08-19 17:45:36 UTC) #10
Fady Samuel
PTAL Rob! Thanks
5 years, 4 months ago (2015-08-19 21:21:51 UTC) #11
rjkroege
On 2015/08/19 21:21:51, Fady Samuel wrote: > PTAL Rob! Thanks update CL description per discussion.
5 years, 4 months ago (2015-08-19 22:49:02 UTC) #12
Fady Samuel
PTAL Rob! I've updated the description.
5 years, 4 months ago (2015-08-19 22:51:53 UTC) #13
rjkroege
looks largely reasonable. please update commit message. Add some todos. etc. lgtm https://codereview.chromium.org/1281663002/diff/260001/components/html_viewer/html_frame.cc File components/html_viewer/html_frame.cc ...
5 years, 4 months ago (2015-08-19 23:45:44 UTC) #14
Fady Samuel
PTAL Rob! I found lots of opportunities for cleanup! Yay! https://codereview.chromium.org/1281663002/diff/260001/components/html_viewer/html_frame.cc File components/html_viewer/html_frame.cc (right): https://codereview.chromium.org/1281663002/diff/260001/components/html_viewer/html_frame.cc#newcode605 ...
5 years, 4 months ago (2015-08-20 16:22:45 UTC) #15
rjkroege
https://codereview.chromium.org/1281663002/diff/260001/components/html_viewer/html_frame.cc File components/html_viewer/html_frame.cc (right): https://codereview.chromium.org/1281663002/diff/260001/components/html_viewer/html_frame.cc#newcode605 components/html_viewer/html_frame.cc:605: view()->RequestCompositorFrameReceiver(GetProxy(&receiver)); On 2015/08/20 16:22:44, Fady Samuel wrote: > On ...
5 years, 4 months ago (2015-08-21 18:54:45 UTC) #16
Fady Samuel
PTAL https://codereview.chromium.org/1281663002/diff/260001/components/html_viewer/html_frame.cc File components/html_viewer/html_frame.cc (right): https://codereview.chromium.org/1281663002/diff/260001/components/html_viewer/html_frame.cc#newcode605 components/html_viewer/html_frame.cc:605: view()->RequestCompositorFrameReceiver(GetProxy(&receiver)); On 2015/08/21 18:54:45, rjkroege wrote: > On ...
5 years, 4 months ago (2015-08-21 21:31:10 UTC) #17
rjkroege
https://codereview.chromium.org/1281663002/diff/260001/components/pdf_viewer/pdf_viewer.cc File components/pdf_viewer/pdf_viewer.cc (right): https://codereview.chromium.org/1281663002/diff/260001/components/pdf_viewer/pdf_viewer.cc#newcode179 components/pdf_viewer/pdf_viewer.cc:179: float width_ratio = static_cast<float>(width_) / bounds.width(); On 2015/08/21 21:31:10, ...
5 years, 4 months ago (2015-08-21 22:58:00 UTC) #18
Fady Samuel
PTAL https://codereview.chromium.org/1281663002/diff/260001/components/pdf_viewer/pdf_viewer.cc File components/pdf_viewer/pdf_viewer.cc (right): https://codereview.chromium.org/1281663002/diff/260001/components/pdf_viewer/pdf_viewer.cc#newcode179 components/pdf_viewer/pdf_viewer.cc:179: float width_ratio = static_cast<float>(width_) / bounds.width(); On 2015/08/21 ...
5 years, 4 months ago (2015-08-21 23:15:27 UTC) #19
rjkroege
lgtm. But please fix in next cl
5 years, 4 months ago (2015-08-21 23:33:16 UTC) #20
Fady Samuel
+sky@ for OWNER review! Thanks!
5 years, 4 months ago (2015-08-21 23:33:51 UTC) #22
sky
https://codereview.chromium.org/1281663002/diff/320001/components/view_manager/public/cpp/view.h File components/view_manager/public/cpp/view.h (right): https://codereview.chromium.org/1281663002/diff/320001/components/view_manager/public/cpp/view.h#newcode65 components/view_manager/public/cpp/view.h:65: InterfaceRequest<CompositorFrameReceiver> receiver); I think we would be better served ...
5 years, 4 months ago (2015-08-25 17:11:12 UTC) #23
Fady Samuel
PTAL Scott. Can I address your non-trivial suggestions in a separate patch? Thanks! I've just ...
5 years, 4 months ago (2015-08-25 23:39:31 UTC) #24
sky
LGTM
5 years, 3 months ago (2015-08-26 15:15:19 UTC) #25
Fady Samuel
PTAL Scott! I added a uip::Surface which is a wrapper around the surface/surfaceclient mojo interfaces ...
5 years, 3 months ago (2015-08-26 21:51:28 UTC) #26
sky
https://codereview.chromium.org/1281663002/diff/360001/components/html_viewer/html_widget.cc File components/html_viewer/html_widget.cc (right): https://codereview.chromium.org/1281663002/diff/360001/components/html_viewer/html_widget.cc#newcode203 components/html_viewer/html_widget.cc:203: DCHECK(view); Isn't this and 85-94 about the same? It ...
5 years, 3 months ago (2015-08-26 22:58:04 UTC) #27
Fady Samuel
PTAL Scott! https://codereview.chromium.org/1281663002/diff/360001/components/html_viewer/html_widget.cc File components/html_viewer/html_widget.cc (right): https://codereview.chromium.org/1281663002/diff/360001/components/html_viewer/html_widget.cc#newcode203 components/html_viewer/html_widget.cc:203: DCHECK(view); On 2015/08/26 22:58:03, sky wrote: > ...
5 years, 3 months ago (2015-08-26 23:51:01 UTC) #29
sky
LGTM
5 years, 3 months ago (2015-08-27 00:06:08 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1281663002/420001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1281663002/420001
5 years, 3 months ago (2015-08-27 00:07:32 UTC) #33
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_compile_dbg_32_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_compile_dbg_32_ng/builds/90151) ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, ...
5 years, 3 months ago (2015-08-27 00:10:04 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1281663002/460001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1281663002/460001
5 years, 3 months ago (2015-08-27 00:29:31 UTC) #38
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_rel/builds/126774)
5 years, 3 months ago (2015-08-27 01:22:00 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1281663002/480001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1281663002/480001
5 years, 3 months ago (2015-08-27 15:59:45 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1281663002/300002 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1281663002/300002
5 years, 3 months ago (2015-08-27 16:29:59 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1281663002/510001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1281663002/510001
5 years, 3 months ago (2015-08-27 16:50:12 UTC) #49
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_rel/builds/127090)
5 years, 3 months ago (2015-08-27 17:41:48 UTC) #51
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1281663002/530001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1281663002/530001
5 years, 3 months ago (2015-08-27 17:47:03 UTC) #54
commit-bot: I haz the power
Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_dbg/builds/108601)
5 years, 3 months ago (2015-08-27 17:55:20 UTC) #56
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1281663002/530001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1281663002/530001
5 years, 3 months ago (2015-08-27 17:56:24 UTC) #58
commit-bot: I haz the power
Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_dbg/builds/108610) android_chromium_gn_compile_rel on tryserver.chromium.linux (JOB_FAILED, ...
5 years, 3 months ago (2015-08-27 18:06:26 UTC) #60
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1281663002/530001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1281663002/530001
5 years, 3 months ago (2015-08-27 18:16:18 UTC) #62
commit-bot: I haz the power
Failed to apply patch for components/view_manager/connection_manager.h: While running git apply --index -3 -p1; error: patch ...
5 years, 3 months ago (2015-08-27 18:51:30 UTC) #64
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1281663002/550001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1281663002/550001
5 years, 3 months ago (2015-08-27 19:00:32 UTC) #68
commit-bot: I haz the power
Committed patchset #28 (id:550001)
5 years, 3 months ago (2015-08-27 19:41:45 UTC) #69
commit-bot: I haz the power
5 years, 3 months ago (2015-08-27 19:42:39 UTC) #70
Message was sent while issue was closed.
Patchset 28 (id:??) landed as
https://crrev.com/856ded0fc87f766efd59642701aa215b4fdce66f
Cr-Commit-Position: refs/heads/master@{#345952}

Powered by Google App Engine
This is Rietveld 408576698