summaryrefslogtreecommitdiffstats
path: root/cc/quads
diff options
context:
space:
mode:
authoryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-01 13:10:38 +0000
committeryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-01 13:10:38 +0000
commitd12aa932d3555eda2c011022e94df82023fa191d (patch)
treef1f9244b6beccfd2797d74fc1d1acea896d2a601 /cc/quads
parent59d75c8166ae16a7879c11595fbde2ab1cffad3b (diff)
downloadchromium_src-d12aa932d3555eda2c011022e94df82023fa191d.zip
chromium_src-d12aa932d3555eda2c011022e94df82023fa191d.tar.gz
chromium_src-d12aa932d3555eda2c011022e94df82023fa191d.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 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=286849 R=alph@chromium.org, dsinclair@chromium.org, nduca@chromium.org, willchan@chromium.org Review URL: https://codereview.chromium.org/380763002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286984 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/quads')
-rw-r--r--cc/quads/checkerboard_draw_quad.cc3
-rw-r--r--cc/quads/checkerboard_draw_quad.h2
-rw-r--r--cc/quads/content_draw_quad_base.cc13
-rw-r--r--cc/quads/content_draw_quad_base.h2
-rw-r--r--cc/quads/debug_border_draw_quad.cc3
-rw-r--r--cc/quads/debug_border_draw_quad.h2
-rw-r--r--cc/quads/draw_quad.cc46
-rw-r--r--cc/quads/draw_quad.h7
-rw-r--r--cc/quads/io_surface_draw_quad.cc8
-rw-r--r--cc/quads/io_surface_draw_quad.h2
-rw-r--r--cc/quads/picture_draw_quad.cc7
-rw-r--r--cc/quads/picture_draw_quad.h2
-rw-r--r--cc/quads/render_pass.cc37
-rw-r--r--cc/quads/render_pass.h5
-rw-r--r--cc/quads/render_pass_draw_quad.cc25
-rw-r--r--cc/quads/render_pass_draw_quad.h2
-rw-r--r--cc/quads/shared_quad_state.cc33
-rw-r--r--cc/quads/shared_quad_state.h5
-rw-r--r--cc/quads/solid_color_draw_quad.cc3
-rw-r--r--cc/quads/solid_color_draw_quad.h2
-rw-r--r--cc/quads/stream_video_draw_quad.cc7
-rw-r--r--cc/quads/stream_video_draw_quad.h2
-rw-r--r--cc/quads/surface_draw_quad.cc3
-rw-r--r--cc/quads/surface_draw_quad.h2
-rw-r--r--cc/quads/texture_draw_quad.cc21
-rw-r--r--cc/quads/texture_draw_quad.h2
-rw-r--r--cc/quads/tile_draw_quad.cc3
-rw-r--r--cc/quads/tile_draw_quad.h2
-rw-r--r--cc/quads/yuv_video_draw_quad.cc7
-rw-r--r--cc/quads/yuv_video_draw_quad.h2
30 files changed, 174 insertions, 86 deletions
diff --git a/cc/quads/checkerboard_draw_quad.cc b/cc/quads/checkerboard_draw_quad.cc
index b6c5f82..1451766 100644
--- a/cc/quads/checkerboard_draw_quad.cc
+++ b/cc/quads/checkerboard_draw_quad.cc
@@ -4,6 +4,7 @@
#include "cc/quads/checkerboard_draw_quad.h"
+#include "base/debug/trace_event_argument.h"
#include "base/logging.h"
#include "base/values.h"
@@ -42,7 +43,7 @@ const CheckerboardDrawQuad* CheckerboardDrawQuad::MaterialCast(
return static_cast<const CheckerboardDrawQuad*>(quad);
}
-void CheckerboardDrawQuad::ExtendValue(base::DictionaryValue* value) const {
+void CheckerboardDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
value->SetInteger("color", color);
}
diff --git a/cc/quads/checkerboard_draw_quad.h b/cc/quads/checkerboard_draw_quad.h
index ffbf698..f99531d 100644
--- a/cc/quads/checkerboard_draw_quad.h
+++ b/cc/quads/checkerboard_draw_quad.h
@@ -36,7 +36,7 @@ class CC_EXPORT CheckerboardDrawQuad : public DrawQuad {
static const CheckerboardDrawQuad* MaterialCast(const DrawQuad*);
private:
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc
diff --git a/cc/quads/content_draw_quad_base.cc b/cc/quads/content_draw_quad_base.cc
index 18d3d10..fd6e91b 100644
--- a/cc/quads/content_draw_quad_base.cc
+++ b/cc/quads/content_draw_quad_base.cc
@@ -4,6 +4,7 @@
#include "cc/quads/content_draw_quad_base.h"
+#include "base/debug/trace_event_argument.h"
#include "base/logging.h"
#include "base/values.h"
#include "cc/base/math_util.h"
@@ -49,9 +50,15 @@ void ContentDrawQuadBase::SetAll(const SharedQuadState* shared_quad_state,
this->swizzle_contents = swizzle_contents;
}
-void ContentDrawQuadBase::ExtendValue(base::DictionaryValue* value) const {
- value->Set("tex_coord_rect", MathUtil::AsValue(tex_coord_rect).release());
- value->Set("texture_size", MathUtil::AsValue(texture_size).release());
+void ContentDrawQuadBase::ExtendValue(base::debug::TracedValue* value) const {
+ value->BeginArray("tex_coord_rect");
+ MathUtil::AddToTracedValue(tex_coord_rect, value);
+ value->EndArray();
+
+ value->BeginDictionary("texture_size");
+ MathUtil::AddToTracedValue(texture_size, value);
+ value->EndDictionary();
+
value->SetBoolean("swizzle_contents", swizzle_contents);
}
diff --git a/cc/quads/content_draw_quad_base.h b/cc/quads/content_draw_quad_base.h
index a286e10..5173d6c 100644
--- a/cc/quads/content_draw_quad_base.h
+++ b/cc/quads/content_draw_quad_base.h
@@ -42,7 +42,7 @@ class CC_EXPORT ContentDrawQuadBase : public DrawQuad {
protected:
ContentDrawQuadBase();
virtual ~ContentDrawQuadBase();
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc
diff --git a/cc/quads/debug_border_draw_quad.cc b/cc/quads/debug_border_draw_quad.cc
index 4254e02..c907be7 100644
--- a/cc/quads/debug_border_draw_quad.cc
+++ b/cc/quads/debug_border_draw_quad.cc
@@ -4,6 +4,7 @@
#include "cc/quads/debug_border_draw_quad.h"
+#include "base/debug/trace_event_argument.h"
#include "base/logging.h"
#include "base/values.h"
@@ -49,7 +50,7 @@ const DebugBorderDrawQuad* DebugBorderDrawQuad::MaterialCast(
return static_cast<const DebugBorderDrawQuad*>(quad);
}
-void DebugBorderDrawQuad::ExtendValue(base::DictionaryValue* value) const {
+void DebugBorderDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
value->SetInteger("color", color);
value->SetInteger("width", width);
}
diff --git a/cc/quads/debug_border_draw_quad.h b/cc/quads/debug_border_draw_quad.h
index 18dd869..828d4e0 100644
--- a/cc/quads/debug_border_draw_quad.h
+++ b/cc/quads/debug_border_draw_quad.h
@@ -39,7 +39,7 @@ class CC_EXPORT DebugBorderDrawQuad : public DrawQuad {
static const DebugBorderDrawQuad* MaterialCast(const DrawQuad*);
private:
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc
diff --git a/cc/quads/draw_quad.cc b/cc/quads/draw_quad.cc
index b669ad7..38b24b0 100644
--- a/cc/quads/draw_quad.cc
+++ b/cc/quads/draw_quad.cc
@@ -4,6 +4,7 @@
#include "cc/quads/draw_quad.h"
+#include "base/debug/trace_event_argument.h"
#include "base/logging.h"
#include "base/values.h"
#include "cc/base/math_util.h"
@@ -56,48 +57,59 @@ void DrawQuad::SetAll(const SharedQuadState* shared_quad_state,
DrawQuad::~DrawQuad() {
}
-scoped_ptr<base::Value> DrawQuad::AsValue() const {
- scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue());
+void DrawQuad::AsValueInto(base::debug::TracedValue* value) const {
value->SetInteger("material", material);
- value->Set("shared_state",
- TracedValue::CreateIDRef(shared_quad_state).release());
+ TracedValue::SetIDRef(shared_quad_state, value, "shared_state");
+
+ value->BeginArray("content_space_rect");
+ MathUtil::AddToTracedValue(rect, value);
+ value->EndArray();
- value->Set("content_space_rect", MathUtil::AsValue(rect).release());
bool rect_is_clipped;
gfx::QuadF rect_as_target_space_quad = MathUtil::MapQuad(
shared_quad_state->content_to_target_transform,
gfx::QuadF(rect),
&rect_is_clipped);
- value->Set("rect_as_target_space_quad",
- MathUtil::AsValue(rect_as_target_space_quad).release());
+ value->BeginArray("rect_as_target_space_quad");
+ MathUtil::AddToTracedValue(rect_as_target_space_quad, value);
+ value->EndArray();
+
value->SetBoolean("rect_is_clipped", rect_is_clipped);
- value->Set("content_space_opaque_rect",
- MathUtil::AsValue(opaque_rect).release());
+ value->BeginArray("content_space_opaque_rect");
+ MathUtil::AddToTracedValue(opaque_rect, value);
+ value->EndArray();
+
bool opaque_rect_is_clipped;
gfx::QuadF opaque_rect_as_target_space_quad = MathUtil::MapQuad(
shared_quad_state->content_to_target_transform,
gfx::QuadF(opaque_rect),
&opaque_rect_is_clipped);
- value->Set("opaque_rect_as_target_space_quad",
- MathUtil::AsValue(opaque_rect_as_target_space_quad).release());
+ value->BeginArray("opaque_rect_as_target_space_quad");
+ MathUtil::AddToTracedValue(opaque_rect_as_target_space_quad, value);
+ value->EndArray();
+
value->SetBoolean("opaque_rect_is_clipped", opaque_rect_is_clipped);
- value->Set("content_space_visible_rect",
- MathUtil::AsValue(visible_rect).release());
+ value->BeginArray("content_space_visible_rect");
+ MathUtil::AddToTracedValue(visible_rect, value);
+ value->EndArray();
+
bool visible_rect_is_clipped;
gfx::QuadF visible_rect_as_target_space_quad = MathUtil::MapQuad(
shared_quad_state->content_to_target_transform,
gfx::QuadF(visible_rect),
&visible_rect_is_clipped);
- value->Set("visible_rect_as_target_space_quad",
- MathUtil::AsValue(visible_rect_as_target_space_quad).release());
+
+ value->BeginArray("visible_rect_as_target_space_quad");
+ MathUtil::AddToTracedValue(visible_rect_as_target_space_quad, value);
+ value->EndArray();
+
value->SetBoolean("visible_rect_is_clipped", visible_rect_is_clipped);
value->SetBoolean("needs_blending", needs_blending);
value->SetBoolean("should_draw_with_blending", ShouldDrawWithBlending());
- ExtendValue(value.get());
- return value.PassAs<base::Value>();
+ ExtendValue(value);
}
} // namespace cc
diff --git a/cc/quads/draw_quad.h b/cc/quads/draw_quad.h
index 07193cd..61ca358 100644
--- a/cc/quads/draw_quad.h
+++ b/cc/quads/draw_quad.h
@@ -11,6 +11,9 @@
#include "cc/resources/resource_provider.h"
namespace base {
+namespace debug {
+class TracedValue;
+}
class Value;
class DictionaryValue;
}
@@ -123,7 +126,7 @@ class CC_EXPORT DrawQuad {
return IsLeftEdge() || IsTopEdge() || IsRightEdge() || IsBottomEdge();
}
- scoped_ptr<base::Value> AsValue() const;
+ void AsValueInto(base::debug::TracedValue* value) const;
protected:
DrawQuad();
@@ -134,7 +137,7 @@ class CC_EXPORT DrawQuad {
const gfx::Rect& opaque_rect,
const gfx::Rect& visible_rect,
bool needs_blending);
- virtual void ExtendValue(base::DictionaryValue* value) const = 0;
+ virtual void ExtendValue(base::debug::TracedValue* value) const = 0;
};
} // namespace cc
diff --git a/cc/quads/io_surface_draw_quad.cc b/cc/quads/io_surface_draw_quad.cc
index cc3581b..e565a43 100644
--- a/cc/quads/io_surface_draw_quad.cc
+++ b/cc/quads/io_surface_draw_quad.cc
@@ -4,6 +4,7 @@
#include "cc/quads/io_surface_draw_quad.h"
+#include "base/debug/trace_event_argument.h"
#include "base/logging.h"
#include "base/values.h"
#include "cc/base/math_util.h"
@@ -56,8 +57,11 @@ const IOSurfaceDrawQuad* IOSurfaceDrawQuad::MaterialCast(
return static_cast<const IOSurfaceDrawQuad*>(quad);
}
-void IOSurfaceDrawQuad::ExtendValue(base::DictionaryValue* value) const {
- value->Set("io_surface_size", MathUtil::AsValue(io_surface_size).release());
+void IOSurfaceDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
+ value->BeginDictionary("io_surface_size");
+ MathUtil::AddToTracedValue(io_surface_size, value);
+ value->EndDictionary();
+
value->SetInteger("io_surface_resource_id", io_surface_resource_id);
const char* orientation_string = NULL;
switch (orientation) {
diff --git a/cc/quads/io_surface_draw_quad.h b/cc/quads/io_surface_draw_quad.h
index 988afeb..86b4d52 100644
--- a/cc/quads/io_surface_draw_quad.h
+++ b/cc/quads/io_surface_draw_quad.h
@@ -49,7 +49,7 @@ class CC_EXPORT IOSurfaceDrawQuad : public DrawQuad {
static const IOSurfaceDrawQuad* MaterialCast(const DrawQuad*);
private:
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc
diff --git a/cc/quads/picture_draw_quad.cc b/cc/quads/picture_draw_quad.cc
index cb1c2c1..af120a4 100644
--- a/cc/quads/picture_draw_quad.cc
+++ b/cc/quads/picture_draw_quad.cc
@@ -4,6 +4,7 @@
#include "cc/quads/picture_draw_quad.h"
+#include "base/debug/trace_event_argument.h"
#include "base/values.h"
#include "cc/base/math_util.h"
#include "cc/resources/platform_color.h"
@@ -79,9 +80,11 @@ const PictureDrawQuad* PictureDrawQuad::MaterialCast(const DrawQuad* quad) {
return static_cast<const PictureDrawQuad*>(quad);
}
-void PictureDrawQuad::ExtendValue(base::DictionaryValue* value) const {
+void PictureDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
ContentDrawQuadBase::ExtendValue(value);
- value->Set("content_rect", MathUtil::AsValue(content_rect).release());
+ value->BeginArray("content_rect");
+ MathUtil::AddToTracedValue(content_rect, value);
+ value->EndArray();
value->SetDouble("contents_scale", contents_scale);
value->SetInteger("texture_format", texture_format);
// TODO(piman): picture_pile?
diff --git a/cc/quads/picture_draw_quad.h b/cc/quads/picture_draw_quad.h
index 944a8fb..4fb6b4b 100644
--- a/cc/quads/picture_draw_quad.h
+++ b/cc/quads/picture_draw_quad.h
@@ -56,7 +56,7 @@ class CC_EXPORT PictureDrawQuad : public ContentDrawQuadBase {
static const PictureDrawQuad* MaterialCast(const DrawQuad* quad);
private:
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc
diff --git a/cc/quads/render_pass.cc b/cc/quads/render_pass.cc
index c7f83a3..43bb7cd 100644
--- a/cc/quads/render_pass.cc
+++ b/cc/quads/render_pass.cc
@@ -4,6 +4,7 @@
#include "cc/quads/render_pass.h"
+#include "base/debug/trace_event_argument.h"
#include "base/values.h"
#include "cc/base/math_util.h"
#include "cc/debug/traced_value.h"
@@ -157,27 +158,39 @@ void RenderPass::SetAll(Id id,
DCHECK(shared_quad_state_list.empty());
}
-scoped_ptr<base::Value> RenderPass::AsValue() const {
- scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue());
- value->Set("output_rect", MathUtil::AsValue(output_rect).release());
- value->Set("damage_rect", MathUtil::AsValue(damage_rect).release());
+void RenderPass::AsValueInto(base::debug::TracedValue* value) const {
+ value->BeginArray("output_rect");
+ MathUtil::AddToTracedValue(output_rect, value);
+ value->EndArray();
+
+ value->BeginArray("damage_rect");
+ MathUtil::AddToTracedValue(damage_rect, value);
+ value->EndArray();
+
value->SetBoolean("has_transparent_background", has_transparent_background);
value->SetInteger("copy_requests", copy_requests.size());
- scoped_ptr<base::ListValue> shared_states_value(new base::ListValue());
+
+ value->BeginArray("shared_quad_state_list");
for (size_t i = 0; i < shared_quad_state_list.size(); ++i) {
- shared_states_value->Append(shared_quad_state_list[i]->AsValue().release());
+ value->BeginDictionary();
+ shared_quad_state_list[i]->AsValueInto(value);
+ value->EndDictionary();
}
- value->Set("shared_quad_state_list", shared_states_value.release());
- scoped_ptr<base::ListValue> quad_list_value(new base::ListValue());
+ value->EndArray();
+
+ value->BeginArray("quad_list");
for (size_t i = 0; i < quad_list.size(); ++i) {
- quad_list_value->Append(quad_list[i]->AsValue().release());
+ value->BeginDictionary();
+ quad_list[i]->AsValueInto(value);
+ value->EndDictionary();
}
- value->Set("quad_list", quad_list_value.release());
+ value->EndArray();
TracedValue::MakeDictIntoImplicitSnapshotWithCategory(
TRACE_DISABLED_BY_DEFAULT("cc.debug.quads"),
- value.get(), "cc::RenderPass", id.AsTracingId());
- return value.PassAs<base::Value>();
+ value,
+ "cc::RenderPass",
+ id.AsTracingId());
}
SharedQuadState* RenderPass::CreateAndAppendSharedQuadState() {
diff --git a/cc/quads/render_pass.h b/cc/quads/render_pass.h
index 3032f05..8d41142 100644
--- a/cc/quads/render_pass.h
+++ b/cc/quads/render_pass.h
@@ -18,6 +18,9 @@
#include "ui/gfx/transform.h"
namespace base {
+namespace debug {
+class TracedValue;
+}
class Value;
};
@@ -87,7 +90,7 @@ class CC_EXPORT RenderPass {
const gfx::Transform& transform_to_root_target,
bool has_transparent_background);
- scoped_ptr<base::Value> AsValue() const;
+ void AsValueInto(base::debug::TracedValue* dict) const;
SharedQuadState* CreateAndAppendSharedQuadState();
template <typename DrawQuadType>
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
diff --git a/cc/quads/render_pass_draw_quad.h b/cc/quads/render_pass_draw_quad.h
index e3d6f14..7237a854 100644
--- a/cc/quads/render_pass_draw_quad.h
+++ b/cc/quads/render_pass_draw_quad.h
@@ -63,7 +63,7 @@ class CC_EXPORT RenderPassDrawQuad : public DrawQuad {
static const RenderPassDrawQuad* MaterialCast(const DrawQuad*);
private:
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc
diff --git a/cc/quads/shared_quad_state.cc b/cc/quads/shared_quad_state.cc
index 57959e3..83df365 100644
--- a/cc/quads/shared_quad_state.cc
+++ b/cc/quads/shared_quad_state.cc
@@ -4,6 +4,7 @@
#include "cc/quads/shared_quad_state.h"
+#include "base/debug/trace_event_argument.h"
#include "base/values.h"
#include "cc/base/math_util.h"
#include "cc/debug/traced_value.h"
@@ -45,22 +46,32 @@ void SharedQuadState::SetAll(const gfx::Transform& content_to_target_transform,
this->sorting_context_id = sorting_context_id;
}
-scoped_ptr<base::Value> SharedQuadState::AsValue() const {
- scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue());
- value->Set("transform",
- MathUtil::AsValue(content_to_target_transform).release());
- value->Set("layer_content_bounds",
- MathUtil::AsValue(content_bounds).release());
- value->Set("layer_visible_content_rect",
- MathUtil::AsValue(visible_content_rect).release());
+void SharedQuadState::AsValueInto(base::debug::TracedValue* value) const {
+ value->BeginArray("transform");
+ MathUtil::AddToTracedValue(content_to_target_transform, value);
+ value->EndArray();
+
+ value->BeginDictionary("layer_content_bounds");
+ MathUtil::AddToTracedValue(content_bounds, value);
+ value->EndDictionary();
+
+ value->BeginArray("layer_visible_content_rect");
+ MathUtil::AddToTracedValue(visible_content_rect, value);
+ value->EndArray();
+
value->SetBoolean("is_clipped", is_clipped);
- value->Set("clip_rect", MathUtil::AsValue(clip_rect).release());
+
+ value->BeginArray("clip_rect");
+ MathUtil::AddToTracedValue(clip_rect, value);
+ value->EndArray();
+
value->SetDouble("opacity", opacity);
value->SetString("blend_mode", SkXfermode::ModeName(blend_mode));
TracedValue::MakeDictIntoImplicitSnapshotWithCategory(
TRACE_DISABLED_BY_DEFAULT("cc.debug.quads"),
- value.get(), "cc::SharedQuadState", this);
- return value.PassAs<base::Value>();
+ value,
+ "cc::SharedQuadState",
+ this);
}
} // namespace cc
diff --git a/cc/quads/shared_quad_state.h b/cc/quads/shared_quad_state.h
index 30a1e25..dde87a8 100644
--- a/cc/quads/shared_quad_state.h
+++ b/cc/quads/shared_quad_state.h
@@ -12,6 +12,9 @@
#include "ui/gfx/transform.h"
namespace base {
+namespace debug {
+class TracedValue;
+}
class Value;
}
@@ -37,7 +40,7 @@ class CC_EXPORT SharedQuadState {
float opacity,
SkXfermode::Mode blend_mode,
int sorting_context_id);
- scoped_ptr<base::Value> AsValue() const;
+ void AsValueInto(base::debug::TracedValue* dict) const;
// Transforms from quad's original content space to its target content space.
gfx::Transform content_to_target_transform;
diff --git a/cc/quads/solid_color_draw_quad.cc b/cc/quads/solid_color_draw_quad.cc
index 333ee17..a11b151 100644
--- a/cc/quads/solid_color_draw_quad.cc
+++ b/cc/quads/solid_color_draw_quad.cc
@@ -4,6 +4,7 @@
#include "cc/quads/solid_color_draw_quad.h"
+#include "base/debug/trace_event_argument.h"
#include "base/logging.h"
#include "base/values.h"
@@ -47,7 +48,7 @@ const SolidColorDrawQuad* SolidColorDrawQuad::MaterialCast(
return static_cast<const SolidColorDrawQuad*>(quad);
}
-void SolidColorDrawQuad::ExtendValue(base::DictionaryValue* value) const {
+void SolidColorDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
value->SetInteger("color", color);
value->SetBoolean("force_anti_aliasing_off", force_anti_aliasing_off);
}
diff --git a/cc/quads/solid_color_draw_quad.h b/cc/quads/solid_color_draw_quad.h
index 1e746e0..bfb6022 100644
--- a/cc/quads/solid_color_draw_quad.h
+++ b/cc/quads/solid_color_draw_quad.h
@@ -39,7 +39,7 @@ class CC_EXPORT SolidColorDrawQuad : public DrawQuad {
static const SolidColorDrawQuad* MaterialCast(const DrawQuad*);
private:
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc
diff --git a/cc/quads/stream_video_draw_quad.cc b/cc/quads/stream_video_draw_quad.cc
index 683d4e5..6b5a509 100644
--- a/cc/quads/stream_video_draw_quad.cc
+++ b/cc/quads/stream_video_draw_quad.cc
@@ -4,6 +4,7 @@
#include "cc/quads/stream_video_draw_quad.h"
+#include "base/debug/trace_event_argument.h"
#include "base/logging.h"
#include "base/values.h"
#include "cc/base/math_util.h"
@@ -49,9 +50,11 @@ const StreamVideoDrawQuad* StreamVideoDrawQuad::MaterialCast(
return static_cast<const StreamVideoDrawQuad*>(quad);
}
-void StreamVideoDrawQuad::ExtendValue(base::DictionaryValue* value) const {
+void StreamVideoDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
value->SetInteger("resource_id", resource_id);
- value->Set("matrix", MathUtil::AsValue(matrix).release());
+ value->BeginArray("matrix");
+ MathUtil::AddToTracedValue(matrix, value);
+ value->EndArray();
}
} // namespace cc
diff --git a/cc/quads/stream_video_draw_quad.h b/cc/quads/stream_video_draw_quad.h
index 0570f31..5db7c3b 100644
--- a/cc/quads/stream_video_draw_quad.h
+++ b/cc/quads/stream_video_draw_quad.h
@@ -40,7 +40,7 @@ class CC_EXPORT StreamVideoDrawQuad : public DrawQuad {
static const StreamVideoDrawQuad* MaterialCast(const DrawQuad*);
private:
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc
diff --git a/cc/quads/surface_draw_quad.cc b/cc/quads/surface_draw_quad.cc
index 04645da..7ed8f2e 100644
--- a/cc/quads/surface_draw_quad.cc
+++ b/cc/quads/surface_draw_quad.cc
@@ -4,6 +4,7 @@
#include "cc/quads/surface_draw_quad.h"
+#include "base/debug/trace_event_argument.h"
#include "base/logging.h"
#include "base/values.h"
@@ -42,7 +43,7 @@ const SurfaceDrawQuad* SurfaceDrawQuad::MaterialCast(const DrawQuad* quad) {
return static_cast<const SurfaceDrawQuad*>(quad);
}
-void SurfaceDrawQuad::ExtendValue(base::DictionaryValue* value) const {
+void SurfaceDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
value->SetInteger("surface_id", surface_id.id);
}
diff --git a/cc/quads/surface_draw_quad.h b/cc/quads/surface_draw_quad.h
index 7b22ed5..91e5668 100644
--- a/cc/quads/surface_draw_quad.h
+++ b/cc/quads/surface_draw_quad.h
@@ -36,7 +36,7 @@ class CC_EXPORT SurfaceDrawQuad : public DrawQuad {
static const SurfaceDrawQuad* MaterialCast(const DrawQuad* quad);
private:
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc
diff --git a/cc/quads/texture_draw_quad.cc b/cc/quads/texture_draw_quad.cc
index 6637e4f..72435c2 100644
--- a/cc/quads/texture_draw_quad.cc
+++ b/cc/quads/texture_draw_quad.cc
@@ -4,6 +4,7 @@
#include "cc/quads/texture_draw_quad.h"
+#include "base/debug/trace_event_argument.h"
#include "base/logging.h"
#include "base/values.h"
#include "cc/base/math_util.h"
@@ -83,16 +84,24 @@ const TextureDrawQuad* TextureDrawQuad::MaterialCast(const DrawQuad* quad) {
return static_cast<const TextureDrawQuad*>(quad);
}
-void TextureDrawQuad::ExtendValue(base::DictionaryValue* value) const {
+void TextureDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
value->SetInteger("resource_id", resource_id);
value->SetBoolean("premultiplied_alpha", premultiplied_alpha);
- value->Set("uv_top_left", MathUtil::AsValue(uv_top_left).release());
- value->Set("uv_bottom_right", MathUtil::AsValue(uv_bottom_right).release());
+ value->BeginArray("uv_top_left");
+ MathUtil::AddToTracedValue(uv_top_left, value);
+ value->EndArray();
+
+ value->BeginArray("uv_bottom_right");
+ MathUtil::AddToTracedValue(uv_bottom_right, value);
+ value->EndArray();
+
value->SetInteger("background_color", background_color);
- scoped_ptr<base::ListValue> vertex_opacity_value(new base::ListValue);
+
+ value->BeginArray("vertex_opacity");
for (size_t i = 0; i < 4; ++i)
- vertex_opacity_value->AppendDouble(vertex_opacity[i]);
- value->Set("vertex_opacity", vertex_opacity_value.release());
+ value->AppendDouble(vertex_opacity[i]);
+ value->EndArray();
+
value->SetBoolean("flipped", flipped);
}
diff --git a/cc/quads/texture_draw_quad.h b/cc/quads/texture_draw_quad.h
index 409679b..ef8090c 100644
--- a/cc/quads/texture_draw_quad.h
+++ b/cc/quads/texture_draw_quad.h
@@ -55,7 +55,7 @@ class CC_EXPORT TextureDrawQuad : public DrawQuad {
static const TextureDrawQuad* MaterialCast(const DrawQuad*);
private:
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc
diff --git a/cc/quads/tile_draw_quad.cc b/cc/quads/tile_draw_quad.cc
index 839f0de..ea3a14a 100644
--- a/cc/quads/tile_draw_quad.cc
+++ b/cc/quads/tile_draw_quad.cc
@@ -4,6 +4,7 @@
#include "cc/quads/tile_draw_quad.h"
+#include "base/debug/trace_event_argument.h"
#include "base/logging.h"
#include "base/values.h"
#include "third_party/khronos/GLES2/gl2.h"
@@ -61,7 +62,7 @@ const TileDrawQuad* TileDrawQuad::MaterialCast(const DrawQuad* quad) {
return static_cast<const TileDrawQuad*>(quad);
}
-void TileDrawQuad::ExtendValue(base::DictionaryValue* value) const {
+void TileDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
ContentDrawQuadBase::ExtendValue(value);
value->SetInteger("resource_id", resource_id);
}
diff --git a/cc/quads/tile_draw_quad.h b/cc/quads/tile_draw_quad.h
index 2d3c2ee..72e6bba 100644
--- a/cc/quads/tile_draw_quad.h
+++ b/cc/quads/tile_draw_quad.h
@@ -41,7 +41,7 @@ class CC_EXPORT TileDrawQuad : public ContentDrawQuadBase {
static const TileDrawQuad* MaterialCast(const DrawQuad*);
private:
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc
diff --git a/cc/quads/yuv_video_draw_quad.cc b/cc/quads/yuv_video_draw_quad.cc
index d2443ba..612362e 100644
--- a/cc/quads/yuv_video_draw_quad.cc
+++ b/cc/quads/yuv_video_draw_quad.cc
@@ -4,6 +4,7 @@
#include "cc/quads/yuv_video_draw_quad.h"
+#include "base/debug/trace_event_argument.h"
#include "base/logging.h"
#include "base/values.h"
#include "cc/base/math_util.h"
@@ -74,8 +75,10 @@ const YUVVideoDrawQuad* YUVVideoDrawQuad::MaterialCast(
return static_cast<const YUVVideoDrawQuad*>(quad);
}
-void YUVVideoDrawQuad::ExtendValue(base::DictionaryValue* value) const {
- value->Set("tex_coord_rect", MathUtil::AsValue(tex_coord_rect).release());
+void YUVVideoDrawQuad::ExtendValue(base::debug::TracedValue* value) const {
+ value->BeginArray("tex_coord_rect");
+ MathUtil::AddToTracedValue(tex_coord_rect, value);
+ value->EndArray();
value->SetInteger("y_plane_resource_id", y_plane_resource_id);
value->SetInteger("u_plane_resource_id", u_plane_resource_id);
value->SetInteger("v_plane_resource_id", v_plane_resource_id);
diff --git a/cc/quads/yuv_video_draw_quad.h b/cc/quads/yuv_video_draw_quad.h
index 93975d7..930c821 100644
--- a/cc/quads/yuv_video_draw_quad.h
+++ b/cc/quads/yuv_video_draw_quad.h
@@ -61,7 +61,7 @@ class CC_EXPORT YUVVideoDrawQuad : public DrawQuad {
static const YUVVideoDrawQuad* MaterialCast(const DrawQuad*);
private:
- virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE;
+ virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
};
} // namespace cc