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

Side by Side 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <html> 1 <html>
2 <head> 2 <head>
3 <title>Headless remote debugging</title> 3 <title>Headless remote debugging</title>
4 <style> 4 <style>
5 </style> 5 </style>
6 6
7 <script> 7 <script>
8 function onLoad() { 8 const fetchjson = (url) => fetch(url).then(r => r.json());
9 var tabs_list_request = new XMLHttpRequest(); 9
10 tabs_list_request.open("GET", "/json/list?t=" + new Date().getTime(), true); 10 function loadData() {
11 tabs_list_request.onreadystatechange = onReady; 11 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.
12 tabs_list_request.send(); 12 const versionPromise = fetchjson('/json/version');
13
14 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: _ => ()
15 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
16 const version = versionData['WebKit-Version'];
17 const hash = version.match(/\s\(@(\b[0-9a-f]{5,40}\b)/)[1];
18 listPromise.then(responseJSON => {
pfeldman 2016/07/20 18:13:14 var responseJSON = result[0];
19 responseJSON.forEach(appendItem, {hash})
pfeldman 2016/07/20 18:13:14 Is {hash} intentional? Hate this feature :)
20 });
21 });
22 });
13 } 23 }
14 24
15 function onReady() { 25 function appendItem(item) {
16 if(this.readyState == 4 && this.status == 200) { 26 let link;
17 if(this.response != null) 27 if (item.devtoolsFrontendUrl) {
18 var responseJSON = JSON.parse(this.response); 28 link = document.createElement("a");
19 for (var i = 0; i < responseJSON.length; ++i) 29 var devtoolsFrontendUrl = item.devtoolsFrontendUrl.replace(/^\/devtools\//,' ');
20 appendItem(responseJSON[i]); 30 link.href = `http://frontend.chrome-dev.tools/serve_file/@${this.hash}/${dev toolsFrontendUrl}&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
21 } 31 link.title = item.title;
22 }
23
24 function appendItem(item_object) {
25 var frontend_ref;
26 if (item_object.devtoolsFrontendUrl) {
27 frontend_ref = document.createElement("a");
28 frontend_ref.href = item_object.devtoolsFrontendUrl;
29 frontend_ref.title = item_object.title;
30 } else { 32 } else {
31 frontend_ref = document.createElement("div"); 33 link = document.createElement("div");
32 frontend_ref.title = "The tab already has active debugging session"; 34 link.title = "The tab already has active debugging session";
33 } 35 }
34 36
35 var text = document.createElement("div"); 37 var text = document.createElement("div");
36 if (item_object.title) 38 if (item.title)
37 text.innerText = item_object.title; 39 text.textContent = item.title;
38 else 40 else
39 text.innerText = "(untitled tab)"; 41 text.textContent = "(untitled tab)";
40 text.style.cssText = "background-image:url(" + item_object.faviconUrl + ")"; 42 if (item.faviconUrl)
41 frontend_ref.appendChild(text); 43 text.style.cssText = "background-image:url(" + item.faviconUrl + ")";
44 link.appendChild(text);
42 45
43 var item = document.createElement("p"); 46 var p = document.createElement("p");
44 item.appendChild(frontend_ref); 47 p.appendChild(link);
45 48
46 document.getElementById("items").appendChild(item); 49 document.getElementById("items").appendChild(p);
47 } 50 }
51
48 </script> 52 </script>
49 </head> 53 </head>
50 <body onload='onLoad()'> 54 <body onload='loadData()'>
51 <div id='caption'>Inspectable WebContents</div> 55 <div id='caption'>Inspectable WebContents</div>
52 <div id='items'></div> 56 <div id='items'></div>
53 </body> 57 </body>
54 </html> 58 </html>
OLDNEW
« 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