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

Unified Diff: Source/devtools/front_end/resources/ServiceWorkersView.js

Issue 1164583002: [4/5 blink] Shows the clients which are controlled by ServiceWorker in DevTools. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: incorporated pfeldman's comment Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: Source/devtools/front_end/resources/ServiceWorkersView.js
diff --git a/Source/devtools/front_end/resources/ServiceWorkersView.js b/Source/devtools/front_end/resources/ServiceWorkersView.js
index 8bde6ee47585bc5a2e3a76cc51422f7ff1282e93..ef64950e1b938f33763e2bac076300cec57e9a70 100644
--- a/Source/devtools/front_end/resources/ServiceWorkersView.js
+++ b/Source/devtools/front_end/resources/ServiceWorkersView.js
@@ -413,6 +413,14 @@ WebInspector.SWRegistrationElement.prototype = {
scriptResponseTimeDiv.createTextChild(WebInspector.UIString("Server response time: %s", (new Date(version.scriptResponseTime * 1000)).toConsoleTime()));
}
+ for (var i = 0; i < version.controlledClients.length; ++i) {
+ var client = version.controlledClients[i];
+ var clientLabel = scriptURLDiv.createChild("label", "service-workers-info", "dt-icon-label");
+ clientLabel.type = "info-icon";
+ var clientLabelText = clientLabel.createChild("label", "service-worker-client");
+ this._manager.getTargetInfo(client, this._updateClientInfo.bind(this, clientLabelText));
+ }
+
var errorMessages = version.errorMessages;
for (var index = 0; index < errorMessages.length; ++index) {
var errorDiv = scriptURLDiv.createChild("div", "service-workers-error");
@@ -438,6 +446,30 @@ WebInspector.SWRegistrationElement.prototype = {
},
/**
+ * @param {!Element} element
+ * @param {?WebInspector.TargetInfo} targetInfo
+ */
+ _updateClientInfo: function(element, targetInfo)
+ {
+ if (!targetInfo)
+ return;
+ element.createTextChild(WebInspector.UIString("Client: %s", targetInfo.url));
+ if (!(targetInfo.isWebContents() || targetInfo.isFrame()))
+ return;
+ var focusLabel = element.createChild("label", "service-worker-client-focus");
+ focusLabel.createTextChild("focus");
+ focusLabel.addEventListener("click", this._activateTarget.bind(this, targetInfo.id), true);
+ },
+
+ /**
+ * @param {string} targetId
+ */
+ _activateTarget: function(targetId)
+ {
+ this._manager.activateTarget(targetId);
+ },
+
+ /**
* @param {!Event} event
*/
_deleteButtonClicked: function(event)

Powered by Google App Engine
This is Rietveld 408576698