OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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); |
OLD | NEW |