Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(167)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/resources/ServiceWorkersView.js

Issue 1853073003: [DevTools] Add "Show all" check box in Service Worker view. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/devtools/front_end/resources/serviceWorkersView.css » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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.VBox} 7 * @extends {WebInspector.VBox}
8 * @implements {WebInspector.TargetManager.Observer} 8 * @implements {WebInspector.TargetManager.Observer}
9 */ 9 */
10 WebInspector.ServiceWorkersView = function() 10 WebInspector.ServiceWorkersView = function()
11 { 11 {
12 WebInspector.VBox.call(this, true); 12 WebInspector.VBox.call(this, true);
13 this.registerRequiredCSS("resources/serviceWorkersView.css"); 13 this.registerRequiredCSS("resources/serviceWorkersView.css");
14 this.contentElement.classList.add("service-workers-view"); 14 this.contentElement.classList.add("service-workers-view");
15 15
16
17 /** @type {boolean} */
18 this._showAll = false;
16 /** @type {!Set.<string>} */ 19 /** @type {!Set.<string>} */
17 this._securityOriginHosts = new Set(); 20 this._securityOriginHosts = new Set();
18 /** @type {!Map.<string, !WebInspector.ServiceWorkerOriginWidget>} */ 21 /** @type {!Map.<string, !WebInspector.ServiceWorkerOriginWidget>} */
19 this._originHostToOriginWidgetMap = new Map(); 22 this._originHostToOriginWidgetMap = new Map();
20 /** @type {!Map.<string, !WebInspector.ServiceWorkerOriginWidget>} */ 23 /** @type {!Map.<string, !WebInspector.ServiceWorkerOriginWidget>} */
21 this._registrationIdToOriginWidgetMap = new Map(); 24 this._registrationIdToOriginWidgetMap = new Map();
22 25
23 this._toolbar = new WebInspector.Toolbar("", this.contentElement); 26 this._toolbar = new WebInspector.Toolbar("", this.contentElement);
24 27
25 this._root = this.contentElement.createChild("div"); 28 this._root = this.contentElement.createChild("div");
(...skipping 10 matching lines...) Expand all
36 targetAdded: function(target) 39 targetAdded: function(target)
37 { 40 {
38 if (this._target) 41 if (this._target)
39 return; 42 return;
40 this._target = target; 43 this._target = target;
41 this._manager = this._target.serviceWorkerManager; 44 this._manager = this._target.serviceWorkerManager;
42 45
43 var forceUpdate = new WebInspector.ToolbarCheckbox(WebInspector.UIString ("Update on reload"), WebInspector.UIString("Update Service Worker on page reloa d"), this._manager.forceUpdateOnReloadSetting()); 46 var forceUpdate = new WebInspector.ToolbarCheckbox(WebInspector.UIString ("Update on reload"), WebInspector.UIString("Update Service Worker on page reloa d"), this._manager.forceUpdateOnReloadSetting());
44 this._toolbar.appendToolbarItem(forceUpdate); 47 this._toolbar.appendToolbarItem(forceUpdate);
45 48
49 this._showAllCheckbox = new WebInspector.ToolbarCheckbox(WebInspector.UI String("Show all"), WebInspector.UIString("Show all Service Workers"));
50 this._showAllCheckbox.inputElement.addEventListener("change", this._onSh owAllCheckboxChanged.bind(this), false);
51 this._toolbar.appendToolbarItem(this._showAllCheckbox);
52
46 for (var registration of this._manager.registrations().values()) 53 for (var registration of this._manager.registrations().values())
47 this._updateRegistration(registration); 54 this._updateRegistration(registration);
48 55
49 this._manager.addEventListener(WebInspector.ServiceWorkerManager.Events. RegistrationUpdated, this._registrationUpdated, this); 56 this._manager.addEventListener(WebInspector.ServiceWorkerManager.Events. RegistrationUpdated, this._registrationUpdated, this);
50 this._manager.addEventListener(WebInspector.ServiceWorkerManager.Events. RegistrationDeleted, this._registrationDeleted, this); 57 this._manager.addEventListener(WebInspector.ServiceWorkerManager.Events. RegistrationDeleted, this._registrationDeleted, this);
51 this._target.resourceTreeModel.addEventListener(WebInspector.ResourceTre eModel.EventTypes.SecurityOriginAdded, this._securityOriginAdded, this); 58 this._target.resourceTreeModel.addEventListener(WebInspector.ResourceTre eModel.EventTypes.SecurityOriginAdded, this._securityOriginAdded, this);
52 this._target.resourceTreeModel.addEventListener(WebInspector.ResourceTre eModel.EventTypes.SecurityOriginRemoved, this._securityOriginRemoved, this); 59 this._target.resourceTreeModel.addEventListener(WebInspector.ResourceTre eModel.EventTypes.SecurityOriginRemoved, this._securityOriginRemoved, this);
53 var securityOrigins = this._target.resourceTreeModel.securityOrigins(); 60 var securityOrigins = this._target.resourceTreeModel.securityOrigins();
54 for (var i = 0; i < securityOrigins.length; ++i) 61 for (var i = 0; i < securityOrigins.length; ++i)
55 this._addOrigin(securityOrigins[i]); 62 this._addOrigin(securityOrigins[i]);
56 }, 63 },
57 64
58 /** 65 /**
59 * @override 66 * @override
60 * @param {!WebInspector.Target} target 67 * @param {!WebInspector.Target} target
61 */ 68 */
62 targetRemoved: function(target) 69 targetRemoved: function(target)
63 { 70 {
64 if (target !== this._target) 71 if (target !== this._target)
65 return; 72 return;
66 delete this._target; 73 delete this._target;
67 }, 74 },
68 75
69 /** 76 /**
77 * @param {!Event} event
78 */
79 _onShowAllCheckboxChanged: function(event)
80 {
81 this._showAll = this._showAllCheckbox.checked();
82 if (this._showAll) {
83 for (var originWidget of this._originHostToOriginWidgetMap.values()) {
84 if (!originWidget.parentWidget())
85 originWidget.show(this._root);
86 }
87 } else {
88 for (var originWidget of this._originHostToOriginWidgetMap.values()) {
89 if (originWidget.parentWidget() && !this._securityOriginHosts.ha s(originWidget._originHost))
90 originWidget.detach();
91 }
92 }
93 },
94
95 /**
70 * @param {!WebInspector.Event} event 96 * @param {!WebInspector.Event} event
71 */ 97 */
72 _registrationUpdated: function(event) 98 _registrationUpdated: function(event)
73 { 99 {
74 var registration = /** @type {!WebInspector.ServiceWorkerRegistration} * / (event.data); 100 var registration = /** @type {!WebInspector.ServiceWorkerRegistration} * / (event.data);
75 this._updateRegistration(registration); 101 this._updateRegistration(registration);
76 }, 102 },
77 103
78 /** 104 /**
79 * @param {!WebInspector.ServiceWorkerRegistration} registration 105 * @param {!WebInspector.ServiceWorkerRegistration} registration
80 */ 106 */
81 _updateRegistration: function(registration) 107 _updateRegistration: function(registration)
82 { 108 {
83 var parsedURL = registration.scopeURL.asParsedURL(); 109 var parsedURL = registration.scopeURL.asParsedURL();
84 if (!parsedURL) 110 if (!parsedURL)
85 return; 111 return;
86 var originHost = parsedURL.host; 112 var originHost = parsedURL.host;
87 var originWidget = this._originHostToOriginWidgetMap.get(originHost); 113 var originWidget = this._originHostToOriginWidgetMap.get(originHost);
88 if (!originWidget) { 114 if (!originWidget) {
89 originWidget = new WebInspector.ServiceWorkerOriginWidget(this._mana ger, originHost); 115 originWidget = new WebInspector.ServiceWorkerOriginWidget(this._mana ger, originHost);
90 if (this._securityOriginHosts.has(originHost)) 116 if (this._securityOriginHosts.has(originHost) || this._showAll)
91 originWidget.show(this._root); 117 originWidget.show(this._root);
92 this._originHostToOriginWidgetMap.set(originHost, originWidget); 118 this._originHostToOriginWidgetMap.set(originHost, originWidget);
93 } 119 }
94 this._registrationIdToOriginWidgetMap.set(registration.id, originWidget) ; 120 this._registrationIdToOriginWidgetMap.set(registration.id, originWidget) ;
95 originWidget._updateRegistration(registration); 121 originWidget._updateRegistration(registration);
96 }, 122 },
97 123
98 /** 124 /**
99 * @param {!WebInspector.Event} event 125 * @param {!WebInspector.Event} event
100 */ 126 */
101 _registrationDeleted: function(event) 127 _registrationDeleted: function(event)
102 { 128 {
103 var registration = /** @type {!WebInspector.ServiceWorkerRegistration} * / (event.data); 129 var registration = /** @type {!WebInspector.ServiceWorkerRegistration} * / (event.data);
104 var registrationId = registration.id; 130 var registrationId = registration.id;
105 var originWidget = this._registrationIdToOriginWidgetMap.get(registratio nId); 131 var originWidget = this._registrationIdToOriginWidgetMap.get(registratio nId);
106 if (!originWidget) 132 if (!originWidget)
107 return; 133 return;
108 this._registrationIdToOriginWidgetMap.delete(registrationId); 134 this._registrationIdToOriginWidgetMap.delete(registrationId);
109 originWidget._deleteRegistration(registrationId); 135 originWidget._deleteRegistration(registrationId);
110 if (originWidget._hasRegistration()) 136 if (originWidget._hasRegistration())
111 return; 137 return;
112 if (this._securityOriginHosts.has(originWidget._originHost)) 138 if (originWidget.parentWidget())
113 originWidget.detach(); 139 originWidget.detach();
114 this._originHostToOriginWidgetMap.delete(originWidget._originHost); 140 this._originHostToOriginWidgetMap.delete(originWidget._originHost);
115 }, 141 },
116 142
117 /** 143 /**
118 * @param {!WebInspector.Event} event 144 * @param {!WebInspector.Event} event
119 */ 145 */
120 _securityOriginAdded: function(event) 146 _securityOriginAdded: function(event)
121 { 147 {
122 this._addOrigin(/** @type {string} */ (event.data)); 148 this._addOrigin(/** @type {string} */ (event.data));
(...skipping 23 matching lines...) Expand all
146 _securityOriginRemoved: function(event) 172 _securityOriginRemoved: function(event)
147 { 173 {
148 var securityOrigin = /** @type {string} */ (event.data); 174 var securityOrigin = /** @type {string} */ (event.data);
149 var parsedURL = securityOrigin.asParsedURL(); 175 var parsedURL = securityOrigin.asParsedURL();
150 if (!parsedURL) 176 if (!parsedURL)
151 return; 177 return;
152 var originHost = parsedURL.host; 178 var originHost = parsedURL.host;
153 if (!this._securityOriginHosts.has(originHost)) 179 if (!this._securityOriginHosts.has(originHost))
154 return; 180 return;
155 this._securityOriginHosts.delete(originHost); 181 this._securityOriginHosts.delete(originHost);
182 if (this._showAll)
183 return;
156 var originWidget = this._originHostToOriginWidgetMap.get(originHost); 184 var originWidget = this._originHostToOriginWidgetMap.get(originHost);
157 if (!originWidget) 185 if (!originWidget)
158 return; 186 return;
159 originWidget.detach(); 187 originWidget.detach();
160 }, 188 },
161 189
162 __proto__: WebInspector.VBox.prototype 190 __proto__: WebInspector.VBox.prototype
163 } 191 }
164 192
165 /** 193 /**
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 * @param {string} versionId 573 * @param {string} versionId
546 * @param {!Event} event 574 * @param {!Event} event
547 */ 575 */
548 _inspectButtonClicked: function(versionId, event) 576 _inspectButtonClicked: function(versionId, event)
549 { 577 {
550 this._manager.inspectWorker(versionId); 578 this._manager.inspectWorker(versionId);
551 }, 579 },
552 580
553 __proto__: WebInspector.VBox.prototype 581 __proto__: WebInspector.VBox.prototype
554 } 582 }
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/devtools/front_end/resources/serviceWorkersView.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698