diff options
author | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-31 17:59:29 +0000 |
---|---|---|
committer | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-31 17:59:29 +0000 |
commit | 21261ce03b92ce57e7efc19c681ff788e489de81 (patch) | |
tree | 25ff94bd4bd0b5181609638206f82ae83f6bf03c /cc/quads/render_pass_draw_quad.cc | |
parent | 1ecb50f178b0539c3bc83772b5b6688320b4d824 (diff) | |
download | chromium_src-21261ce03b92ce57e7efc19c681ff788e489de81.zip chromium_src-21261ce03b92ce57e7efc19c681ff788e489de81.tar.gz chromium_src-21261ce03b92ce57e7efc19c681ff788e489de81.tar.bz2 |
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
Diffstat (limited to 'cc/quads/render_pass_draw_quad.cc')
-rw-r--r-- | cc/quads/render_pass_draw_quad.cc | 25 |
1 files changed, 17 insertions, 8 deletions
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<const RenderPassDrawQuad*>(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 |