| Index: third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js b/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js
|
| index a9de61fd29b0ed10fc1916648bd85460613a369f..b3e5b886f1557059a836912b2817d99d61d804d0 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js
|
| @@ -540,12 +540,13 @@ Timeline.TimelinePanel = class extends UI.Panel {
|
|
|
| /**
|
| * @param {boolean} userInitiated
|
| + * @return {!Promise}
|
| */
|
| _startRecording(userInitiated) {
|
| console.assert(!this._statusPane, 'Status pane is already opened.');
|
| var mainTarget = SDK.targetManager.mainTarget();
|
| if (!mainTarget)
|
| - return;
|
| + return Promise.resolve();
|
| this._setState(Timeline.TimelinePanel.State.StartPending);
|
| this._showRecordingStarted();
|
|
|
| @@ -561,12 +562,13 @@ Timeline.TimelinePanel = class extends UI.Panel {
|
|
|
| this._pendingPerformanceModel = new Timeline.PerformanceModel();
|
| this._controller = new Timeline.TimelineController(mainTarget, this._pendingPerformanceModel, this);
|
| - this._controller.startRecording(recordingOptions, enabledTraceProviders);
|
| + var startPromise = this._controller.startRecording(recordingOptions, enabledTraceProviders);
|
|
|
| Host.userMetrics.actionTaken(
|
| userInitiated ? Host.UserMetrics.Action.TimelineStarted : Host.UserMetrics.Action.TimelinePageReloadStarted);
|
| this._setUIControlsEnabled(false);
|
| this._hideLandingPage();
|
| + return startPromise;
|
| }
|
|
|
| _stopRecording() {
|
| @@ -687,7 +689,8 @@ Timeline.TimelinePanel = class extends UI.Panel {
|
| }
|
|
|
| var learnMoreNode = UI.createExternalLink(
|
| - 'https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/', Common.UIString('Learn\xa0more'));
|
| + 'https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/',
|
| + Common.UIString('Learn\xa0more'));
|
| var recordKey =
|
| encloseWithTag('b', UI.shortcutRegistry.shortcutDescriptorsForAction('timeline.toggle-recording')[0].name);
|
| var reloadKey = encloseWithTag('b', UI.shortcutRegistry.shortcutDescriptorsForAction('main.reload')[0].name);
|
| @@ -702,12 +705,12 @@ Timeline.TimelinePanel = class extends UI.Panel {
|
|
|
| centered.createChild('p').appendChild(UI.formatLocalized(
|
| 'Click the record button %s or hit %s to capture a new recording.\n' +
|
| - 'Click the reload button %s or hit %s to record and evaluate the page load.',
|
| + 'Click the reload button %s or hit %s to record and evaluate the page load.',
|
| [recordButton, recordKey, reloadButton, reloadKey]));
|
|
|
| centered.createChild('p').appendChild(UI.formatLocalized(
|
| 'After recording, select an area of interest in the overview by dragging.\n' +
|
| - 'Then, zoom and pan the timeline with the mousewheel or %s keys.\n%s',
|
| + 'Then, zoom and pan the timeline with the mousewheel or %s keys.\n%s',
|
| [navigateNode, learnMoreNode]));
|
|
|
| var cpuProfilerHintSetting = Common.settings.createSetting('timelineShowProfilerHint', true);
|
| @@ -830,7 +833,9 @@ Timeline.TimelinePanel = class extends UI.Panel {
|
| _pageReloadRequested(event) {
|
| if (this._state !== Timeline.TimelinePanel.State.Idle || !this.isShowing())
|
| return;
|
| - this._startRecording(false);
|
| + var resourceTreeModel = /** @type {!SDK.ResourceTreeModel} */ (event.data);
|
| + resourceTreeModel.suspendReload();
|
| + this._startRecording(false).then(() => resourceTreeModel.resumeReload());
|
| }
|
|
|
| /**
|
|
|