| Index: cc/debug/devtools_instrumentation.h
|
| diff --git a/cc/debug/devtools_instrumentation.h b/cc/debug/devtools_instrumentation.h
|
| index cfe3e5a2f004e39895a85cd3e0d9da79736ec38f..73788a528af41faeaa85123c81eb51117d46032a 100644
|
| --- a/cc/debug/devtools_instrumentation.h
|
| +++ b/cc/debug/devtools_instrumentation.h
|
| @@ -6,6 +6,7 @@
|
| #define CC_DEBUG_DEVTOOLS_INSTRUMENTATION_H_
|
|
|
| #include "base/trace_event/trace_event.h"
|
| +#include "base/trace_event/trace_event_argument.h"
|
|
|
| namespace cc {
|
| namespace devtools_instrumentation {
|
| @@ -14,6 +15,7 @@ namespace internal {
|
| const char kCategory[] = TRACE_DISABLED_BY_DEFAULT("devtools.timeline");
|
| const char kCategoryFrame[] =
|
| TRACE_DISABLED_BY_DEFAULT("devtools.timeline.frame");
|
| +const char kData[] = "data";
|
| const char kFrameId[] = "frameId";
|
| const char kLayerId[] = "layerId";
|
| const char kLayerTreeId[] = "layerTreeId";
|
| @@ -23,7 +25,9 @@ const char kImageDecodeTask[] = "ImageDecodeTask";
|
| const char kBeginFrame[] = "BeginFrame";
|
| const char kActivateLayerTree[] = "ActivateLayerTree";
|
| const char kRequestMainThreadFrame[] = "RequestMainThreadFrame";
|
| +const char kBeginMainThreadFrame[] = "BeginMainThreadFrame";
|
| const char kDrawFrame[] = "DrawFrame";
|
| +const char kCompositeLayers[] = "CompositeLayers";
|
| } // namespace internal
|
|
|
| const char kPaintSetup[] = "PaintSetup";
|
| @@ -77,6 +81,20 @@ class ScopedLayerTreeTask {
|
| DISALLOW_COPY_AND_ASSIGN(ScopedLayerTreeTask);
|
| };
|
|
|
| +struct ScopedCommitTrace {
|
| + public:
|
| + explicit ScopedCommitTrace(int layer_tree_host_id) {
|
| + TRACE_EVENT_BEGIN1(internal::kCategory, internal::kCompositeLayers,
|
| + internal::kLayerTreeId, layer_tree_host_id);
|
| + }
|
| + ~ScopedCommitTrace() {
|
| + TRACE_EVENT_END0(internal::kCategory, internal::kCompositeLayers);
|
| + }
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(ScopedCommitTrace);
|
| +};
|
| +
|
| struct ScopedLayerObjectTracker
|
| : public base::debug::TraceScopedTrackableObject<int> {
|
| explicit ScopedLayerObjectTracker(int layer_id)
|
| @@ -124,6 +142,21 @@ inline void DidRequestMainThreadFrame(int layer_tree_host_id) {
|
| layer_tree_host_id);
|
| }
|
|
|
| +inline scoped_refptr<base::debug::ConvertableToTraceFormat>
|
| +BeginMainThreadFrameData(int frame_id) {
|
| + scoped_refptr<base::debug::TracedValue> value =
|
| + new base::debug::TracedValue();
|
| + value->SetInteger("frameId", frame_id);
|
| + return value;
|
| +}
|
| +
|
| +inline void WillBeginMainThreadFrame(int layer_tree_host_id, int frame_id) {
|
| + TRACE_EVENT_INSTANT2(
|
| + internal::kCategoryFrame, internal::kBeginMainThreadFrame,
|
| + TRACE_EVENT_SCOPE_THREAD, internal::kLayerTreeId, layer_tree_host_id,
|
| + internal::kData, BeginMainThreadFrameData(frame_id));
|
| +}
|
| +
|
| } // namespace devtools_instrumentation
|
| } // namespace cc
|
|
|
|
|