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) |