OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 /** | 5 /** |
6 * This view displays information on Winsock layered service providers and | 6 * This view displays information on Winsock layered service providers and |
7 * namespace providers. | 7 * namespace providers. |
8 * | 8 * |
9 * For each layered service provider, shows the name, dll, and type | 9 * For each layered service provider, shows the name, dll, and type |
10 * information. For each namespace provider, shows the name and | 10 * information. For each namespace provider, shows the name and |
(...skipping 14 matching lines...) Expand all Loading... |
25 document.getElementById(serviceProvidersTbodyId); | 25 document.getElementById(serviceProvidersTbodyId); |
26 this.namespaceProvidersTbody_ = | 26 this.namespaceProvidersTbody_ = |
27 document.getElementById(namespaceProvidersTbodyId); | 27 document.getElementById(namespaceProvidersTbodyId); |
28 | 28 |
29 g_browser.addServiceProvidersObserver(this); | 29 g_browser.addServiceProvidersObserver(this); |
30 } | 30 } |
31 | 31 |
32 inherits(ServiceProvidersView, DivView); | 32 inherits(ServiceProvidersView, DivView); |
33 | 33 |
34 ServiceProvidersView.prototype.onServiceProvidersChanged = | 34 ServiceProvidersView.prototype.onServiceProvidersChanged = |
35 function(serviceProviders) { | 35 function(serviceProviders) { |
36 this.updateServiceProviders_(serviceProviders["service_providers"]); | 36 this.updateServiceProviders_(serviceProviders["service_providers"]); |
37 this.updateNamespaceProviders_(serviceProviders["namespace_providers"]); | 37 this.updateNamespaceProviders_(serviceProviders["namespace_providers"]); |
38 }; | 38 }; |
39 | 39 |
40 /** | 40 /** |
| 41 * Returns type of a layered service provider. |
| 42 */ |
| 43 ServiceProvidersView.getLayeredServiceProviderType = |
| 44 function(serviceProvider) { |
| 45 if (serviceProvider.chain_length == 0) |
| 46 return 'Layer'; |
| 47 if (serviceProvider.chain_length == 1) |
| 48 return 'Base'; |
| 49 return 'Chain'; |
| 50 }; |
| 51 |
| 52 ServiceProvidersView.namespaceProviderType_ = { |
| 53 '12': 'NS_DNS', |
| 54 '15': 'NS_NLA', |
| 55 '16': 'NS_BTH', |
| 56 '32': 'NS_NTDS', |
| 57 '37': 'NS_EMAIL', |
| 58 '38': 'NS_PNRPNAME', |
| 59 '39': 'NS_PNRPCLOUD' |
| 60 }; |
| 61 |
| 62 /** |
| 63 * Returns the type of a namespace provider as a string. |
| 64 */ |
| 65 ServiceProvidersView.getNamespaceProviderType = function(namespaceProvider) { |
| 66 return tryGetValueWithKey(ServiceProvidersView.namespaceProviderType_, |
| 67 namespaceProvider.type); |
| 68 }; |
| 69 |
| 70 ServiceProvidersView.socketType_ = { |
| 71 '1': 'SOCK_STREAM', |
| 72 '2': 'SOCK_DGRAM', |
| 73 '3': 'SOCK_RAW', |
| 74 '4': 'SOCK_RDM', |
| 75 '5': 'SOCK_SEQPACKET' |
| 76 }; |
| 77 |
| 78 /** |
| 79 * Returns socket type of a layered service provider as a string. |
| 80 */ |
| 81 ServiceProvidersView.getSocketType = function(layeredServiceProvider) { |
| 82 return tryGetValueWithKey(ServiceProvidersView.socketType_, |
| 83 layeredServiceProvider.socket_type); |
| 84 }; |
| 85 |
| 86 ServiceProvidersView.protocolType_ = { |
| 87 '1': 'IPPROTO_ICMP', |
| 88 '6': 'IPPROTO_TCP', |
| 89 '17': 'IPPROTO_UDP', |
| 90 '58': 'IPPROTO_ICMPV6' |
| 91 }; |
| 92 |
| 93 /** |
| 94 * Returns protocol type of a layered service provider as a string. |
| 95 */ |
| 96 ServiceProvidersView.getProtocolType = function(layeredServiceProvider) { |
| 97 return tryGetValueWithKey(ServiceProvidersView.protocolType_, |
| 98 layeredServiceProvider.socket_protocol); |
| 99 }; |
| 100 |
| 101 /** |
41 * Updates the table of layered service providers. | 102 * Updates the table of layered service providers. |
42 */ | 103 */ |
43 ServiceProvidersView.prototype.updateServiceProviders_ = | 104 ServiceProvidersView.prototype.updateServiceProviders_ = |
44 function(serviceProviders) { | 105 function(serviceProviders) { |
45 this.serviceProvidersTbody_.innerHTML = ''; | 106 this.serviceProvidersTbody_.innerHTML = ''; |
46 | 107 |
47 // Add a table row for each service provider. | 108 // Add a table row for each service provider. |
48 for (var i = 0; i < serviceProviders.length; ++i) { | 109 for (var i = 0; i < serviceProviders.length; ++i) { |
49 var tr = addNode(this.serviceProvidersTbody_, 'tr'); | 110 var tr = addNode(this.serviceProvidersTbody_, 'tr'); |
50 var entry = serviceProviders[i]; | 111 var entry = serviceProviders[i]; |
51 | 112 |
52 addNodeWithText(tr, 'td', entry.name); | 113 addNodeWithText(tr, 'td', entry.name); |
53 addNodeWithText(tr, 'td', entry.version); | 114 addNodeWithText(tr, 'td', entry.version); |
54 | 115 addNodeWithText(tr, 'td', |
55 if (entry.chain_length == 0) | 116 ServiceProvidersView.getLayeredServiceProviderType(entry)); |
56 addNodeWithText(tr, 'td', 'Layer'); | 117 addNodeWithText(tr, 'td', ServiceProvidersView.getSocketType(entry)); |
57 else if (entry.chain_length == 1) | 118 addNodeWithText(tr, 'td', ServiceProvidersView.getProtocolType(entry)); |
58 addNodeWithText(tr, 'td', 'Base'); | |
59 else | |
60 addNodeWithText(tr, 'td', 'Chain'); | |
61 | |
62 addNodeWithText(tr, 'td', entry.socket_type); | |
63 addNodeWithText(tr, 'td', entry.socket_protocol); | |
64 addNodeWithText(tr, 'td', entry.path); | 119 addNodeWithText(tr, 'td', entry.path); |
65 } | 120 } |
66 }; | 121 }; |
67 | 122 |
68 ServiceProvidersView.namespaceProviderType_ = { | |
69 '12': 'NS_DNS', | |
70 '15': 'NS_NLA', | |
71 '16': 'NS_BTH', | |
72 '32': 'NS_NTDS', | |
73 '37': 'NS_EMAIL', | |
74 '38': 'NS_PNRPNAME', | |
75 '39': 'NS_PNRPCLOUD' | |
76 }; | |
77 | |
78 /** | 123 /** |
79 * Updates the lable of namespace providers. | 124 * Updates the lable of namespace providers. |
80 */ | 125 */ |
81 ServiceProvidersView.prototype.updateNamespaceProviders_ = | 126 ServiceProvidersView.prototype.updateNamespaceProviders_ = |
82 function(namespaceProviders) { | 127 function(namespaceProviders) { |
83 this.namespaceProvidersTbody_.innerHTML = ''; | 128 this.namespaceProvidersTbody_.innerHTML = ''; |
84 | 129 |
85 // Add a table row for each namespace provider. | 130 // Add a table row for each namespace provider. |
86 for (var i = 0; i < namespaceProviders.length; ++i) { | 131 for (var i = 0; i < namespaceProviders.length; ++i) { |
87 var tr = addNode(this.namespaceProvidersTbody_, 'tr'); | 132 var tr = addNode(this.namespaceProvidersTbody_, 'tr'); |
88 var entry = namespaceProviders[i]; | 133 var entry = namespaceProviders[i]; |
89 addNodeWithText(tr, 'td', entry.name); | 134 addNodeWithText(tr, 'td', entry.name); |
90 addNodeWithText(tr, 'td', entry.version); | 135 addNodeWithText(tr, 'td', entry.version); |
91 | 136 addNodeWithText(tr, 'td', |
92 var typeString = ServiceProvidersView.namespaceProviderType_[entry.type]; | 137 ServiceProvidersView.getNamespaceProviderType(entry)); |
93 if (typeString) | |
94 addNodeWithText(tr, 'td', typeString); | |
95 else | |
96 addNodeWithText(tr, 'td', entry.type); | |
97 | |
98 addNodeWithText(tr, 'td', entry.active); | 138 addNodeWithText(tr, 'td', entry.active); |
99 } | 139 } |
100 }; | 140 }; |
101 | 141 |
OLD | NEW |