mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-11 06:04:55 +08:00
Move and rename files. NOAUTOREVERT=true NOPRESUBMIT=true NOTREECHECKS=true Bug: 768828 TBR=darin@chromium.org NOTRY=true Change-Id: I66d3b155808bc5bdbf237b80208e1e552bcf7f28 Reviewed-on: https://chromium-review.googlesource.com/1001153 Reviewed-by: Blink Reformat <blink-reformat@chromium.org> Commit-Queue: Blink Reformat <blink-reformat@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#549061} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 0aee4434a4dba42a42abaea9bfbc0cd196a63bc1
75 lines
1.7 KiB
JavaScript
75 lines
1.7 KiB
JavaScript
// Copyright 2016 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.
|
|
|
|
/**
|
|
* @implements {Extensions.TracingSession}
|
|
* @implements {Timeline.TimelineLoader.Client}
|
|
*/
|
|
Timeline.ExtensionTracingSession = class {
|
|
/**
|
|
* @param {!Extensions.ExtensionTraceProvider} provider
|
|
* @param {!Timeline.PerformanceModel} performanceModel
|
|
*/
|
|
constructor(provider, performanceModel) {
|
|
this._provider = provider;
|
|
this._performanceModel = performanceModel;
|
|
/** @type {function()} */
|
|
this._completionCallback;
|
|
this._completionPromise = new Promise(fulfill => {
|
|
this._completionCallback = fulfill;
|
|
});
|
|
this._timeOffset = 0;
|
|
}
|
|
|
|
/** @override */
|
|
loadingStarted() {
|
|
}
|
|
|
|
/** @override */
|
|
processingStarted() {
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {number=} progress
|
|
*/
|
|
loadingProgress(progress) {
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {?SDK.TracingModel} tracingModel
|
|
*/
|
|
loadingComplete(tracingModel) {
|
|
if (!tracingModel)
|
|
return;
|
|
this._performanceModel.addExtensionEvents(this._provider.longDisplayName(), tracingModel, this._timeOffset);
|
|
this._completionCallback();
|
|
}
|
|
|
|
/**
|
|
* @override
|
|
* @param {string} url
|
|
* @param {number} timeOffsetMicroseconds
|
|
*/
|
|
complete(url, timeOffsetMicroseconds) {
|
|
if (!url) {
|
|
this._completionCallback();
|
|
return;
|
|
}
|
|
this._timeOffset = timeOffsetMicroseconds;
|
|
Timeline.TimelineLoader.loadFromURL(url, this);
|
|
}
|
|
|
|
start() {
|
|
this._provider.start(this);
|
|
}
|
|
|
|
/** @return {!Promise<string>} */
|
|
stop() {
|
|
this._provider.stop();
|
|
return this._completionPromise;
|
|
}
|
|
};
|