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

Issue 2666233002: exo: Cleanup and make buffer release code more robust. (Closed)

Created:
3 years, 10 months ago by reveman
Modified:
3 years, 10 months ago
CC:
chromium-reviews, Alex Z.
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

exo: Cleanup and make buffer release code more robust. Since the introduction of CompositorFrameSinkHolder it's possible for release callbacks to be lost. This is because we rely on the use count to drop to 0 but we're only guaranteed to get a callback for the last frame as we only keep one CompositorFrameSinkHolder reference. This removes the use count in favor of a simple cancelable callback. The use count was never necessary as attaching the buffer to multiple surfaces is a client behavior that results in undefined release callback behavior. Running the callback when the last attachment is released is not worse then sending it when all attachments have been released. BUG=659601 TEST=exo_unittests --gtest_filter=BufferTest.* Review-Url: https://codereview.chromium.org/2666233002 Cr-Commit-Position: refs/heads/master@{#447593} Committed: https://chromium.googlesource.com/chromium/src/+/2cd69789c0cc1bf7b35f6c5673ba1db6f2273cf0

Patch Set 1 #

Total comments: 2

Patch Set 2 : fix typo #

Unified diffs Side-by-side diffs Delta from patch set Stats (+54 lines, -58 lines) Patch
M components/exo/buffer.h View 1 5 chunks +13 lines, -11 lines 0 comments Download
M components/exo/buffer.cc View 6 chunks +41 lines, -47 lines 0 comments Download

Messages

Total messages: 20 (12 generated)
reveman
3 years, 10 months ago (2017-02-01 01:10:21 UTC) #2
Alex Z.
lgtm with one nit https://codereview.chromium.org/2666233002/diff/1/components/exo/buffer.h File components/exo/buffer.h (right): https://codereview.chromium.org/2666233002/diff/1/components/exo/buffer.h#newcode94 components/exo/buffer.h:94: // Notifies the client that ...
3 years, 10 months ago (2017-02-01 14:34:52 UTC) #4
reveman
https://codereview.chromium.org/2666233002/diff/1/components/exo/buffer.h File components/exo/buffer.h (right): https://codereview.chromium.org/2666233002/diff/1/components/exo/buffer.h#newcode94 components/exo/buffer.h:94: // Notifies the client that buffer as been released ...
3 years, 10 months ago (2017-02-01 17:07:24 UTC) #5
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/2666233002/20001
3 years, 10 months ago (2017-02-01 19:26:34 UTC) #12
commit-bot: I haz the power
No L-G-T-M from a valid reviewer yet. CQ run can only be started by full ...
3 years, 10 months ago (2017-02-01 19:26:36 UTC) #14
Daniele Castagna
lgtm
3 years, 10 months ago (2017-02-01 19:50:47 UTC) #15
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/2666233002/20001
3 years, 10 months ago (2017-02-01 20:15:04 UTC) #17
commit-bot: I haz the power
3 years, 10 months ago (2017-02-01 20:20:26 UTC) #20
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/chromium/src/+/2cd69789c0cc1bf7b35f6c5673ba...

Powered by Google App Engine
This is Rietveld 408576698