1b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// found in the LICENSE file. 4b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 5b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#ifndef CC_DEBUG_TRACED_VALUE_H_ 6b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define CC_DEBUG_TRACED_VALUE_H_ 7b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 8b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)namespace base { 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace debug { 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class TracedValue; 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 12b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)} 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 14b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)namespace cc { 15b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class TracedValue { 17b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) public: 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) static void AppendIDRef(const void* id, base::debug::TracedValue* array); 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) static void SetIDRef(const void* id, 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) base::debug::TracedValue* dict, 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const char* name); 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) static void MakeDictIntoImplicitSnapshot(base::debug::TracedValue* dict, 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const char* object_name, 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const void* id); 25ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch static void MakeDictIntoImplicitSnapshotWithCategory( 26ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch const char* category, 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) base::debug::TracedValue* dict, 28ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch const char* object_name, 29ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch const void* id); 30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) static void MakeDictIntoImplicitSnapshotWithCategory( 31a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const char* category, 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) base::debug::TracedValue* dict, 33a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const char* object_base_type_name, 34a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const char* object_name, 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const void* id); 36b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)}; 37b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 38b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)} // namespace cc 39b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 40b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#endif // CC_DEBUG_TRACED_VALUE_H_ 41