| 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 var MIN_VERSION_TAB_CLOSE = 25; | 5 var MIN_VERSION_TAB_CLOSE = 25; |
| 6 var MIN_VERSION_TARGET_ID = 26; | 6 var MIN_VERSION_TARGET_ID = 26; |
| 7 var MIN_VERSION_NEW_TAB = 29; | 7 var MIN_VERSION_NEW_TAB = 29; |
| 8 var MIN_VERSION_TAB_ACTIVATE = 30; | 8 var MIN_VERSION_TAB_ACTIVATE = 30; |
| 9 var WEBRTC_SERIAL = 'WEBRTC'; | 9 var WEBRTC_SERIAL = 'WEBRTC'; |
| 10 | 10 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 | 37 |
| 38 function sendTargetCommand(command, target) { | 38 function sendTargetCommand(command, target) { |
| 39 sendCommand(command, target.source, target.id); | 39 sendCommand(command, target.source, target.id); |
| 40 } | 40 } |
| 41 | 41 |
| 42 function removeChildren(element_id) { | 42 function removeChildren(element_id) { |
| 43 var element = $(element_id); | 43 var element = $(element_id); |
| 44 element.textContent = ''; | 44 element.textContent = ''; |
| 45 } | 45 } |
| 46 | 46 |
| 47 function removeAdditionalChildren(element_id) { |
| 48 var element = $(element_id); |
| 49 var elements = element.querySelectorAll('.row.additional'); |
| 50 for (var i = 0; i != elements.length; i++) |
| 51 element.removeChild(elements[i]); |
| 52 } |
| 53 |
| 54 function removeChildrenExceptAdditional(element_id) { |
| 55 var element = $(element_id); |
| 56 var elements = element.querySelectorAll('.row:not(.additional)'); |
| 57 for (var i = 0; i != elements.length; i++) |
| 58 element.removeChild(elements[i]); |
| 59 } |
| 60 |
| 47 function onload() { | 61 function onload() { |
| 48 var tabContents = document.querySelectorAll('#content > div'); | 62 var tabContents = document.querySelectorAll('#content > div'); |
| 49 for (var i = 0; i != tabContents.length; i++) { | 63 for (var i = 0; i != tabContents.length; i++) { |
| 50 var tabContent = tabContents[i]; | 64 var tabContent = tabContents[i]; |
| 51 var tabName = tabContent.querySelector('.content-header').textContent; | 65 var tabName = tabContent.querySelector('.content-header').textContent; |
| 52 | 66 |
| 53 var tabHeader = document.createElement('div'); | 67 var tabHeader = document.createElement('div'); |
| 54 tabHeader.className = 'tab-header'; | 68 tabHeader.className = 'tab-header'; |
| 55 var button = document.createElement('button'); | 69 var button = document.createElement('button'); |
| 56 button.textContent = tabName; | 70 button.textContent = tabName; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 | 111 |
| 98 function populateTargets(source, data) { | 112 function populateTargets(source, data) { |
| 99 if (source == 'local') | 113 if (source == 'local') |
| 100 populateLocalTargets(data); | 114 populateLocalTargets(data); |
| 101 else if (source == 'remote') | 115 else if (source == 'remote') |
| 102 populateRemoteTargets(data); | 116 populateRemoteTargets(data); |
| 103 else | 117 else |
| 104 console.error('Unknown source type: ' + source); | 118 console.error('Unknown source type: ' + source); |
| 105 } | 119 } |
| 106 | 120 |
| 121 function populateAdditionalTargets(data) { |
| 122 removeAdditionalChildren('others-list'); |
| 123 for (var i = 0; i < data.length; i++) |
| 124 addAdditionalTargetsToOthersList(data[i]); |
| 125 } |
| 126 |
| 107 function populateLocalTargets(data) { | 127 function populateLocalTargets(data) { |
| 108 removeChildren('pages-list'); | 128 removeChildren('pages-list'); |
| 109 removeChildren('extensions-list'); | 129 removeChildren('extensions-list'); |
| 110 removeChildren('apps-list'); | 130 removeChildren('apps-list'); |
| 111 removeChildren('others-list'); | |
| 112 removeChildren('workers-list'); | 131 removeChildren('workers-list'); |
| 113 removeChildren('service-workers-list'); | 132 removeChildren('service-workers-list'); |
| 133 removeChildrenExceptAdditional('others-list'); |
| 114 | 134 |
| 115 for (var i = 0; i < data.length; i++) { | 135 for (var i = 0; i < data.length; i++) { |
| 116 if (data[i].type === 'page') | 136 if (data[i].type === 'page') |
| 117 addToPagesList(data[i]); | 137 addToPagesList(data[i]); |
| 118 else if (data[i].type === 'background_page') | 138 else if (data[i].type === 'background_page') |
| 119 addToExtensionsList(data[i]); | 139 addToExtensionsList(data[i]); |
| 120 else if (data[i].type === 'app') | 140 else if (data[i].type === 'app') |
| 121 addToAppsList(data[i]); | 141 addToAppsList(data[i]); |
| 122 else if (data[i].type === 'shared_worker') | 142 else if (data[i].type === 'shared_worker') |
| 123 addToWorkersList(data[i]); | 143 addToWorkersList(data[i]); |
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 var row = addTargetToList( | 441 var row = addTargetToList( |
| 422 data, $('service-workers-list'), ['name', 'description', 'url']); | 442 data, $('service-workers-list'), ['name', 'description', 'url']); |
| 423 addActionLink(row, 'terminate', | 443 addActionLink(row, 'terminate', |
| 424 sendTargetCommand.bind(null, 'close', data), false); | 444 sendTargetCommand.bind(null, 'close', data), false); |
| 425 } | 445 } |
| 426 | 446 |
| 427 function addToOthersList(data) { | 447 function addToOthersList(data) { |
| 428 addTargetToList(data, $('others-list'), ['url']); | 448 addTargetToList(data, $('others-list'), ['url']); |
| 429 } | 449 } |
| 430 | 450 |
| 451 function addAdditionalTargetsToOthersList(data) { |
| 452 addTargetToList(data, $('others-list'), ['name', 'url']); |
| 453 } |
| 454 |
| 431 function formatValue(data, property) { | 455 function formatValue(data, property) { |
| 432 var value = data[property]; | 456 var value = data[property]; |
| 433 | 457 |
| 434 if (property == 'name' && value == '') { | 458 if (property == 'name' && value == '') { |
| 435 value = 'untitled'; | 459 value = 'untitled'; |
| 436 } | 460 } |
| 437 | 461 |
| 438 var text = value ? String(value) : ''; | 462 var text = value ? String(value) : ''; |
| 439 if (text.length > 100) | 463 if (text.length > 100) |
| 440 text = text.substring(0, 100) + '\u2026'; | 464 text = text.substring(0, 100) + '\u2026'; |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 560 subrow.className = 'subrow'; | 584 subrow.className = 'subrow'; |
| 561 subrowBox.appendChild(subrow); | 585 subrowBox.appendChild(subrow); |
| 562 | 586 |
| 563 for (var j = 0; j < properties.length; j++) | 587 for (var j = 0; j < properties.length; j++) |
| 564 subrow.appendChild(formatValue(data, properties[j])); | 588 subrow.appendChild(formatValue(data, properties[j])); |
| 565 | 589 |
| 566 var actionBox = document.createElement('div'); | 590 var actionBox = document.createElement('div'); |
| 567 actionBox.className = 'actions'; | 591 actionBox.className = 'actions'; |
| 568 subrowBox.appendChild(actionBox); | 592 subrowBox.appendChild(actionBox); |
| 569 | 593 |
| 570 if (!data.hasCustomInspectAction) { | 594 if (data.isAdditional) { |
| 595 addActionLink(row, 'inspect', |
| 596 sendCommand.bind(null, 'inspect-additional', data.url), false); |
| 597 row.classList.add('additional'); |
| 598 } else if (!data.hasCustomInspectAction) { |
| 571 addActionLink(row, 'inspect', sendTargetCommand.bind(null, 'inspect', data), | 599 addActionLink(row, 'inspect', sendTargetCommand.bind(null, 'inspect', data), |
| 572 data.hasNoUniqueId || data.adbAttachedForeign); | 600 data.hasNoUniqueId || data.adbAttachedForeign); |
| 573 } | 601 } |
| 574 | 602 |
| 575 list.appendChild(row); | 603 list.appendChild(row); |
| 576 return row; | 604 return row; |
| 577 } | 605 } |
| 578 | 606 |
| 579 function addActionLink(row, text, handler, opt_disabled) { | 607 function addActionLink(row, text, handler, opt_disabled) { |
| 580 var link = document.createElement('span'); | 608 var link = document.createElement('span'); |
| (...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 991 Array.prototype.forEach.call( | 1019 Array.prototype.forEach.call( |
| 992 deviceSection.querySelectorAll('.browser'), clearBrowserPorts); | 1020 deviceSection.querySelectorAll('.browser'), clearBrowserPorts); |
| 993 } | 1021 } |
| 994 | 1022 |
| 995 Array.prototype.forEach.call( | 1023 Array.prototype.forEach.call( |
| 996 document.querySelectorAll('.device'), clearPorts); | 1024 document.querySelectorAll('.device'), clearPorts); |
| 997 } | 1025 } |
| 998 | 1026 |
| 999 document.addEventListener('DOMContentLoaded', onload); | 1027 document.addEventListener('DOMContentLoaded', onload); |
| 1000 window.addEventListener('hashchange', onHashChange); | 1028 window.addEventListener('hashchange', onHashChange); |
| OLD | NEW |