OLD | NEW |
| (Empty) |
1 // Copyright 2014 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 "ppapi/shared_impl/compositor_layer_data.h" | |
6 | |
7 namespace ppapi { | |
8 | |
9 namespace { | |
10 | |
11 template<typename T> | |
12 void Copy(scoped_ptr<T>* a, const scoped_ptr<T>& b) { | |
13 if (b) { | |
14 if (!(*a)) | |
15 a->reset(new T()); | |
16 **a = *b; | |
17 } else { | |
18 a->reset(); | |
19 } | |
20 } | |
21 | |
22 } // namespace | |
23 | |
24 const CompositorLayerData& CompositorLayerData::operator=( | |
25 const CompositorLayerData& other) { | |
26 DCHECK(other.is_null() || other.is_valid()); | |
27 | |
28 common = other.common; | |
29 Copy(&color, other.color); | |
30 Copy(&texture, other.texture); | |
31 Copy(&image, other.image); | |
32 | |
33 return *this; | |
34 } | |
35 | |
36 } // namespace ppapi | |
OLD | NEW |