| OLD | NEW |
| 1 { | 1 { |
| 2 // Defines properties which are available on the Settings object. | 2 // Defines properties which are available on the Settings object. |
| 3 // | 3 // |
| 4 // Please think carefully before adding a new Setting. Some questions to | 4 // Please think carefully before adding a new Setting. Some questions to |
| 5 // consider are: | 5 // consider are: |
| 6 // - Should this be a RuntimeEnabledFeature instead? Settings are for things | 6 // - Should this be a RuntimeEnabledFeature instead? Settings are for things |
| 7 // which we support either values of at runtime. Features are set at renderer | 7 // which we support either values of at runtime. Features are set at render
er |
| 8 // process startup and are never changed. Features also tend to be set to a | 8 // process startup and are never changed. Features also tend to be set to a |
| 9 // value based on the platform or the stability of the code in question, where | 9 // value based on the platform or the stability of the code in question, whe
re |
| 10 // as settings both codepaths need to be stable. | 10 // as settings both codepaths need to be stable. |
| 11 // - How will you ensure test coverage of all relevant values of your setting? | 11 // - How will you ensure test coverage of all relevant values of your setting? |
| 12 // - Is the default value appropriate for other platforms or ports which may | 12 // - Is the default value appropriate for other platforms or ports which may |
| 13 // not be aware of your setting? | 13 // not be aware of your setting? |
| 14 // - Can your setting result in behavior differences observable to web | 14 // - Can your setting result in behavior differences observable to web |
| 15 // developers? | 15 // developers? |
| 16 // - Should this setting ideally be removed in the future? If so please file | 16 // - Should this setting ideally be removed in the future? If so please file |
| 17 // a bug and reference it in the comments for your setting. | 17 // a bug and reference it in the comments for your setting. |
| 18 // | 18 // |
| 19 // One reason to add a Setting is to manage the risk associated with adding a | 19 // One reason to add a Setting is to manage the risk associated with adding a |
| 20 // new feature. For example, we may choose to ship a new UI behavior or | 20 // new feature. For example, we may choose to ship a new UI behavior or |
| 21 // performance optimization to ChromeOS users first (in order to gather feedback | 21 // performance optimization to ChromeOS users first (in order to gather feedba
ck |
| 22 // and metrics on its use from the wild) before attempting to ship it to | 22 // and metrics on its use from the wild) before attempting to ship it to |
| 23 // Windows. | 23 // Windows. |
| 24 // | 24 // |
| 25 // FIXME: Add support for global settings. | 25 // FIXME: Add support for global settings. |
| 26 // FIXME: Add support for custom getters/setters. | 26 // FIXME: Add support for custom getters/setters. |
| 27 | 27 |
| 28 // Valid parameters for data entries below. | 28 // Valid parameters for data entries below. |
| 29 parameters: { | 29 parameters: { |
| 30 type: { | 30 type: { |
| 31 default: "bool" | 31 default: "bool" |
| 32 }, | 32 }, |
| 33 initial: {}, | 33 initial: {}, |
| 34 invalidate: {}, | 34 invalidate: {}, |
| 35 }, | |
| 36 | |
| 37 data: [ | |
| 38 { | |
| 39 name: "defaultTextEncodingName", | |
| 40 type: "String", | |
| 41 }, | 35 }, |
| 42 | 36 |
| 43 // Do not hide chars typed in password fields immediately, but let the last ch
ar stay | 37 data: [ |
| 44 // visible for N seconds, configured by the passwordEchoDurationInSeconds sett
ing | 38 { |
| 45 // FIXME: Enable automatically if passwordEchoDurationInSeconds is set to a po
sitive value. | 39 name: "defaultTextEncodingName", |
| 46 { | 40 type: "String", |
| 47 name: "passwordEchoEnabled", | 41 }, |
| 48 initial: false, | 42 |
| 49 }, | 43 // Do not hide chars typed in password fields immediately, but let the last
char stay |
| 50 | 44 // visible for N seconds, configured by the passwordEchoDurationInSeconds se
tting |
| 51 // Configure how long the last char should say visible in seconds. | 45 // FIXME: Enable automatically if passwordEchoDurationInSeconds is set to a
positive value. |
| 52 { | 46 { |
| 53 name: "passwordEchoDurationInSeconds", | 47 name: "passwordEchoEnabled", |
| 54 initial: 1, | 48 initial: false, |
| 55 type: "double", | 49 }, |
| 56 }, | 50 |
| 57 | 51 // Configure how long the last char should say visible in seconds. |
| 58 // Sets the magnification value for validation message timer. If the | 52 { |
| 59 // magnification value is N, a validation message disappears automatically aft
er | 53 name: "passwordEchoDurationInSeconds", |
| 60 // <message length> * N / 1000 seconds. If N is equal to or less than 0, a | 54 initial: 1, |
| 61 // validation message doesn't disappears automaticaly. | 55 type: "double", |
| 62 { | 56 }, |
| 63 name: "validationMessageTimerMagnification", | 57 |
| 64 initial: 50, | 58 // Sets the magnification value for validation message timer. If the |
| 65 type: "int", | 59 // magnification value is N, a validation message disappears automatically a
fter |
| 66 }, | 60 // <message length> * N / 1000 seconds. If N is equal to or less than 0, a |
| 67 | 61 // validation message doesn't disappears automaticaly. |
| 68 // Number of pixels below which 2D canvas is rendered in software | 62 { |
| 69 // even if hardware acceleration is enabled. | 63 name: "validationMessageTimerMagnification", |
| 70 // Hardware acceleration is useful for large canvases where it can avoid the | 64 initial: 50, |
| 71 // pixel bandwidth between the CPU and GPU. But GPU acceleration comes at | 65 type: "int", |
| 72 // a price - extra back-buffer and texture copy. Small canvases are also | 66 }, |
| 73 // widely used for stylized fonts. Anti-aliasing text in hardware at that | 67 |
| 74 // scale is generally slower. So below a certain size it is better to | 68 // Number of pixels below which 2D canvas is rendered in software |
| 75 // draw canvas in software. | 69 // even if hardware acceleration is enabled. |
| 76 { | 70 // Hardware acceleration is useful for large canvases where it can avoid the |
| 77 name: "minimumAccelerated2dCanvasSize", | 71 // pixel bandwidth between the CPU and GPU. But GPU acceleration comes at |
| 78 initial: "257*256", | 72 // a price - extra back-buffer and texture copy. Small canvases are also |
| 79 type: "int", | 73 // widely used for stylized fonts. Anti-aliasing text in hardware at that |
| 80 }, | 74 // scale is generally slower. So below a certain size it is better to |
| 81 | 75 // draw canvas in software. |
| 82 { | 76 { |
| 83 name: "minimumFontSize", | 77 name: "minimumAccelerated2dCanvasSize", |
| 84 initial: 0, | 78 initial: "257*256", |
| 85 invalidate: "Style", | 79 type: "int", |
| 86 type: "int", | 80 }, |
| 87 }, | 81 |
| 88 { | 82 { |
| 89 name: "minimumLogicalFontSize", | 83 name: "minimumFontSize", |
| 90 initial: 0, | 84 initial: 0, |
| 91 invalidate: "Style", | 85 invalidate: "Style", |
| 92 type: "int", | 86 type: "int", |
| 93 }, | 87 }, |
| 94 { | 88 { |
| 95 name: "defaultFontSize", | 89 name: "minimumLogicalFontSize", |
| 96 initial: 0, | 90 initial: 0, |
| 97 invalidate: "Style", | 91 invalidate: "Style", |
| 98 type: "int", | 92 type: "int", |
| 99 }, | 93 }, |
| 100 { | 94 { |
| 101 name: "defaultFixedFontSize", | 95 name: "defaultFontSize", |
| 102 initial: 0, | 96 initial: 0, |
| 103 invalidate: "Style", | 97 invalidate: "Style", |
| 104 type: "int", | 98 type: "int", |
| 105 }, | 99 }, |
| 106 | 100 { |
| 107 { | 101 name: "defaultFixedFontSize", |
| 108 name: "editingBehaviorType", | 102 initial: 0, |
| 109 initial: "editingBehaviorTypeForPlatform()", | 103 invalidate: "Style", |
| 110 type: "EditingBehaviorType", | 104 type: "int", |
| 111 }, | 105 }, |
| 112 | 106 |
| 113 { | 107 { |
| 114 name: "localStorageEnabled", | 108 name: "editingBehaviorType", |
| 115 initial: false, | 109 initial: "editingBehaviorTypeForPlatform()", |
| 116 }, | 110 type: "EditingBehaviorType", |
| 117 { | 111 }, |
| 118 name: "allowUniversalAccessFromFileURLs", | 112 |
| 119 initial: true, | 113 { |
| 120 }, | 114 name: "localStorageEnabled", |
| 121 { | 115 initial: false, |
| 122 name: "allowFileAccessFromFileURLs", | 116 }, |
| 123 initial: true, | 117 { |
| 124 }, | 118 name: "allowUniversalAccessFromFileURLs", |
| 125 { | 119 initial: true, |
| 126 name: "javaScriptCanOpenWindowsAutomatically", | 120 }, |
| 127 initial: false, | 121 { |
| 128 }, | 122 name: "allowFileAccessFromFileURLs", |
| 129 { | 123 initial: true, |
| 130 name: "supportsMultipleWindows", | 124 }, |
| 131 initial: true, | 125 { |
| 132 }, | 126 name: "javaScriptCanOpenWindowsAutomatically", |
| 133 { | 127 initial: false, |
| 134 name: "javaScriptCanAccessClipboard", | 128 }, |
| 135 initial: false, | 129 { |
| 136 }, | 130 name: "supportsMultipleWindows", |
| 137 { | 131 initial: true, |
| 138 name: "shouldPrintBackgrounds", | 132 }, |
| 139 initial: false, | 133 { |
| 140 }, | 134 name: "javaScriptCanAccessClipboard", |
| 141 { | 135 initial: false, |
| 142 name: "shouldClearDocumentBackground", | 136 }, |
| 143 initial: true, | 137 { |
| 144 }, | 138 name: "shouldPrintBackgrounds", |
| 145 | 139 initial: false, |
| 146 { | 140 }, |
| 147 name: "textAreasAreResizable", | 141 { |
| 148 initial: false, | 142 name: "shouldClearDocumentBackground", |
| 149 invalidate: "Style", | 143 initial: true, |
| 150 }, | 144 }, |
| 151 { | 145 |
| 152 name: "acceleratedCompositingEnabled", | 146 { |
| 153 initial: true, | 147 name: "textAreasAreResizable", |
| 154 invalidate: "AcceleratedCompositing", | 148 initial: false, |
| 155 }, | 149 invalidate: "Style", |
| 156 | 150 }, |
| 157 { | 151 { |
| 158 name: "offlineWebApplicationCacheEnabled", | 152 name: "acceleratedCompositingEnabled", |
| 159 initial: true, | 153 initial: true, |
| 160 }, | 154 invalidate: "AcceleratedCompositing", |
| 161 { | 155 }, |
| 162 name: "allowScriptsToCloseWindows", | 156 |
| 163 initial: false, | 157 { |
| 164 }, | 158 name: "offlineWebApplicationCacheEnabled", |
| 165 | 159 initial: true, |
| 166 // FIXME: This should really be disabled by default as it makes platforms that | 160 }, |
| 167 // don't support the feature download files they can't use by. | 161 { |
| 168 // Leaving enabled for now to not change existing behavior. | 162 name: "allowScriptsToCloseWindows", |
| 169 { | 163 initial: false, |
| 170 name: "downloadableBinaryFontsEnabled", | 164 }, |
| 171 initial: true, | 165 |
| 172 }, | 166 // FIXME: This should really be disabled by default as it makes platforms th
at |
| 173 | 167 // don't support the feature download files they can't use by. |
| 174 { | 168 // Leaving enabled for now to not change existing behavior. |
| 175 name: "xssAuditorEnabled", | 169 { |
| 176 initial: false, | 170 name: "downloadableBinaryFontsEnabled", |
| 177 }, | 171 initial: true, |
| 178 | 172 }, |
| 179 { | 173 |
| 180 name: "preferCompositingToLCDTextEnabled", | 174 { |
| 181 initial: false, | 175 name: "xssAuditorEnabled", |
| 182 invalidate: "AcceleratedCompositing", | 176 initial: false, |
| 183 }, | 177 }, |
| 184 | 178 |
| 185 // 3D canvas (WebGL) support. | 179 { |
| 186 { | 180 name: "preferCompositingToLCDTextEnabled", |
| 187 name: "webGLEnabled", | 181 initial: false, |
| 188 initial: false, | 182 invalidate: "AcceleratedCompositing", |
| 189 }, | 183 }, |
| 190 | 184 |
| 191 { | 185 // 3D canvas (WebGL) support. |
| 192 name: "webGLErrorsToConsoleEnabled", | 186 { |
| 193 initial: true, | 187 name: "webGLEnabled", |
| 194 }, | 188 initial: false, |
| 195 { | 189 }, |
| 196 name: "antialiased2dCanvasEnabled", | 190 |
| 197 initial: true, | 191 { |
| 198 }, | 192 name: "webGLErrorsToConsoleEnabled", |
| 199 { | 193 initial: true, |
| 200 name: "antialiasedClips2dCanvasEnabled", | 194 }, |
| 201 initial: true, | 195 { |
| 202 }, | 196 name: "antialiased2dCanvasEnabled", |
| 203 { | 197 initial: true, |
| 204 name: "accelerated2dCanvasMSAASampleCount", | 198 }, |
| 205 initial: 0, | 199 { |
| 206 type: "int", | 200 name: "antialiasedClips2dCanvasEnabled", |
| 207 }, | 201 initial: true, |
| 208 | 202 }, |
| 209 { | 203 { |
| 210 name: "hyperlinkAuditingEnabled", | 204 name: "accelerated2dCanvasMSAASampleCount", |
| 211 initial: false, | 205 initial: 0, |
| 212 }, | 206 type: "int", |
| 213 { | 207 }, |
| 214 name: "allowRunningOfInsecureContent", | 208 |
| 215 initial: true, | 209 { |
| 216 }, | 210 name: "hyperlinkAuditingEnabled", |
| 217 | 211 initial: false, |
| 218 { | 212 }, |
| 219 name: "mediaControlsOverlayPlayButtonEnabled", | 213 { |
| 220 initial: false, | 214 name: "allowRunningOfInsecureContent", |
| 221 }, | 215 initial: true, |
| 222 { | 216 }, |
| 223 name: "mediaPlaybackRequiresUserGesture", | 217 |
| 224 initial: false, | 218 { |
| 225 }, | 219 name: "mediaControlsOverlayPlayButtonEnabled", |
| 226 | 220 initial: false, |
| 227 // This flags overrides mediaPlaybackRequiresUserGesture | 221 }, |
| 228 { | 222 { |
| 229 name: "crossOriginMediaPlaybackRequiresUserGesture", | 223 name: "mediaPlaybackRequiresUserGesture", |
| 230 initial: false, | 224 initial: false, |
| 231 }, | 225 }, |
| 232 | 226 |
| 233 { | 227 // This flags overrides mediaPlaybackRequiresUserGesture |
| 234 name: "presentationRequiresUserGesture", | 228 { |
| 235 initial: true, | 229 name: "crossOriginMediaPlaybackRequiresUserGesture", |
| 236 }, | 230 initial: false, |
| 237 | 231 }, |
| 238 { | 232 |
| 239 name: "scrollAnimatorEnabled", | 233 { |
| 240 initial: true, | 234 name: "presentationRequiresUserGesture", |
| 241 }, | 235 initial: true, |
| 242 | 236 }, |
| 243 // Used to disable threaded, compositor scrolling for testing purposes. | 237 |
| 244 // crbug.com/410974 tracks removal once alternative solutions for selective | 238 { |
| 245 // main thread scrolling are supported. | 239 name: "scrollAnimatorEnabled", |
| 246 { | 240 initial: true, |
| 247 name: "threadedScrollingEnabled", | 241 }, |
| 248 initial: true, | 242 |
| 249 invalidate: "Style", | 243 // Used to disable threaded, compositor scrolling for testing purposes. |
| 250 }, | 244 // crbug.com/410974 tracks removal once alternative solutions for selective |
| 251 | 245 // main thread scrolling are supported. |
| 252 // Used in layout tests for gesture tap highlights. Makes the highlights squar
e | 246 { |
| 253 // (rather than rounded) to make it possible to reftest the results. | 247 name: "threadedScrollingEnabled", |
| 254 { | 248 initial: true, |
| 255 name: "mockGestureTapHighlightsEnabled", | 249 invalidate: "Style", |
| 256 initial: false, | 250 }, |
| 257 }, | 251 |
| 258 | 252 // Used in layout tests for gesture tap highlights. Makes the highlights squ
are |
| 259 { | 253 // (rather than rounded) to make it possible to reftest the results. |
| 260 name: "shouldRespectImageOrientation", | 254 { |
| 261 initial: false, | 255 name: "mockGestureTapHighlightsEnabled", |
| 262 }, | 256 initial: false, |
| 263 | 257 }, |
| 264 // Limited use by features which behave differently depending on the input | 258 |
| 265 // devices available. For example, the pointer and hover media queries. | 259 { |
| 266 // Note that we need to be careful when basing behavior or UI on this - | 260 name: "shouldRespectImageOrientation", |
| 267 // just because a device is present doesn't mean the user cares about it | 261 initial: false, |
| 268 // or uses it (i.e. Chromebook Pixel users generally don't want to give up | 262 }, |
| 269 // screen real estate just because they happen to have a touchscreen). | 263 |
| 270 { | 264 // Limited use by features which behave differently depending on the input |
| 271 name: "deviceSupportsTouch", | 265 // devices available. For example, the pointer and hover media queries. |
| 272 initial: false, | 266 // Note that we need to be careful when basing behavior or UI on this - |
| 273 }, | 267 // just because a device is present doesn't mean the user cares about it |
| 274 | 268 // or uses it (i.e. Chromebook Pixel users generally don't want to give up |
| 275 // This value indicates the number of simultaneous multi-touch points supporte
d | 269 // screen real estate just because they happen to have a touchscreen). |
| 276 // by the currently connected screen/digitizer that supports the most points. | 270 { |
| 277 // From Pointer Events spec: | 271 name: "deviceSupportsTouch", |
| 278 // http://www.w3.org/TR/pointerevents///widl-Navigator-maxTouchPoints | 272 initial: false, |
| 279 { | 273 }, |
| 280 name: "maxTouchPoints", | 274 |
| 281 initial: 0, | 275 // This value indicates the number of simultaneous multi-touch points suppor
ted |
| 282 type: "int", | 276 // by the currently connected screen/digitizer that supports the most points
. |
| 283 }, | 277 // From Pointer Events spec: |
| 284 | 278 // http://www.w3.org/TR/pointerevents///widl-Navigator-maxTouchPoints |
| 285 // Whether touch gestures should be "fuzzed" to nearest touch targets. | 279 { |
| 286 // It's expected that this is enabled everywhere by default, but it may be | 280 name: "maxTouchPoints", |
| 287 // disabled for testing purposes as the algorithm is not yet perfect. | 281 initial: 0, |
| 288 // crbug.com/304895 tracks removal once we're satisfied with the algorithm. | 282 type: "int", |
| 289 { | 283 }, |
| 290 name: "touchAdjustmentEnabled", | 284 |
| 291 initial: true, | 285 // Whether touch gestures should be "fuzzed" to nearest touch targets. |
| 292 }, | 286 // It's expected that this is enabled everywhere by default, but it may be |
| 293 | 287 // disabled for testing purposes as the algorithm is not yet perfect. |
| 294 // Determines whether WebViewClient::didTapMultipleTargets will be used for | 288 // crbug.com/304895 tracks removal once we're satisfied with the algorithm. |
| 295 // touch disambiguation. | 289 { |
| 296 { | 290 name: "touchAdjustmentEnabled", |
| 297 name: "multiTargetTapNotificationEnabled", | 291 initial: true, |
| 298 initial: true, | 292 }, |
| 299 }, | 293 |
| 300 | 294 // Determines whether WebViewClient::didTapMultipleTargets will be used for |
| 301 { | 295 // touch disambiguation. |
| 302 name: "syncXHRInDocumentsEnabled", | 296 { |
| 303 initial: true, | 297 name: "multiTargetTapNotificationEnabled", |
| 304 }, | 298 initial: true, |
| 305 { | 299 }, |
| 306 name: "cookieEnabled", | 300 |
| 307 initial: true, | 301 { |
| 308 }, | 302 name: "syncXHRInDocumentsEnabled", |
| 309 { | 303 initial: true, |
| 310 name: "navigateOnDragDrop", | 304 }, |
| 311 initial: true, | 305 { |
| 312 }, | 306 name: "cookieEnabled", |
| 313 { | 307 initial: true, |
| 314 name: "DOMPasteAllowed", | 308 }, |
| 315 initial: false, | 309 { |
| 316 }, | 310 name: "navigateOnDragDrop", |
| 317 | 311 initial: true, |
| 318 { | 312 }, |
| 319 name: "allowCustomScrollbarInMainFrame", | 313 { |
| 320 initial: true, | 314 name: "DOMPasteAllowed", |
| 321 }, | 315 initial: false, |
| 322 { | 316 }, |
| 323 name: "webSecurityEnabled", | 317 |
| 324 initial: true, | 318 { |
| 325 }, | 319 name: "allowCustomScrollbarInMainFrame", |
| 326 | 320 initial: true, |
| 327 // Special keyboard navigation mode intented for platforms with no | 321 }, |
| 328 // proper mouse or touch support, such as a TV controller with a remote. | 322 { |
| 329 { | 323 name: "webSecurityEnabled", |
| 330 name: "spatialNavigationEnabled", | 324 initial: true, |
| 331 initial: false, | 325 }, |
| 332 }, | 326 |
| 333 | 327 // Special keyboard navigation mode intented for platforms with no |
| 334 // This setting adds a means to enable/disable touch initiated drag & drop. If | 328 // proper mouse or touch support, such as a TV controller with a remote. |
| 335 // enabled, the user can initiate drag using long press. | 329 { |
| 336 // crbug.com/304894 tracks removal once it's been enabled on all platforms. | 330 name: "spatialNavigationEnabled", |
| 337 { | 331 initial: false, |
| 338 name: "touchDragDropEnabled", | 332 }, |
| 339 initial: false, | 333 |
| 340 }, | 334 // This setting adds a means to enable/disable touch initiated drag & drop.
If |
| 341 | 335 // enabled, the user can initiate drag using long press. |
| 342 // Some apps could have a default video poster if it is not set. | 336 // crbug.com/304894 tracks removal once it's been enabled on all platforms. |
| 343 { | 337 { |
| 344 name: "defaultVideoPosterURL", | 338 name: "touchDragDropEnabled", |
| 345 type: "String", | 339 initial: false, |
| 346 }, | 340 }, |
| 347 | 341 |
| 348 { | 342 // Some apps could have a default video poster if it is not set. |
| 349 name: "smartInsertDeleteEnabled", | 343 { |
| 350 initial: false, | 344 name: "defaultVideoPosterURL", |
| 351 }, | 345 type: "String", |
| 352 { | 346 }, |
| 353 name: "selectTrailingWhitespaceEnabled", | 347 |
| 354 initial: "defaultSelectTrailingWhitespaceEnabled", | 348 { |
| 355 }, | 349 name: "smartInsertDeleteEnabled", |
| 356 | 350 initial: false, |
| 357 { | 351 }, |
| 358 name: "selectionIncludesAltImageText", | 352 { |
| 359 initial: false, | 353 name: "selectTrailingWhitespaceEnabled", |
| 360 }, | 354 initial: "defaultSelectTrailingWhitespaceEnabled", |
| 361 | 355 }, |
| 362 { | 356 |
| 363 name: "selectionStrategy", | 357 { |
| 364 initial: "SelectionStrategy::Character", | 358 name: "selectionIncludesAltImageText", |
| 365 type: "SelectionStrategy", | 359 initial: false, |
| 366 }, | 360 }, |
| 367 | 361 |
| 368 //////////////// Settings used by Android WebView below //////////////// | 362 { |
| 369 | 363 name: "selectionStrategy", |
| 370 { | 364 initial: "SelectionStrategy::Character", |
| 371 name: "useLegacyBackgroundSizeShorthandBehavior", | 365 type: "SelectionStrategy", |
| 372 initial: false, | 366 }, |
| 373 }, | 367 |
| 374 | 368 //////////////// Settings used by Android WebView below //////////////// |
| 375 // This quirk is to maintain compatibility with Android apps built on | 369 |
| 376 // the Android SDK prior to and including version 18. | 370 { |
| 377 // Presumably, this can be removed any time after 2015. | 371 name: "useLegacyBackgroundSizeShorthandBehavior", |
| 378 // See http://crbug.com/282130. | 372 initial: false, |
| 379 { | 373 }, |
| 380 name: "viewportMetaZeroValuesQuirk", | 374 |
| 381 initial: false, | 375 // This quirk is to maintain compatibility with Android apps built on |
| 382 }, | 376 // the Android SDK prior to and including version 18. |
| 383 | 377 // Presumably, this can be removed any time after 2015. |
| 384 // Another Android SDK <= 18 quirk, removable 2015. | 378 // See http://crbug.com/282130. |
| 385 // See http://crbug.com/295287 | 379 { |
| 386 { | 380 name: "viewportMetaZeroValuesQuirk", |
| 387 name: "ignoreMainFrameOverflowHiddenQuirk", | 381 initial: false, |
| 388 initial: false, | 382 }, |
| 389 }, | 383 |
| 390 | 384 // Another Android SDK <= 18 quirk, removable 2015. |
| 391 // Yet another Android SDK <= 18 quirk, removable 2015. | 385 // See http://crbug.com/295287 |
| 392 // See http://crbug.com/305236 | 386 { |
| 393 { | 387 name: "ignoreMainFrameOverflowHiddenQuirk", |
| 394 name: "reportScreenSizeInPhysicalPixelsQuirk", | 388 initial: false, |
| 395 initial: false, | 389 }, |
| 396 }, | 390 |
| 397 | 391 // Yet another Android SDK <= 18 quirk, removable 2015. |
| 398 // One more Android SDK <= 18 quirk, removable 2015. | 392 // See http://crbug.com/305236 |
| 399 // See http://crbug.com/306548 | 393 { |
| 400 { | 394 name: "reportScreenSizeInPhysicalPixelsQuirk", |
| 401 name: "viewportMetaMergeContentQuirk", | 395 initial: false, |
| 402 initial: false, | 396 }, |
| 403 }, | 397 |
| 404 | 398 // One more Android SDK <= 18 quirk, removable 2015. |
| 405 // This quirk is to maintain compatibility with Android apps. | 399 // See http://crbug.com/306548 |
| 406 // It will be possible to remove it once WebSettings.{get|set}UseWideViewPort | 400 { |
| 407 // API function will be removed. | 401 name: "viewportMetaMergeContentQuirk", |
| 408 // See http://crbug.com/288037. | 402 initial: false, |
| 409 { | 403 }, |
| 410 name: "wideViewportQuirkEnabled", | 404 |
| 411 initial: false, | 405 // This quirk is to maintain compatibility with Android apps. |
| 412 }, | 406 // It will be possible to remove it once WebSettings.{get|set}UseWideViewPor
t |
| 413 | 407 // API function will be removed. |
| 414 // Used by the android_webview to support a horizontal height auto-sizing | 408 // See http://crbug.com/288037. |
| 415 // mode. | 409 { |
| 416 { | 410 name: "wideViewportQuirkEnabled", |
| 417 name: "forceZeroLayoutHeight", | 411 initial: false, |
| 418 initial: false, | 412 }, |
| 419 invalidate: "ViewportDescription", | 413 |
| 420 }, | 414 // Used by the android_webview to support a horizontal height auto-sizing |
| 421 | 415 // mode. |
| 422 { | 416 { |
| 423 name: "mainFrameClipsContent", | 417 name: "forceZeroLayoutHeight", |
| 424 initial: true, | 418 initial: false, |
| 425 }, | 419 invalidate: "ViewportDescription", |
| 426 | 420 }, |
| 427 // For android.webkit.WebSettings.setUseWideViewport() | 421 |
| 428 // http://developer.android.com/reference/android/webkit/WebSettings.html//set
UseWideViewPort(boolean) | 422 { |
| 429 { | 423 name: "mainFrameClipsContent", |
| 430 name: "useWideViewport", | 424 initial: true, |
| 431 initial: true, | 425 }, |
| 432 invalidate: "ViewportDescription", | 426 |
| 433 }, | 427 // For android.webkit.WebSettings.setUseWideViewport() |
| 434 | 428 // http://developer.android.com/reference/android/webkit/WebSettings.html//s
etUseWideViewPort(boolean) |
| 435 // For android.webkit.WebSettings.setLoadWithOverviewMode() | 429 { |
| 436 // http://developer.android.com/reference/android/webkit/WebSettings.html//set
LoadWithOverviewMode(boolean) | 430 name: "useWideViewport", |
| 437 { | 431 initial: true, |
| 438 name: "loadWithOverviewMode", | 432 invalidate: "ViewportDescription", |
| 439 initial: true, | 433 }, |
| 440 invalidate: "ViewportDescription", | 434 |
| 441 }, | 435 // For android.webkit.WebSettings.setLoadWithOverviewMode() |
| 442 | 436 // http://developer.android.com/reference/android/webkit/WebSettings.html//s
etLoadWithOverviewMode(boolean) |
| 443 // Used by android_webview to support legacy apps that inject script into a to
p-level initial empty | 437 { |
| 444 // document and expect it to persist on navigation, even though the origin is
unique. Note that this | 438 name: "loadWithOverviewMode", |
| 445 // behavior violates the requirements described by [Initialising a new Documen
t object] in | 439 initial: true, |
| 446 // https://html.spec.whatwg.org/multipage/browsers.html//navigating-across-doc
uments. | 440 invalidate: "ViewportDescription", |
| 447 { | 441 }, |
| 448 name: "shouldReuseGlobalForUnownedMainFrame", | 442 |
| 449 initial: false, | 443 // Used by android_webview to support legacy apps that inject script into a
top-level initial empty |
| 450 }, | 444 // document and expect it to persist on navigation, even though the origin i
s unique. Note that this |
| 451 | 445 // behavior violates the requirements described by [Initialising a new Docum
ent object] in |
| 452 //////////////// End of settings used by Android WebView //////////////// | 446 // https://html.spec.whatwg.org/multipage/browsers.html//navigating-across-d
ocuments. |
| 453 | 447 { |
| 454 | 448 name: "shouldReuseGlobalForUnownedMainFrame", |
| 455 // Touch based text selection and editing on desktop. | 449 initial: false, |
| 456 // crbug.com/304873 tracks removal once it's been enabled on all platforms. | 450 }, |
| 457 { | 451 |
| 458 name: "touchEditingEnabled", | 452 //////////////// End of settings used by Android WebView //////////////// |
| 459 initial: false, | 453 |
| 460 }, | 454 |
| 461 | 455 // Touch based text selection and editing on desktop. |
| 462 // If true, scrollers will use overlay scrollbars. These do not take up any | 456 // crbug.com/304873 tracks removal once it's been enabled on all platforms. |
| 463 // layout width, are drawn using solid color quads by the compositor, and fade
away | 457 { |
| 464 // after a timeout. | 458 name: "touchEditingEnabled", |
| 465 { | 459 initial: false, |
| 466 name: "useSolidColorScrollbars", | 460 }, |
| 467 initial: false, | 461 |
| 468 }, | 462 // If true, scrollers will use overlay scrollbars. These do not take up any |
| 469 | 463 // layout width, are drawn using solid color quads by the compositor, and fa
de away |
| 470 // Experiment to have all APIs reflect the layout viewport. | 464 // after a timeout. |
| 471 // crbug.com/489206 tracks the experiment. | 465 { |
| 472 { | 466 name: "useSolidColorScrollbars", |
| 473 name: "inertVisualViewport", | 467 initial: false, |
| 474 initial: false, | 468 }, |
| 475 }, | 469 |
| 476 | 470 // Experiment to have all APIs reflect the layout viewport. |
| 477 // The rubber-band overscroll effect is implemented in Blink and is being move
d | 471 // crbug.com/489206 tracks the experiment. |
| 478 // to the compositor thread. This will be set to true and eventually removed. | 472 { |
| 479 // crbug.com/133097 | 473 name: "inertVisualViewport", |
| 480 { | 474 initial: false, |
| 481 name: "rubberBandingOnCompositorThread", | 475 }, |
| 482 initial: false, | 476 |
| 483 }, | 477 // The rubber-band overscroll effect is implemented in Blink and is being mo
ved |
| 484 | 478 // to the compositor thread. This will be set to true and eventually removed
. |
| 485 // Font scale factor for accessibility, applied as part of text autosizing. | 479 // crbug.com/133097 |
| 486 { | 480 { |
| 487 name: "accessibilityFontScaleFactor", | 481 name: "rubberBandingOnCompositorThread", |
| 488 initial: "1.0", | 482 initial: false, |
| 489 invalidate: "TextAutosizing", | 483 }, |
| 490 type: "double", | 484 |
| 491 }, | 485 // Font scale factor for accessibility, applied as part of text autosizing. |
| 492 | 486 { |
| 493 // Only used by Layout Tests and inspector emulation. | 487 name: "accessibilityFontScaleFactor", |
| 494 { | 488 initial: "1.0", |
| 495 name: "mediaTypeOverride", | 489 invalidate: "TextAutosizing", |
| 496 initial: "\"\"", | 490 type: "double", |
| 497 invalidate: "MediaQuery", | 491 }, |
| 498 type: "String", | 492 |
| 499 }, | 493 // Only used by Layout Tests and inspector emulation. |
| 500 { | 494 { |
| 501 name: "displayModeOverride", | 495 name: "mediaTypeOverride", |
| 502 initial: "WebDisplayModeUndefined", | 496 initial: "\"\"", |
| 503 invalidate: "MediaQuery", | 497 invalidate: "MediaQuery", |
| 504 type: "WebDisplayMode", | 498 type: "String", |
| 505 }, | 499 }, |
| 506 | 500 { |
| 507 // loadsImagesAutomatically only suppresses the network load of | 501 name: "displayModeOverride", |
| 508 // the image URL. A cached image will still be rendered if requested. | 502 initial: "WebDisplayModeUndefined", |
| 509 { | 503 invalidate: "MediaQuery", |
| 510 name: "loadsImagesAutomatically", | 504 type: "WebDisplayMode", |
| 511 initial: false, | 505 }, |
| 512 invalidate: "ImageLoading", | 506 |
| 513 }, | 507 // loadsImagesAutomatically only suppresses the network load of |
| 514 { | 508 // the image URL. A cached image will still be rendered if requested. |
| 515 name: "imagesEnabled", | 509 { |
| 516 initial: true, | 510 name: "loadsImagesAutomatically", |
| 517 invalidate: "ImageLoading", | 511 initial: false, |
| 518 }, | 512 invalidate: "ImageLoading", |
| 519 { | 513 }, |
| 520 name: "imageAnimationPolicy", | 514 { |
| 521 initial: "ImageAnimationPolicyAllowed", | 515 name: "imagesEnabled", |
| 522 type: "ImageAnimationPolicy", | 516 initial: true, |
| 523 }, | 517 invalidate: "ImageLoading", |
| 524 | 518 }, |
| 525 // Number of outstanding and pending tokens allowed in the background HTML | 519 { |
| 526 // parser. A value of 0 indicates the parser should use its default value. | 520 name: "imageAnimationPolicy", |
| 527 { | 521 initial: "ImageAnimationPolicyAllowed", |
| 528 name: "backgroundHtmlParserOutstandingTokenLimit", | 522 type: "ImageAnimationPolicy", |
| 529 initial: 0, | 523 }, |
| 530 type: "unsigned", | 524 |
| 531 }, | 525 // Number of outstanding and pending tokens allowed in the background HTML |
| 532 { | 526 // parser. A value of 0 indicates the parser should use its default value. |
| 533 name: "backgroundHtmlParserPendingTokenLimit", | 527 { |
| 534 initial: 0, | 528 name: "backgroundHtmlParserOutstandingTokenLimit", |
| 535 type: "unsigned", | 529 initial: 0, |
| 536 }, | 530 type: "unsigned", |
| 537 | 531 }, |
| 538 // Html preload scanning is a fast, early scan of HTML documents to find loada
ble | 532 { |
| 539 // resources before the parser advances to them. If it is disabled, resources
will | 533 name: "backgroundHtmlParserPendingTokenLimit", |
| 540 // be loaded later. | 534 initial: 0, |
| 541 { | 535 type: "unsigned", |
| 542 name: "doHtmlPreloadScanning", | 536 }, |
| 543 initial: true, | 537 |
| 544 }, | 538 // Html preload scanning is a fast, early scan of HTML documents to find loa
dable |
| 545 | 539 // resources before the parser advances to them. If it is disabled, resource
s will |
| 546 { | 540 // be loaded later. |
| 547 name: "pluginsEnabled", | 541 { |
| 548 initial: false, | 542 name: "doHtmlPreloadScanning", |
| 549 }, | 543 initial: true, |
| 550 | 544 }, |
| 551 { | 545 |
| 552 name: "viewportEnabled", | 546 { |
| 553 initial: false, | 547 name: "pluginsEnabled", |
| 554 invalidate: "ViewportDescription", | 548 initial: false, |
| 555 }, | 549 }, |
| 556 { | 550 |
| 557 name: "viewportMetaEnabled", | 551 { |
| 558 initial: false, | 552 name: "viewportEnabled", |
| 559 invalidate: "ViewportDescription", | 553 initial: false, |
| 560 }, | 554 invalidate: "ViewportDescription", |
| 561 | 555 }, |
| 562 { | 556 { |
| 563 name: "dnsPrefetchingEnabled", | 557 name: "viewportMetaEnabled", |
| 564 initial: false, | 558 initial: false, |
| 565 invalidate: "DNSPrefetching", | 559 invalidate: "ViewportDescription", |
| 566 }, | 560 }, |
| 567 | 561 |
| 568 { | 562 { |
| 569 name: "dataSaverEnabled", | 563 name: "dnsPrefetchingEnabled", |
| 570 initial: false, | 564 initial: false, |
| 571 }, | 565 invalidate: "DNSPrefetching", |
| 572 | 566 }, |
| 573 // FIXME: This is a temporary flag and should be removed | 567 |
| 574 // when squashing is ready. (crbug.com/261605) | 568 { |
| 575 { | 569 name: "dataSaverEnabled", |
| 576 name: "layerSquashingEnabled", | 570 initial: false, |
| 577 initial: false, | 571 }, |
| 578 }, | 572 |
| 579 | 573 // FIXME: This is a temporary flag and should be removed |
| 580 // Clients that execute script should call ScriptController::canExecuteScripts
() | 574 // when squashing is ready. (crbug.com/261605) |
| 581 // instead of this function. ScriptController::canExecuteScripts() checks the | 575 { |
| 582 // HTML sandbox, plugin sandboxing, and other important details. | 576 name: "layerSquashingEnabled", |
| 583 { | 577 initial: false, |
| 584 name: "scriptEnabled", | 578 }, |
| 585 initial: false, | 579 |
| 586 }, | 580 // Clients that execute script should call ScriptController::canExecuteScrip
ts() |
| 587 | 581 // instead of this function. ScriptController::canExecuteScripts() checks th
e |
| 588 // Forces initialization of main world, even if no scripts will be executed. | 582 // HTML sandbox, plugin sandboxing, and other important details. |
| 589 // Used by inspector to report all contexts. | 583 { |
| 590 { | 584 name: "scriptEnabled", |
| 591 name: "forceMainWorldInitialization", | 585 initial: false, |
| 592 initial: false, | 586 }, |
| 593 invalidate: "DOMWorlds", | 587 |
| 594 }, | 588 // Forces initialization of main world, even if no scripts will be executed. |
| 595 | 589 // Used by inspector to report all contexts. |
| 596 // Compensates for poor text legibility on mobile devices. This value is | 590 { |
| 597 // multiplied by the font scale factor when performing text autosizing of | 591 name: "forceMainWorldInitialization", |
| 598 // websites that do not set an explicit viewport description. | 592 initial: false, |
| 599 { | 593 invalidate: "DOMWorlds", |
| 600 name: "deviceScaleAdjustment", | 594 }, |
| 601 initial: "1.0", | 595 |
| 602 invalidate: "TextAutosizing", | 596 // Compensates for poor text legibility on mobile devices. This value is |
| 603 type: "double", | 597 // multiplied by the font scale factor when performing text autosizing of |
| 604 }, | 598 // websites that do not set an explicit viewport description. |
| 605 | 599 { |
| 606 // This value indicates the maximum number of bytes a document is allowed to | 600 name: "deviceScaleAdjustment", |
| 607 // transmit in Beacons (via navigator.sendBeacon()) -- Beacons are intended to
be | 601 initial: "1.0", |
| 608 // smaller payloads transmitted as a page is unloading, not a general (one-way
) | 602 invalidate: "TextAutosizing", |
| 609 // network transmission API. The spec <https://w3c.github.io/beacon/> does not | 603 type: "double", |
| 610 // proscribe an upper limit, but allows for it -- the underlying API will retu
rn | 604 }, |
| 611 // 'false' in that case. | 605 |
| 612 { | 606 // This value indicates the maximum number of bytes a document is allowed to |
| 613 name: "maxBeaconTransmission", | 607 // transmit in Beacons (via navigator.sendBeacon()) -- Beacons are intended
to be |
| 614 initial: 65536, | 608 // smaller payloads transmitted as a page is unloading, not a general (one-w
ay) |
| 615 type: "int", | 609 // network transmission API. The spec <https://w3c.github.io/beacon/> does n
ot |
| 616 }, | 610 // proscribe an upper limit, but allows for it -- the underlying API will re
turn |
| 617 | 611 // 'false' in that case. |
| 618 // This value is set to false if the platform does not support fullscreen. | 612 { |
| 619 // When set to false all the requests to enter fullscreen will return an error | 613 name: "maxBeaconTransmission", |
| 620 // (fullscreenerror or webkitfullscreenerror) as specified in the standard: | 614 initial: 65536, |
| 621 // http://fullscreen.spec.whatwg.org///dom-element-requestfullscreen | 615 type: "int", |
| 622 { | 616 }, |
| 623 name: "fullscreenSupported", | 617 |
| 624 initial: true, | 618 // This value is set to false if the platform does not support fullscreen. |
| 625 }, | 619 // When set to false all the requests to enter fullscreen will return an err
or |
| 626 | 620 // (fullscreenerror or webkitfullscreenerror) as specified in the standard: |
| 627 // V8 supports different types of caching. Used by V8 bindings. | 621 // http://fullscreen.spec.whatwg.org///dom-element-requestfullscreen |
| 628 { | 622 { |
| 629 name: "v8CacheOptions", | 623 name: "fullscreenSupported", |
| 630 initial: "V8CacheOptionsDefault", | 624 initial: true, |
| 631 type: "V8CacheOptions", | 625 }, |
| 632 }, | 626 |
| 633 | 627 // V8 supports different types of caching. Used by V8 bindings. |
| 634 // V8 code cache for CacheStorage supports three types of strategies (none, no
rmal and aggressive). | 628 { |
| 635 { | 629 name: "v8CacheOptions", |
| 636 name: "v8CacheStrategiesForCacheStorage", | 630 initial: "V8CacheOptionsDefault", |
| 637 initial: "V8CacheStrategiesForCacheStorage::Default", | 631 type: "V8CacheOptions", |
| 638 type: "V8CacheStrategiesForCacheStorage", | 632 }, |
| 639 }, | 633 |
| 640 | 634 // V8 code cache for CacheStorage supports three types of strategies (none,
normal and aggressive). |
| 641 // These values are bit fields for the properties of available pointing device
s | 635 { |
| 642 // and may take on multiple values (e.g. laptop with touchpad and touchscreen | 636 name: "v8CacheStrategiesForCacheStorage", |
| 643 // has pointerType coarse *and* fine). | 637 initial: "V8CacheStrategiesForCacheStorage::Default", |
| 644 { | 638 type: "V8CacheStrategiesForCacheStorage", |
| 645 name: "availablePointerTypes", | 639 }, |
| 646 initial: "PointerTypeNone", | 640 |
| 647 invalidate: "MediaQuery", | 641 // These values are bit fields for the properties of available pointing devi
ces |
| 648 type: "int", | 642 // and may take on multiple values (e.g. laptop with touchpad and touchscree
n |
| 649 }, | 643 // has pointerType coarse *and* fine). |
| 650 { | 644 { |
| 651 name: "availableHoverTypes", | 645 name: "availablePointerTypes", |
| 652 initial: "HoverTypeNone", | 646 initial: "PointerTypeNone", |
| 653 invalidate: "MediaQuery", | 647 invalidate: "MediaQuery", |
| 654 type: "int", | 648 type: "int", |
| 655 }, | 649 }, |
| 656 | 650 { |
| 657 // These values specify properties of the user's primary pointing device only. | 651 name: "availableHoverTypes", |
| 658 { | 652 initial: "HoverTypeNone", |
| 659 name: "primaryPointerType", | 653 invalidate: "MediaQuery", |
| 660 initial: "PointerTypeNone", | 654 type: "int", |
| 661 invalidate: "MediaQuery", | 655 }, |
| 662 type: "PointerType", | 656 |
| 663 }, | 657 // These values specify properties of the user's primary pointing device onl
y. |
| 664 { | 658 { |
| 665 name: "primaryHoverType", | 659 name: "primaryPointerType", |
| 666 initial: "HoverTypeNone", | 660 initial: "PointerTypeNone", |
| 667 invalidate: "MediaQuery", | 661 invalidate: "MediaQuery", |
| 668 type: "HoverType", | 662 type: "PointerType", |
| 669 }, | 663 }, |
| 670 | 664 { |
| 671 // Whether accessibility support is enabled at all. | 665 name: "primaryHoverType", |
| 672 { | 666 initial: "HoverTypeNone", |
| 673 name: "accessibilityEnabled", | 667 invalidate: "MediaQuery", |
| 674 initial: false, | 668 type: "HoverType", |
| 675 invalidate: "AccessibilityState", | 669 }, |
| 676 }, | 670 |
| 677 | 671 // Whether accessibility support is enabled at all. |
| 678 // If true, the value in password fields is exposed to assistive technologies. | 672 { |
| 679 { | 673 name: "accessibilityEnabled", |
| 680 name: "accessibilityPasswordValuesEnabled", | 674 initial: false, |
| 681 initial: false, | 675 invalidate: "AccessibilityState", |
| 682 }, | 676 }, |
| 683 | 677 |
| 684 // If true, static text nodes expose inline text box children. | 678 // If true, the value in password fields is exposed to assistive technologie
s. |
| 685 { | 679 { |
| 686 name: "inlineTextBoxAccessibilityEnabled", | 680 name: "accessibilityPasswordValuesEnabled", |
| 687 initial: false, | 681 initial: false, |
| 688 }, | 682 }, |
| 689 | 683 |
| 690 // If true, context menu will be shown on mouse up instead of mouse down. | 684 // If true, static text nodes expose inline text box children. |
| 691 // Typically enabled on Windows to match platform convention. | 685 { |
| 692 { | 686 name: "inlineTextBoxAccessibilityEnabled", |
| 693 name: "showContextMenuOnMouseUp", | 687 initial: false, |
| 694 initial: false, | 688 }, |
| 695 }, | 689 |
| 696 | 690 // If true, context menu will be shown on mouse up instead of mouse down. |
| 697 // If true, context menu will be shown on any long press event. | 691 // Typically enabled on Windows to match platform convention. |
| 698 // Used on Android to prevent a context menu from being shown in certain situa
tions | 692 { |
| 699 // (i.e. long pressing an empty div) | 693 name: "showContextMenuOnMouseUp", |
| 700 { | 694 initial: false, |
| 701 name: "alwaysShowContextMenuOnTouch", | 695 }, |
| 702 initial: true, | 696 |
| 703 }, | 697 // If true, context menu will be shown on any long press event. |
| 704 | 698 // Used on Android to prevent a context menu from being shown in certain sit
uations |
| 705 { | 699 // (i.e. long pressing an empty div) |
| 706 name: "disableReadingFromCanvas", | 700 { |
| 707 initial: false, | 701 name: "alwaysShowContextMenuOnTouch", |
| 708 }, | 702 initial: true, |
| 709 { | 703 }, |
| 710 name: "strictMixedContentChecking", | 704 |
| 711 initial: false, | 705 { |
| 712 }, | 706 name: "disableReadingFromCanvas", |
| 713 { | 707 initial: false, |
| 714 name: "strictMixedContentCheckingForPlugin", | 708 }, |
| 715 initial: false, | 709 { |
| 716 }, | 710 name: "strictMixedContentChecking", |
| 717 { | 711 initial: false, |
| 718 name: "strictPowerfulFeatureRestrictions", | 712 }, |
| 719 initial: false, | 713 { |
| 720 }, | 714 name: "strictMixedContentCheckingForPlugin", |
| 721 { | 715 initial: false, |
| 722 name: "strictlyBlockBlockableMixedContent", | 716 }, |
| 723 initial: false, | 717 { |
| 724 }, | 718 name: "strictPowerfulFeatureRestrictions", |
| 725 { | 719 initial: false, |
| 726 name: "allowGeolocationOnInsecureOrigins", | 720 }, |
| 727 initial: false, | 721 { |
| 728 }, | 722 name: "strictlyBlockBlockableMixedContent", |
| 729 { | 723 initial: false, |
| 730 name: "logDnsPrefetchAndPreconnect", | 724 }, |
| 731 initial: false, | 725 { |
| 732 }, | 726 name: "allowGeolocationOnInsecureOrigins", |
| 733 { | 727 initial: false, |
| 734 name: "logPreload", | 728 }, |
| 735 initial: false, | 729 { |
| 736 }, | 730 name: "logDnsPrefetchAndPreconnect", |
| 737 | 731 initial: false, |
| 738 // These values specify the UA intial viewport style. | 732 }, |
| 739 // It is dynamically set by the inspector for mobile emulation and can be | 733 { |
| 740 // used by content embedders to specify custom style on certain platforms. | 734 name: "logPreload", |
| 741 { | 735 initial: false, |
| 742 name: "viewportStyle", | 736 }, |
| 743 initial: "WebViewportStyle::Default", | 737 |
| 744 invalidate: "ViewportRule", | 738 // These values specify the UA intial viewport style. |
| 745 type: "WebViewportStyle", | 739 // It is dynamically set by the inspector for mobile emulation and can be |
| 746 }, | 740 // used by content embedders to specify custom style on certain platforms. |
| 747 | 741 { |
| 748 // Automatic track selection is performed based on user preference for track k
ind specified | 742 name: "viewportStyle", |
| 749 // by this setting. | 743 initial: "WebViewportStyle::Default", |
| 750 { | 744 invalidate: "ViewportRule", |
| 751 name: "textTrackKindUserPreference", | 745 type: "WebViewportStyle", |
| 752 initial: "TextTrackKindUserPreference::Default", | 746 }, |
| 753 invalidate: "TextTrackKindUserPreference", | 747 |
| 754 type: "TextTrackKindUserPreference", | 748 // Automatic track selection is performed based on user preference for track
kind specified |
| 755 }, | 749 // by this setting. |
| 756 | 750 { |
| 757 // User style overrides for captions and subtitles | 751 name: "textTrackKindUserPreference", |
| 758 { | 752 initial: "TextTrackKindUserPreference::Default", |
| 759 name: "textTrackBackgroundColor", | 753 invalidate: "TextTrackKindUserPreference", |
| 760 type: "String", | 754 type: "TextTrackKindUserPreference", |
| 761 }, | 755 }, |
| 762 { | 756 |
| 763 name: "textTrackFontFamily", | 757 // User style overrides for captions and subtitles |
| 764 type: "String", | 758 { |
| 765 }, | 759 name: "textTrackBackgroundColor", |
| 766 { | 760 type: "String", |
| 767 name: "textTrackFontStyle", | 761 }, |
| 768 type: "String", | 762 { |
| 769 }, | 763 name: "textTrackFontFamily", |
| 770 { | 764 type: "String", |
| 771 name: "textTrackFontVariant", | 765 }, |
| 772 type: "String", | 766 { |
| 773 }, | 767 name: "textTrackFontStyle", |
| 774 { | 768 type: "String", |
| 775 name: "textTrackTextColor", | 769 }, |
| 776 type: "String", | 770 { |
| 777 }, | 771 name: "textTrackFontVariant", |
| 778 { | 772 type: "String", |
| 779 name: "textTrackTextShadow", | 773 }, |
| 780 type: "String", | 774 { |
| 781 }, | 775 name: "textTrackTextColor", |
| 782 { | 776 type: "String", |
| 783 name: "textTrackTextSize", | 777 }, |
| 784 type: "String", | 778 { |
| 785 }, | 779 name: "textTrackTextShadow", |
| 786 | 780 type: "String", |
| 787 // Margin for title-safe placement of cues with overscan, gives top and bottom
margin size as | 781 }, |
| 788 // percentage of video element height (for horizontal text) into which cues wi
ll not be placed. | 782 { |
| 789 { | 783 name: "textTrackTextSize", |
| 790 name: "textTrackMarginPercentage", | 784 type: "String", |
| 791 initial: 0, | 785 }, |
| 792 type: "double", | 786 |
| 793 }, | 787 // Margin for title-safe placement of cues with overscan, gives top and bott
om margin size as |
| 794 | 788 // percentage of video element height (for horizontal text) into which cues
will not be placed. |
| 795 { | 789 { |
| 796 name: "lowPriorityIframes", | 790 name: "textTrackMarginPercentage", |
| 797 initial: false, | 791 initial: 0, |
| 798 }, | 792 type: "double", |
| 799 | 793 }, |
| 800 { | 794 |
| 801 name: "progressBarCompletion", | 795 { |
| 802 initial: "ProgressBarCompletion::LoadEvent", | 796 name: "lowPriorityIframes", |
| 803 type: "ProgressBarCompletion", | 797 initial: false, |
| 804 }, | 798 }, |
| 805 | 799 |
| 806 { | 800 { |
| 807 name: "historyEntryRequiresUserGesture", | 801 name: "progressBarCompletion", |
| 808 initial: false, | 802 initial: "ProgressBarCompletion::LoadEvent", |
| 809 }, | 803 type: "ProgressBarCompletion", |
| 810 | 804 }, |
| 811 // Do we want to try to save screen real estate in the media player by hiding | 805 |
| 812 // the volume slider / mute button? | 806 { |
| 813 { | 807 name: "historyEntryRequiresUserGesture", |
| 814 name: "preferHiddenVolumeControls", | 808 initial: false, |
| 815 initial: false, | 809 }, |
| 816 }, | 810 |
| 817 | 811 // Do we want to try to save screen real estate in the media player by hidin
g |
| 818 // Whether to disallow network fetches for parser blocking scripts in the main | 812 // the volume slider / mute button? |
| 819 // frame inserted via document.write, for users on 2G or connections that are | 813 { |
| 820 // effectively 2G. | 814 name: "preferHiddenVolumeControls", |
| 821 { | 815 initial: false, |
| 822 name: "disallowFetchForDocWrittenScriptsInMainFrameIfEffectively2G", | 816 }, |
| 823 initial: false, | 817 |
| 824 }, | 818 // Whether to disallow network fetches for parser blocking scripts in the ma
in |
| 825 | 819 // frame inserted via document.write, for users on 2G or connections that ar
e |
| 826 // Whether to disallow network fetches for parser blocking scripts in the main | 820 // effectively 2G. |
| 827 // frame inserted via document.write, for users on slow connections. | 821 { |
| 828 { | 822 name: "disallowFetchForDocWrittenScriptsInMainFrameIfEffectively2G", |
| 829 name: "disallowFetchForDocWrittenScriptsInMainFrameOnSlowConnections", | 823 initial: false, |
| 830 initial: false, | 824 }, |
| 831 }, | 825 |
| 832 | 826 // Whether to disallow network fetches for parser blocking scripts in the ma
in |
| 833 // Whether to disallow network fetches for parser blocking scripts in the main | 827 // frame inserted via document.write, for users on slow connections. |
| 834 // frame inserted via document.write, regardless of connection type. | 828 { |
| 835 { | 829 name: "disallowFetchForDocWrittenScriptsInMainFrameOnSlowConnections", |
| 836 name: "disallowFetchForDocWrittenScriptsInMainFrame", | 830 initial: false, |
| 837 initial: false, | 831 }, |
| 838 }, | 832 |
| 839 | 833 // Whether to disallow network fetches for parser blocking scripts in the ma
in |
| 840 // Whether to invalidate device-dependent media queries and restore scroll pos
itions | 834 // frame inserted via document.write, regardless of connection type. |
| 841 // on frame resize assuming device rotation. | 835 { |
| 842 { | 836 name: "disallowFetchForDocWrittenScriptsInMainFrame", |
| 843 name: "mainFrameResizesAreOrientationChanges", | 837 initial: false, |
| 844 initial: false, | 838 }, |
| 845 }, | 839 |
| 846 | 840 // Whether to invalidate device-dependent media queries and restore scroll p
ositions |
| 847 // Ability to override the default 'passive' value in AddEventListenerOptions.
This | 841 // on frame resize assuming device rotation. |
| 848 // is useful to demonstrate the power of passive event listeners. This can be
removed | 842 { |
| 849 // when there is greater adoption, interventions to force it on and associated
devtools | 843 name: "mainFrameResizesAreOrientationChanges", |
| 850 // to enable it have been shipped. | 844 initial: false, |
| 851 { | 845 }, |
| 852 name: "passiveListenerDefault", | 846 |
| 853 initial: "PassiveListenerDefault::False", | 847 // Ability to override the default 'passive' value in AddEventListenerOption
s. This |
| 854 type: "PassiveListenerDefault", | 848 // is useful to demonstrate the power of passive event listeners. This can b
e removed |
| 855 }, | 849 // when there is greater adoption, interventions to force it on and associat
ed devtools |
| 856 | 850 // to enable it have been shipped. |
| 857 // Use default interpolation quality to scale bitmap images if quality is not
determined | 851 { |
| 858 // in other ways. This can help us writing reftests containing scaled images. | 852 name: "passiveListenerDefault", |
| 859 { | 853 initial: "PassiveListenerDefault::False", |
| 860 name: "useDefaultImageInterpolationQuality", | 854 type: "PassiveListenerDefault", |
| 861 initial: false, | 855 }, |
| 862 }, | 856 |
| 863 | 857 // Use default interpolation quality to scale bitmap images if quality is no
t determined |
| 864 // Variant of the ParseHTMLOnMainThread experiment. One experiment immediately | 858 // in other ways. This can help us writing reftests containing scaled images
. |
| 865 // tokenizes input bytes. The default is to tokenize with a post task. | 859 { |
| 866 { | 860 name: "useDefaultImageInterpolationQuality", |
| 867 name: "parseHTMLOnMainThreadSyncTokenize", | 861 initial: false, |
| 868 initial: false, | 862 }, |
| 869 }, | 863 |
| 870 | 864 // Variant of the ParseHTMLOnMainThread experiment. One experiment immediate
ly |
| 871 // Variant of the ParseHTMLOnMainThread experiment. This is designed to coales
ce | 865 // tokenizes input bytes. The default is to tokenize with a post task. |
| 872 // TokenizedChunks when the experiment is running in threaded mode. | 866 { |
| 873 { | 867 name: "parseHTMLOnMainThreadSyncTokenize", |
| 874 name: "parseHTMLOnMainThreadCoalesceChunks", | 868 initial: false, |
| 875 initial: false, | 869 }, |
| 876 }, | 870 |
| 877 | 871 // Variant of the ParseHTMLOnMainThread experiment. This is designed to coal
esce |
| 878 // Whether the CSSPreloadScanner is used for externally CSS preloads. NoPreloa
d | 872 // TokenizedChunks when the experiment is running in threaded mode. |
| 879 // indicates that the scanner will be used, but no preloads issued. | 873 { |
| 880 { | 874 name: "parseHTMLOnMainThreadCoalesceChunks", |
| 881 name: "cssExternalScannerNoPreload", | 875 initial: false, |
| 882 initial: false, | 876 }, |
| 883 }, | 877 |
| 884 { | 878 // Whether the CSSPreloadScanner is used for externally CSS preloads. NoPrel
oad |
| 885 name: "cssExternalScannerPreload", | 879 // indicates that the scanner will be used, but no preloads issued. |
| 886 initial: false, | 880 { |
| 887 }, | 881 name: "cssExternalScannerNoPreload", |
| 888 | 882 initial: false, |
| 889 { | 883 }, |
| 890 name: "browserSideNavigationEnabled", | 884 { |
| 891 initial: false, | 885 name: "cssExternalScannerPreload", |
| 892 }, | 886 initial: false, |
| 893 | 887 }, |
| 894 // Some platforms have media subsystems which are too buggy to allow preloadin
g | 888 |
| 895 // of content by default. See http://crbug.com/612909 for details. | 889 { |
| 896 { | 890 name: "browserSideNavigationEnabled", |
| 897 name: "forcePreloadNoneForMediaElements", | 891 initial: false, |
| 898 initial: false, | 892 }, |
| 899 }, | 893 |
| 900 | 894 // Some platforms have media subsystems which are too buggy to allow preload
ing |
| 901 { | 895 // of content by default. See http://crbug.com/612909 for details. |
| 902 name: "hideScrollbars", | 896 { |
| 903 initial: false, | 897 name: "forcePreloadNoneForMediaElements", |
| 904 }, | 898 initial: false, |
| 905 | 899 }, |
| 906 // Spellchecking is enabled by default for elements that do not specify it exp
licitly | 900 |
| 907 // using the "spellcheck" attribute. | 901 { |
| 908 { | 902 name: "hideScrollbars", |
| 909 name: "spellCheckEnabledByDefault", | 903 initial: false, |
| 910 initial: true, | 904 }, |
| 911 }, | 905 |
| 912 | 906 // Spellchecking is enabled by default for elements that do not specify it e
xplicitly |
| 913 // Whether download UI should be hidden for the current page content. | 907 // using the "spellcheck" attribute. |
| 914 { | 908 { |
| 915 name: "hideDownloadUI", | 909 name: "spellCheckEnabledByDefault", |
| 916 initial: false, | 910 initial: true, |
| 917 }, | 911 }, |
| 918 | 912 |
| 919 // Whether or not to issue range requests for images and show placeholders. | 913 // Whether download UI should be hidden for the current page content. |
| 920 { | 914 { |
| 921 name: "fetchImagePlaceholders", | 915 name: "hideDownloadUI", |
| 922 initial: false, | 916 initial: false, |
| 923 }, | 917 }, |
| 924 | 918 |
| 925 // Whether the frame is a presentation receiver and should expose | 919 // Whether or not to issue range requests for images and show placeholders. |
| 926 // `navigator.presentation.receiver`. | 920 { |
| 927 { | 921 name: "fetchImagePlaceholders", |
| 928 name: "presentationReceiver", | 922 initial: false, |
| 929 initial: false, | 923 }, |
| 930 }, | 924 |
| 931 ] | 925 // Whether the frame is a presentation receiver and should expose |
| 926 // `navigator.presentation.receiver`. |
| 927 { |
| 928 name: "presentationReceiver", |
| 929 initial: false, |
| 930 }, |
| 931 ], |
| 932 } | 932 } |
| OLD | NEW |