| Index: chrome/browser/resources/extensions/extension_list.js
|
| diff --git a/chrome/browser/resources/extensions/extension_list.js b/chrome/browser/resources/extensions/extension_list.js
|
| index b3a8f29cc23c10157479827b2551a56ffac472db..b48b683e747843d28f9ee9498776101fb898722b 100644
|
| --- a/chrome/browser/resources/extensions/extension_list.js
|
| +++ b/chrome/browser/resources/extensions/extension_list.js
|
| @@ -85,7 +85,8 @@ cr.define('options', function() {
|
| if (!extension.enabled || extension.terminated)
|
| node.classList.add('inactive-extension');
|
|
|
| - if (extension.managedInstall) {
|
| + if (extension.managedInstall ||
|
| + extension.dependentExtensions.length > 0) {
|
| node.classList.add('may-not-modify');
|
| node.classList.add('may-not-remove');
|
| } else if (extension.suspiciousInstall || extension.corruptInstall) {
|
| @@ -236,12 +237,13 @@ cr.define('options', function() {
|
| // The 'Enabled' checkbox.
|
| var enable = node.querySelector('.enable-checkbox');
|
| enable.hidden = false;
|
| - var managedOrHosedExtension = extension.managedInstall ||
|
| - extension.suspiciousInstall ||
|
| - extension.corruptInstall;
|
| - enable.querySelector('input').disabled = managedOrHosedExtension;
|
| + var enableCheckboxDisabled = extension.managedInstall ||
|
| + extension.suspiciousInstall ||
|
| + extension.corruptInstall ||
|
| + extension.dependentExtensions.length > 0;
|
| + enable.querySelector('input').disabled = enableCheckboxDisabled;
|
|
|
| - if (!managedOrHosedExtension) {
|
| + if (!enableCheckboxDisabled) {
|
| enable.addEventListener('click', function(e) {
|
| // When e.target is the label instead of the checkbox, it doesn't
|
| // have the checked property and the state of the checkbox is
|
| @@ -312,6 +314,18 @@ cr.define('options', function() {
|
| }
|
| }
|
|
|
| + if (extension.dependentExtensions.length > 0) {
|
| + var dependentMessage =
|
| + node.querySelector('.dependent-extensions-message');
|
| + dependentMessage.hidden = false;
|
| + var dependentList = dependentMessage.querySelector('ul');
|
| + extension.dependentExtensions.forEach(function(id) {
|
| + var li = document.createElement('li');
|
| + li.innerText = id;
|
| + dependentList.appendChild(li);
|
| + });
|
| + }
|
| +
|
| // Then active views.
|
| if (extension.views.length > 0) {
|
| var activeViews = node.querySelector('.active-views');
|
|
|