layer_owner.cc revision 23730a6e56a168d1879203e4b3819bb36e3d8f1f
1// Copyright (c) 2012 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 "ui/compositor/layer_owner.h" 6 7namespace ui { 8 9LayerOwner::LayerOwner() : layer_(NULL) { 10} 11 12LayerOwner::~LayerOwner() { 13} 14 15void LayerOwner::SetLayer(Layer* layer) { 16 DCHECK(!OwnsLayer()); 17 layer_owner_.reset(layer); 18 layer_ = layer; 19 layer_->owner_ = this; 20} 21 22Layer* LayerOwner::AcquireLayer() { 23 if (layer_owner_) 24 layer_owner_->owner_ = NULL; 25 return layer_owner_.release(); 26} 27 28scoped_ptr<Layer> LayerOwner::RecreateLayer() { 29 return scoped_ptr<ui::Layer>(); 30} 31 32void LayerOwner::DestroyLayer() { 33 layer_ = NULL; 34 layer_owner_.reset(); 35} 36 37bool LayerOwner::OwnsLayer() const { 38 return !!layer_owner_; 39} 40 41} // namespace ui 42