OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "cc/surfaces/surface_embedding_base.h" |
| 6 |
| 7 namespace cc { |
| 8 |
| 9 void SurfaceRef::Destroy() { |
| 10 DCHECK(!is_deleted_); |
| 11 embedding_->RemoveReference(); |
| 12 is_deleted_ = true; |
| 13 } |
| 14 |
| 15 void SurfaceRef::Destroy(CompositorFrameMetadata* metadata) { |
| 16 embedding_->RemoveReference(metadata); |
| 17 is_deleted_ = true; |
| 18 } |
| 19 |
| 20 SurfaceRef::~SurfaceRef() { |
| 21 if (!is_deleted_) |
| 22 embedding_->RemoveReference(); |
| 23 } |
| 24 |
| 25 SurfaceRef::SurfaceRef(SurfaceEmbeddingPtr embedding) |
| 26 : embedding_(std::move(embedding)) { |
| 27 embedding_->AddReference(); |
| 28 } |
| 29 |
| 30 } // namespace cc |
OLD | NEW |