| OLD | NEW |
| 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 Coverage.CoverageView = class extends UI.VBox { | 5 Coverage.CoverageView = class extends UI.VBox { |
| 6 constructor() { | 6 constructor() { |
| 7 super(true); | 7 super(true); |
| 8 | 8 |
| 9 /** @type {?Coverage.CoverageModel} */ | 9 /** @type {?Coverage.CoverageModel} */ |
| 10 this._model = null; | 10 this._model = null; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 var startWithReloadAction = | 26 var startWithReloadAction = |
| 27 /** @type {!UI.Action }*/ (UI.actionRegistry.action('coverage.start-with
-reload')); | 27 /** @type {!UI.Action }*/ (UI.actionRegistry.action('coverage.start-with
-reload')); |
| 28 this._startWithReloadButton = UI.Toolbar.createActionButton(startWithReloadA
ction); | 28 this._startWithReloadButton = UI.Toolbar.createActionButton(startWithReloadA
ction); |
| 29 topToolbar.appendToolbarItem(this._startWithReloadButton); | 29 topToolbar.appendToolbarItem(this._startWithReloadButton); |
| 30 | 30 |
| 31 this._clearButton = new UI.ToolbarButton(Common.UIString('Clear all'), 'larg
eicon-clear'); | 31 this._clearButton = new UI.ToolbarButton(Common.UIString('Clear all'), 'larg
eicon-clear'); |
| 32 this._clearButton.addEventListener(UI.ToolbarButton.Events.Click, this._rese
t.bind(this)); | 32 this._clearButton.addEventListener(UI.ToolbarButton.Events.Click, this._rese
t.bind(this)); |
| 33 topToolbar.appendToolbarItem(this._clearButton); | 33 topToolbar.appendToolbarItem(this._clearButton); |
| 34 | 34 |
| 35 this._coverageResultsElement = this.contentElement.createChild('div', 'cover
age-results'); | 35 this._coverageResultsElement = this.contentElement.createChild('div', 'cover
age-results'); |
| 36 this._progressElement = this._coverageResultsElement.createChild('div', 'pro
gress-view'); | 36 this._landingPage = this._buildLandingPage(); |
| 37 |
| 37 this._listView = new Coverage.CoverageListView(); | 38 this._listView = new Coverage.CoverageListView(); |
| 38 | 39 |
| 39 this._statusToolbarElement = this.contentElement.createChild('div', 'coverag
e-toolbar-summary'); | 40 this._statusToolbarElement = this.contentElement.createChild('div', 'coverag
e-toolbar-summary'); |
| 40 this._statusMessageElement = this._statusToolbarElement.createChild('div', '
coverage-message'); | 41 this._statusMessageElement = this._statusToolbarElement.createChild('div', '
coverage-message'); |
| 41 this._showHelpScreen(); | 42 this._landingPage.show(this._coverageResultsElement); |
| 42 } | 43 } |
| 43 | 44 |
| 44 _reset() { | 45 _reset() { |
| 45 if (this._decorationManager) { | 46 if (this._decorationManager) { |
| 46 this._decorationManager.dispose(); | 47 this._decorationManager.dispose(); |
| 47 this._decorationManager = null; | 48 this._decorationManager = null; |
| 48 } | 49 } |
| 49 this._listView.reset(); | 50 this._listView.reset(); |
| 50 this._listView.detach(); | 51 this._listView.detach(); |
| 51 this._coverageResultsElement.removeChildren(); | 52 this._landingPage.show(this._coverageResultsElement); |
| 52 this._showHelpScreen(); | |
| 53 | |
| 54 this._statusMessageElement.textContent = ''; | 53 this._statusMessageElement.textContent = ''; |
| 55 } | 54 } |
| 56 | 55 |
| 57 _showHelpScreen() { | 56 /** |
| 58 this._coverageResultsElement.appendChild(this._progressElement); | 57 * @return {!UI.VBox} |
| 59 this._progressElement.removeChildren(); | 58 */ |
| 60 | 59 _buildLandingPage() { |
| 61 var recordButton = UI.Toolbar.createActionButton(this._toggleRecordAction).e
lement; | 60 var recordButton = UI.createInlineButton(UI.Toolbar.createActionButton(this.
_toggleRecordAction)); |
| 62 var reloadButton = UI.Toolbar.createActionButtonForId('coverage.start-with-r
eload').element; | 61 var reloadButton = UI.createInlineButton(UI.Toolbar.createActionButtonForId(
'coverage.start-with-reload')); |
| 63 | 62 var widget = new UI.VBox(); |
| 64 this._progressElement.createChild('p', 'landing-page') | 63 var message = UI.formatLocalized( |
| 65 .appendChild(UI.formatLocalized( | 64 'Click the record button %s to start capturing coverage.\n' + |
| 66 'Click the record button %s to start capturing coverage.\n' + | 65 'Click the reload button %s to reload and start capturing coverage.'
, |
| 67 'Click the reload button %s to reload and start capturing covera
ge.', | 66 [recordButton, reloadButton]); |
| 68 [recordButton, reloadButton])); | 67 message.classList.add('message'); |
| 68 widget.contentElement.appendChild(message); |
| 69 widget.element.classList.add('landing-page'); |
| 70 return widget; |
| 69 } | 71 } |
| 70 | 72 |
| 71 _toggleRecording() { | 73 _toggleRecording() { |
| 72 var enable = !this._toggleRecordAction.toggled(); | 74 var enable = !this._toggleRecordAction.toggled(); |
| 73 | 75 |
| 74 if (enable) | 76 if (enable) |
| 75 this._startRecording(); | 77 this._startRecording(); |
| 76 else | 78 else |
| 77 this._stopRecording(); | 79 this._stopRecording(); |
| 78 } | 80 } |
| (...skipping 16 matching lines...) Expand all Loading... |
| 95 return; | 97 return; |
| 96 console.assert(!this._model, 'Attempting to start coverage twice'); | 98 console.assert(!this._model, 'Attempting to start coverage twice'); |
| 97 var model = new Coverage.CoverageModel(mainTarget); | 99 var model = new Coverage.CoverageModel(mainTarget); |
| 98 if (!model.start()) | 100 if (!model.start()) |
| 99 return; | 101 return; |
| 100 this._model = model; | 102 this._model = model; |
| 101 this._decorationManager = new Coverage.CoverageDecorationManager(model); | 103 this._decorationManager = new Coverage.CoverageDecorationManager(model); |
| 102 this._toggleRecordAction.setToggled(true); | 104 this._toggleRecordAction.setToggled(true); |
| 103 this._clearButton.setEnabled(false); | 105 this._clearButton.setEnabled(false); |
| 104 this._startWithReloadButton.setEnabled(false); | 106 this._startWithReloadButton.setEnabled(false); |
| 105 this._coverageResultsElement.removeChildren(); | 107 if (this._landingPage.isShowing()) |
| 108 this._landingPage.detach(); |
| 106 this._listView.show(this._coverageResultsElement); | 109 this._listView.show(this._coverageResultsElement); |
| 107 this._poll(); | 110 this._poll(); |
| 108 } | 111 } |
| 109 | 112 |
| 110 async _poll() { | 113 async _poll() { |
| 111 delete this._pollTimer; | 114 delete this._pollTimer; |
| 112 var updates = await this._model.poll(); | 115 var updates = await this._model.poll(); |
| 113 this._updateViews(updates); | 116 this._updateViews(updates); |
| 114 this._pollTimer = setTimeout(() => this._poll(), 700); | 117 this._pollTimer = setTimeout(() => this._poll(), 700); |
| 115 } | 118 } |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 coverageView._toggleRecording(); | 187 coverageView._toggleRecording(); |
| 185 break; | 188 break; |
| 186 case 'coverage.start-with-reload': | 189 case 'coverage.start-with-reload': |
| 187 coverageView._startWithReload(); | 190 coverageView._startWithReload(); |
| 188 break; | 191 break; |
| 189 default: | 192 default: |
| 190 console.assert(false, `Unknown action: ${actionId}`); | 193 console.assert(false, `Unknown action: ${actionId}`); |
| 191 } | 194 } |
| 192 } | 195 } |
| 193 }; | 196 }; |
| OLD | NEW |