Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2651)

Unified Diff: cc/debug/traced_value.cc

Issue 380763002: Add builders for tracing event's structural arguments (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/debug/traced_value.cc
diff --git a/cc/debug/traced_value.cc b/cc/debug/traced_value.cc
index 3b506ae7e370aa8153f4ac566cb7dfd1fd1c9ca9..58528f8242b3b250aa6834f46bfe7c323fbf18d8 100644
--- a/cc/debug/traced_value.cc
+++ b/cc/debug/traced_value.cc
@@ -4,6 +4,7 @@
#include "cc/debug/traced_value.h"
+#include "base/debug/trace_event_argument.h"
#include "base/json/json_writer.h"
#include "base/strings/stringprintf.h"
#include "base/values.h"
@@ -41,6 +42,46 @@ void TracedValue::MakeDictIntoImplicitSnapshotWithCategory(
MakeDictIntoImplicitSnapshot(dict, object_name, id);
}
+void TracedValue::AppendIDRef(const void* id, base::debug::TracedValue* state) {
+ state->BeginDictionary();
+ state->SetString("id_ref", base::StringPrintf("%p", id));
+ state->EndDictionary();
+}
+
+void TracedValue::SetIDRef(const void* id,
+ base::debug::TracedValue* state,
+ const char* name) {
+ state->BeginDictionary(name);
+ state->SetString("id_ref", base::StringPrintf("%p", id));
+ state->EndDictionary();
+}
+
+void TracedValue::MakeDictIntoImplicitSnapshot(base::debug::TracedValue* dict,
+ const char* object_name,
+ const void* id) {
+ dict->SetString("id", base::StringPrintf("%s/%p", object_name, id));
+}
+
+void TracedValue::MakeDictIntoImplicitSnapshotWithCategory(
+ const char* category,
+ base::debug::TracedValue* dict,
+ const char* object_name,
+ const void* id) {
+ dict->SetString("cat", category);
+ MakeDictIntoImplicitSnapshot(dict, object_name, id);
+}
+
+void TracedValue::MakeDictIntoImplicitSnapshotWithCategory(
+ const char* category,
+ base::debug::TracedValue* dict,
+ const char* object_base_type_name,
+ const char* object_name,
+ const void* id) {
+ dict->SetString("cat", category);
+ dict->SetString("base_type", object_base_type_name);
+ MakeDictIntoImplicitSnapshot(dict, object_name, id);
+}
+
scoped_refptr<base::debug::ConvertableToTraceFormat> TracedValue::FromValue(
base::Value* value) {
return scoped_refptr<base::debug::ConvertableToTraceFormat>(

Powered by Google App Engine
This is Rietveld 408576698