Chromium Code Reviews| Index: cc/quads/shared_quad_state.cc |
| diff --git a/cc/quads/shared_quad_state.cc b/cc/quads/shared_quad_state.cc |
| index 7bfb2b440f378b9333383add131a297eabb71fa3..228bff75aeac39b98e5a576f76a66a939456b504 100644 |
| --- a/cc/quads/shared_quad_state.cc |
| +++ b/cc/quads/shared_quad_state.cc |
| @@ -4,11 +4,26 @@ |
| #include "cc/quads/shared_quad_state.h" |
| +#include "base/values.h" |
| +#include "cc/base/math_util.h" |
| +#include "cc/debug/traced_value.h" |
| + |
| namespace cc { |
| SharedQuadState::SharedQuadState() : is_clipped(false), opacity(0.f) {} |
| -SharedQuadState::~SharedQuadState() {} |
| +SharedQuadState::~SharedQuadState() { |
| + // Snapshot was created in cc.debug category, but only if cc.debug.quads is on |
| + // as well. |
| + bool enabled; |
| + TRACE_EVENT_CATEGORY_GROUP_ENABLED( |
| + TRACE_DISABLED_BY_DEFAULT("cc.debug.quads"), &enabled); |
| + if (enabled) { |
| + TRACE_EVENT_OBJECT_DELETED_WITH_ID(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
| + "cc::SharedQuadState", |
| + this); |
| + } |
| +} |
| scoped_ptr<SharedQuadState> SharedQuadState::Create() { |
| return make_scoped_ptr(new SharedQuadState); |
| @@ -33,4 +48,20 @@ void SharedQuadState::SetAll( |
| this->opacity = opacity; |
| } |
| +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()); |
| + value->SetBoolean("is_clipped", is_clipped); |
| + value->Set("clip_rect", MathUtil::AsValue(clip_rect).release()); |
| + value->SetDouble("opacity", opacity); |
| + TracedValue::MakeDictIntoImplicitSnapshot( |
|
danakj
2013/08/06 19:30:34
Why do you do this for RenderPass and SQState, but
piman
2013/08/06 23:31:11
This lets us reference the data by ID.
Because Ren
|
| + value.get(), "cc::SharedQuadState", this); |
| + return value.PassAs<base::Value>(); |
| +} |
| + |
| } // namespace cc |