Chromium Code Reviews| Index: components/exo/surface.cc |
| diff --git a/components/exo/surface.cc b/components/exo/surface.cc |
| index 6c811518935b3c3ac30a69eb16aaab2eeef55442..0f9f45b002e67f7d8661152533a41cd88fe94a10 100644 |
| --- a/components/exo/surface.cc |
| +++ b/components/exo/surface.cc |
| @@ -658,31 +658,12 @@ void Surface::SetSurfaceHierarchyNeedsCommitToNewSurfaces() { |
| } |
| void Surface::UpdateResource(bool client_usage) { |
| - std::unique_ptr<cc::SingleReleaseCallback> texture_mailbox_release_callback; |
| - |
| - cc::TextureMailbox texture_mailbox; |
| - if (current_buffer_.buffer()) { |
| - texture_mailbox_release_callback = |
| - current_buffer_.buffer()->ProduceTextureMailbox( |
| - &texture_mailbox, state_.only_visible_on_secure_output, |
| - client_usage); |
| - } |
| - |
| - if (texture_mailbox_release_callback) { |
| - cc::TransferableResource resource; |
| - resource.id = next_resource_id_++; |
| - resource.format = cc::RGBA_8888; |
| - resource.filter = |
| - texture_mailbox.nearest_neighbor() ? GL_NEAREST : GL_LINEAR; |
| - resource.size = texture_mailbox.size_in_pixels(); |
| - resource.mailbox_holder = gpu::MailboxHolder(texture_mailbox.mailbox(), |
| - texture_mailbox.sync_token(), |
| - texture_mailbox.target()); |
| - resource.is_overlay_candidate = texture_mailbox.is_overlay_candidate(); |
| - |
| - compositor_frame_sink_holder_->AddResourceReleaseCallback( |
| - resource.id, std::move(texture_mailbox_release_callback)); |
| - current_resource_ = resource; |
| + if (current_buffer_.buffer() && |
| + current_buffer_.buffer()->ProduceTransferableResource( |
| + compositor_frame_sink_holder_.get(), next_resource_id_, |
| + state_.only_visible_on_secure_output, client_usage, |
| + ¤t_resource_)) { |
| + ++next_resource_id_; |
|
reveman
2017/01/03 23:24:47
nit: move the increment above reverse the if-state
Alex Z.
2017/01/03 23:39:15
Done.
|
| } else { |
| current_resource_.id = 0; |
| current_resource_.size = gfx::Size(); |