Commit a1e2c4f6 authored by caseq@chromium.org's avatar caseq@chromium.org

DevTools: extract TracingManager from TracingModel, step 2

This just moves code from sdk/TracingModel.js to timeline/TracingModel.js
and renames the former to sdk/TracingManager.js. No actual code was harmed.

BUG=412709

Review URL: https://codereview.chromium.org/563463003

git-svn-id: svn://svn.chromium.org/blink/trunk@181797 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 808bb16b
...@@ -153,7 +153,7 @@ ...@@ -153,7 +153,7 @@
'front_end/sdk/SourceMap.js', 'front_end/sdk/SourceMap.js',
'front_end/sdk/Target.js', 'front_end/sdk/Target.js',
'front_end/sdk/TimelineManager.js', 'front_end/sdk/TimelineManager.js',
'front_end/sdk/TracingModel.js', 'front_end/sdk/TracingManager.js',
'front_end/sdk/WorkerManager.js', 'front_end/sdk/WorkerManager.js',
'front_end/sdk/WorkerTargetManager.js', 'front_end/sdk/WorkerTargetManager.js',
], ],
...@@ -502,6 +502,7 @@ ...@@ -502,6 +502,7 @@
'front_end/timeline/TimelineUIUtils.js', 'front_end/timeline/TimelineUIUtils.js',
'front_end/timeline/TimelineUIUtilsImpl.js', 'front_end/timeline/TimelineUIUtilsImpl.js',
'front_end/timeline/TimelineView.js', 'front_end/timeline/TimelineView.js',
'front_end/timeline/TracingModel.js',
'front_end/timeline/TracingTimelineModel.js', 'front_end/timeline/TracingTimelineModel.js',
'front_end/timeline/TracingTimelineUIUtils.js', 'front_end/timeline/TracingTimelineUIUtils.js',
'front_end/timeline/TransformController.js', 'front_end/timeline/TransformController.js',
......
...@@ -103,7 +103,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ...@@ -103,7 +103,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="bindings/ResourceUtils.js"></script> <script type="text/javascript" src="bindings/ResourceUtils.js"></script>
<script type="text/javascript" src="common/ResourceType.js"></script> <script type="text/javascript" src="common/ResourceType.js"></script>
<script type="text/javascript" src="sdk/TimelineManager.js"></script> <script type="text/javascript" src="sdk/TimelineManager.js"></script>
<script type="text/javascript" src="sdk/TracingModel.js"></script> <script type="text/javascript" src="sdk/TracingManager.js"></script>
<script type="text/javascript" src="sdk/PowerProfiler.js"></script> <script type="text/javascript" src="sdk/PowerProfiler.js"></script>
<script type="text/javascript" src="sdk/OverridesSupport.js"></script> <script type="text/javascript" src="sdk/OverridesSupport.js"></script>
<script type="text/javascript" src="sdk/Database.js"></script> <script type="text/javascript" src="sdk/Database.js"></script>
......
/*
* Copyright 2014 The Chromium Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/**
* @constructor
* @extends {WebInspector.Object}
* @implements {WebInspector.TargetManager.Observer}
*/
WebInspector.TracingManager = function()
{
WebInspector.Object.call(this);
this._active = false;
WebInspector.targetManager.observeTargets(this);
}
WebInspector.TracingManager.Events = {
"BufferUsage": "BufferUsage",
"TracingStarted": "TracingStarted",
"EventsCollected": "EventsCollected",
"TracingStopped": "TracingStopped",
"TracingComplete": "TracingComplete"
}
/** @typedef {!{
cat: string,
pid: number,
tid: number,
ts: number,
ph: string,
name: string,
args: !Object,
dur: number,
id: number,
s: string
}}
*/
WebInspector.TracingManager.EventPayload;
WebInspector.TracingManager.prototype = {
/**
* @param {!WebInspector.Target} target
*/
targetAdded: function(target)
{
if (this._target)
return;
this._target = target;
InspectorBackend.registerTracingDispatcher(new WebInspector.TracingDispatcher(this));
},
/**
* @param {!WebInspector.Target} target
*/
targetRemoved: function(target)
{
if (this._target !== target)
return;
delete this._target;
},
/**
* @param {number} usage
*/
_bufferUsage: function(usage)
{
this.dispatchEventToListeners(WebInspector.TracingManager.Events.BufferUsage, usage);
},
/**
* @param {!Array.<!WebInspector.TracingManager.EventPayload>} events
*/
_eventsCollected: function(events)
{
this.dispatchEventToListeners(WebInspector.TracingManager.Events.EventsCollected, events);
},
_tracingComplete: function()
{
this.dispatchEventToListeners(WebInspector.TracingManager.Events.TracingComplete);
},
_tracingStarted: function()
{
if (this._active)
return;
this._active = true;
this.dispatchEventToListeners(WebInspector.TracingManager.Events.TracingStarted);
},
/**
* @param {string} categoryFilter
* @param {string} options
* @param {function(?string)=} callback
*/
start: function(categoryFilter, options, callback)
{
if (this._active)
return;
WebInspector.profilingLock().acquire();
this._shouldReleaseLock = true;
var bufferUsageReportingIntervalMs = 500;
TracingAgent.start(categoryFilter, options, bufferUsageReportingIntervalMs, callback);
this._tracingStarted();
this._active = true;
},
stop: function()
{
if (!this._active)
return;
TracingAgent.end(this._onStop.bind(this));
if (this._shouldReleaseLock) {
this._shouldReleaseLock = false;
WebInspector.profilingLock().release();
}
},
_onStop: function()
{
if (!this._active)
return;
this.dispatchEventToListeners(WebInspector.TracingManager.Events.TracingStopped);
this._active = false;
},
__proto__: WebInspector.Object.prototype
}
/**
* @constructor
* @implements {TracingAgent.Dispatcher}
* @param {!WebInspector.TracingManager} tracingManager
*/
WebInspector.TracingDispatcher = function(tracingManager)
{
this._tracingManager = tracingManager;
}
WebInspector.TracingDispatcher.prototype = {
/**
* @param {number} usage
*/
bufferUsage: function(usage)
{
this._tracingManager._bufferUsage(usage);
},
/**
* @param {!Array.<!WebInspector.TracingManager.EventPayload>} data
*/
dataCollected: function(data)
{
this._tracingManager._eventsCollected(data);
},
tracingComplete: function()
{
this._tracingManager._tracingComplete();
},
started: function()
{
this._tracingManager._tracingStarted();
}
}
...@@ -4,132 +4,6 @@ ...@@ -4,132 +4,6 @@
* found in the LICENSE file. * found in the LICENSE file.
*/ */
/**
* @constructor
* @extends {WebInspector.Object}
* @implements {WebInspector.TargetManager.Observer}
*/
WebInspector.TracingManager = function()
{
WebInspector.Object.call(this);
this._active = false;
WebInspector.targetManager.observeTargets(this);
}
WebInspector.TracingManager.Events = {
"BufferUsage": "BufferUsage",
"TracingStarted": "TracingStarted",
"EventsCollected": "EventsCollected",
"TracingStopped": "TracingStopped",
"TracingComplete": "TracingComplete"
}
/** @typedef {!{
cat: string,
pid: number,
tid: number,
ts: number,
ph: string,
name: string,
args: !Object,
dur: number,
id: number,
s: string
}}
*/
WebInspector.TracingManager.EventPayload;
WebInspector.TracingManager.prototype = {
/**
* @param {!WebInspector.Target} target
*/
targetAdded: function(target)
{
if (this._target)
return;
this._target = target;
InspectorBackend.registerTracingDispatcher(new WebInspector.TracingDispatcher(this));
},
/**
* @param {!WebInspector.Target} target
*/
targetRemoved: function(target)
{
if (this._target !== target)
return;
delete this._target;
},
/**
* @param {number} usage
*/
_bufferUsage: function(usage)
{
this.dispatchEventToListeners(WebInspector.TracingManager.Events.BufferUsage, usage);
},
/**
* @param {!Array.<!WebInspector.TracingManager.EventPayload>} events
*/
_eventsCollected: function(events)
{
this.dispatchEventToListeners(WebInspector.TracingManager.Events.EventsCollected, events);
},
_tracingComplete: function()
{
this.dispatchEventToListeners(WebInspector.TracingManager.Events.TracingComplete);
},
_tracingStarted: function()
{
if (this._active)
return;
this._active = true;
this.dispatchEventToListeners(WebInspector.TracingManager.Events.TracingStarted);
},
/**
* @param {string} categoryFilter
* @param {string} options
* @param {function(?string)=} callback
*/
start: function(categoryFilter, options, callback)
{
if (this._active)
return;
WebInspector.profilingLock().acquire();
this._shouldReleaseLock = true;
var bufferUsageReportingIntervalMs = 500;
TracingAgent.start(categoryFilter, options, bufferUsageReportingIntervalMs, callback);
this._tracingStarted();
this._active = true;
},
stop: function()
{
if (!this._active)
return;
TracingAgent.end(this._onStop.bind(this));
if (this._shouldReleaseLock) {
this._shouldReleaseLock = false;
WebInspector.profilingLock().release();
}
},
_onStop: function()
{
if (!this._active)
return;
this.dispatchEventToListeners(WebInspector.TracingManager.Events.TracingStopped);
this._active = false;
},
__proto__: WebInspector.Object.prototype
}
/** /**
* @constructor * @constructor
*/ */
...@@ -795,42 +669,3 @@ WebInspector.TracingModel.Thread.prototype = { ...@@ -795,42 +669,3 @@ WebInspector.TracingModel.Thread.prototype = {
__proto__: WebInspector.TracingModel.NamedObject.prototype __proto__: WebInspector.TracingModel.NamedObject.prototype
} }
/**
* @constructor
* @implements {TracingAgent.Dispatcher}
* @param {!WebInspector.TracingManager} tracingManager
*/
WebInspector.TracingDispatcher = function(tracingManager)
{
this._tracingManager = tracingManager;
}
WebInspector.TracingDispatcher.prototype = {
/**
* @param {number} usage
*/
bufferUsage: function(usage)
{
this._tracingManager._bufferUsage(usage);
},
/**
* @param {!Array.<!WebInspector.TracingManager.EventPayload>} data
*/
dataCollected: function(data)
{
this._tracingManager._eventsCollected(data);
},
tracingComplete: function()
{
this._tracingManager._tracingComplete();
},
started: function()
{
this._tracingManager._tracingStarted();
}
}
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
"TimelineView.js", "TimelineView.js",
"TimelineLayersView.js", "TimelineLayersView.js",
"TimelinePaintProfilerView.js", "TimelinePaintProfilerView.js",
"TracingModel.js",
"TracingTimelineUIUtils.js", "TracingTimelineUIUtils.js",
"TransformController.js", "TransformController.js",
"PaintProfilerView.js", "PaintProfilerView.js",
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
"sdk/NetworkLog.js", "sdk/NetworkLog.js",
"sdk/OverridesSupport.js", "sdk/OverridesSupport.js",
"sdk/PowerProfiler.js", "sdk/PowerProfiler.js",
"sdk/TracingModel.js", "sdk/TracingManager.js",
"sdk/WorkerManager.js", "sdk/WorkerManager.js",
"sdk/WorkerTargetManager.js", "sdk/WorkerTargetManager.js",
"sdk/RuntimeModel.js", "sdk/RuntimeModel.js",
...@@ -345,6 +345,7 @@ ...@@ -345,6 +345,7 @@
"timeline/TimelineView.js", "timeline/TimelineView.js",
"timeline/TimelinePaintProfilerView.js", "timeline/TimelinePaintProfilerView.js",
"timeline/TimelineLayersView.js", "timeline/TimelineLayersView.js",
"timeline/TracingModel.js",
"timeline/TracingTimelineUIUtils.js", "timeline/TracingTimelineUIUtils.js",
"timeline/TransformController.js" "timeline/TransformController.js"
] ]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment