| 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 Page = cr.ui.pageManager.Page; | 6 /** @const */ var Page = cr.ui.pageManager.Page; |
| 7 /** @const */ var PageManager = cr.ui.pageManager.PageManager; | 7 /** @const */ var PageManager = cr.ui.pageManager.PageManager; |
| 8 | 8 |
| 9 // Lookup table to generate the i18n strings. | 9 // Lookup table to generate the i18n strings. |
| 10 /** @const */ var permissionsLookup = { | 10 /** @const */ var permissionsLookup = { |
| 11 'location': 'location', | 11 'location': 'location', |
| 12 'notifications': 'notifications', | 12 'notifications': 'notifications', |
| 13 'media-stream': 'mediaStream', | 13 'media-stream': 'mediaStream', |
| 14 'cookies': 'cookies', | 14 'cookies': 'cookies', |
| 15 'multiple-automatic-downloads': 'multipleAutomaticDownloads', | 15 'multiple-automatic-downloads': 'multipleAutomaticDownloads', |
| 16 'images': 'images', | 16 'images': 'images', |
| 17 'plugins': 'plugins', | 17 'plugins': 'plugins', |
| 18 'popups': 'popups', | 18 'popups': 'popups', |
| 19 'javascript': 'javascript' | 19 'javascript': 'javascript' |
| 20 }; | 20 }; |
| 21 | 21 |
| 22 ////////////////////////////////////////////////////////////////////////////// | 22 ////////////////////////////////////////////////////////////////////////////// |
| 23 // ContentSettings class: | 23 // ContentSettings class: |
| 24 | 24 |
| 25 /** | 25 /** |
| 26 * Encapsulated handling of content settings page. | 26 * Encapsulated handling of content settings page. |
| 27 * @constructor | 27 * @constructor |
| 28 * @extends {cr.ui.pageManager.Page} |
| 28 */ | 29 */ |
| 29 function ContentSettings() { | 30 function ContentSettings() { |
| 30 this.activeNavTab = null; | 31 this.activeNavTab = null; |
| 31 Page.call(this, 'content', | 32 Page.call(this, 'content', |
| 32 loadTimeData.getString('contentSettingsPageTabTitle'), | 33 loadTimeData.getString('contentSettingsPageTabTitle'), |
| 33 'content-settings-page'); | 34 'content-settings-page'); |
| 34 } | 35 } |
| 35 | 36 |
| 36 cr.addSingletonGetter(ContentSettings); | 37 cr.addSingletonGetter(ContentSettings); |
| 37 | 38 |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 for (var i = 0; i < indicators.length; i++) { | 156 for (var i = 0; i < indicators.length; i++) { |
| 156 indicators[i].handlePrefChange(event); | 157 indicators[i].handlePrefChange(event); |
| 157 } | 158 } |
| 158 } | 159 } |
| 159 }; | 160 }; |
| 160 | 161 |
| 161 /** | 162 /** |
| 162 * Updates the labels and indicators for the Media settings. Those require | 163 * Updates the labels and indicators for the Media settings. Those require |
| 163 * special handling because they are backed by multiple prefs and can change | 164 * special handling because they are backed by multiple prefs and can change |
| 164 * their scope based on the managed state of the backing prefs. | 165 * their scope based on the managed state of the backing prefs. |
| 165 * @param {Object} mediaSettings A dictionary containing the following fields: | 166 * @param {{askText: string, blockText: string, cameraDisabled: boolean, |
| 166 * {String} askText The label for the ask radio button. | 167 * micDisabled: boolean, showBubble: boolean, bubbleText: string}} |
| 167 * {String} blockText The label for the block radio button. | 168 * mediaSettings A dictionary containing the following fields: |
| 168 * {Boolean} cameraDisabled Whether to disable the camera dropdown. | 169 * askText The label for the ask radio button. |
| 169 * {Boolean} micDisabled Whether to disable the microphone dropdown. | 170 * blockText The label for the block radio button. |
| 170 * {Boolean} showBubble Wether to show the managed icon and bubble for the | 171 * cameraDisabled Whether to disable the camera dropdown. |
| 171 * media label. | 172 * micDisabled Whether to disable the microphone dropdown. |
| 172 * {String} bubbleText The text to use inside the bubble if it is shown. | 173 * showBubble Wether to show the managed icon and bubble for the media |
| 174 * label. |
| 175 * bubbleText The text to use inside the bubble if it is shown. |
| 173 */ | 176 */ |
| 174 ContentSettings.updateMediaUI = function(mediaSettings) { | 177 ContentSettings.updateMediaUI = function(mediaSettings) { |
| 175 $('media-stream-ask-label').innerHTML = | 178 $('media-stream-ask-label').innerHTML = |
| 176 loadTimeData.getString(mediaSettings.askText); | 179 loadTimeData.getString(mediaSettings.askText); |
| 177 $('media-stream-block-label').innerHTML = | 180 $('media-stream-block-label').innerHTML = |
| 178 loadTimeData.getString(mediaSettings.blockText); | 181 loadTimeData.getString(mediaSettings.blockText); |
| 179 | 182 |
| 180 if (mediaSettings.micDisabled) | 183 if (mediaSettings.micDisabled) |
| 181 $('media-select-mic').disabled = true; | 184 $('media-select-mic').disabled = true; |
| 182 if (mediaSettings.cameraDisabled) | 185 if (mediaSettings.cameraDisabled) |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 } | 230 } |
| 228 }; | 231 }; |
| 229 | 232 |
| 230 /** | 233 /** |
| 231 * @param {string} type The type of exceptions (e.g. "location") to get. | 234 * @param {string} type The type of exceptions (e.g. "location") to get. |
| 232 * @param {string} mode The mode of the desired exceptions list (e.g. otr). | 235 * @param {string} mode The mode of the desired exceptions list (e.g. otr). |
| 233 * @return {?options.contentSettings.ExceptionsList} The corresponding | 236 * @return {?options.contentSettings.ExceptionsList} The corresponding |
| 234 * exceptions list or null. | 237 * exceptions list or null. |
| 235 */ | 238 */ |
| 236 ContentSettings.getExceptionsList = function(type, mode) { | 239 ContentSettings.getExceptionsList = function(type, mode) { |
| 237 return document.querySelector( | 240 var exceptionsList = document.querySelector( |
| 238 'div[contentType=' + type + '] list[mode=' + mode + ']'); | 241 'div[contentType=' + type + '] list[mode=' + mode + ']'); |
| 242 return !exceptionsList ? null : |
| 243 assertInstanceof(exceptionsList, |
| 244 options.contentSettings.ExceptionsList); |
| 239 }; | 245 }; |
| 240 | 246 |
| 241 /** | 247 /** |
| 242 * The browser's response to a request to check the validity of a given URL | 248 * The browser's response to a request to check the validity of a given URL |
| 243 * pattern. | 249 * pattern. |
| 244 * @param {string} type The content type. | 250 * @param {string} type The content type. |
| 245 * @param {string} mode The browser mode. | 251 * @param {string} mode The browser mode. |
| 246 * @param {string} pattern The pattern. | 252 * @param {string} pattern The pattern. |
| 247 * @param {boolean} valid Whether said pattern is valid in the context of | 253 * @param {boolean} valid Whether said pattern is valid in the context of |
| 248 * a content exception setting. | 254 * a content exception setting. |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 var deviceSelect = $('media-select-camera'); | 347 var deviceSelect = $('media-select-camera'); |
| 342 chrome.send('setDefaultCaptureDevice', ['camera', deviceSelect.value]); | 348 chrome.send('setDefaultCaptureDevice', ['camera', deviceSelect.value]); |
| 343 }; | 349 }; |
| 344 | 350 |
| 345 // Export | 351 // Export |
| 346 return { | 352 return { |
| 347 ContentSettings: ContentSettings | 353 ContentSettings: ContentSettings |
| 348 }; | 354 }; |
| 349 | 355 |
| 350 }); | 356 }); |
| OLD | NEW |