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

Side by Side Diff: chrome/browser/resources/workers/workers.js

Issue 9724038: DevTools: convert about:workers into about:inspect (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review comments addressed. Created 8 years, 9 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 function requestData() {
6 var xhr = new XMLHttpRequest();
7 xhr.open('GET', 'workers_data.json', false);
8 xhr.send(null);
9 if (xhr.status === 200)
10 return JSON.parse(xhr.responseText);
11 return [];
12 }
13
14 function addColumn(row, value) {
15 var column = document.createElement("td");
16 column.textContent = value;
17 row.appendChild(column);
18 }
19
20 function openDevTools(workerProcessHostId, workerRouteId) {
21 chrome.send("openDevTools",
22 [String(workerProcessHostId), String(workerRouteId)]);
23 }
24
25 function reloadWorker(workerProcessHostId, workerRouteId) {
26 chrome.send("terminateWorker",
27 [String(workerProcessHostId), String(workerRouteId)]);
28 }
29
30 function populateWorkerList() {
31 var data = requestData();
32 var list = document.getElementById("workers-table");
33 for (var i = 0; i < data.length; i++)
34 addWorkerInfoToList(data[i], list);
35 }
36
37 function addWorkerInfoToList(workerData, list) {
38 var row = document.createElement("tr");
39 var workerProperties = ["workerRouteId", "url", "name", "pid"];
40 for (var j = 0; j < workerProperties.length; j++)
41 addColumn(row, workerData[workerProperties[j]]);
42
43 var column = document.createElement("td");
44 var link = document.createElement("a");
45 link.setAttribute("href", "#");
46 link.textContent = "inspect";
47 link.addEventListener(
48 "click",
49 openDevTools.bind(this,
50 workerData.workerProcessHostId,
51 workerData.workerRouteId),
52 true);
53 column.appendChild(link);
54 row.appendChild(column);
55
56 var link = document.createElement("a");
57 link.setAttribute("href", "#");
58 link.textContent = "terminate";
59 link.addEventListener(
60 "click",
61 reloadWorker.bind(this,
62 workerData.workerProcessHostId,
63 workerData.workerRouteId),
64 true);
65 column.appendChild(link);
66 row.appendChild(column);
67
68 row.workerProcessHostId = workerData.workerProcessHostId;
69 row.workerRouteId = workerData.workerRouteId;
70
71 list.appendChild(row);
72 }
73
74 function workerCreated(workerData) {
75 var list = document.getElementById("workers-table");
76 addWorkerInfoToList(workerData, list);
77 }
78
79 function workerDestroyed(workerData) {
80 var list = document.getElementById("workers-table");
81 for (var row = list.firstChild; row; row = row.nextSibling) {
82 if (row.workerProcessHostId === workerData.workerProcessHostId &&
83 row.workerRouteId === workerData.workerRouteId) {
84 list.removeChild(row);
85 return;
86 }
87 }
88 }
89
90 document.addEventListener('DOMContentLoaded', populateWorkerList);
OLDNEW
« no previous file with comments | « chrome/browser/resources/workers/index.html ('k') | chrome/browser/resources/workers_resources.grd » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698