Index: chrome/browser/resources/options/content_settings_exceptions_area.js |
diff --git a/chrome/browser/resources/options/content_settings_exceptions_area.js b/chrome/browser/resources/options/content_settings_exceptions_area.js |
index 12004a53efdaf3658adecae84492dbefeb1a3c32..97b6f43d071dc6f7a6de7a5bc90091ebf9998380 100644 |
--- a/chrome/browser/resources/options/content_settings_exceptions_area.js |
+++ b/chrome/browser/resources/options/content_settings_exceptions_area.js |
@@ -10,6 +10,21 @@ cr.define('options.contentSettings', function() { |
/** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; |
/** |
+ * Returns whether exceptions list for the type is editable. |
+ * |
+ * @param {string} contentType The type of the list. |
+ */ |
+ function IsEditableType(contentType) { |
+ // Exceptions of the following lists are not editable for now. |
+ return !(contentType == 'notifications' || |
+ contentType == 'location' || |
+ contentType == 'fullscreen' || |
+ contentType == 'media-stream' || |
+ contentType == 'midi-sysex' || |
+ contentType == 'zoomlevels'); |
+ } |
+ |
+ /** |
* Creates a new exceptions list item. |
* |
* @param {string} contentType The type of the list. |
@@ -124,7 +139,6 @@ cr.define('options.contentSettings', function() { |
if (this.contentType == 'zoomlevels') { |
this.deletable = true; |
- this.editable = false; |
var zoomLabel = cr.doc.createElement('span'); |
zoomLabel.textContent = this.dataItem.zoom; |
@@ -151,14 +165,7 @@ cr.define('options.contentSettings', function() { |
this.select = select; |
this.updateEditables(); |
- |
- // Editing notifications, geolocation and media-stream is disabled for |
- // now. |
- if (this.contentType == 'notifications' || |
- this.contentType == 'location' || |
- this.contentType == 'media-stream') { |
- this.editable = false; |
- } |
+ this.editable = this.editable && IsEditableType(this.contentType); |
// If the source of the content setting exception is not a user |
// preference, that source controls the exception and the user cannot edit |
@@ -540,11 +547,7 @@ cr.define('options.contentSettings', function() { |
*/ |
isEditable: function() { |
// Exceptions of the following lists are not editable for now. |
- return !(this.contentType == 'notifications' || |
- this.contentType == 'location' || |
- this.contentType == 'fullscreen' || |
- this.contentType == 'media-stream' || |
- this.contentType == 'zoomlevels'); |
+ return IsEditableType(this.contentType); |
}, |
/** |