From 21261ce03b92ce57e7efc19c681ff788e489de81 Mon Sep 17 00:00:00 2001 From: "yurys@chromium.org" Date: Thu, 31 Jul 2014 17:59:29 +0000 Subject: Add builders for tracing event's structural arguments The new classes allow building JSON-like structural arguments. Current implementation uses base::Value as backing store but that can be replaced in the future with something more efficient without changing client code. All clients of cc/debug/traced_value.h should eventually switch to use the new builders. BUG=361045 Review URL: https://codereview.chromium.org/380763002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286849 0039d316-1c4b-4281-b951-d872f2087c98 --- cc/quads/render_pass_draw_quad.cc | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'cc/quads/render_pass_draw_quad.cc') diff --git a/cc/quads/render_pass_draw_quad.cc b/cc/quads/render_pass_draw_quad.cc index 6259fdf..380f2f6 100644 --- a/cc/quads/render_pass_draw_quad.cc +++ b/cc/quads/render_pass_draw_quad.cc @@ -4,6 +4,7 @@ #include "cc/quads/render_pass_draw_quad.h" +#include "base/debug/trace_event_argument.h" #include "base/values.h" #include "cc/base/math_util.h" #include "cc/debug/traced_value.h" @@ -81,16 +82,24 @@ const RenderPassDrawQuad* RenderPassDrawQuad::MaterialCast( return static_cast(quad); } -void RenderPassDrawQuad::ExtendValue(base::DictionaryValue* value) const { - value->Set("render_pass_id", - TracedValue::CreateIDRef(render_pass_id.AsTracingId()).release()); +void RenderPassDrawQuad::ExtendValue(base::debug::TracedValue* value) const { + TracedValue::SetIDRef(render_pass_id.AsTracingId(), value, "render_pass_id"); value->SetBoolean("is_replica", is_replica); value->SetInteger("mask_resource_id", mask_resource_id); - value->Set("contents_changed_since_last_frame", - MathUtil::AsValue(contents_changed_since_last_frame).release()); - value->Set("mask_uv_rect", MathUtil::AsValue(mask_uv_rect).release()); - value->Set("filters", filters.AsValue().release()); - value->Set("background_filters", background_filters.AsValue().release()); + value->BeginArray("contents_changed_since_last_frame"); + MathUtil::AddToTracedValue(contents_changed_since_last_frame, value); + value->EndArray(); + + value->BeginArray("mask_uv_rect"); + MathUtil::AddToTracedValue(mask_uv_rect, value); + value->EndArray(); + value->BeginDictionary("filters"); + filters.AsValueInto(value); + value->EndDictionary(); + + value->BeginDictionary("background_filters"); + background_filters.AsValueInto(value); + value->EndDictionary(); } } // namespace cc -- cgit v1.1