OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * Copyright (C) 2012 Intel Inc. All rights reserved. | 3 * Copyright (C) 2012 Intel Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 14 matching lines...) Expand all Loading... | |
25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
30 */ | 30 */ |
31 | 31 |
32 /** | 32 /** |
33 * @constructor | 33 * @constructor |
34 * @extends {WebInspector.Panel} | 34 * @extends {WebInspector.Panel} |
35 * @implements {WebInspector.TimelineLifecycleDelegate} | |
35 * @implements {WebInspector.TimelineModeViewDelegate} | 36 * @implements {WebInspector.TimelineModeViewDelegate} |
36 * @implements {WebInspector.Searchable} | 37 * @implements {WebInspector.Searchable} |
37 */ | 38 */ |
38 WebInspector.TimelinePanel = function() | 39 WebInspector.TimelinePanel = function() |
39 { | 40 { |
40 WebInspector.Panel.call(this, "timeline"); | 41 WebInspector.Panel.call(this, "timeline"); |
41 this.registerRequiredCSS("timeline/timelinePanel.css"); | 42 this.registerRequiredCSS("timeline/timelinePanel.css"); |
42 this.element.addEventListener("contextmenu", this._contextMenu.bind(this), f alse); | 43 this.element.addEventListener("contextmenu", this._contextMenu.bind(this), f alse); |
43 this._dropTarget = new WebInspector.DropTarget(this.element, [WebInspector.D ropTarget.Types.Files, WebInspector.DropTarget.Types.URIList], WebInspector.UISt ring("Drop timeline file or URL here"), this._handleDrop.bind(this)); | 44 this._dropTarget = new WebInspector.DropTarget(this.element, [WebInspector.D ropTarget.Types.Files, WebInspector.DropTarget.Types.URIList], WebInspector.UISt ring("Drop timeline file or URL here"), this._handleDrop.bind(this)); |
44 | 45 |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
381 if (Runtime.experiments.isEnabled("timelineRecordingPerspectives") && pe rspectiveSetting.get() === WebInspector.TimelinePanel.Perspectives.Load) { | 382 if (Runtime.experiments.isEnabled("timelineRecordingPerspectives") && pe rspectiveSetting.get() === WebInspector.TimelinePanel.Perspectives.Load) { |
382 this._reloadButton = new WebInspector.ToolbarButton(WebInspector.UIS tring("Record & Reload"), "refresh-toolbar-item"); | 383 this._reloadButton = new WebInspector.ToolbarButton(WebInspector.UIS tring("Record & Reload"), "refresh-toolbar-item"); |
383 this._reloadButton.addEventListener("click", () => WebInspector.targ etManager.reloadPage()); | 384 this._reloadButton.addEventListener("click", () => WebInspector.targ etManager.reloadPage()); |
384 this._panelToolbar.appendToolbarItem(this._reloadButton); | 385 this._panelToolbar.appendToolbarItem(this._reloadButton); |
385 } else { | 386 } else { |
386 this._panelToolbar.appendToolbarItem(WebInspector.Toolbar.createActi onButton(this._toggleRecordAction)); | 387 this._panelToolbar.appendToolbarItem(WebInspector.Toolbar.createActi onButton(this._toggleRecordAction)); |
387 } | 388 } |
388 | 389 |
389 this._updateTimelineControls(); | 390 this._updateTimelineControls(); |
390 var clearButton = new WebInspector.ToolbarButton(WebInspector.UIString(" Clear recording"), "clear-toolbar-item"); | 391 var clearButton = new WebInspector.ToolbarButton(WebInspector.UIString(" Clear recording"), "clear-toolbar-item"); |
391 clearButton.addEventListener("click", this._onClearButtonClick, this); | 392 clearButton.addEventListener("click", this._clear, this); |
392 this._panelToolbar.appendToolbarItem(clearButton); | 393 this._panelToolbar.appendToolbarItem(clearButton); |
393 | 394 |
394 this._panelToolbar.appendSeparator(); | 395 this._panelToolbar.appendSeparator(); |
395 | 396 |
396 this._panelToolbar.appendText(WebInspector.UIString("Capture:")); | 397 this._panelToolbar.appendText(WebInspector.UIString("Capture:")); |
397 | 398 |
398 this._captureNetworkSetting.addChangeListener(this._onNetworkChanged, th is); | 399 this._captureNetworkSetting.addChangeListener(this._onNetworkChanged, th is); |
399 if (!Runtime.experiments.isEnabled("timelineRecordingPerspectives") || p erspectiveSetting.get() === WebInspector.TimelinePanel.Perspectives.Custom) { | 400 if (!Runtime.experiments.isEnabled("timelineRecordingPerspectives") || p erspectiveSetting.get() === WebInspector.TimelinePanel.Perspectives.Custom) { |
400 if (Runtime.experiments.isEnabled("networkRequestsOnTimeline")) { | 401 if (Runtime.experiments.isEnabled("networkRequestsOnTimeline")) { |
401 this._panelToolbar.appendToolbarItem(this._createSettingCheckbox (WebInspector.UIString("Network"), | 402 this._panelToolbar.appendToolbarItem(this._createSettingCheckbox (WebInspector.UIString("Network"), |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
437 var option = this._cpuThrottlingCombobox.createOption(name, "", String(value)); | 438 var option = this._cpuThrottlingCombobox.createOption(name, "", String(value)); |
438 this._cpuThrottlingCombobox.addOption(option); | 439 this._cpuThrottlingCombobox.addOption(option); |
439 if (value === this._cpuThrottlingManager.rate()) | 440 if (value === this._cpuThrottlingManager.rate()) |
440 this._cpuThrottlingCombobox.select(option); | 441 this._cpuThrottlingCombobox.select(option); |
441 } | 442 } |
442 addGroupingOption.call(this, WebInspector.UIString("No CPU throttlin g"), 1); | 443 addGroupingOption.call(this, WebInspector.UIString("No CPU throttlin g"), 1); |
443 for (var rate of [1.2, 1.5, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 20, 30, 50]) | 444 for (var rate of [1.2, 1.5, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 20, 30, 50]) |
444 addGroupingOption.call(this, WebInspector.UIString("%fx slowdown ", rate), rate); | 445 addGroupingOption.call(this, WebInspector.UIString("%fx slowdown ", rate), rate); |
445 this._panelToolbar.appendToolbarItem(this._cpuThrottlingCombobox); | 446 this._panelToolbar.appendToolbarItem(this._cpuThrottlingCombobox); |
446 } | 447 } |
447 | |
448 this._progressToolbarItem = new WebInspector.ToolbarItem(createElement(" div")); | |
449 this._progressToolbarItem.setVisible(false); | |
450 this._panelToolbar.appendToolbarItem(this._progressToolbarItem); | |
451 }, | 448 }, |
452 | 449 |
453 /** | |
454 * @return {!WebInspector.Progress} | |
455 */ | |
456 _prepareToLoadTimeline: function() | 450 _prepareToLoadTimeline: function() |
457 { | 451 { |
458 /** | 452 console.assert(this._state === WebInspector.TimelinePanel.State.Idle); |
459 * @this {!WebInspector.TimelinePanel} | 453 this._setState(WebInspector.TimelinePanel.State.Loading); |
460 */ | |
461 function finishLoading() | |
462 { | |
463 this._setState(WebInspector.TimelinePanel.State.Idle); | |
464 this._progressToolbarItem.setVisible(false); | |
465 this._progressToolbarItem.element.removeChildren(); | |
466 this._hideRecordingHelpMessage(); | |
467 } | |
468 console.assert(this._state === WebInspector.TimelinePanel.State.Idle); | |
469 this._setState(WebInspector.TimelinePanel.State.Loading); | |
470 var progressIndicator = new WebInspector.ProgressIndicator(); | |
471 this._progressToolbarItem.setVisible(true); | |
472 this._progressToolbarItem.element.appendChild(progressIndicator.element) ; | |
473 return new WebInspector.ProgressProxy(progressIndicator, finishLoading.b ind(this)); | |
474 }, | 454 }, |
475 | 455 |
476 _createFileSelector: function() | 456 _createFileSelector: function() |
477 { | 457 { |
478 if (this._fileSelectorElement) | 458 if (this._fileSelectorElement) |
479 this._fileSelectorElement.remove(); | 459 this._fileSelectorElement.remove(); |
480 this._fileSelectorElement = WebInspector.createFileSelectorElement(this. _loadFromFile.bind(this)); | 460 this._fileSelectorElement = WebInspector.createFileSelectorElement(this. _loadFromFile.bind(this)); |
481 this.element.appendChild(this._fileSelectorElement); | 461 this.element.appendChild(this._fileSelectorElement); |
482 }, | 462 }, |
483 | 463 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
529 return true; | 509 return true; |
530 }, | 510 }, |
531 | 511 |
532 /** | 512 /** |
533 * @param {!File} file | 513 * @param {!File} file |
534 */ | 514 */ |
535 _loadFromFile: function(file) | 515 _loadFromFile: function(file) |
536 { | 516 { |
537 if (this._state !== WebInspector.TimelinePanel.State.Idle) | 517 if (this._state !== WebInspector.TimelinePanel.State.Idle) |
538 return; | 518 return; |
539 WebInspector.TimelineLoader.loadFromFile(this._model, file, this._prepar eToLoadTimeline()); | 519 this._prepareToLoadTimeline(); |
520 this._loader = WebInspector.TimelineLoader.loadFromFile(this._tracingMod el, file, this); | |
540 this._createFileSelector(); | 521 this._createFileSelector(); |
541 }, | 522 }, |
542 | 523 |
543 /** | 524 /** |
544 * @param {string} url | 525 * @param {string} url |
545 */ | 526 */ |
546 _loadFromURL: function(url) | 527 _loadFromURL: function(url) |
547 { | 528 { |
548 if (this._state !== WebInspector.TimelinePanel.State.Idle) | 529 if (this._state !== WebInspector.TimelinePanel.State.Idle) |
549 return; | 530 return; |
550 WebInspector.TimelineLoader.loadFromURL(this._model, url, this._prepareT oLoadTimeline()); | 531 this._prepareToLoadTimeline(); |
532 this._loader = WebInspector.TimelineLoader.loadFromURL(this._tracingMode l, url, this); | |
551 }, | 533 }, |
552 | 534 |
553 _refreshViews: function() | 535 _refreshViews: function() |
554 { | 536 { |
555 for (var i = 0; i < this._currentViews.length; ++i) { | 537 for (var i = 0; i < this._currentViews.length; ++i) { |
556 var view = this._currentViews[i]; | 538 var view = this._currentViews[i]; |
557 view.refreshRecords(); | 539 view.refreshRecords(); |
558 } | 540 } |
559 this._updateSelectionDetails(); | 541 this._updateSelectionDetails(); |
560 }, | 542 }, |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
630 this._recordingOptionUIControls.forEach(handler); | 612 this._recordingOptionUIControls.forEach(handler); |
631 }, | 613 }, |
632 | 614 |
633 /** | 615 /** |
634 * @param {boolean} userInitiated | 616 * @param {boolean} userInitiated |
635 */ | 617 */ |
636 _startRecording: function(userInitiated) | 618 _startRecording: function(userInitiated) |
637 { | 619 { |
638 console.assert(!this._statusPane, "Status pane is already opened."); | 620 console.assert(!this._statusPane, "Status pane is already opened."); |
639 this._setState(WebInspector.TimelinePanel.State.StartPending); | 621 this._setState(WebInspector.TimelinePanel.State.StartPending); |
640 this._statusPane = new WebInspector.TimelinePanel.StatusPane(); | 622 this._statusPane = new WebInspector.TimelinePanel.StatusPane(this._stopR ecording.bind(this)); |
641 this._statusPane.addEventListener(WebInspector.TimelinePanel.StatusPane. Events.Finish, this._stopRecording, this); | |
642 this._statusPane.showPane(this._statusPaneContainer); | 623 this._statusPane.showPane(this._statusPaneContainer); |
643 this._statusPane.updateStatus(WebInspector.UIString("Initializing record ing\u2026")); | 624 this._statusPane.updateStatus(WebInspector.UIString("Initializing record ing\u2026")); |
644 | 625 |
645 this._autoRecordGeneration = userInitiated ? null : Symbol("Generation") ; | 626 this._autoRecordGeneration = userInitiated ? null : Symbol("Generation") ; |
646 this._model.startRecording(true, this._captureJSProfileSetting.get(), th is._captureMemorySetting.get(), this._captureLayersAndPicturesSetting.get(), thi s._captureFilmStripSetting && this._captureFilmStripSetting.get()); | 627 this._model.startRecording(true, this._captureJSProfileSetting.get(), th is._captureMemorySetting.get(), this._captureLayersAndPicturesSetting.get(), thi s._captureFilmStripSetting && this._captureFilmStripSetting.get()); |
647 | 628 |
648 for (var i = 0; i < this._overviewControls.length; ++i) | 629 for (var i = 0; i < this._overviewControls.length; ++i) |
649 this._overviewControls[i].timelineStarted(); | 630 this._overviewControls[i].timelineStarted(); |
650 | 631 |
651 if (userInitiated) | 632 if (userInitiated) |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
691 this._stopRecording(); | 672 this._stopRecording(); |
692 }, | 673 }, |
693 | 674 |
694 _garbageCollectButtonClicked: function() | 675 _garbageCollectButtonClicked: function() |
695 { | 676 { |
696 var targets = WebInspector.targetManager.targets(); | 677 var targets = WebInspector.targetManager.targets(); |
697 for (var i = 0; i < targets.length; ++i) | 678 for (var i = 0; i < targets.length; ++i) |
698 targets[i].heapProfilerAgent().collectGarbage(); | 679 targets[i].heapProfilerAgent().collectGarbage(); |
699 }, | 680 }, |
700 | 681 |
701 _onClearButtonClick: function() | 682 _clear: function() |
702 { | 683 { |
703 this._tracingModel.reset(); | 684 this._tracingModel.reset(); |
704 this._model.reset(); | 685 this._model.reset(); |
705 this._showRecordingHelpMessage(); | 686 this._showRecordingHelpMessage(); |
706 }, | 687 }, |
707 | 688 |
708 _onRecordsCleared: function() | 689 _onRecordsCleared: function() |
709 { | 690 { |
710 this.requestWindowTimes(0, Infinity); | 691 this.requestWindowTimes(0, Infinity); |
711 delete this._selection; | 692 delete this._selection; |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
809 this._setMarkers(); | 790 this._setMarkers(); |
810 this._overviewPane.scheduleUpdate(); | 791 this._overviewPane.scheduleUpdate(); |
811 this._updateSearchHighlight(false, true); | 792 this._updateSearchHighlight(false, true); |
812 if (this._statusPane) { | 793 if (this._statusPane) { |
813 this._statusPane.hide(); | 794 this._statusPane.hide(); |
814 delete this._statusPane; | 795 delete this._statusPane; |
815 } | 796 } |
816 this._detailsSplitWidget.showBoth(); | 797 this._detailsSplitWidget.showBoth(); |
817 }, | 798 }, |
818 | 799 |
800 /** | |
801 * @override | |
802 */ | |
803 loadingStarted: function() | |
804 { | |
805 this._hideRecordingHelpMessage(); | |
806 this._model.startCollectingTraceEvents(true); | |
807 | |
808 if (this._statusPane) | |
809 this._statusPane.hide(); | |
810 this._statusPane = new WebInspector.TimelinePanel.StatusPane(this._cance lLoading.bind(this)); | |
811 this._statusPane.showPane(this._statusPaneContainer); | |
812 this._statusPane.updateStatus(WebInspector.UIString("Loading timeline\u2 026")); | |
813 this.loadingProgress(0); | |
814 }, | |
815 | |
816 /** | |
817 * @override | |
818 * @param {number=} progress | |
819 */ | |
820 loadingProgress: function(progress) | |
821 { | |
822 if (typeof progress === "number") | |
823 this._statusPane.updateProgressBar(WebInspector.UIString("Received") , progress * 100); | |
824 }, | |
825 | |
826 /** | |
827 * @override | |
828 * @param {boolean} success | |
829 */ | |
830 loadingComplete: function(success) | |
831 { | |
832 if (!success) { | |
833 this._onRecordingStopped(); | |
834 this._clear(); | |
835 } else { | |
836 this._model.tracingComplete(); | |
837 } | |
838 delete this._loader; | |
839 }, | |
840 | |
841 _cancelLoading: function() | |
842 { | |
843 if (this._loader) | |
844 this._loader.cancel(); | |
845 }, | |
846 | |
819 _setMarkers: function() | 847 _setMarkers: function() |
820 { | 848 { |
821 var markers = new Map(); | 849 var markers = new Map(); |
822 var recordTypes = WebInspector.TimelineModel.RecordType; | 850 var recordTypes = WebInspector.TimelineModel.RecordType; |
823 var zeroTime = this._model.minimumRecordTime(); | 851 var zeroTime = this._model.minimumRecordTime(); |
824 for (var record of this._model.eventDividerRecords()) { | 852 for (var record of this._model.eventDividerRecords()) { |
825 if (record.type() === recordTypes.TimeStamp || record.type() === rec ordTypes.ConsoleTime) | 853 if (record.type() === recordTypes.TimeStamp || record.type() === rec ordTypes.ConsoleTime) |
826 continue; | 854 continue; |
827 markers.set(record.startTime(), WebInspector.TimelineUIUtils.createD ividerForRecord(record, zeroTime, 0)); | 855 markers.set(record.startTime(), WebInspector.TimelineUIUtils.createD ividerForRecord(record, zeroTime, 0)); |
828 } | 856 } |
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1238 leftTime = Math.max(leftTime - 0.05 * span, this._tracingModel.minim umRecordTime()); | 1266 leftTime = Math.max(leftTime - 0.05 * span, this._tracingModel.minim umRecordTime()); |
1239 rightTime = Math.min(rightTime + 0.05 * span, this._tracingModel.max imumRecordTime()); | 1267 rightTime = Math.min(rightTime + 0.05 * span, this._tracingModel.max imumRecordTime()); |
1240 } | 1268 } |
1241 this.requestWindowTimes(leftTime, rightTime); | 1269 this.requestWindowTimes(leftTime, rightTime); |
1242 }, | 1270 }, |
1243 | 1271 |
1244 __proto__: WebInspector.Panel.prototype | 1272 __proto__: WebInspector.Panel.prototype |
1245 } | 1273 } |
1246 | 1274 |
1247 /** | 1275 /** |
1276 * @interface | |
1277 */ | |
1278 WebInspector.TimelineLifecycleDelegate = function() | |
alph
2016/03/02 21:03:12
Looks like a regular progress indicator delegate i
| |
1279 { | |
1280 } | |
1281 | |
1282 WebInspector.TimelineLifecycleDelegate.prototype = { | |
1283 loadingStarted: function() {}, | |
1284 | |
1285 /** | |
1286 * @param {number=} progress | |
1287 */ | |
1288 loadingProgress: function(progress) {}, | |
1289 | |
1290 /** | |
1291 * @param {boolean} success | |
1292 */ | |
1293 loadingComplete: function(success) {}, | |
1294 }; | |
1295 | |
1296 | |
1297 /** | |
1248 * @constructor | 1298 * @constructor |
1249 * @extends {WebInspector.VBox} | 1299 * @extends {WebInspector.VBox} |
1250 * @implements {WebInspector.TimelineModeView} | 1300 * @implements {WebInspector.TimelineModeView} |
1251 * @param {!WebInspector.TimelineModeViewDelegate} delegate | 1301 * @param {!WebInspector.TimelineModeViewDelegate} delegate |
1252 * @param {!WebInspector.TimelineTreeView} innerTreeView | 1302 * @param {!WebInspector.TimelineTreeView} innerTreeView |
1253 */ | 1303 */ |
1254 WebInspector.TimelineTreeModeView = function(delegate, innerTreeView) | 1304 WebInspector.TimelineTreeModeView = function(delegate, innerTreeView) |
1255 { | 1305 { |
1256 WebInspector.VBox.call(this); | 1306 WebInspector.VBox.call(this); |
1257 this._treeView = innerTreeView; | 1307 this._treeView = innerTreeView; |
(...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1733 return true; | 1783 return true; |
1734 } | 1784 } |
1735 }, | 1785 }, |
1736 | 1786 |
1737 __proto__: WebInspector.TimelineModel.Filter.prototype | 1787 __proto__: WebInspector.TimelineModel.Filter.prototype |
1738 } | 1788 } |
1739 | 1789 |
1740 /** | 1790 /** |
1741 * @constructor | 1791 * @constructor |
1742 * @extends {WebInspector.VBox} | 1792 * @extends {WebInspector.VBox} |
1793 * @param {function()} stopCallback | |
1743 */ | 1794 */ |
1744 WebInspector.TimelinePanel.StatusPane = function() | 1795 WebInspector.TimelinePanel.StatusPane = function(stopCallback) |
1745 { | 1796 { |
1746 WebInspector.VBox.call(this, true); | 1797 WebInspector.VBox.call(this, true); |
1747 this.registerRequiredCSS("timeline/timelineStatusDialog.css"); | 1798 this.registerRequiredCSS("timeline/timelineStatusDialog.css"); |
1748 this.contentElement.classList.add("timeline-status-dialog"); | 1799 this.contentElement.classList.add("timeline-status-dialog"); |
1749 | 1800 |
1750 var statusLine = this.contentElement.createChild("div", "status-dialog-line status"); | 1801 var statusLine = this.contentElement.createChild("div", "status-dialog-line status"); |
1751 statusLine.createChild("div", "label").textContent = WebInspector.UIString(" Status"); | 1802 statusLine.createChild("div", "label").textContent = WebInspector.UIString(" Status"); |
1752 this._status = statusLine.createChild("div", "content"); | 1803 this._status = statusLine.createChild("div", "content"); |
1753 | 1804 |
1754 var timeLine = this.contentElement.createChild("div", "status-dialog-line ti me"); | 1805 this._timeLine = this.contentElement.createChild("div", "status-dialog-line time hidden"); |
1755 timeLine.createChild("div", "label").textContent = WebInspector.UIString("Ti me"); | 1806 this._timeLine.createChild("div", "label").textContent = WebInspector.UIStri ng("Time"); |
1756 this._time = timeLine.createChild("div", "content"); | 1807 this._time = this._timeLine.createChild("div", "content"); |
1757 | 1808 |
1758 var progressLine = this.contentElement.createChild("div", "status-dialog-lin e progress"); | 1809 var progressLine = this.contentElement.createChild("div", "status-dialog-lin e progress"); |
1759 this._progressLabel = progressLine.createChild("div", "label"); | 1810 this._progressLabel = progressLine.createChild("div", "label"); |
1760 this._progressBar = progressLine.createChild("div", "indicator-container").c reateChild("div", "indicator"); | 1811 this._progressBar = progressLine.createChild("div", "indicator-container").c reateChild("div", "indicator"); |
1761 | 1812 |
1762 this._stopButton = createTextButton(WebInspector.UIString("Finish"), this._o nFinish.bind(this)); | 1813 this._stopButton = createTextButton(WebInspector.UIString("Stop"), stopCallb ack); |
1763 this.contentElement.createChild("div", "stop-button").appendChild(this._stop Button); | 1814 this.contentElement.createChild("div", "stop-button").appendChild(this._stop Button); |
1764 } | 1815 } |
1765 | 1816 |
1766 WebInspector.TimelinePanel.StatusPane.Events = { | |
1767 Finish: "Finish" | |
1768 } | |
1769 | |
1770 WebInspector.TimelinePanel.StatusPane.prototype = { | 1817 WebInspector.TimelinePanel.StatusPane.prototype = { |
1771 finish: function() | 1818 finish: function() |
1772 { | 1819 { |
1773 this._stopTimer(); | 1820 this._stopTimer(); |
1774 this._stopButton.disabled = true; | 1821 this._stopButton.disabled = true; |
1775 }, | 1822 }, |
1776 | 1823 |
1777 hide: function() | 1824 hide: function() |
1778 { | 1825 { |
1779 this.element.parentNode.classList.remove("tinted"); | 1826 this.element.parentNode.classList.remove("tinted"); |
(...skipping 21 matching lines...) Expand all Loading... | |
1801 * @param {string} activity | 1848 * @param {string} activity |
1802 * @param {number} percent | 1849 * @param {number} percent |
1803 */ | 1850 */ |
1804 updateProgressBar: function(activity, percent) | 1851 updateProgressBar: function(activity, percent) |
1805 { | 1852 { |
1806 this._progressLabel.textContent = activity; | 1853 this._progressLabel.textContent = activity; |
1807 this._progressBar.style.width = percent.toFixed(1) + "%"; | 1854 this._progressBar.style.width = percent.toFixed(1) + "%"; |
1808 this._updateTimer(); | 1855 this._updateTimer(); |
1809 }, | 1856 }, |
1810 | 1857 |
1811 _onFinish: function() | |
1812 { | |
1813 this.dispatchEventToListeners(WebInspector.TimelinePanel.StatusPane.Even ts.Finish); | |
1814 }, | |
1815 | |
1816 startTimer: function() | 1858 startTimer: function() |
1817 { | 1859 { |
1818 this._startTime = Date.now(); | 1860 this._startTime = Date.now(); |
1819 this._timeUpdateTimer = setInterval(this._updateTimer.bind(this, false), 1000); | 1861 this._timeUpdateTimer = setInterval(this._updateTimer.bind(this, false), 1000); |
1862 this._timeLine.classList.remove("hidden"); | |
alph
2016/03/02 21:03:12
Doesn't seem good when controls move around dialog
| |
1820 this._updateTimer(); | 1863 this._updateTimer(); |
1821 }, | 1864 }, |
1822 | 1865 |
1823 _stopTimer: function() | 1866 _stopTimer: function() |
1824 { | 1867 { |
1825 if (!this._timeUpdateTimer) | 1868 if (!this._timeUpdateTimer) |
1826 return; | 1869 return; |
1827 clearInterval(this._timeUpdateTimer); | 1870 clearInterval(this._timeUpdateTimer); |
1828 this._updateTimer(true); | 1871 this._updateTimer(true); |
1829 delete this._timeUpdateTimer; | 1872 delete this._timeUpdateTimer; |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2116 * @override | 2159 * @override |
2117 * @param {!WebInspector.Target} target | 2160 * @param {!WebInspector.Target} target |
2118 */ | 2161 */ |
2119 targetRemoved: function(target) | 2162 targetRemoved: function(target) |
2120 { | 2163 { |
2121 this._targets.remove(target, true); | 2164 this._targets.remove(target, true); |
2122 }, | 2165 }, |
2123 | 2166 |
2124 __proto__: WebInspector.Object.prototype | 2167 __proto__: WebInspector.Object.prototype |
2125 } | 2168 } |
OLD | NEW |