Index: cc/layers/layer_impl.cc |
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc |
index 480cee0db3683360c8419e65cc2c564d09ca2c90..3856ba5af16b662f50b79087cfea36a31f029156 100644 |
--- a/cc/layers/layer_impl.cc |
+++ b/cc/layers/layer_impl.cc |
@@ -255,12 +255,24 @@ void LayerImpl::SetSentScrollDelta(gfx::Vector2d sent_scroll_delta) { |
if (sent_scroll_delta_ == sent_scroll_delta) |
return; |
+ scoped_ptr<base::Value> value = MathUtil::AsValue(sent_scroll_delta); |
+ TRACE_EVENT1("impl-scroll", |
+ "LayerImpl::SetSentScrollDelta", |
+ "sent_scroll_delta", |
+ TracedValue::FromValue(value.release())); |
+ |
sent_scroll_delta_ = sent_scroll_delta; |
} |
gfx::Vector2dF LayerImpl::ScrollBy(gfx::Vector2dF scroll) { |
DCHECK(scrollable()); |
+ scoped_ptr<base::Value> value = MathUtil::AsValue(scroll); |
+ TRACE_EVENT1("impl-scroll", |
+ "LayerImpl::ScrollBy", |
+ "scroll", |
+ TracedValue::FromValue(value.release())); |
+ |
gfx::Vector2dF min_delta = -scroll_offset_; |
gfx::Vector2dF max_delta = max_scroll_offset_ - scroll_offset_; |
// Clamp new_delta so that position + delta stays within scroll bounds. |
@@ -295,13 +307,18 @@ void LayerImpl::ApplySentScrollDeltas() { |
InputHandler::ScrollStatus LayerImpl::TryScroll( |
gfx::PointF screen_space_point, |
InputHandler::ScrollInputType type) const { |
+ |
if (should_scroll_on_main_thread()) { |
- TRACE_EVENT0("cc", "LayerImpl::TryScroll: Failed ShouldScrollOnMainThread"); |
+ TRACE_EVENT_INSTANT0("cc,impl-scroll", |
+ "LayerImpl::TryScroll: Failed ShouldScrollOnMainThread", |
+ TRACE_EVENT_SCOPE_THREAD); |
return InputHandler::ScrollOnMainThread; |
} |
if (!screen_space_transform().IsInvertible()) { |
- TRACE_EVENT0("cc", "LayerImpl::TryScroll: Ignored NonInvertibleTransform"); |
+ TRACE_EVENT_INSTANT0("cc,impl-scroll", |
+ "LayerImpl::TryScroll: Ignored NonInvertibleTransform", |
+ TRACE_EVENT_SCOPE_THREAD); |
return InputHandler::ScrollIgnored; |
} |
@@ -326,29 +343,40 @@ InputHandler::ScrollStatus LayerImpl::TryScroll( |
if (!clipped && |
non_fast_scrollable_region().Contains( |
gfx::ToRoundedPoint(hit_test_point_in_layer_space))) { |
- TRACE_EVENT0("cc", |
- "LayerImpl::tryScroll: Failed NonFastScrollableRegion"); |
+ TRACE_EVENT_INSTANT0("cc,impl-scroll", |
+ "LayerImpl::TryScroll: Failed NonFastScrollableRegion", |
+ TRACE_EVENT_SCOPE_THREAD); |
return InputHandler::ScrollOnMainThread; |
} |
} |
if (type == InputHandler::Wheel && have_wheel_event_handlers()) { |
- TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed WheelEventHandlers"); |
+ TRACE_EVENT_INSTANT0("cc,impl-scroll", |
+ "LayerImpl::TryScroll: Failed WheelEventHandlers", |
+ TRACE_EVENT_SCOPE_THREAD); |
return InputHandler::ScrollOnMainThread; |
} |
if (!scrollable()) { |
- TRACE_EVENT0("cc", "LayerImpl::tryScroll: Ignored not scrollable"); |
+ TRACE_EVENT_INSTANT0("cc,impl-scroll", |
+ "LayerImpl::TryScroll: Ignored not scrollable", |
+ TRACE_EVENT_SCOPE_THREAD); |
return InputHandler::ScrollIgnored; |
} |
if (max_scroll_offset_.x() <= 0 && max_scroll_offset_.y() <= 0) { |
- TRACE_EVENT0("cc", |
- "LayerImpl::tryScroll: Ignored. Technically scrollable," |
- " but has no affordance in either direction."); |
+ TRACE_EVENT_INSTANT0("cc,impl-scroll", |
+ "LayerImpl::TryScroll: Ignored. Technically scrollable," |
+ " but has no affordance in either direction.", |
+ TRACE_EVENT_SCOPE_THREAD); |
return InputHandler::ScrollIgnored; |
} |
+ TRACE_EVENT_INSTANT1("cc,impl-scroll", |
+ "LayerImpl::TryScroll: Started", |
+ TRACE_EVENT_SCOPE_THREAD, |
+ "layer_id", id()); |
+ |
return InputHandler::ScrollStarted; |
} |
@@ -896,6 +924,12 @@ void LayerImpl::SetScrollDelta(gfx::Vector2dF scroll_delta) { |
if (ScrollDelta() == scroll_delta) |
return; |
+ scoped_ptr<base::Value> value = MathUtil::AsValue(scroll_delta); |
+ TRACE_EVENT1("impl-scroll", |
+ "LayerImpl::SetScrollDelta", |
+ "delta", |
+ TracedValue::FromValue(value.release())); |
+ |
if (layer_tree_impl()->IsActiveTree()) { |
LayerImpl* pending_twin = layer_tree_impl()->FindPendingTreeLayerById(id()); |
if (pending_twin) { |
@@ -1128,6 +1162,9 @@ void LayerImpl::AsValueInto(base::DictionaryValue* state) const { |
&clipped); |
state->Set("layer_quad", MathUtil::AsValue(layer_quad).release()); |
+#ifndef NDEBUG |
+ state->SetString("debug_name", debug_name_); |
+#endif |
scoped_ptr<base::ListValue> children_list(new base::ListValue()); |
for (size_t i = 0; i < children_.size(); ++i) |