UNPKG

@dcloudio/uni-debugger

Version:

uni-app debugger

75 lines (66 loc) 1.71 kB
// 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; } };