layer_owner.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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  return layer_owner_.release();
24}
25
26scoped_ptr<Layer> LayerOwner::RecreateLayer() {
27  return scoped_ptr<ui::Layer>();
28}
29
30void LayerOwner::DestroyLayer() {
31  layer_ = NULL;
32  layer_owner_.reset();
33}
34
35bool LayerOwner::OwnsLayer() const {
36  return !!layer_owner_;
37}
38
39}  // namespace ui
40