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

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

Issue 22685003: Visualize status of port forwarding sockets in chrome:inspect Devices tab (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 4 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
« no previous file with comments | « chrome/browser/resources/inspect/inspect.css ('k') | chrome/browser/ui/webui/inspect_ui.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 function inspect(data) { 5 function inspect(data) {
6 chrome.send('inspect', [data]); 6 chrome.send('inspect', [data]);
7 } 7 }
8 8
9 function terminate(data) { 9 function terminate(data) {
10 chrome.send('terminate', [data]); 10 chrome.send('terminate', [data]);
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 } 106 }
107 107
108 var newDeviceIds = devices.map(function(d) { return d.adbGlobalId }); 108 var newDeviceIds = devices.map(function(d) { return d.adbGlobalId });
109 Array.prototype.forEach.call( 109 Array.prototype.forEach.call(
110 deviceList.querySelectorAll('.device'), 110 deviceList.querySelectorAll('.device'),
111 removeObsolete.bind(null, newDeviceIds)); 111 removeObsolete.bind(null, newDeviceIds));
112 112
113 for (var d = 0; d < devices.length; d++) { 113 for (var d = 0; d < devices.length; d++) {
114 var device = devices[d]; 114 var device = devices[d];
115 115
116 var devicePorts;
116 var browserList; 117 var browserList;
117 var deviceSection = $(device.adbGlobalId); 118 var deviceSection = $(device.adbGlobalId);
118 if (deviceSection) { 119 if (deviceSection) {
120 devicePorts = deviceSection.querySelector('.device-ports');
119 browserList = deviceSection.querySelector('.browsers'); 121 browserList = deviceSection.querySelector('.browsers');
120 } else { 122 } else {
121 deviceSection = document.createElement('div'); 123 deviceSection = document.createElement('div');
122 deviceSection.id = device.adbGlobalId; 124 deviceSection.id = device.adbGlobalId;
123 deviceSection.className = 'device list'; 125 deviceSection.className = 'device list';
124 deviceList.appendChild(deviceSection); 126 deviceList.appendChild(deviceSection);
125 127
126 var deviceHeader = document.createElement('div'); 128 var deviceHeader = document.createElement('div');
127 deviceHeader.className = 'section'; 129 deviceHeader.className = 'device-header';
128 deviceHeader.textContent = device.adbModel;
129 deviceSection.appendChild(deviceHeader); 130 deviceSection.appendChild(deviceHeader);
130 131
132 var deviceName = document.createElement('div');
133 deviceName.className = 'device-name';
134 deviceName.textContent = device.adbModel;
135 deviceHeader.appendChild(deviceName);
136
137 if (device.adbSerial) {
138 var deviceSerial = document.createElement('div');
139 deviceSerial.className = 'device-serial';
140 deviceSerial.textContent = '#' + device.adbSerial.toUpperCase();
141 deviceHeader.appendChild(deviceSerial);
142 }
143
144 devicePorts = document.createElement('div');
145 devicePorts.className = 'device-ports';
146 deviceHeader.appendChild(devicePorts);
147
131 browserList = document.createElement('div'); 148 browserList = document.createElement('div');
132 browserList.className = 'browsers'; 149 browserList.className = 'browsers';
133 deviceSection.appendChild(browserList); 150 deviceSection.appendChild(browserList);
134 } 151 }
135 152
136 if (alreadyDisplayed(deviceSection, device)) 153 if (alreadyDisplayed(deviceSection, device))
137 continue; 154 continue;
138 155
156 devicePorts.textContent = '';
157 if (device.adbPortStatus) {
158 for (var port in device.adbPortStatus) {
159 var status = device.adbPortStatus[port];
160 var portIcon = document.createElement('div');
161 portIcon.className = 'port-icon';
162 if (status > 0)
163 portIcon.classList.add('connected');
164 else if (status == -1 || status == -2)
165 portIcon.classList.add('transient');
166 else if (status < 0)
167 portIcon.classList.add('error');
168 devicePorts.appendChild(portIcon);
169
170 var portNumber = document.createElement('div');
171 portNumber.className = 'port-number';
172 portNumber.textContent = ':' + port;
173 if (status > 0)
174 portNumber.textContent += '(' + status + ')';
175 devicePorts.appendChild(portNumber);
176 }
177 }
178
139 var newBrowserIds = 179 var newBrowserIds =
140 device.browsers.map(function(b) { return b.adbGlobalId }); 180 device.browsers.map(function(b) { return b.adbGlobalId });
141 Array.prototype.forEach.call( 181 Array.prototype.forEach.call(
142 browserList.querySelectorAll('.browser'), 182 browserList.querySelectorAll('.browser'),
143 removeObsolete.bind(null, newBrowserIds)); 183 removeObsolete.bind(null, newBrowserIds));
144 184
145 for (var b = 0; b < device.browsers.length; b++) { 185 for (var b = 0; b < device.browsers.length; b++) {
146 var browser = device.browsers[b]; 186 var browser = device.browsers[b];
147 187
148 var pageList; 188 var pageList;
149 var browserSection = $(browser.adbGlobalId); 189 var browserSection = $(browser.adbGlobalId);
150 if (browserSection) { 190 if (browserSection) {
151 pageList = browserSection.querySelector('.pages'); 191 pageList = browserSection.querySelector('.pages');
152 pageList.textContent = '';
153 } else { 192 } else {
154 browserSection = document.createElement('div'); 193 browserSection = document.createElement('div');
155 browserSection.id = browser.adbGlobalId; 194 browserSection.id = browser.adbGlobalId;
156 browserSection.className = 'browser'; 195 browserSection.className = 'browser';
157 browserList.appendChild(browserSection); 196 browserList.appendChild(browserSection);
158 197
159 var browserHeader = document.createElement('div'); 198 var browserHeader = document.createElement('div');
160 browserHeader.className = 'small-section'; 199 browserHeader.className = 'browser-header';
161 browserHeader.textContent = browser.adbBrowserName; 200 browserHeader.textContent = browser.adbBrowserName;
162 browserSection.appendChild(browserHeader); 201 browserSection.appendChild(browserHeader);
163 202
164 var newPage = document.createElement('div'); 203 var newPage = document.createElement('div');
165 newPage.className = 'open'; 204 newPage.className = 'open';
166 205
167 var newPageUrl = document.createElement('input'); 206 var newPageUrl = document.createElement('input');
168 newPageUrl.type = 'text'; 207 newPageUrl.type = 'text';
169 newPageUrl.placeholder = 'Open tab with url'; 208 newPageUrl.placeholder = 'Open tab with url';
170 newPage.appendChild(newPageUrl); 209 newPage.appendChild(newPageUrl);
(...skipping 15 matching lines...) Expand all
186 browserSection.appendChild(newPage); 225 browserSection.appendChild(newPage);
187 226
188 pageList = document.createElement('div'); 227 pageList = document.createElement('div');
189 pageList.className = 'list pages'; 228 pageList.className = 'list pages';
190 browserSection.appendChild(pageList); 229 browserSection.appendChild(pageList);
191 } 230 }
192 231
193 if (alreadyDisplayed(browserSection, browser)) 232 if (alreadyDisplayed(browserSection, browser))
194 continue; 233 continue;
195 234
235 pageList.textContent = '';
196 for (var p = 0; p < browser.pages.length; p++) { 236 for (var p = 0; p < browser.pages.length; p++) {
197 var page = browser.pages[p]; 237 var page = browser.pages[p];
198 var row = addTargetToList( 238 var row = addTargetToList(
199 page, pageList, ['faviconUrl', 'name', 'url']); 239 page, pageList, ['faviconUrl', 'name', 'url']);
200 row.appendChild(createActionLink( 240 row.appendChild(createActionLink(
201 'reload', reload.bind(null, page), page.attached)); 241 'reload', reload.bind(null, page), page.attached));
202 row.appendChild(createActionLink( 242 row.appendChild(createActionLink(
203 'close', terminate.bind(null, page), page.attached)); 243 'close', terminate.bind(null, page), page.attached));
204 } 244 }
205 } 245 }
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 if (line.querySelector('.invalid')) 544 if (line.querySelector('.invalid'))
505 return; 545 return;
506 line.classList.remove('fresh'); 546 line.classList.remove('fresh');
507 var freshLine = createEmptyConfigLine(); 547 var freshLine = createEmptyConfigLine();
508 line.parentNode.appendChild(freshLine); 548 line.parentNode.appendChild(freshLine);
509 if (opt_selectNew) 549 if (opt_selectNew)
510 freshLine.querySelector('.port').focus(); 550 freshLine.querySelector('.port').focus();
511 } 551 }
512 552
513 document.addEventListener('DOMContentLoaded', onload); 553 document.addEventListener('DOMContentLoaded', onload);
OLDNEW
« no previous file with comments | « chrome/browser/resources/inspect/inspect.css ('k') | chrome/browser/ui/webui/inspect_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698