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

Issue 2686833003: CopyOutputResult must have a working release callback when received over mojo (Closed)

Created:
3 years, 10 months ago by Saman Sami
Modified:
3 years, 10 months ago
CC:
Aaron Boodman, abarth-chromium, cc-bugs_chromium.org, chromium-reviews, darin (slow to review), miu+watch_chromium.org, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, xjz+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

CopyOutputResult must have a working release callback when received over mojo Right now, CopyOutputResult when received over mojo has an empty release callback. This CL introduces TextureMailboxReleaser, which is a mojo interface that has a Release method with the same signature as ReleaseCallback. On the sender side, the ReleaseCallback of the CopyOutputResult is retained in a TextureMailboxReleaserImpl and a TextureMailboxReleaserPtr will be sent to the receiver. When the receiver calls the Release method, the sender calls the release callback. BUG=672071 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2686833003 Cr-Commit-Position: refs/heads/master@{#450558} Committed: https://chromium.googlesource.com/chromium/src/+/05612a0cb0feafb73ec78c2aebef4c1af797380f

Patch Set 1 #

Patch Set 2 : c #

Patch Set 3 : c #

Patch Set 4 : c #

Patch Set 5 : c #

Patch Set 6 : c #

Patch Set 7 : c #

Total comments: 10

Patch Set 8 : c #

Total comments: 3

Patch Set 9 : c #

Patch Set 10 : c #

Patch Set 11 : c #

Patch Set 12 : c #

Patch Set 13 : c #

Total comments: 2

Patch Set 14 : c #

Patch Set 15 : c #

Total comments: 22

Patch Set 16 : c #

Total comments: 2

Patch Set 17 : d #

Total comments: 3

Patch Set 18 : c #

Patch Set 19 : c #

Total comments: 11

Patch Set 20 : c #

Total comments: 5

Patch Set 21 : Using constrcutor in read #

Patch Set 22 : c #

Patch Set 23 : c #

Patch Set 24 : comment #

Patch Set 25 : c #

Total comments: 2

Patch Set 26 : c #

Patch Set 27 : c #

Unified diffs Side-by-side diffs Delta from patch set Stats (+154 lines, -21 lines) Patch
M cc/ipc/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 1 chunk +1 line, -0 lines 0 comments Download
M cc/ipc/copy_output_result.mojom View 1 2 3 4 5 6 7 8 16 17 18 19 20 21 22 23 24 25 26 2 chunks +3 lines, -1 line 0 comments Download
M cc/ipc/copy_output_result_struct_traits.h View 1 2 3 4 5 6 7 8 17 2 chunks +4 lines, -0 lines 0 comments Download
M cc/ipc/copy_output_result_struct_traits.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 2 chunks +109 lines, -16 lines 0 comments Download
M cc/ipc/struct_traits_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 4 chunks +23 lines, -4 lines 0 comments Download
A cc/ipc/texture_mailbox_releaser.mojom View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +14 lines, -0 lines 0 comments Download

Messages

Total messages: 124 (87 generated)
danakj
https://codereview.chromium.org/2686833003/diff/120001/cc/resources/single_release_callback.cc File cc/resources/single_release_callback.cc (right): https://codereview.chromium.org/2686833003/diff/120001/cc/resources/single_release_callback.cc#newcode23 cc/resources/single_release_callback.cc:23: DCHECK(callback_.is_null() && !ptr_holder_) split a DCHECK with && into ...
3 years, 10 months ago (2017-02-08 20:53:31 UTC) #20
Saman Sami
PTAL https://codereview.chromium.org/2686833003/diff/120001/cc/resources/single_release_callback.cc File cc/resources/single_release_callback.cc (right): https://codereview.chromium.org/2686833003/diff/120001/cc/resources/single_release_callback.cc#newcode23 cc/resources/single_release_callback.cc:23: DCHECK(callback_.is_null() && !ptr_holder_) On 2017/02/08 20:53:31, danakj (slow) ...
3 years, 10 months ago (2017-02-08 21:44:21 UTC) #23
Saman Sami
tsepez@: Please review mojo.
3 years, 10 months ago (2017-02-08 21:45:29 UTC) #25
danakj
https://codereview.chromium.org/2686833003/diff/120001/cc/resources/single_release_callback.h File cc/resources/single_release_callback.h (right): https://codereview.chromium.org/2686833003/diff/120001/cc/resources/single_release_callback.h#newcode36 cc/resources/single_release_callback.h:36: class PtrHolderImpl : public PtrHolder { On 2017/02/08 21:44:21, ...
3 years, 10 months ago (2017-02-08 23:24:18 UTC) #27
Saman Sami
https://codereview.chromium.org/2686833003/diff/120001/cc/resources/single_release_callback.h File cc/resources/single_release_callback.h (right): https://codereview.chromium.org/2686833003/diff/120001/cc/resources/single_release_callback.h#newcode36 cc/resources/single_release_callback.h:36: class PtrHolderImpl : public PtrHolder { On 2017/02/08 23:24:17, ...
3 years, 10 months ago (2017-02-09 16:30:01 UTC) #31
danakj
On Thu, Feb 9, 2017 at 11:30 AM, <samans@chromium.org> wrote: > > https://codereview.chromium.org/2686833003/diff/120001/cc/ > resources/single_release_callback.h ...
3 years, 10 months ago (2017-02-09 16:51:11 UTC) #32
Saman Sami
https://codereview.chromium.org/2686833003/diff/140001/cc/ipc/single_release_callback_struct_traits.cc File cc/ipc/single_release_callback_struct_traits.cc (right): https://codereview.chromium.org/2686833003/diff/140001/cc/ipc/single_release_callback_struct_traits.cc#newcode15 cc/ipc/single_release_callback_struct_traits.cc:15: auto result = callback->ptr_holder_->TakePtr(); On 2017/02/09 16:30:01, Saman Sami ...
3 years, 10 months ago (2017-02-09 16:52:25 UTC) #33
danakj
On Thu, Feb 9, 2017 at 11:52 AM, <samans@chromium.org> wrote: > > https://codereview.chromium.org/2686833003/diff/140001/cc/ > ipc/single_release_callback_struct_traits.cc ...
3 years, 10 months ago (2017-02-09 20:47:03 UTC) #34
Ken Rockot(use gerrit already)
https://codereview.chromium.org/2686833003/diff/240001/cc/ipc/struct_traits_unittest.cc File cc/ipc/struct_traits_unittest.cc (right): https://codereview.chromium.org/2686833003/diff/240001/cc/ipc/struct_traits_unittest.cc#newcode27 cc/ipc/struct_traits_unittest.cc:27: class TextureMailboxReleaserImpl : public mojom::TextureMailboxReleaser { I don't understand ...
3 years, 10 months ago (2017-02-10 01:17:24 UTC) #47
Saman Sami
https://codereview.chromium.org/2686833003/diff/240001/cc/ipc/struct_traits_unittest.cc File cc/ipc/struct_traits_unittest.cc (right): https://codereview.chromium.org/2686833003/diff/240001/cc/ipc/struct_traits_unittest.cc#newcode27 cc/ipc/struct_traits_unittest.cc:27: class TextureMailboxReleaserImpl : public mojom::TextureMailboxReleaser { On 2017/02/10 01:17:24, ...
3 years, 10 months ago (2017-02-10 01:33:53 UTC) #48
Saman Sami
tsepez@: Please review mojo rockot@: Please review mojo fsamuel@: Please review all files danakj@: Please ...
3 years, 10 months ago (2017-02-10 17:21:33 UTC) #57
danakj
Thanks this is what I was hoping for https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/BUILD.gn File cc/ipc/BUILD.gn (right): https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/BUILD.gn#newcode42 cc/ipc/BUILD.gn:42: "texture_mailbox_releaser.mojom", ...
3 years, 10 months ago (2017-02-10 18:32:51 UTC) #59
dcheng
drive-by https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/texture_mailbox_releaser.mojom File cc/ipc/texture_mailbox_releaser.mojom (right): https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/texture_mailbox_releaser.mojom#newcode9 cc/ipc/texture_mailbox_releaser.mojom:9: interface TextureMailboxReleaser { Btw, this interface (and the ...
3 years, 10 months ago (2017-02-10 18:50:21 UTC) #63
Ken Rockot(use gerrit already)
https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result.mojom File cc/ipc/copy_output_result.mojom (right): https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result.mojom#newcode17 cc/ipc/copy_output_result.mojom:17: TextureMailboxReleaser? releaser; On 2017/02/10 at 18:32:50, danakj wrote: > ...
3 years, 10 months ago (2017-02-10 18:56:19 UTC) #64
danakj
On Fri, Feb 10, 2017 at 1:56 PM, <rockot@chromium.org> wrote: > > https://codereview.chromium.org/2686833003/diff/280001/cc/ > ipc/copy_output_result.mojom ...
3 years, 10 months ago (2017-02-10 19:00:46 UTC) #65
Ken Rockot(use gerrit already)
On Fri, Feb 10, 2017 at 11:00 AM, <danakj@chromium.org> wrote: > > > On Fri, ...
3 years, 10 months ago (2017-02-10 19:05:03 UTC) #67
Saman Sami
https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/BUILD.gn File cc/ipc/BUILD.gn (right): https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/BUILD.gn#newcode42 cc/ipc/BUILD.gn:42: "texture_mailbox_releaser.mojom", On 2017/02/10 18:32:50, danakj wrote: > why isn't ...
3 years, 10 months ago (2017-02-10 19:10:08 UTC) #70
danakj
On Fri, Feb 10, 2017 at 2:05 PM, Ken Rockot <rockot@chromium.org> wrote: > > > ...
3 years, 10 months ago (2017-02-10 19:13:47 UTC) #71
Saman Sami
On 2017/02/10 19:13:47, danakj wrote: > On Fri, Feb 10, 2017 at 2:05 PM, Ken ...
3 years, 10 months ago (2017-02-10 19:20:23 UTC) #72
Ken Rockot(use gerrit already)
For any validation beyond what can be expressed in mojom IDL (e.g. making sure non-nullable ...
3 years, 10 months ago (2017-02-10 19:33:29 UTC) #73
danakj
https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/BUILD.gn File cc/ipc/BUILD.gn (right): https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/BUILD.gn#newcode42 cc/ipc/BUILD.gn:42: "texture_mailbox_releaser.mojom", On 2017/02/10 19:10:07, Saman Sami wrote: > On ...
3 years, 10 months ago (2017-02-10 22:51:03 UTC) #76
danakj
On Fri, Feb 10, 2017 at 2:33 PM, Ken Rockot <rockot@chromium.org> wrote: > For any ...
3 years, 10 months ago (2017-02-10 22:51:05 UTC) #77
danakj
https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc File cc/ipc/copy_output_result_struct_traits.cc (right): https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc#newcode82 cc/ipc/copy_output_result_struct_traits.cc:82: base::Bind(Release, base::Passed(&releaser))); On 2017/02/10 19:10:07, Saman Sami wrote: > ...
3 years, 10 months ago (2017-02-10 22:52:51 UTC) #78
Fady Samuel
If others are happy with this lgtm. I love this! You've helped establish an idiom ...
3 years, 10 months ago (2017-02-11 16:36:57 UTC) #79
danakj
https://codereview.chromium.org/2686833003/diff/340001/cc/ipc/copy_output_result_struct_traits.cc File cc/ipc/copy_output_result_struct_traits.cc (right): https://codereview.chromium.org/2686833003/diff/340001/cc/ipc/copy_output_result_struct_traits.cc#newcode60 cc/ipc/copy_output_result_struct_traits.cc:60: /* this would be deleted https://codereview.chromium.org/2686833003/diff/340001/cc/ipc/copy_output_result_struct_traits.cc#newcode93 cc/ipc/copy_output_result_struct_traits.cc:93: auto releaser ...
3 years, 10 months ago (2017-02-13 18:41:05 UTC) #84
Saman Sami
tsepez@: Please review mojo. danakj@: Please review all files.
3 years, 10 months ago (2017-02-13 20:35:04 UTC) #87
danakj
https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc File cc/ipc/copy_output_result_struct_traits.cc (right): https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc#newcode40 cc/ipc/copy_output_result_struct_traits.cc:40: static SkBitmap* null_bitmap = new SkBitmap(); On 2017/02/10 22:51:03, ...
3 years, 10 months ago (2017-02-13 20:50:16 UTC) #88
Saman Sami
https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc File cc/ipc/copy_output_result_struct_traits.cc (right): https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc#newcode40 cc/ipc/copy_output_result_struct_traits.cc:40: static SkBitmap* null_bitmap = new SkBitmap(); On 2017/02/13 20:50:16, ...
3 years, 10 months ago (2017-02-13 21:03:01 UTC) #89
Tom Sepez
lgtm
3 years, 10 months ago (2017-02-13 21:56:46 UTC) #90
danakj
https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc File cc/ipc/copy_output_result_struct_traits.cc (right): https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc#newcode40 cc/ipc/copy_output_result_struct_traits.cc:40: static SkBitmap* null_bitmap = new SkBitmap(); On 2017/02/13 21:03:01, ...
3 years, 10 months ago (2017-02-13 22:43:17 UTC) #91
Saman Sami
PTAL https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc File cc/ipc/copy_output_result_struct_traits.cc (right): https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc#newcode40 cc/ipc/copy_output_result_struct_traits.cc:40: static SkBitmap* null_bitmap = new SkBitmap(); On 2017/02/13 ...
3 years, 10 months ago (2017-02-13 23:23:43 UTC) #94
danakj
https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc File cc/ipc/copy_output_result_struct_traits.cc (right): https://codereview.chromium.org/2686833003/diff/280001/cc/ipc/copy_output_result_struct_traits.cc#newcode40 cc/ipc/copy_output_result_struct_traits.cc:40: static SkBitmap* null_bitmap = new SkBitmap(); On 2017/02/13 23:23:43, ...
3 years, 10 months ago (2017-02-14 17:49:11 UTC) #101
Saman Sami
https://codereview.chromium.org/2686833003/diff/400001/cc/ipc/copy_output_result.mojom File cc/ipc/copy_output_result.mojom (right): https://codereview.chromium.org/2686833003/diff/400001/cc/ipc/copy_output_result.mojom#newcode14 cc/ipc/copy_output_result.mojom:14: gfx.mojom.Size size; On 2017/02/14 17:49:10, danakj wrote: > This ...
3 years, 10 months ago (2017-02-14 22:17:04 UTC) #102
danakj
On Tue, Feb 14, 2017 at 5:17 PM, <samans@chromium.org> wrote: > > https://codereview.chromium.org/2686833003/diff/400001/cc/ > ipc/copy_output_result.mojom ...
3 years, 10 months ago (2017-02-14 22:27:49 UTC) #103
danakj
LGTM https://codereview.chromium.org/2686833003/diff/400001/cc/ipc/copy_output_result.mojom File cc/ipc/copy_output_result.mojom (right): https://codereview.chromium.org/2686833003/diff/400001/cc/ipc/copy_output_result.mojom#newcode14 cc/ipc/copy_output_result.mojom:14: gfx.mojom.Size size; On 2017/02/14 22:17:04, Saman Sami wrote: ...
3 years, 10 months ago (2017-02-14 23:49:34 UTC) #114
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/2686833003/530001
3 years, 10 months ago (2017-02-15 02:11:59 UTC) #121
commit-bot: I haz the power
3 years, 10 months ago (2017-02-15 05:29:17 UTC) #124
Message was sent while issue was closed.
Committed patchset #27 (id:530001) as
https://chromium.googlesource.com/chromium/src/+/05612a0cb0feafb73ec78c2aebef...

Powered by Google App Engine
This is Rietveld 408576698