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.
5 #ifndef CC_DEBUG_TRACED_VALUE_H_
6 #define CC_DEBUG_TRACED_VALUE_H_
10 #include "base/debug/trace_event.h"
11 #include "base/memory/scoped_ptr.h"
14 class DictionaryValue
;
19 class TracedValue
: public base::debug::ConvertableToTraceFormat
{
21 static scoped_ptr
<base::Value
> CreateIDRef(const void* id
);
22 static void MakeDictIntoImplicitSnapshot(
23 base::DictionaryValue
* dict
, const char* object_name
, const void* id
);
24 static scoped_ptr
<ConvertableToTraceFormat
> FromValue(
27 virtual ~TracedValue();
29 virtual void AppendAsTraceFormat(std::string
* out
) const OVERRIDE
;
32 explicit TracedValue(base::Value
* value
);
34 scoped_ptr
<base::Value
> value_
;
36 DISALLOW_COPY_AND_ASSIGN(TracedValue
);
41 #endif // CC_DEBUG_TRACED_VALUE_H_