Chromium Code Reviews| 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 cr.define('options', function() { | 5 cr.define('options', function() { |
| 6 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; | 6 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; |
| 7 /** @const */ var List = cr.ui.List; | 7 /** @const */ var List = cr.ui.List; |
| 8 /** @const */ var ListItem = cr.ui.ListItem; | 8 /** @const */ var ListItem = cr.ui.ListItem; |
| 9 /** @const */ var DeletableItem = options.DeletableItem; | 9 /** @const */ var DeletableItem = options.DeletableItem; |
| 10 /** @const */ var DeletableItemList = options.DeletableItemList; | 10 /** @const */ var DeletableItemList = options.DeletableItemList; |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 144 handlerElement.classList.remove('none'); | 144 handlerElement.classList.remove('none'); |
| 145 delegate.setDefault(data.handlers[index]); | 145 delegate.setDefault(data.handlers[index]); |
| 146 } | 146 } |
| 147 }); | 147 }); |
| 148 handlerElement.appendChild(selectElement); | 148 handlerElement.appendChild(selectElement); |
| 149 handlerElement.className = 'handlers-site-column'; | 149 handlerElement.className = 'handlers-site-column'; |
| 150 if (data.default_handler == -1) | 150 if (data.default_handler == -1) |
| 151 this.classList.add('none'); | 151 this.classList.add('none'); |
| 152 this.appendChild(handlerElement); | 152 this.appendChild(handlerElement); |
| 153 | 153 |
| 154 // Remove link. | 154 if (data.has_policy_recommendations) { |
| 155 var removeElement = document.createElement('div'); | 155 // Create an indicator to show that the handler has policy |
| 156 removeElement.textContent = | 156 // recommendation. |
|
bartfab (slow)
2014/09/01 14:56:44
Nit: s/recommendation/recommendations/
kaliamoorthi
2014/09/01 15:11:58
Done.
| |
| 157 loadTimeData.getString('handlers_remove_link'); | 157 var indicator = new options.ControlledSettingIndicator(); |
| 158 removeElement.addEventListener('click', function(e) { | 158 if (data.registered_by_user || data.default_handler == -1) { |
| 159 var value = selectElement ? selectElement.value : 0; | 159 // The default handler is registered by the user or set to none, which |
| 160 delegate.removeHandler(value, data.handlers[value]); | 160 // indicates that the user setting has overridden policy |
|
bartfab (slow)
2014/09/01 14:56:44
1: Nit: s/policy/a policy/
kaliamoorthi
2014/09/01 15:11:58
Done.
| |
| 161 }); | 161 // recommendation. Show the appropriate bubble. |
| 162 removeElement.className = 'handlers-remove-column handlers-remove-link'; | 162 indicator.controlledBy = 'hasRecommendation'; |
| 163 this.appendChild(removeElement); | 163 indicator.resetHandler = function() { |
| 164 // If there is a policy recommendation, data.handlers.length >= 1. | |
| 165 // Setting the default handler to 0 ensures that it won't be 'none', | |
| 166 // and there *is* a user registered handler created by setDefault, | |
| 167 // which is required for a return notification. | |
|
bartfab (slow)
2014/09/01 14:56:44
Nit: What is a "return notification"?
kaliamoorthi
2014/09/01 15:11:58
Done.
| |
| 168 // The user registered handlers are removed in a loop. Note, if a | |
|
bartfab (slow)
2014/09/01 14:56:44
Nit 1: s/user registered/user-registered/
Nit 2: s
kaliamoorthi
2014/09/01 15:11:58
Done.
| |
| 169 // handler is installed by policy, removeHandler does nothing. | |
| 170 delegate.setDefault(data.handlers[0]); | |
| 171 for (var i = 0; i < data.handlers.length; ++i) { | |
| 172 delegate.removeHandler(value, data.handlers[i]); | |
| 173 } | |
| 174 }; | |
| 175 } else { | |
| 176 indicator.controlledBy = 'recommended'; | |
| 177 } | |
| 178 this.appendChild(indicator); | |
| 179 } | |
| 180 | |
| 181 if (data.registered_by_user) { | |
| 182 // Remove link. | |
| 183 var removeElement = document.createElement('div'); | |
| 184 removeElement.textContent = | |
| 185 loadTimeData.getString('handlers_remove_link'); | |
| 186 removeElement.addEventListener('click', function(e) { | |
| 187 var value = selectElement ? selectElement.value : 0; | |
| 188 delegate.removeHandler(value, data.handlers[value]); | |
| 189 }); | |
| 190 removeElement.className = | |
| 191 'handlers-remove-column handlers-remove-link'; | |
| 192 this.appendChild(removeElement); | |
| 193 } | |
| 164 }, | 194 }, |
| 165 | 195 |
| 166 /** @override */ | 196 /** @override */ |
| 167 decorate: function() { | 197 decorate: function() { |
| 168 ListItem.prototype.decorate.call(this); | 198 ListItem.prototype.decorate.call(this); |
| 169 | 199 |
| 170 var delegate = { | 200 var delegate = { |
| 171 removeHandler: function(index, handler) { | 201 removeHandler: function(index, handler) { |
| 172 chrome.send('removeHandler', [handler]); | 202 chrome.send('removeHandler', [handler]); |
| 173 }, | 203 }, |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 216 }, | 246 }, |
| 217 }; | 247 }; |
| 218 | 248 |
| 219 return { | 249 return { |
| 220 IgnoredHandlersListItem: IgnoredHandlersListItem, | 250 IgnoredHandlersListItem: IgnoredHandlersListItem, |
| 221 IgnoredHandlersList: IgnoredHandlersList, | 251 IgnoredHandlersList: IgnoredHandlersList, |
| 222 HandlerListItem: HandlerListItem, | 252 HandlerListItem: HandlerListItem, |
| 223 HandlersList: HandlersList, | 253 HandlersList: HandlersList, |
| 224 }; | 254 }; |
| 225 }); | 255 }); |
| OLD | NEW |