Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 1 | <!DOCTYPE html> |
| 2 | <!-- much of this is stolen from omahaproxy.appspot.com/viewer --> |
| 3 | <html> |
| 4 | <head> |
| 5 | <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> |
| 6 | <title>NaCl SDK Manifest Viewer</title> |
| 7 | </head> |
| 8 | <style type="text/css" media="screen"> |
| 9 | body { |
| 10 | font-family: monospace; |
| 11 | font-size: 10pt; |
| 12 | } |
| 13 | |
| 14 | table { |
| 15 | border-collapse: collapse; |
| 16 | border-color: rgb(100, 100, 100); |
| 17 | border-style: solid; |
| 18 | border-width: 1px 0px 1px 0px; |
| 19 | } |
| 20 | |
| 21 | table td { |
| 22 | padding: 3px; |
| 23 | border-color: rgb(100, 100, 100); |
| 24 | border-style: solid; |
| 25 | border-width: 0px 1px 0px 1px; |
| 26 | } |
| 27 | |
| 28 | thead { |
| 29 | background-color: lightblue; |
| 30 | font-weight: bold; |
| 31 | border-style: solid; |
| 32 | border-color: rgb(100, 100, 100); |
| 33 | border-width: 0px 0px 2px 0px; |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 34 | text-align: center; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 35 | } |
| 36 | |
| 37 | tbody tr:nth-child(odd) { |
| 38 | background-color: rgb(230, 230, 230); |
| 39 | } |
| 40 | |
| 41 | tbody tr:hover { |
| 42 | background-color: orange; |
| 43 | } |
| 44 | |
| 45 | td a { |
| 46 | padding: 3px; |
| 47 | } |
| 48 | </style> |
| 49 | <body> |
| 50 | <h1>NaCl SDK Manifest Viewer</h1> |
| 51 | <table> |
| 52 | <thead id="columns"> |
| 53 | </thead> |
| 54 | <tbody id="rows"> |
| 55 | </tbody> |
| 56 | </table> |
Ben Murdoch | bb1529c | 2013-08-08 10:24:53 +0100 | [diff] [blame^] | 57 | <h2>Most recent upload log:</h2> |
| 58 | <pre id="log"> |
| 59 | </pre> |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 60 | <script type="application/javascript"> |
Ben Murdoch | bb1529c | 2013-08-08 10:24:53 +0100 | [diff] [blame^] | 61 | function loadText(url, callback) { |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 62 | var xhr = new XMLHttpRequest(); |
| 63 | xhr.open('GET', url, true); |
| 64 | xhr.onreadystatechange = function (e) { |
| 65 | if (xhr.readyState == 4) { |
| 66 | if (xhr.status == 200) { |
Ben Murdoch | bb1529c | 2013-08-08 10:24:53 +0100 | [diff] [blame^] | 67 | callback(xhr.responseText); |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 68 | } else { |
| 69 | alert("Failed to load: error " + xhr.status); |
| 70 | } |
| 71 | } |
| 72 | } |
| 73 | xhr.send(null); |
| 74 | } |
| 75 | |
Ben Murdoch | bb1529c | 2013-08-08 10:24:53 +0100 | [diff] [blame^] | 76 | function loadJson(url, callback) { |
| 77 | loadText(url, function (text) { |
| 78 | callback(JSON.parse(text)); |
| 79 | }); |
| 80 | } |
| 81 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 82 | function removeAllChildren(elm) { |
| 83 | while (elm.childNodes.length) { |
| 84 | elm.removeChild(elm.firstChild); |
| 85 | } |
| 86 | } |
| 87 | |
| 88 | function display(data) { |
| 89 | data = data.bundles; |
| 90 | |
| 91 | var columnsElm = document.getElementById('columns'); |
| 92 | var rowsElm = document.getElementById('rows'); |
| 93 | removeAllChildren(columnsElm); |
| 94 | removeAllChildren(rowsElm); |
| 95 | |
| 96 | // Create the column headers. |
| 97 | var tr = document.createElement('tr'); |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 98 | var columns = [ |
| 99 | 'name', 'version', 'revision', 'win', 'mac', 'linux', 'all' |
| 100 | ]; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 101 | for (var i = 0; i < columns.length; ++i) { |
| 102 | var td = document.createElement('td'); |
| 103 | var text = document.createTextNode(columns[i]); |
| 104 | td.appendChild(text); |
| 105 | tr.appendChild(td); |
| 106 | } |
| 107 | columnsElm.appendChild(tr); |
| 108 | |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 109 | var platforms = ['win', 'mac', 'linux', 'all']; |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 110 | |
| 111 | for (var i = 0; i < data.length; ++i) { |
| 112 | var tr = document.createElement('tr'); |
| 113 | for (var j = 0; j < columns.length; ++j) { |
| 114 | var td = document.createElement('td'); |
| 115 | var node; |
| 116 | if (platforms.indexOf(columns[j]) != -1) { |
| 117 | var archives = data[i].archives; |
| 118 | for (var k = 0; k < archives.length; ++k) { |
| 119 | if (columns[j] == archives[k].host_os) { |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 120 | var url = archives[k].url; |
| 121 | var lastSlash = url.lastIndexOf('/'); |
| 122 | var nextDot = url.indexOf('.', lastSlash); |
| 123 | name = url.substr(lastSlash + 1, nextDot - lastSlash - 1); |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 124 | node = document.createElement('a'); |
Torne (Richard Coles) | c2e0dbd | 2013-05-09 18:35:53 +0100 | [diff] [blame] | 125 | node.setAttribute('href', url); |
| 126 | node.appendChild(document.createTextNode(name)); |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 127 | td.appendChild(node); |
| 128 | } |
| 129 | } |
| 130 | } else { |
| 131 | node = document.createTextNode(data[i][columns[j]]); |
| 132 | td.appendChild(node); |
| 133 | } |
| 134 | tr.appendChild(td); |
| 135 | } |
| 136 | rowsElm.appendChild(tr); |
| 137 | } |
| 138 | } |
| 139 | |
Ben Murdoch | bb1529c | 2013-08-08 10:24:53 +0100 | [diff] [blame^] | 140 | function displayLog(text) { |
| 141 | document.getElementById('log').textContent = text; |
| 142 | } |
| 143 | |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 144 | loadJson('naclsdk_manifest2.json', display); |
Ben Murdoch | bb1529c | 2013-08-08 10:24:53 +0100 | [diff] [blame^] | 145 | loadText('naclsdk_manifest2.json.log', displayLog); |
Torne (Richard Coles) | 5821806 | 2012-11-14 11:43:16 +0000 | [diff] [blame] | 146 | </script> |
| 147 | </body> |
| 148 | </html> |