Reviewers: dgozman,
Message:
dgozman@
Could you please review this?
Description:
Show LastModified and ResponseTime of ServiceWorker script in DevTools
This cl depends on
https://codereview.chromium.org/1037933002
BUG=466871
Please review this at
https://codereview.chromium.org/1048763002/
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Affected files (+59, -5 lines):
M
LayoutTests/http/tests/inspector/service-workers/service-workers-view.html
M
LayoutTests/http/tests/inspector/service-workers/service-workers-view-expected.txt
M Source/devtools/front_end/resources/ServiceWorkersView.js
M Source/devtools/front_end/resources/serviceWorkersView.css
M Source/devtools/front_end/sdk/ServiceWorkerManager.js
M Source/devtools/protocol.json
Index:
LayoutTests/http/tests/inspector/service-workers/service-workers-view-expected.txt
diff --git
a/LayoutTests/http/tests/inspector/service-workers/service-workers-view-expected.txt
b/LayoutTests/http/tests/inspector/service-workers/service-workers-view-expected.txt
index
8d028097ec17440cb290b9b7b1241e8b5ebab702..758708325ac1c230260ce45d9626d88121251ec8
100644
---
a/LayoutTests/http/tests/inspector/service-workers/service-workers-view-expected.txt
+++
b/LayoutTests/http/tests/inspector/service-workers/service-workers-view-expected.txt
@@ -16,6 +16,8 @@ activated
running
/inspector/service-workers/resources/service-worker-empty.js
inspect
+LAST-MODIFIED
+RESPONSE-TIME
============================
@@ -30,6 +32,8 @@ activated
running
/inspector/service-workers/resources/service-worker-empty.js
inspect
+LAST-MODIFIED
+RESPONSE-TIME
Scope: /inspector/service-workers/resources/scope2/
@@ -39,6 +43,8 @@ activated
running
/inspector/service-workers/resources/service-worker-empty.js
inspect
+LAST-MODIFIED
+RESPONSE-TIME
============================
@@ -54,6 +60,8 @@ redundant
running
/inspector/service-workers/resources/service-worker-empty.js
inspect
+LAST-MODIFIED
+RESPONSE-TIME
Scope: /inspector/service-workers/resources/scope2/
@@ -62,6 +70,8 @@ activated
running
/inspector/service-workers/resources/service-worker-empty.js
inspect
+LAST-MODIFIED
+RESPONSE-TIME
============================
Index:
LayoutTests/http/tests/inspector/service-workers/service-workers-view.html
diff --git
a/LayoutTests/http/tests/inspector/service-workers/service-workers-view.html
b/LayoutTests/http/tests/inspector/service-workers/service-workers-view.html
index
3e5343ff71937a395562e5f6d9652a1bdba8d6f6..3ea8e7e275f945436e23747e1e90e6a4a24b6fce
100644
---
a/LayoutTests/http/tests/inspector/service-workers/service-workers-view.html
+++
b/LayoutTests/http/tests/inspector/service-workers/service-workers-view.html
@@ -15,9 +15,22 @@ function test()
var step = 0;
InspectorTest.addSniffer(WebInspector.ServiceWorkersView.prototype, "_registrationUpdated",
registrationUpdated, true);
+ function replaceInnerTextAll(rootElement, selectors, replacementString)
+ {
+ var elements = rootElement.querySelectorAll(selectors);
+ for (var i = 0; i < elements.length; i++)
+ elements[i].innerText = replacementString;
+ }
+ function modifyTestUnfriendlyText(rootElement)
+ {
+
replaceInnerTextAll(rootElement, ".service-worker-script-last-modified", "LAST-MODIFIED");
+
replaceInnerTextAll(rootElement, ".service-worker-script-response-time", "RESPONSE-TIME");
+ }
function dumpServiceWorkersView()
{
var swView = WebInspector.panels.resources.visibleView;
+
+ modifyTestUnfriendlyText(swView._root);
InspectorTest.addResult("==== ServiceWorkersView ====");
InspectorTest.addResult(swView._root.querySelector(".service-workers-origin-title").innerText);
var registrationElements =
swView._root.querySelectorAll(".service-workers-registration");
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
eec898427161a22f3e1aff240945e0e72381c694..e3095b8e7095f4cf42c25b76a7243d2aa7037ad4
100644
--- a/Source/devtools/front_end/resources/ServiceWorkersView.js
+++ b/Source/devtools/front_end/resources/ServiceWorkersView.js
@@ -321,6 +321,20 @@ WebInspector.SWRegistrationElement.prototype = {
inspectButton.createTextChild(WebInspector.UIString("inspect"));
inspectButton.addEventListener("click",
this._inspectButtonClicked.bind(this,
version.id), false);
}
+
+ if (version.scriptLastModified) {
+ var scriptLastModifiedDiv =
scriptURLDiv.createChild("div", "service-workers-info");
+ var scriptLastModifiedText =
WebInspector.UIString("Last-Modified: ") + (new
Date(version.scriptLastModified * 1000)).toConsoleTime();
+
scriptLastModifiedDiv.createChild("div", "service-workers-info-icon");
+
scriptLastModifiedDiv.createChild("div", "service-workers-info-message
service-worker-script-last-modified").createTextChild(scriptLastModifiedText);
+ }
+ if (version.scriptResponseTime) {
+ var scriptResponseTimeDiv =
scriptURLDiv.createChild("div", "service-workers-info");
+ var scriptResponseTimeText =
WebInspector.UIString("Response time: ") + (new
Date(version.scriptResponseTime * 1000)).toConsoleTime();
+
scriptResponseTimeDiv.createChild("div", "service-workers-info-icon");
+
scriptResponseTimeDiv.createChild("div", "service-workers-info-message
service-worker-script-response-time").createTextChild(scriptResponseTimeText);
+ }
+
var errorMessages = version.errorMessages;
for (var index = 0; index < errorMessages.length; ++index) {
var errorDiv =
scriptURLDiv.createChild("div", "service-workers-error");
@@ -334,6 +348,7 @@ WebInspector.SWRegistrationElement.prototype = {
script_path = String.sprintf("%s:%d", script_path,
errorMessages[index].lineNumber);
errorDiv.createChild("div", "service-workers-error-line").createTextChild(script_path);
}
+
}
if (!versions.length) {
var stateRowElement =
versionsElement.createChild("div", "service-workers-version-row");
Index: Source/devtools/front_end/resources/serviceWorkersView.css
diff --git a/Source/devtools/front_end/resources/serviceWorkersView.css
b/Source/devtools/front_end/resources/serviceWorkersView.css
index
3fefbd9b2a87c1ff9f3012399a39d15f939e8568..6ef9bead512e061fe23427c652fde9f877ff2504
100644
--- a/Source/devtools/front_end/resources/serviceWorkersView.css
+++ b/Source/devtools/front_end/resources/serviceWorkersView.css
@@ -187,10 +187,10 @@
opacity: 0.8;
}
-.service-workers-error-icon {
+.service-workers-error-icon,
+.service-workers-info-icon {
background-image: url(Images/statusbarButtonGlyphs.png);
background-size: 320px 144px;
- background-position: -213px -96px;
height: 10px;
width: 10px;
border: 0;
@@ -200,11 +200,21 @@
}
@media (-webkit-min-device-pixel-ratio: 1.5) {
-.service-workers-error-icon {
+.service-workers-error-icon,
+.service-workers-info-icon {
background-image: url(Images/statusbarButtonGlyphs_2x.png);
}
} /* media */
+
+.service-workers-error-icon {
+ background-position: -213px -96px;
+}
+
+.service-workers-info-icon {
+ background-position: -213px -107px;
+}
+
.service-workers-error {
display: flex;
}
@@ -213,6 +223,10 @@
font-weight: bold;
}
+.service-workers-info {
+ display: flex;
+}
+
.service-workers-color-0 {
background-color: #003366;
}
Index: Source/devtools/front_end/sdk/ServiceWorkerManager.js
diff --git a/Source/devtools/front_end/sdk/ServiceWorkerManager.js
b/Source/devtools/front_end/sdk/ServiceWorkerManager.js
index
205f9de7414127757465b1e1ab53c3fe1a012680..0f2df9d33d57fe51e4a60dbea155076e8fcbe11f
100644
--- a/Source/devtools/front_end/sdk/ServiceWorkerManager.js
+++ b/Source/devtools/front_end/sdk/ServiceWorkerManager.js
@@ -456,7 +456,8 @@ WebInspector.ServiceWorkerVersion.prototype = {
this.scriptURL = payload.scriptURL;
this.runningStatus = payload.runningStatus;
this.status = payload.status;
- this.updateTime = payload.updateTime;
+ this.scriptLastModified = payload.scriptLastModified;
+ this.scriptResponseTime = payload.scriptResponseTime;
},
/**
Index: Source/devtools/protocol.json
diff --git a/Source/devtools/protocol.json b/Source/devtools/protocol.json
index
78344e8f3b0ad5d504f6a258c59e2d1e0cd1ebf9..47ee5e270d2697b9ef83d49c00414f57bfcfeeb9
100644
--- a/Source/devtools/protocol.json
+++ b/Source/devtools/protocol.json
@@ -4106,7 +4106,8 @@
{ "name": "scriptURL", "type": "string" },
{ "name": "runningStatus", "$ref": "ServiceWorkerVersionRunningStatus" },
{ "name": "status", "$ref": "ServiceWorkerVersionStatus" },
- { "name": "updateTime", "type": "number", "optional":
true}
+
{ "name": "scriptLastModified", "type": "number", "optional": true},
+
{ "name": "scriptResponseTime", "type": "number", "optional": true}
]
},
{