Home | History | Annotate | Download | only in layers
      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
      3 // found in the LICENSE file.
      4 
      5 #ifndef CC_LAYERS_LAYER_CLIENT_H_
      6 #define CC_LAYERS_LAYER_CLIENT_H_
      7 
      8 #include <string>
      9 
     10 #include "base/memory/ref_counted.h"
     11 #include "cc/base/cc_export.h"
     12 
     13 namespace base {
     14 namespace debug {
     15 class ConvertableToTraceFormat;
     16 }
     17 }
     18 
     19 namespace cc {
     20 
     21 class CC_EXPORT LayerClient {
     22  public:
     23   // 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
     25   // ownership of the pointer.
     26   virtual scoped_refptr<base::debug::ConvertableToTraceFormat>
     27       TakeDebugInfo() = 0;
     28 
     29  protected:
     30   virtual ~LayerClient() {}
     31 };
     32 
     33 }  // namespace cc
     34 
     35 #endif  // CC_LAYERS_LAYER_CLIENT_H_
     36