summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/resources/options/controlled_setting.js
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/resources/options/controlled_setting.js')
-rw-r--r--chromium/chrome/browser/resources/options/controlled_setting.js37
1 files changed, 19 insertions, 18 deletions
diff --git a/chromium/chrome/browser/resources/options/controlled_setting.js b/chromium/chrome/browser/resources/options/controlled_setting.js
index 28674bd888b..5ac42d971e4 100644
--- a/chromium/chrome/browser/resources/options/controlled_setting.js
+++ b/chromium/chrome/browser/resources/options/controlled_setting.js
@@ -61,19 +61,9 @@ cr.define('options', function() {
if (!this.value || String(event.value.value) == this.value) {
this.controlledBy = event.value.controlledBy;
if (event.value.extension) {
- if (this.pref == 'session.restore_on_startup' ||
- this.pref == 'homepage_is_newtabpage') {
- // Special case for the restore on startup, which is implied
- // by the startup pages settings being controlled by an
- // extension, and same for the home page as NTP, so we don't want
- // to show two buttons in these cases.
- // TODO(mad): Find a better way to handle this.
- this.controlledBy = null;
- } else {
- this.extensionId = event.value.extension.id;
- this.extensionIcon = event.value.extension.icon;
- this.extensionName = event.value.extension.name;
- }
+ this.extensionId = event.value.extension.id;
+ this.extensionIcon = event.value.extension.icon;
+ this.extensionName = event.value.extension.name;
}
} else {
this.controlledBy = null;
@@ -105,6 +95,10 @@ cr.define('options', function() {
'extensionWithName': loadTimeData.getString(
'controlledSettingsExtensionWithName'),
};
+ if (cr.isChromeOS) {
+ defaultStrings.shared =
+ loadTimeData.getString('controlledSettingsShared');
+ }
} else {
var defaultStrings = {
'policy': loadTimeData.getString('controlledSettingPolicy'),
@@ -119,6 +113,8 @@ cr.define('options', function() {
if (cr.isChromeOS) {
defaultStrings.owner =
loadTimeData.getString('controlledSettingOwner');
+ defaultStrings.shared =
+ loadTimeData.getString('controlledSettingShared');
}
}
@@ -136,8 +132,7 @@ cr.define('options', function() {
// Create the DOM tree.
var content = document.createElement('div');
- content.className = 'controlled-setting-bubble-content';
- content.setAttribute('controlled-by', this.controlledBy);
+ content.classList.add('controlled-setting-bubble-header');
content.textContent = text;
if (this.controlledBy == 'hasRecommendation' && this.resetHandler_ &&
@@ -169,13 +164,15 @@ cr.define('options', function() {
var manageLink = extensionContainer.querySelector(
'.controlled-setting-bubble-extension-manage-link');
+ var extensionId = this.extensionId;
manageLink.onclick = function() {
uber.invokeMethodOnWindow(
- window.top, 'showPage', {pageId: 'extensions'});
+ window.top, 'showPage', {pageId: 'extensions',
+ path: '?id=' + extensionId});
};
- var disableButton = extensionContainer.querySelector('button');
- var extensionId = this.extensionId;
+ var disableButton = extensionContainer.querySelector(
+ '.controlled-setting-bubble-extension-disable-button');
disableButton.onclick = function() {
chrome.send('disableExtension', [extensionId]);
};
@@ -223,6 +220,10 @@ cr.define('options', function() {
* override this recommendation but has not done so.
* - 'hasRecommendation': A value is recommended by policy. The user has
* overridden this recommendation.
+ * - 'owner': A value is controlled by the owner of the device
+ * (Chrome OS only).
+ * - 'shared': A value belongs to the primary user but can be
+ * modified (Chrome OS only).
* - unset: The value is controlled by the user alone.
* @type {string}
*/