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

Issue 1996783002: Make cc::SurfaceId unguessable (Closed)

Created:
4 years, 7 months ago by Fady Samuel
Modified:
4 years, 7 months ago
CC:
chromium-reviews, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, cc-bugs_chromium.org, ben+mojo_chromium.org, darin (slow to review)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Make cc::SurfaceId unguessable This CL makes surface IDs unguessable. With this patch, surface ID consists of three components. 1. Namespace ID is a display compositor allocated 32-bit ID. 2. Nonce is a cryptographically secure random, unguessable 64-bit integer generated by the client. 3. Local ID is a 32-bit sequentially increasing integer generated by the client. With this CL, once a surface ID is allocated, its components cannot be modified. BUG=613300 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/845b871f4cfe95ebe15330a9dac32d3c69b598b9 Cr-Commit-Position: refs/heads/master@{#395926}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Fix unittest #

Total comments: 2

Patch Set 3 : Addressed jbauman's comments #

Patch Set 4 : Fixed cc_perftests #

Total comments: 2

Patch Set 5 : Fixed more build targets #

Total comments: 4

Patch Set 6 : Included separate nonce #

Patch Set 7 : Fixed unit tests #

Total comments: 14

Patch Set 8 : Addressed Tom's comments #

Total comments: 6

Patch Set 9 : Addressed comments #

Patch Set 10 : Go modern or go home #

Patch Set 11 : rebased #

Patch Set 12 : Fixed ToString hopefully #

Patch Set 13 : Updated Mac #

Patch Set 14 : Fix size_t issue #

Patch Set 15 : Hopefully fix hash size_t issue #

Total comments: 2

Patch Set 16 : Addressed Ben's comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+211 lines, -130 lines) Patch
M cc/ipc/cc_param_traits.h View 1 2 3 4 5 1 chunk +11 lines, -0 lines 0 comments Download
M cc/ipc/cc_param_traits.cc View 1 2 3 4 5 6 7 2 chunks +43 lines, -0 lines 0 comments Download
M cc/ipc/cc_param_traits_macros.h View 1 2 3 4 5 1 chunk +0 lines, -4 lines 0 comments Download
M cc/ipc/cc_param_traits_unittest.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M cc/layers/surface_layer_impl.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M cc/layers/surface_layer_impl_unittest.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M cc/layers/surface_layer_unittest.cc View 1 2 3 4 5 6 7 7 chunks +7 lines, -7 lines 0 comments Download
M cc/quads/draw_quad_unittest.cc View 1 2 3 4 5 6 7 2 chunks +2 lines, -2 lines 0 comments Download
M cc/quads/surface_draw_quad.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M cc/surfaces/display_scheduler.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M cc/surfaces/display_scheduler_unittest.cc View 1 2 3 4 5 6 7 8 chunks +19 lines, -19 lines 0 comments Download
M cc/surfaces/surface.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M cc/surfaces/surface_aggregator_perftest.cc View 1 2 3 4 5 6 7 4 chunks +10 lines, -9 lines 0 comments Download
M cc/surfaces/surface_aggregator_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 7 chunks +11 lines, -12 lines 0 comments Download
M cc/surfaces/surface_factory_client.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M cc/surfaces/surface_factory_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 8 chunks +8 lines, -8 lines 0 comments Download
M cc/surfaces/surface_hittest_unittest.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -3 lines 0 comments Download
M cc/surfaces/surface_id.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +56 lines, -20 lines 0 comments Download
M cc/surfaces/surface_id_allocator.h View 1 2 3 4 5 6 7 1 chunk +0 lines, -2 lines 0 comments Download
M cc/surfaces/surface_id_allocator.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -6 lines 0 comments Download
M cc/surfaces/surface_unittest.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -2 lines 0 comments Download
M components/mus/public/interfaces/surface_id.mojom View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +13 lines, -5 lines 0 comments Download
M components/mus/ws/server_window_surface.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M components/mus/ws/window_finder.h View 1 2 3 4 5 1 chunk +0 lines, -4 lines 0 comments Download
M content/browser/browser_plugin/browser_plugin_guest.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M content/browser/frame_host/cross_process_frame_connector.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M content/browser/renderer_host/render_widget_host_input_event_router.cc View 1 2 3 4 5 2 chunks +2 lines, -3 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 1 chunk +1 line, -1 line 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 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/browser_plugin/browser_plugin.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/render_frame_proxy.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M mojo/converters/surfaces/surfaces_type_converters.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -6 lines 0 comments Download
M mojo/converters/surfaces/tests/surface_unittest.cc View 1 2 3 4 5 6 7 3 chunks +3 lines, -3 lines 0 comments Download

Messages

Total messages: 95 (39 generated)
Fady Samuel
4 years, 7 months ago (2016-05-19 22:54:52 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/1
4 years, 7 months ago (2016-05-19 22:55:51 UTC) #5
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/69196)
4 years, 7 months ago (2016-05-19 23:10:17 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/20001
4 years, 7 months ago (2016-05-20 00:23:30 UTC) #10
jbauman
https://codereview.chromium.org/1996783002/diff/1/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): https://codereview.chromium.org/1996783002/diff/1/cc/surfaces/surface_id.h#newcode42 cc/surfaces/surface_id.h:42: return std::hash<uint64_t>()((key.id_namespace) | (key.id << 32)); Probably better to ...
4 years, 7 months ago (2016-05-20 00:29:00 UTC) #11
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_chromium_gn_compile_dbg on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_chromium_gn_compile_dbg/builds/69876) cast_shell_linux on ...
4 years, 7 months ago (2016-05-20 00:37:38 UTC) #13
Fady Samuel
PTAL https://codereview.chromium.org/1996783002/diff/1/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): https://codereview.chromium.org/1996783002/diff/1/cc/surfaces/surface_id.h#newcode42 cc/surfaces/surface_id.h:42: return std::hash<uint64_t>()((key.id_namespace) | (key.id << 32)); On 2016/05/20 ...
4 years, 7 months ago (2016-05-20 00:40:32 UTC) #15
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/40001
4 years, 7 months ago (2016-05-20 00:41:24 UTC) #16
jbauman
lgtm
4 years, 7 months ago (2016-05-20 00:44:02 UTC) #17
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_blink_rel on tryserver.blink (JOB_FAILED, http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/86207)
4 years, 7 months ago (2016-05-20 00:54:00 UTC) #19
Fady Samuel
+tsepez@ for ipc: This introduces 64-bit local IDs, but SurfaceIdAllocator and various call sites need ...
4 years, 7 months ago (2016-05-20 01:23:00 UTC) #21
Fady Samuel
+danakj@ for cc layers and cc quads
4 years, 7 months ago (2016-05-20 01:29:32 UTC) #24
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/60001
4 years, 7 months ago (2016-05-20 01:29:54 UTC) #25
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/69309)
4 years, 7 months ago (2016-05-20 01:52:17 UTC) #27
Fady Samuel
I added a question for Tom inline regarding whether it makes sense to give SurfaceId ...
4 years, 7 months ago (2016-05-20 01:54:06 UTC) #28
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/80001
4 years, 7 months ago (2016-05-20 02:26:26 UTC) #30
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-20 03:36:10 UTC) #32
Tom Sepez
https://codereview.chromium.org/1996783002/diff/60001/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): https://codereview.chromium.org/1996783002/diff/60001/cc/surfaces/surface_id.h#newcode28 cc/surfaces/surface_id.h:28: uint64_t local_id; On 2016/05/20 01:54:05, Fady Samuel wrote: > ...
4 years, 7 months ago (2016-05-20 16:09:57 UTC) #33
Fady Samuel
Sounds like using a 64-bit randomly generated ID is the way to go. I'll stick ...
4 years, 7 months ago (2016-05-20 17:17:36 UTC) #34
Tom Sepez
lgtm https://codereview.chromium.org/1996783002/diff/80001/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): https://codereview.chromium.org/1996783002/diff/80001/cc/surfaces/surface_id.h#newcode32 cc/surfaces/surface_id.h:32: return (a.id_namespace == b.id_namespace) && (a.local_id == b.local_id); ...
4 years, 7 months ago (2016-05-20 20:22:02 UTC) #35
danakj
LGTM https://codereview.chromium.org/1996783002/diff/80001/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): https://codereview.chromium.org/1996783002/diff/80001/cc/surfaces/surface_id.h#newcode46 cc/surfaces/surface_id.h:46: return base::HashInts64(key.id_namespace, key.local_id); Just use HashInts() it picks ...
4 years, 7 months ago (2016-05-20 21:01:36 UTC) #36
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/120001
4 years, 7 months ago (2016-05-24 20:29:45 UTC) #39
Fady Samuel
PTAL everyone, I've made some major changes here per offline conversations. https://codereview.chromium.org/1996783002/diff/80001/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): ...
4 years, 7 months ago (2016-05-24 20:33:07 UTC) #40
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: cast_shell_android on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_android/builds/71088)
4 years, 7 months ago (2016-05-24 20:50:17 UTC) #42
Tom Sepez
https://codereview.chromium.org/1996783002/diff/120001/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): https://codereview.chromium.org/1996783002/diff/120001/cc/surfaces/surface_id.h#newcode50 cc/surfaces/surface_id.h:50: return base::StringPrintf("(%d, %lu, %d)", id_namespace_, nonce_, might we ever ...
4 years, 7 months ago (2016-05-24 22:35:45 UTC) #43
Fady Samuel
PTAL https://codereview.chromium.org/1996783002/diff/120001/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): https://codereview.chromium.org/1996783002/diff/120001/cc/surfaces/surface_id.h#newcode50 cc/surfaces/surface_id.h:50: return base::StringPrintf("(%d, %lu, %d)", id_namespace_, nonce_, On 2016/05/24 ...
4 years, 7 months ago (2016-05-25 00:04:29 UTC) #45
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/140001
4 years, 7 months ago (2016-05-25 00:04:51 UTC) #46
Tom Sepez
++LGTM, a few nits which you can ignore if you like. https://codereview.chromium.org/1996783002/diff/140001/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): ...
4 years, 7 months ago (2016-05-25 00:09:53 UTC) #47
jbauman
lgtm
4 years, 7 months ago (2016-05-25 00:10:01 UTC) #48
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_x86-generic_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_x86-generic_chromium_compile_only_ng/builds/142701)
4 years, 7 months ago (2016-05-25 00:18:26 UTC) #50
danakj
layers and quads LGTM. More comments plz. https://codereview.chromium.org/1996783002/diff/120001/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): https://codereview.chromium.org/1996783002/diff/120001/cc/surfaces/surface_id.h#newcode27 cc/surfaces/surface_id.h:27: SurfaceId(uint32_t id_namespace, ...
4 years, 7 months ago (2016-05-25 00:19:08 UTC) #51
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/160001
4 years, 7 months ago (2016-05-25 00:56:38 UTC) #53
Fady Samuel
Thanks everyone +ben@ for mus, content and mojo. https://codereview.chromium.org/1996783002/diff/120001/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): https://codereview.chromium.org/1996783002/diff/120001/cc/surfaces/surface_id.h#newcode27 cc/surfaces/surface_id.h:27: SurfaceId(uint32_t ...
4 years, 7 months ago (2016-05-25 00:57:45 UTC) #55
danakj
https://codereview.chromium.org/1996783002/diff/140001/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): https://codereview.chromium.org/1996783002/diff/140001/cc/surfaces/surface_id.h#newcode63 cc/surfaces/surface_id.h:63: if (id_namespace_ < other.id_namespace_) On 2016/05/25 00:57:45, Fady Samuel ...
4 years, 7 months ago (2016-05-25 00:58:55 UTC) #56
commit-bot: I haz the power
Dry run: None
4 years, 7 months ago (2016-05-25 01:07:27 UTC) #57
Fady Samuel
Gone modern! PTAL https://codereview.chromium.org/1996783002/diff/140001/cc/surfaces/surface_id.h File cc/surfaces/surface_id.h (right): https://codereview.chromium.org/1996783002/diff/140001/cc/surfaces/surface_id.h#newcode63 cc/surfaces/surface_id.h:63: if (id_namespace_ < other.id_namespace_) On 2016/05/25 ...
4 years, 7 months ago (2016-05-25 01:07:42 UTC) #58
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/180001
4 years, 7 months ago (2016-05-25 01:08:32 UTC) #60
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_chromium_compile_only_ng/builds/142741) chromeos_x86-generic_chromium_compile_only_ng on ...
4 years, 7 months ago (2016-05-25 01:21:16 UTC) #62
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/200001
4 years, 7 months ago (2016-05-25 02:11:05 UTC) #64
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_compile_dbg_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/208925) mac_chromium_rel_ng on ...
4 years, 7 months ago (2016-05-25 02:28:35 UTC) #66
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/200001
4 years, 7 months ago (2016-05-25 02:29:26 UTC) #68
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_compile_dbg on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_compile_dbg/builds/71445)
4 years, 7 months ago (2016-05-25 02:35:50 UTC) #70
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/220001
4 years, 7 months ago (2016-05-25 03:04:28 UTC) #72
commit-bot: I haz the power
Dry run: None
4 years, 7 months ago (2016-05-25 03:19:10 UTC) #73
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/240001
4 years, 7 months ago (2016-05-25 03:19:33 UTC) #75
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win8_chromium_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_ng/builds/153535)
4 years, 7 months ago (2016-05-25 04:04:19 UTC) #77
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/260001
4 years, 7 months ago (2016-05-25 04:16:47 UTC) #79
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/219258)
4 years, 7 months ago (2016-05-25 05:22:54 UTC) #81
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/280001
4 years, 7 months ago (2016-05-25 11:47:10 UTC) #83
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-25 13:27:44 UTC) #85
commit-bot: I haz the power
Dry run: None
4 years, 7 months ago (2016-05-25 13:27:56 UTC) #86
Ben Goodger (Google)
mus, content, mojo lgtm https://codereview.chromium.org/1996783002/diff/280001/components/mus/public/interfaces/surface_id.mojom File components/mus/public/interfaces/surface_id.mojom (right): https://codereview.chromium.org/1996783002/diff/280001/components/mus/public/interfaces/surface_id.mojom#newcode19 components/mus/public/interfaces/surface_id.mojom:19: uint32 local_id; you should document ...
4 years, 7 months ago (2016-05-25 15:30:43 UTC) #87
Fady Samuel
Thanks! CQ'ing! https://codereview.chromium.org/1996783002/diff/280001/components/mus/public/interfaces/surface_id.mojom File components/mus/public/interfaces/surface_id.mojom (right): https://codereview.chromium.org/1996783002/diff/280001/components/mus/public/interfaces/surface_id.mojom#newcode19 components/mus/public/interfaces/surface_id.mojom:19: uint32 local_id; On 2016/05/25 15:30:42, Ben Goodger ...
4 years, 7 months ago (2016-05-25 16:13:52 UTC) #88
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1996783002/300001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1996783002/300001
4 years, 7 months ago (2016-05-25 16:14:28 UTC) #91
commit-bot: I haz the power
Committed patchset #16 (id:300001)
4 years, 7 months ago (2016-05-25 17:36:24 UTC) #93
commit-bot: I haz the power
4 years, 7 months ago (2016-05-25 17:37:47 UTC) #95
Message was sent while issue was closed.
Patchset 16 (id:??) landed as
https://crrev.com/845b871f4cfe95ebe15330a9dac32d3c69b598b9
Cr-Commit-Position: refs/heads/master@{#395926}

Powered by Google App Engine
This is Rietveld 408576698