| OLD | NEW |
| 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2015 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 /** | 5 /** |
| 6 * @constructor | 6 * @constructor |
| 7 * @extends {WebInspector.SidebarPane} | 7 * @extends {WebInspector.SidebarPane} |
| 8 * @implements {WebInspector.TargetManager.Observer} | 8 * @implements {WebInspector.TargetManager.Observer} |
| 9 */ | 9 */ |
| 10 WebInspector.ServiceWorkersSidebarPane = function() | 10 WebInspector.ServiceWorkersSidebarPane = function() |
| 11 { | 11 { |
| 12 WebInspector.SidebarPane.call(this, WebInspector.UIString("\u2699 Service Wo
rkers")); | 12 WebInspector.SidebarPane.call(this, WebInspector.UIString("\u2699 Service Wo
rkers")); |
| 13 this.registerRequiredCSS("sources/serviceWorkersSidebar.css"); | 13 this.registerRequiredCSS("sources/serviceWorkersSidebar.css"); |
| 14 this._bodyElement = this.element.createChild("div", "vbox"); |
| 14 this.setVisible(false); | 15 this.setVisible(false); |
| 15 | 16 |
| 16 /** @type {?WebInspector.ServiceWorkerManager} */ | 17 /** @type {?WebInspector.ServiceWorkerManager} */ |
| 17 this._manager = null; | 18 this._manager = null; |
| 18 WebInspector.targetManager.observeTargets(this, WebInspector.Target.Type.Pag
e); | 19 WebInspector.targetManager.observeTargets(this, WebInspector.Target.Type.Pag
e); |
| 19 this._placeholderElement = createElementWithClass("div", "info"); | 20 this._placeholderElement = createElementWithClass("div", "info"); |
| 20 this._placeholderElement.textContent = WebInspector.UIString("No service wor
kers control this page"); | 21 this._placeholderElement.textContent = WebInspector.UIString("No service wor
kers control this page"); |
| 21 } | 22 } |
| 22 | 23 |
| 23 WebInspector.ServiceWorkersSidebarPane.prototype = { | 24 WebInspector.ServiceWorkersSidebarPane.prototype = { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 40 */ | 41 */ |
| 41 targetRemoved: function(target) | 42 targetRemoved: function(target) |
| 42 { | 43 { |
| 43 target.serviceWorkerManager.removeEventListener(WebInspector.ServiceWork
erManager.Events.WorkersUpdated, this._update, this); | 44 target.serviceWorkerManager.removeEventListener(WebInspector.ServiceWork
erManager.Events.WorkersUpdated, this._update, this); |
| 44 this._updateVisibility(); | 45 this._updateVisibility(); |
| 45 }, | 46 }, |
| 46 | 47 |
| 47 _update: function() | 48 _update: function() |
| 48 { | 49 { |
| 49 this._updateVisibility(); | 50 this._updateVisibility(); |
| 50 this.bodyElement.removeChildren(); | 51 this._bodyElement.removeChildren(); |
| 51 | 52 |
| 52 if (!this.isShowing() || !this._manager) | 53 if (!this.isShowing() || !this._manager) |
| 53 return; | 54 return; |
| 54 | 55 |
| 55 if (!this._manager.hasWorkers()) { | 56 if (!this._manager.hasWorkers()) { |
| 56 this.bodyElement.appendChild(this._placeholderElement); | 57 this._bodyElement.appendChild(this._placeholderElement); |
| 57 return; | 58 return; |
| 58 } | 59 } |
| 59 | 60 |
| 60 for (var worker of this._manager.workers()) { | 61 for (var worker of this._manager.workers()) { |
| 61 var workerElement = this.bodyElement.createChild("div", "service-wor
ker"); | 62 var workerElement = this._bodyElement.createChild("div", "service-wo
rker"); |
| 62 var leftBox = workerElement.createChild("div", "vbox flex-auto"); | 63 var leftBox = workerElement.createChild("div", "vbox flex-auto"); |
| 63 leftBox.appendChild(WebInspector.linkifyURLAsNode(worker.url(), work
er.name())); | 64 leftBox.appendChild(WebInspector.linkifyURLAsNode(worker.url(), work
er.name())); |
| 64 var scopeElement = leftBox.createChild("span", "service-worker-scope
"); | 65 var scopeElement = leftBox.createChild("span", "service-worker-scope
"); |
| 65 scopeElement.textContent = worker.scope(); | 66 scopeElement.textContent = worker.scope(); |
| 66 scopeElement.title = worker.scope(); | 67 scopeElement.title = worker.scope(); |
| 67 workerElement.appendChild(createTextButton(WebInspector.UIString("Un
register"), worker.stop.bind(worker))); | 68 workerElement.appendChild(createTextButton(WebInspector.UIString("Un
register"), worker.stop.bind(worker))); |
| 68 } | 69 } |
| 69 }, | 70 }, |
| 70 | 71 |
| 71 _updateVisibility: function() | 72 _updateVisibility: function() |
| 72 { | 73 { |
| 73 this._wasVisibleAtLeastOnce = this._wasVisibleAtLeastOnce || !!this._man
ager && this._manager.hasWorkers(); | 74 this._wasVisibleAtLeastOnce = this._wasVisibleAtLeastOnce || !!this._man
ager && this._manager.hasWorkers(); |
| 74 this.setVisible(this._wasVisibleAtLeastOnce); | 75 this.setVisible(this._wasVisibleAtLeastOnce); |
| 75 }, | 76 }, |
| 76 | 77 |
| 77 wasShown: function() | 78 wasShown: function() |
| 78 { | 79 { |
| 79 this._update(); | 80 this._update(); |
| 80 }, | 81 }, |
| 81 | 82 |
| 82 __proto__: WebInspector.SidebarPane.prototype | 83 __proto__: WebInspector.SidebarPane.prototype |
| 83 } | 84 } |
| OLD | NEW |