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

Side by Side Diff: chrome/common/extensions/docs/examples/api/processes/process_monitor/popup.js

Issue 10175008: Improving the process model extension API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Syncing to the latest tree after a week away. Created 8 years, 7 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Shows an updating list of process statistics. 5 // Shows an updating list of process statistics.
6 function init() { 6 function init() {
7 chrome.experimental.processes.onUpdated.addListener(function(processes) { 7 chrome.experimental.processes.onUpdatedWithMemory.addListener(
8 var table = "<table>\n" + 8 function(processes) {
9 "<tr><td><b>Process</b></td>" + 9 var table = "<table>\n" +
10 "<td>Type</td>" + 10 "<tr><td><b>Process</b></td>" +
11 "<td>CPU</td>" + 11 "<td>OS ID</td>" +
12 "<td>Network</td>" + 12 "<td>Type</td>" +
13 "<td>Shared Memory</td>" + 13 "<td>Tabs</td>" +
14 "<td>Private Memory</td>" + 14 "<td>CPU</td>" +
15 "</tr>\n"; 15 "<td>Network</td>" +
16 for (pid in processes) { 16 "<td>Private Memory</td>" +
17 table = displayProcessInfo(processes[pid], table); 17 "<td>FPS</td>" +
18 } 18 "<td>JS Memory</td>" +
19 table += "</table>\n"; 19 "<td></td>" +
20 var div = document.getElementById("process-list"); 20 "</tr>\n";
21 div.innerHTML = table; 21 for (pid in processes) {
22 }); 22 table = displayProcessInfo(processes[pid], table);
23 }
24 table += "</table>\n";
25 var div = document.getElementById("process-list");
26 div.innerHTML = table;
27 });
28
29 document.getElementById("killProcess").onclick = function () {
30 var procId = parseInt(prompt("Enter process ID"));
31 chrome.experimental.processes.terminate(procId);
32 }
23 } 33 }
24 34
25 function displayProcessInfo(process, table) { 35 function displayProcessInfo(process, table) {
26 // Format network string like task manager 36 // Format network string like task manager
27 var network = process.network; 37 var network = process.network;
28 if (network > 1024) { 38 if (network > 1024) {
29 network = (network / 1024).toFixed(1) + " kB/s"; 39 network = (network / 1024).toFixed(1) + " kB/s";
30 } else if (network > 0) { 40 } else if (network > 0) {
31 network += " B/s"; 41 network += " B/s";
32 } else if (network == -1) { 42 } else if (network == -1) {
33 network = "N/A"; 43 network = "N/A";
34 } 44 }
35 45
36 table += 46 table +=
37 "<tr><td>" + process.id + "</td>" + 47 "<tr><td>" + process.id + "</td>" +
48 "<td>" + process.osProcessId + "</td>" +
38 "<td>" + process.type + "</td>" + 49 "<td>" + process.type + "</td>" +
50 "<td>" + process.tabs + "</td>" +
39 "<td>" + process.cpu + "</td>" + 51 "<td>" + process.cpu + "</td>" +
40 "<td>" + network + "</td>" + 52 "<td>" + network + "</td>";
41 "<td>" + (process.sharedMemory / 1024) + "K</td>" + 53
42 "<td>" + (process.privateMemory / 1024) + "K</td>" + 54 if ("privateMemory" in process) {
55 table += "<td>" + (process.privateMemory / 1024) + "K</td>";
56 } else {
57 table += "<td>N/A</td>";
58 }
59 if ("fps" in process) {
60 table += "<td>" + process.fps.toFixed(2) + "</td>";
61 } else {
62 table += "<td>N/A</td>";
63 }
64
65 if ("jsMemoryAllocated" in process) {
66 var allocated = process.jsMemoryAllocated / 1024;
67 var used = process.jsMemoryUsed / 1024;
68 table += "<td>" + allocated.toFixed(2) + "K (" + used.toFixed(2) +
69 "K live)</td>";
70 } else {
71 table += "<td>N/A</td>";
72 }
73
74 table +=
75 "<td></td>" +
43 "</tr>\n"; 76 "</tr>\n";
44 return table; 77 return table;
45 } 78 }
46 79
47 document.addEventListener('DOMContentLoaded', init); 80 document.addEventListener('DOMContentLoaded', init);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698