| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 Behavior common to Site Settings classes. | 6 * @fileoverview Behavior common to Site Settings classes. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 /** @polymerBehavior */ | 9 /** @polymerBehavior */ |
| 10 var SiteSettingsBehaviorImpl = { | 10 var SiteSettingsBehaviorImpl = { |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 var key2 = origin + ',*'; | 63 var key2 = origin + ',*'; |
| 64 if (pref.value[key1] != undefined) | 64 if (pref.value[key1] != undefined) |
| 65 pref.value[key1].setting = value; | 65 pref.value[key1].setting = value; |
| 66 if (pref.value[key2] != undefined) | 66 if (pref.value[key2] != undefined) |
| 67 pref.value[key2].setting = value; | 67 pref.value[key2].setting = value; |
| 68 this.setPrefValue( | 68 this.setPrefValue( |
| 69 this.computeCategoryExceptionsPrefName(category), pref.value); | 69 this.computeCategoryExceptionsPrefName(category), pref.value); |
| 70 }, | 70 }, |
| 71 | 71 |
| 72 /** | 72 /** |
| 73 * A utility function to lookup a category name from its enum. |
| 74 * @param {number} category The category ID to look up. |
| 75 * @return {string} The category found or blank string if not found. |
| 76 * @protected |
| 77 */ |
| 78 computeCategoryTextId: function(category) { |
| 79 switch (category) { |
| 80 case settings.ContentSettingsTypes.CAMERA: |
| 81 return 'camera'; |
| 82 case settings.ContentSettingsTypes.COOKIES: |
| 83 return 'cookies'; |
| 84 case settings.ContentSettingsTypes.FULLSCREEN: |
| 85 return 'fullscreen'; |
| 86 case settings.ContentSettingsTypes.GEOLOCATION: |
| 87 return 'location'; |
| 88 case settings.ContentSettingsTypes.IMAGES: |
| 89 return 'images'; |
| 90 case settings.ContentSettingsTypes.JAVASCRIPT: |
| 91 return 'javascript'; |
| 92 case settings.ContentSettingsTypes.MIC: |
| 93 return 'microphone'; |
| 94 case settings.ContentSettingsTypes.NOTIFICATIONS: |
| 95 return 'notifications'; |
| 96 case settings.ContentSettingsTypes.POPUPS: |
| 97 return 'popups'; |
| 98 default: |
| 99 return ''; |
| 100 } |
| 101 }, |
| 102 |
| 103 /** |
| 73 * A utility function to compute the icon to use for the category. | 104 * A utility function to compute the icon to use for the category. |
| 74 * @param {number} category The category to show the icon for. | 105 * @param {number} category The category to show the icon for. |
| 75 * @return {string} The id of the icon for the given category. | 106 * @return {string} The id of the icon for the given category. |
| 76 * @protected | 107 * @protected |
| 77 */ | 108 */ |
| 78 computeIconForContentCategory: function(category) { | 109 computeIconForContentCategory: function(category) { |
| 79 switch (category) { | 110 switch (category) { |
| 80 case settings.ContentSettingsTypes.CAMERA: | 111 case settings.ContentSettingsTypes.CAMERA: |
| 81 return 'av:videocam'; | 112 return 'av:videocam'; |
| 82 case settings.ContentSettingsTypes.COOKIES: | 113 case settings.ContentSettingsTypes.COOKIES: |
| 83 return 'md-settings-icons:cookie'; | 114 return 'md-settings-icons:cookie'; |
| 84 case settings.ContentSettingsTypes.FULLSCREEN: | 115 case settings.ContentSettingsTypes.FULLSCREEN: |
| 85 return 'icons:fullscreen'; | 116 return 'icons:fullscreen'; |
| 86 case settings.ContentSettingsTypes.GEOLOCATION: | 117 case settings.ContentSettingsTypes.GEOLOCATION: |
| 87 return 'communication:location-on'; | 118 return 'communication:location-on'; |
| 88 case settings.ContentSettingsTypes.IMAGES: | 119 case settings.ContentSettingsTypes.IMAGES: |
| 89 return 'image:photo'; | 120 return 'image:photo'; |
| 90 case settings.ContentSettingsTypes.JAVASCRIPT: | 121 case settings.ContentSettingsTypes.JAVASCRIPT: |
| 91 return 'icons:input'; | 122 return 'icons:input'; |
| 92 case settings.ContentSettingsTypes.MIC: | 123 case settings.ContentSettingsTypes.MIC: |
| 93 return 'av:mic'; | 124 return 'av:mic'; |
| 94 case settings.ContentSettingsTypes.NOTIFICATION: | 125 case settings.ContentSettingsTypes.NOTIFICATIONS: |
| 95 return 'social:notifications'; | 126 return 'social:notifications'; |
| 96 case settings.ContentSettingsTypes.POPUPS: | 127 case settings.ContentSettingsTypes.POPUPS: |
| 97 return 'icons:open-in-new'; | 128 return 'icons:open-in-new'; |
| 98 default: | 129 default: |
| 99 assertNotReached(); | 130 assertNotReached(); |
| 100 return ''; | 131 return ''; |
| 101 } | 132 } |
| 102 }, | 133 }, |
| 103 | 134 |
| 104 /** | 135 /** |
| (...skipping 11 matching lines...) Expand all Loading... |
| 116 case settings.ContentSettingsTypes.FULLSCREEN: | 147 case settings.ContentSettingsTypes.FULLSCREEN: |
| 117 return loadTimeData.getString('siteSettingsFullscreen'); | 148 return loadTimeData.getString('siteSettingsFullscreen'); |
| 118 case settings.ContentSettingsTypes.GEOLOCATION: | 149 case settings.ContentSettingsTypes.GEOLOCATION: |
| 119 return loadTimeData.getString('siteSettingsLocation'); | 150 return loadTimeData.getString('siteSettingsLocation'); |
| 120 case settings.ContentSettingsTypes.IMAGES: | 151 case settings.ContentSettingsTypes.IMAGES: |
| 121 return loadTimeData.getString('siteSettingsImages'); | 152 return loadTimeData.getString('siteSettingsImages'); |
| 122 case settings.ContentSettingsTypes.JAVASCRIPT: | 153 case settings.ContentSettingsTypes.JAVASCRIPT: |
| 123 return loadTimeData.getString('siteSettingsJavascript'); | 154 return loadTimeData.getString('siteSettingsJavascript'); |
| 124 case settings.ContentSettingsTypes.MIC: | 155 case settings.ContentSettingsTypes.MIC: |
| 125 return loadTimeData.getString('siteSettingsMic'); | 156 return loadTimeData.getString('siteSettingsMic'); |
| 126 case settings.ContentSettingsTypes.NOTIFICATION: | 157 case settings.ContentSettingsTypes.NOTIFICATIONS: |
| 127 return loadTimeData.getString('siteSettingsNotifications'); | 158 return loadTimeData.getString('siteSettingsNotifications'); |
| 128 case settings.ContentSettingsTypes.POPUPS: | 159 case settings.ContentSettingsTypes.POPUPS: |
| 129 return loadTimeData.getString('siteSettingsPopups'); | 160 return loadTimeData.getString('siteSettingsPopups'); |
| 130 default: | 161 default: |
| 131 assertNotReached(); | 162 assertNotReached(); |
| 132 return ''; | 163 return ''; |
| 133 } | 164 } |
| 134 }, | 165 }, |
| 135 | 166 |
| 136 /** | 167 /** |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 172 case settings.ContentSettingsTypes.FULLSCREEN: | 203 case settings.ContentSettingsTypes.FULLSCREEN: |
| 173 return 'fullscreen'; | 204 return 'fullscreen'; |
| 174 case settings.ContentSettingsTypes.GEOLOCATION: | 205 case settings.ContentSettingsTypes.GEOLOCATION: |
| 175 return 'geolocation'; | 206 return 'geolocation'; |
| 176 case settings.ContentSettingsTypes.IMAGES: | 207 case settings.ContentSettingsTypes.IMAGES: |
| 177 return 'images'; | 208 return 'images'; |
| 178 case settings.ContentSettingsTypes.JAVASCRIPT: | 209 case settings.ContentSettingsTypes.JAVASCRIPT: |
| 179 return 'javascript'; | 210 return 'javascript'; |
| 180 case settings.ContentSettingsTypes.MIC: | 211 case settings.ContentSettingsTypes.MIC: |
| 181 return 'media_stream_mic'; | 212 return 'media_stream_mic'; |
| 182 case settings.ContentSettingsTypes.NOTIFICATION: | 213 case settings.ContentSettingsTypes.NOTIFICATIONS: |
| 183 return 'notifications'; | 214 return 'notifications'; |
| 184 case settings.ContentSettingsTypes.POPUPS: | 215 case settings.ContentSettingsTypes.POPUPS: |
| 185 return 'popups'; | 216 return 'popups'; |
| 186 default: | 217 default: |
| 187 assertNotReached(); | 218 assertNotReached(); |
| 188 return ''; | 219 return ''; |
| 189 } | 220 } |
| 190 }, | 221 }, |
| 191 | 222 |
| 192 /** | 223 /** |
| (...skipping 16 matching lines...) Expand all Loading... |
| 209 loadTimeData.getString('siteSettingsAllowedRecommended') : | 240 loadTimeData.getString('siteSettingsAllowedRecommended') : |
| 210 loadTimeData.getString('siteSettingsAllowed'); | 241 loadTimeData.getString('siteSettingsAllowed'); |
| 211 case settings.ContentSettingsTypes.POPUPS: | 242 case settings.ContentSettingsTypes.POPUPS: |
| 212 // "Allowed" vs "Blocked (recommended)". | 243 // "Allowed" vs "Blocked (recommended)". |
| 213 if (categoryEnabled) { | 244 if (categoryEnabled) { |
| 214 return loadTimeData.getString('siteSettingsAllowed'); | 245 return loadTimeData.getString('siteSettingsAllowed'); |
| 215 } | 246 } |
| 216 return showRecommendation ? | 247 return showRecommendation ? |
| 217 loadTimeData.getString('siteSettingsBlockedRecommended') : | 248 loadTimeData.getString('siteSettingsBlockedRecommended') : |
| 218 loadTimeData.getString('siteSettingsBlocked'); | 249 loadTimeData.getString('siteSettingsBlocked'); |
| 219 case settings.ContentSettingsTypes.NOTIFICATION: | 250 case settings.ContentSettingsTypes.NOTIFICATIONS: |
| 220 // "Ask before sending (recommended)" vs "Blocked". | 251 // "Ask before sending (recommended)" vs "Blocked". |
| 221 if (!categoryEnabled) { | 252 if (!categoryEnabled) { |
| 222 return loadTimeData.getString('siteSettingsBlocked'); | 253 return loadTimeData.getString('siteSettingsBlocked'); |
| 223 } | 254 } |
| 224 return showRecommendation ? | 255 return showRecommendation ? |
| 225 loadTimeData.getString('siteSettingsAskBeforeSendingRecommended') : | 256 loadTimeData.getString('siteSettingsAskBeforeSendingRecommended') : |
| 226 loadTimeData.getString('siteSettingsAskBeforeSending'); | 257 loadTimeData.getString('siteSettingsAskBeforeSending'); |
| 227 case settings.ContentSettingsTypes.GEOLOCATION: | 258 case settings.ContentSettingsTypes.GEOLOCATION: |
| 228 case settings.ContentSettingsTypes.CAMERA: | 259 case settings.ContentSettingsTypes.CAMERA: |
| 229 case settings.ContentSettingsTypes.MIC: | 260 case settings.ContentSettingsTypes.MIC: |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 277 return settings.ContentSettingsTypes[type]; | 308 return settings.ContentSettingsTypes[type]; |
| 278 } | 309 } |
| 279 } | 310 } |
| 280 assertNotReached(); | 311 assertNotReached(); |
| 281 return 0; | 312 return 0; |
| 282 }, | 313 }, |
| 283 }; | 314 }; |
| 284 | 315 |
| 285 /** @polymerBehavior */ | 316 /** @polymerBehavior */ |
| 286 var SiteSettingsBehavior = [PrefsBehavior, SiteSettingsBehaviorImpl]; | 317 var SiteSettingsBehavior = [PrefsBehavior, SiteSettingsBehaviorImpl]; |
| OLD | NEW |