Chromium Code Reviews| Index: chrome/browser/resources/options/handler_options_list.js |
| diff --git a/chrome/browser/resources/options/handler_options_list.js b/chrome/browser/resources/options/handler_options_list.js |
| index 12129a89a2558610258ed49cc2162e9e3abf4170..fb642d60a589b1863ce8c4f049e0e2a03e939afa 100644 |
| --- a/chrome/browser/resources/options/handler_options_list.js |
| +++ b/chrome/browser/resources/options/handler_options_list.js |
| @@ -151,16 +151,46 @@ cr.define('options', function() { |
| this.classList.add('none'); |
| this.appendChild(handlerElement); |
| - // Remove link. |
| - var removeElement = document.createElement('div'); |
| - removeElement.textContent = |
| - loadTimeData.getString('handlers_remove_link'); |
| - removeElement.addEventListener('click', function(e) { |
| - var value = selectElement ? selectElement.value : 0; |
| - delegate.removeHandler(value, data.handlers[value]); |
| - }); |
| - removeElement.className = 'handlers-remove-column handlers-remove-link'; |
| - this.appendChild(removeElement); |
| + if (data.has_policy_recommendations) { |
| + // Create an indicator to show that the handler has policy |
| + // recommendation. |
|
bartfab (slow)
2014/09/01 14:56:44
Nit: s/recommendation/recommendations/
kaliamoorthi
2014/09/01 15:11:58
Done.
|
| + var indicator = new options.ControlledSettingIndicator(); |
| + if (data.registered_by_user || data.default_handler == -1) { |
| + // The default handler is registered by the user or set to none, which |
| + // 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.
|
| + // recommendation. Show the appropriate bubble. |
| + indicator.controlledBy = 'hasRecommendation'; |
| + indicator.resetHandler = function() { |
| + // If there is a policy recommendation, data.handlers.length >= 1. |
| + // Setting the default handler to 0 ensures that it won't be 'none', |
| + // and there *is* a user registered handler created by setDefault, |
| + // 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.
|
| + // 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.
|
| + // handler is installed by policy, removeHandler does nothing. |
| + delegate.setDefault(data.handlers[0]); |
| + for (var i = 0; i < data.handlers.length; ++i) { |
| + delegate.removeHandler(value, data.handlers[i]); |
| + } |
| + }; |
| + } else { |
| + indicator.controlledBy = 'recommended'; |
| + } |
| + this.appendChild(indicator); |
| + } |
| + |
| + if (data.registered_by_user) { |
| + // Remove link. |
| + var removeElement = document.createElement('div'); |
| + removeElement.textContent = |
| + loadTimeData.getString('handlers_remove_link'); |
| + removeElement.addEventListener('click', function(e) { |
| + var value = selectElement ? selectElement.value : 0; |
| + delegate.removeHandler(value, data.handlers[value]); |
| + }); |
| + removeElement.className = |
| + 'handlers-remove-column handlers-remove-link'; |
| + this.appendChild(removeElement); |
| + } |
| }, |
| /** @override */ |