OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CC_LAYERS_LAYER_CLIENT_H_ | 5 #ifndef CC_LAYERS_LAYER_CLIENT_H_ |
6 #define CC_LAYERS_LAYER_CLIENT_H_ | 6 #define CC_LAYERS_LAYER_CLIENT_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
| 10 #include "base/debug/trace_event_impl.h" |
10 #include "base/memory/ref_counted.h" | 11 #include "base/memory/ref_counted.h" |
11 #include "cc/base/cc_export.h" | 12 #include "cc/base/cc_export.h" |
12 | 13 |
13 namespace base { | 14 namespace cc { |
14 namespace debug { | |
15 class ConvertableToTraceFormat; | |
16 } | |
17 } | |
18 | 15 |
19 namespace cc { | 16 class CC_EXPORT LayerDebugInfo : public base::debug::ConvertableToTraceFormat { |
| 17 public: |
| 18 virtual bool IncludesFirstPaintInvalidation() const = 0; |
| 19 |
| 20 protected: |
| 21 virtual ~LayerDebugInfo() {} |
| 22 }; |
20 | 23 |
21 class CC_EXPORT LayerClient { | 24 class CC_EXPORT LayerClient { |
22 public: | 25 public: |
23 // Returns a pointer to a debug info object, if one has been computed. | 26 // Returns a pointer to a debug info object, if one has been computed. |
24 // If not, returns NULL. If the returned pointer is non-NULL, the caller takes | 27 // If not, returns NULL. If the returned pointer is non-NULL, the caller takes |
25 // ownership of the pointer. | 28 // ownership of the pointer. |
26 virtual scoped_refptr<base::debug::ConvertableToTraceFormat> | 29 virtual scoped_refptr<LayerDebugInfo> TakeDebugInfo() = 0; |
27 TakeDebugInfo() = 0; | |
28 | 30 |
29 protected: | 31 protected: |
30 virtual ~LayerClient() {} | 32 virtual ~LayerClient() {} |
31 }; | 33 }; |
32 | 34 |
33 } // namespace cc | 35 } // namespace cc |
34 | 36 |
35 #endif // CC_LAYERS_LAYER_CLIENT_H_ | 37 #endif // CC_LAYERS_LAYER_CLIENT_H_ |
OLD | NEW |