Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 /** | 5 /** |
| 6 * @fileoverview A helper object used from the "Site Settings" section to | 6 * @fileoverview A helper object used from the "Site Settings" section to |
| 7 * interact with the content settings prefs. | 7 * interact with the content settings prefs. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 /** | 10 /** |
| 11 * The handler will send a policy source that is similar, but not exactly the | 11 * The handler will send a policy source that is similar, but not exactly the |
| 12 * same as a ControlledBy value. If the ContentSettingProvider is omitted it | 12 * same as a ControlledBy value. If the ContentSettingProvider is omitted it |
| 13 * should be treated as 'default'. | 13 * should be treated as 'default'. |
| 14 * @enum {string} | 14 * @enum {string} |
| 15 */ | 15 */ |
| 16 var ContentSettingProvider = { | 16 var ContentSettingProvider = { |
| 17 EXTENSION: 'extension', | 17 EXTENSION: 'extension', |
| 18 PREFERENCE: 'preference', | 18 PREFERENCE: 'preference', |
| 19 }; | 19 }; |
| 20 | 20 |
| 21 /** | 21 /** |
| 22 * The site exception information passed form the C++ handler. | 22 * The site exception information passed from the C++ handler. |
| 23 * See also: SiteException. | 23 * See also: SiteException. |
| 24 * @typedef {{embeddingOrigin: string, | 24 * @typedef {{embeddingOrigin: string, |
| 25 * embeddingDisplayName: string, | 25 * embeddingDisplayName: string, |
| 26 * incognito: boolean, | 26 * incognito: boolean, |
| 27 * origin: string, | 27 * origin: string, |
| 28 * displayName: string, | 28 * displayName: string, |
| 29 * setting: string, | 29 * setting: string, |
| 30 * source: string}} | 30 * source: string}} |
| 31 */ | 31 */ |
| 32 var RawSiteException; | 32 var RawSiteException; |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 121 getDefaultValueForContentType(contentType) {} | 121 getDefaultValueForContentType(contentType) {} |
| 122 | 122 |
| 123 /** | 123 /** |
| 124 * Gets the exceptions (site list) for a particular category. | 124 * Gets the exceptions (site list) for a particular category. |
| 125 * @param {string} contentType The name of the category to query. | 125 * @param {string} contentType The name of the category to query. |
| 126 * @return {!Promise<!Array<!RawSiteException>>} | 126 * @return {!Promise<!Array<!RawSiteException>>} |
| 127 */ | 127 */ |
| 128 getExceptionList(contentType) {} | 128 getExceptionList(contentType) {} |
| 129 | 129 |
| 130 /** | 130 /** |
| 131 * Gets the exception details for a particular site. | |
| 132 * @param {string} site The name of the site. | |
| 133 * @return {!Promise<!RawSiteException>} | |
| 134 */ | |
| 135 getSiteDetails(site) {} | |
| 136 | |
| 137 /** | |
| 138 * Resets the category permission for a given origin (expressed as primary | 131 * Resets the category permission for a given origin (expressed as primary |
| 139 * and secondary patterns). | 132 * and secondary patterns). |
| 140 * @param {string} primaryPattern The origin to change (primary pattern). | 133 * @param {string} primaryPattern The origin to change (primary pattern). |
| 141 * @param {string} secondaryPattern The embedding origin to change | 134 * @param {string} secondaryPattern The embedding origin to change |
| 142 * (secondary pattern). | 135 * (secondary pattern). |
| 143 * @param {string} contentType The name of the category to reset. | 136 * @param {string} contentType The name of the category to reset. |
| 144 * @param {boolean} incognito Whether this applies only to a current | 137 * @param {boolean} incognito Whether this applies only to a current |
| 145 * incognito session exception. | 138 * incognito session exception. |
| 146 */ | 139 */ |
| 147 resetCategoryPermissionForOrigin( | 140 resetCategoryPermissionForOrigin( |
| 148 primaryPattern, secondaryPattern, contentType, incognito) {} | 141 primaryPattern, secondaryPattern, contentType, incognito) {} |
| 149 | 142 |
| 150 /** | 143 /** |
| 144 * Gets a list of category permissions for a given origin. Note that this | |
| 145 * may be different to the results retrieved by getExceptionList(), since it | |
| 146 * combines different sources of data to get a permission's value. | |
| 147 * @param {string} origin The origin to look up permissions for. | |
| 148 * @param {Array<string>} contentTypes A list of categories to retrieve | |
|
dschuyler
2017/06/28 23:55:52
Let's insist that Array is not null:
@param {!Arra
Patti Lor
2017/06/29 02:11:07
Done.
| |
| 149 * the ContentSetting for. | |
| 150 * @return {!Promise<!NodeList<!RawSiteException>>} | |
| 151 */ | |
| 152 getOriginPermissions(origin, contentTypes) {} | |
| 153 | |
| 154 /** | |
| 151 * Sets the category permission for a given origin (expressed as primary | 155 * Sets the category permission for a given origin (expressed as primary |
| 152 * and secondary patterns). | 156 * and secondary patterns). |
| 153 * @param {string} primaryPattern The origin to change (primary pattern). | 157 * @param {string} primaryPattern The origin to change (primary pattern). |
| 154 * @param {string} secondaryPattern The embedding origin to change | 158 * @param {string} secondaryPattern The embedding origin to change |
| 155 * (secondary pattern). | 159 * (secondary pattern). |
| 156 * @param {string} contentType The name of the category to change. | 160 * @param {string} contentType The name of the category to change. |
| 157 * @param {string} value The value to change the permission to. | 161 * @param {string} value The value to change the permission to. |
| 158 * @param {boolean} incognito Whether this rule applies only to the current | 162 * @param {boolean} incognito Whether this rule applies only to the current |
| 159 * incognito session. | 163 * incognito session. |
| 160 */ | 164 */ |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 303 getDefaultValueForContentType(contentType) { | 307 getDefaultValueForContentType(contentType) { |
| 304 return cr.sendWithPromise('getDefaultValueForContentType', contentType); | 308 return cr.sendWithPromise('getDefaultValueForContentType', contentType); |
| 305 } | 309 } |
| 306 | 310 |
| 307 /** @override */ | 311 /** @override */ |
| 308 getExceptionList(contentType) { | 312 getExceptionList(contentType) { |
| 309 return cr.sendWithPromise('getExceptionList', contentType); | 313 return cr.sendWithPromise('getExceptionList', contentType); |
| 310 } | 314 } |
| 311 | 315 |
| 312 /** @override */ | 316 /** @override */ |
| 313 getSiteDetails(site) { | |
| 314 return cr.sendWithPromise('getSiteDetails', site); | |
| 315 } | |
| 316 | |
| 317 /** @override */ | |
| 318 resetCategoryPermissionForOrigin( | 317 resetCategoryPermissionForOrigin( |
| 319 primaryPattern, secondaryPattern, contentType, incognito) { | 318 primaryPattern, secondaryPattern, contentType, incognito) { |
| 320 chrome.send( | 319 chrome.send( |
| 321 'resetCategoryPermissionForOrigin', | 320 'resetCategoryPermissionForOrigin', |
| 322 [primaryPattern, secondaryPattern, contentType, incognito]); | 321 [primaryPattern, secondaryPattern, contentType, incognito]); |
| 323 } | 322 } |
| 324 | 323 |
| 325 /** @override */ | 324 /** @override */ |
| 325 getOriginPermissions(origin, contentTypes) { | |
| 326 return cr.sendWithPromise('getOriginPermissions', origin, contentTypes); | |
| 327 } | |
| 328 | |
| 329 /** @override */ | |
| 326 setCategoryPermissionForOrigin( | 330 setCategoryPermissionForOrigin( |
| 327 primaryPattern, secondaryPattern, contentType, value, incognito) { | 331 primaryPattern, secondaryPattern, contentType, value, incognito) { |
| 328 // TODO(dschuyler): It may be incorrect for JS to send the embeddingOrigin | 332 // TODO(dschuyler): It may be incorrect for JS to send the embeddingOrigin |
| 329 // pattern. Look into removing this parameter from site_settings_handler. | 333 // pattern. Look into removing this parameter from site_settings_handler. |
| 330 // Ignoring the |secondaryPattern| and using '' instead is a quick-fix. | 334 // Ignoring the |secondaryPattern| and using '' instead is a quick-fix. |
| 331 chrome.send( | 335 chrome.send( |
| 332 'setCategoryPermissionForOrigin', | 336 'setCategoryPermissionForOrigin', |
| 333 [primaryPattern, '', contentType, value, incognito]); | 337 [primaryPattern, '', contentType, value, incognito]); |
| 334 } | 338 } |
| 335 | 339 |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 421 | 425 |
| 422 // The singleton instance_ is replaced with a test version of this wrapper | 426 // The singleton instance_ is replaced with a test version of this wrapper |
| 423 // during testing. | 427 // during testing. |
| 424 cr.addSingletonGetter(SiteSettingsPrefsBrowserProxyImpl); | 428 cr.addSingletonGetter(SiteSettingsPrefsBrowserProxyImpl); |
| 425 | 429 |
| 426 return { | 430 return { |
| 427 SiteSettingsPrefsBrowserProxy: SiteSettingsPrefsBrowserProxy, | 431 SiteSettingsPrefsBrowserProxy: SiteSettingsPrefsBrowserProxy, |
| 428 SiteSettingsPrefsBrowserProxyImpl: SiteSettingsPrefsBrowserProxyImpl, | 432 SiteSettingsPrefsBrowserProxyImpl: SiteSettingsPrefsBrowserProxyImpl, |
| 429 }; | 433 }; |
| 430 }); | 434 }); |
| OLD | NEW |