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

Unified Diff: headless/lib/resources/devtools_discovery_page.html

Issue 2144653004: DevTools: Headless inspection targets can screencast by default. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: headless/lib/resources/devtools_discovery_page.html
diff --git a/headless/lib/resources/devtools_discovery_page.html b/headless/lib/resources/devtools_discovery_page.html
index 47534f7c462648ce54feb35d1eb318226be07b68..4788e77614551facca6eb2819ee1b2d476069ee4 100644
--- a/headless/lib/resources/devtools_discovery_page.html
+++ b/headless/lib/resources/devtools_discovery_page.html
@@ -5,49 +5,53 @@
</style>
<script>
-function onLoad() {
- var tabs_list_request = new XMLHttpRequest();
- tabs_list_request.open("GET", "/json/list?t=" + new Date().getTime(), true);
- tabs_list_request.onreadystatechange = onReady;
- tabs_list_request.send();
-}
+const fetchjson = (url) => fetch(url).then(r => r.json());
-function onReady() {
- if(this.readyState == 4 && this.status == 200) {
- if(this.response != null)
- var responseJSON = JSON.parse(this.response);
- for (var i = 0; i < responseJSON.length; ++i)
- appendItem(responseJSON[i]);
- }
+function loadData() {
+ const listPromise = fetchjson("/json/list?t=" + Date.now());
pfeldman 2016/07/20 18:13:14 /json/list does not cache.
paulirish 2016/07/20 19:38:47 confirmed. done.
+ const versionPromise = fetchjson('/json/version');
+
+ Promise.all([listPromise, versionPromise]).then(_ => {
paulirish 2016/07/20 17:37:06 In essence: Wait for both fetch's to finish. Then
pfeldman 2016/07/20 18:13:14 nit: _ => ()
+ versionPromise.then(versionData => {
pfeldman 2016/07/20 18:13:14 No need for then, var versionData = result[1];
paulirish 2016/07/20 19:38:47 redid this mess to use the array of results via de
+ const version = versionData['WebKit-Version'];
+ const hash = version.match(/\s\(@(\b[0-9a-f]{5,40}\b)/)[1];
+ listPromise.then(responseJSON => {
pfeldman 2016/07/20 18:13:14 var responseJSON = result[0];
+ responseJSON.forEach(appendItem, {hash})
pfeldman 2016/07/20 18:13:14 Is {hash} intentional? Hate this feature :)
+ });
+ });
+ });
}
-function appendItem(item_object) {
- var frontend_ref;
- if (item_object.devtoolsFrontendUrl) {
- frontend_ref = document.createElement("a");
- frontend_ref.href = item_object.devtoolsFrontendUrl;
- frontend_ref.title = item_object.title;
+function appendItem(item) {
+ let link;
+ if (item.devtoolsFrontendUrl) {
+ link = document.createElement("a");
+ var devtoolsFrontendUrl = item.devtoolsFrontendUrl.replace(/^\/devtools\//,'');
+ link.href = `http://frontend.chrome-dev.tools/serve_file/@${this.hash}/${devtoolsFrontendUrl}&remoteFrontend=true`;
pfeldman 2016/07/20 18:13:14 We should use canonical url for those front-ends.
paulirish 2016/07/20 19:38:47 changed to https://chrome-devtools-frontend.appspo
+ link.title = item.title;
} else {
- frontend_ref = document.createElement("div");
- frontend_ref.title = "The tab already has active debugging session";
+ link = document.createElement("div");
+ link.title = "The tab already has active debugging session";
}
var text = document.createElement("div");
- if (item_object.title)
- text.innerText = item_object.title;
+ if (item.title)
+ text.textContent = item.title;
else
- text.innerText = "(untitled tab)";
- text.style.cssText = "background-image:url(" + item_object.faviconUrl + ")";
- frontend_ref.appendChild(text);
+ text.textContent = "(untitled tab)";
+ if (item.faviconUrl)
+ text.style.cssText = "background-image:url(" + item.faviconUrl + ")";
+ link.appendChild(text);
- var item = document.createElement("p");
- item.appendChild(frontend_ref);
+ var p = document.createElement("p");
+ p.appendChild(link);
- document.getElementById("items").appendChild(item);
+ document.getElementById("items").appendChild(p);
}
+
</script>
</head>
-<body onload='onLoad()'>
+<body onload='loadData()'>
<div id='caption'>Inspectable WebContents</div>
<div id='items'></div>
</body>
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698