The linter defined in bug 1566315 has already detected over 200 prefs in all.js that could be duplicates: ``` dom.quotaManager.testing dom.inputevent.datatransfer.enabled dom.script_loader.binast_encoding.enabled browser.display.document_color_use browser.display.use_system_colors browser.display.foreground_color browser.display.background_color browser.anchor_color browser.active_color browser.visited_color browser.underline_anchors browser.display.use_focus_colors browser.display.focus_background_color browser.display.focus_text_color browser.display.focus_ring_width browser.display.focus_ring_on_anything browser.display.focus_ring_style media.opus.enabled media.wave.enabled media.webm.enabled media.navigator.mediadatadecoder_vpx_enabled media.navigator.mediadatadecoder_h264_enabled media.benchmark.vp9.threshold media.benchmark.frames media.benchmark.timeout media.media-capabilities.enabled media.media-capabilities.screen.enabled media.encoder.webm.enabled media.autoplay.enabled.user-gestures-needed media.av1.enabled media.av1.use-dav1d layers.geometry.opengl.enabled layers.geometry.basic.enabled layers.geometry.d3d11.enabled apz.allow_double_tap_zooming apz.allow_immediate_handoff apz.allow_zooming apz.android.chrome_fling_physics.enabled apz.android.chrome_fling_physics.friction apz.android.chrome_fling_physics.inflexion apz.android.chrome_fling_physics.stop_threshold apz.autoscroll.enabled apz.axis_lock.mode apz.axis_lock.lock_angle apz.axis_lock.breakout_threshold apz.axis_lock.breakout_angle apz.axis_lock.direct_pan_angle apz.content_response_timeout apz.drag.enabled apz.drag.initial.enabled apz.drag.touch.enabled apz.danger_zone_x apz.danger_zone_y apz.disable_for_scroll_linked_effects apz.displayport_expiry_ms apz.enlarge_displayport_when_clipped apz.fixed-margin-override.enabled apz.fixed-margin-override.bottom apz.fixed-margin-override.top apz.fling_accel_base_mult apz.fling_accel_interval_ms apz.fling_accel_min_velocity apz.fling_accel_supplemental_mult apz.fling_curve_threshold_inches_per_ms apz.fling_friction apz.fling_min_velocity_threshold apz.fling_stop_on_tap_threshold apz.fling_stopped_threshold apz.frame_delay.enabled apz.keyboard.passive-listeners apz.max_tap_time apz.max_velocity_inches_per_ms apz.min_skate_speed apz.minimap.enabled apz.one_touch_pinch.enabled apz.overscroll.enabled apz.overscroll.min_pan_distance_ratio apz.overscroll.stop_distance_threshold apz.paint_skipping.enabled apz.peek_messages.enabled apz.pinch_lock.mode apz.pinch_lock.span_breakout_threshold apz.pinch_lock.span_lock_threshold apz.popups.enabled apz.relative-update.enabled apz.printtree apz.record_checkerboarding apz.second_tap_tolerance apz.test.logging_enabled apz.touch_start_tolerance apz.touch_move_tolerance apz.velocity_bias apz.velocity_relevance_time_ms apz.x_skate_highmem_adjust apz.y_skate_highmem_adjust apz.x_skate_size_multiplier apz.y_skate_size_multiplier apz.x_stationary_size_multiplier apz.y_stationary_size_multiplier apz.zoom_animation_duration_ms apz.scale_repaint_delay_ms layout.scroll.root-frame-containers layout.scrollbars.always-layerize-track gfx.layerscope.enabled gfx.layerscope.port gfx.perf-warnings.enabled gfx.color_management.mode gfx.color_management.rendering_intent gfx.color_management.enablev4 gfx.downloadable_fonts.otl_validation gfx.downloadable_fonts.keep_color_bitmaps gfx.downloadable_fonts.validate_variation_tables gfx.font_rendering.coretext.enabled gfx.font_rendering.ahem_antialias_none gfx.canvas.remote gfx.draw-color-bars gfx.logging.painted-pixel-count.enabled gfx.ycbcr.accurate-conversion gfx.compositor.glcontext.opaque gfx.webrender.highlight-painted-layers gfx.webrender.blob-images gfx.webrender.blob.paint-flashing gfx.webrender.dl.dump-parent gfx.webrender.dl.dump-content gfx.webrender.picture-caching gfx.webrender.start-debug-server accessibility.browsewithcaret toolkit.scrollbox.verticalScrollDistance toolkit.scrollbox.horizontalScrollDistance browser.dom.window.dump.enabled devtools.console.stdout.chrome devtools.console.stdout.content nglayout.debug.widget_update_flashing print.font-variations-as-paths privacy.trackingprotection.origin_telemetry.enabled javascript.options.streams security.fileuri.strict_origin_policy clipboard.autocopy mousewheel.transaction.timeout mousewheel.transaction.ignoremovedelay mousewheel.acceleration.start mousewheel.acceleration.factor mousewheel.system_scroll_override_on_root_content.vertical.factor mousewheel.system_scroll_override_on_root_content.horizontal.factor general.smoothScroll.mouseWheel.durationMinMS general.smoothScroll.mouseWheel.durationMaxMS general.smoothScroll.pixels.durationMinMS general.smoothScroll.pixels.durationMaxMS general.smoothScroll.lines.durationMinMS general.smoothScroll.lines.durationMaxMS general.smoothScroll.pages.durationMinMS general.smoothScroll.pages.durationMaxMS general.smoothScroll.other.durationMinMS general.smoothScroll.other.durationMaxMS general.smoothScroll.mouseWheel general.smoothScroll.pages general.smoothScroll.durationToIntervalRatio general.smoothScroll.currentVelocityWeighting general.smoothScroll.stopDecelerationWeighting general.smoothScroll.msdPhysics.enabled general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS general.smoothScroll.msdPhysics.motionBeginSpringConstant general.smoothScroll.msdPhysics.slowdownMinDeltaMS general.smoothScroll.msdPhysics.slowdownMinDeltaRatio general.smoothScroll.msdPhysics.slowdownSpringConstant general.smoothScroll.msdPhysics.regularSpringConstant layout.css.report_errors layout.css.scroll-snap.proximity-threshold layout.css.scroll-snap.prediction-max-velocity layout.css.scroll-snap.prediction-sensitivity layout.css.scroll-behavior.enabled layout.css.scroll-behavior.spring-constant layout.css.scroll-behavior.damping-ratio layout.frame_rate layout.display-list.dump layout.display-list.dump-content layout.display-list.dump-parent layout.display-list.retain layout.display-list.retain.chrome layout.display-list.rebuild-frame-limit layout.animation.prerender.partial layout.animation.prerender.viewport-ratio-limit-x layout.animation.prerender.viewport-ratio-limit-y layout.animation.prerender.absolute-limit-x layout.animation.prerender.absolute-limit-y dom.ipc.plugins.asyncdrawing.enabled fission.autostart mousewheel.system_scroll_override_on_root_content.enabled image.animated.decode-on-demand.threshold-kb image.animated.decode-on-demand.batch-size image.animated.resume-from-last-displayed image.cache.factor2.threshold-surfaces image.cache.max-rasterized-svg-threshold-kb image.decode-immediately.enabled image.downscale-during-decode.enabled image.infer-src-animation.threshold-ms image.layout_network_priority image.mem.discardable image.mem.animated.use_heap image.mem.debug-reporting image.mem.shared image.mem.volatile.min_threshold_kb image.webp.enabled gl.require-hardware gl.multithreaded gl.ignore-dx-interop2-blacklist gl.use-tls-is-current gl.allow-high-power webgl.1.allow-core-profiles webgl.force-enabled webgl.disabled webgl.disable-angle webgl.disable-wgl webgl.min_capability_mode webgl.disable-extensions webgl.msaa-force webgl.prefer-16bpp webgl.default-low-power webgl.default-no-alpha webgl.force-layers-readback webgl.force-index-validation webgl.lose-context-on-memory-pressure webgl.can-lose-context-in-foreground webgl.max-contexts webgl.max-contexts-per-principal webgl.max-warnings-per-context webgl.enable-draft-extensions webgl.enable-privileged-extensions webgl.disable-fail-if-major-performance-caveat webgl.disable-DOM-blit-uploads webgl.allow-fb-invalidation webgl.perf.max-warnings webgl.perf.max-acceptable-fb-status-invals webgl.perf.spew-frame-allocs webgl.angle.try-d3d11 webgl.angle.force-d3d11 webgl.angle.force-warp webgl.dxgl.enabled webgl.dxgl.needs-finish layers.bench.enabled layers.gpu-process.max_restarts layers.acceleration.draw-fps layers.deaa.enabled layers.dump layers.dump-texture layers.dump-decision layers.dump-client-layers layers.dump-host-layers layers.draw-borders layers.draw-tile-borders layers.draw-bigimage-borders layers.child-process-shutdown layers.max-active layers.offmainthreadcomposition.frame-rate layers.single-tile.enabled layers.low-precision-buffer layers.progressive-paint layers.tiles.retain-back-buffer layers.tiles.edge-padding layers.draw-mask-debug gfx.content.always-paint gfx.apitrace.enabled widget.window-transforms.disabled gfx.direct2d.destroy-dt-on-paintthread gfx.direct3d11.use-double-buffering layers.shared-buffer-provider.enabled dom.vr.autoactivate.enabled dom.vr.controller_trigger_threshold dom.vr.external.notdetected.timeout dom.vr.external.quit.timeout dom.vr.navigation.timeout dom.vr.oculus.present.timeout dom.vr.oculus.invisible.enabled dom.vr.controller.enumerate.interval dom.vr.display.enumerate.interval dom.vr.inactive.timeout dom.vr.poseprediction.enabled dom.vr.require-gesture dom.vr.puppet.enabled dom.vr.display.rafMaxDuration network.traffic_analyzer.enabled dom.meta-viewport.enabled layers.mlgpu.enable-on-windows7 layers.omtp.release-capture-on-main-thread layers.omtp.dump-capture fission.preserve_browsing_contexts ``` We want to avoid duplicate prefs between StaticPrefList.yaml and all.js. If there is any case where a pref must be defined in both files, these could be added to the `ignore_prefs` list in lintpref.
Bug 1575983 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
The linter in bug 1566315 has already detected over 200 prefs in all.js that could be duplicates: ``` dom.quotaManager.testing dom.inputevent.datatransfer.enabled dom.script_loader.binast_encoding.enabled browser.display.document_color_use browser.display.use_system_colors browser.display.foreground_color browser.display.background_color browser.anchor_color browser.active_color browser.visited_color browser.underline_anchors browser.display.use_focus_colors browser.display.focus_background_color browser.display.focus_text_color browser.display.focus_ring_width browser.display.focus_ring_on_anything browser.display.focus_ring_style media.opus.enabled media.wave.enabled media.webm.enabled media.navigator.mediadatadecoder_vpx_enabled media.navigator.mediadatadecoder_h264_enabled media.benchmark.vp9.threshold media.benchmark.frames media.benchmark.timeout media.media-capabilities.enabled media.media-capabilities.screen.enabled media.encoder.webm.enabled media.autoplay.enabled.user-gestures-needed media.av1.enabled media.av1.use-dav1d layers.geometry.opengl.enabled layers.geometry.basic.enabled layers.geometry.d3d11.enabled apz.allow_double_tap_zooming apz.allow_immediate_handoff apz.allow_zooming apz.android.chrome_fling_physics.enabled apz.android.chrome_fling_physics.friction apz.android.chrome_fling_physics.inflexion apz.android.chrome_fling_physics.stop_threshold apz.autoscroll.enabled apz.axis_lock.mode apz.axis_lock.lock_angle apz.axis_lock.breakout_threshold apz.axis_lock.breakout_angle apz.axis_lock.direct_pan_angle apz.content_response_timeout apz.drag.enabled apz.drag.initial.enabled apz.drag.touch.enabled apz.danger_zone_x apz.danger_zone_y apz.disable_for_scroll_linked_effects apz.displayport_expiry_ms apz.enlarge_displayport_when_clipped apz.fixed-margin-override.enabled apz.fixed-margin-override.bottom apz.fixed-margin-override.top apz.fling_accel_base_mult apz.fling_accel_interval_ms apz.fling_accel_min_velocity apz.fling_accel_supplemental_mult apz.fling_curve_threshold_inches_per_ms apz.fling_friction apz.fling_min_velocity_threshold apz.fling_stop_on_tap_threshold apz.fling_stopped_threshold apz.frame_delay.enabled apz.keyboard.passive-listeners apz.max_tap_time apz.max_velocity_inches_per_ms apz.min_skate_speed apz.minimap.enabled apz.one_touch_pinch.enabled apz.overscroll.enabled apz.overscroll.min_pan_distance_ratio apz.overscroll.stop_distance_threshold apz.paint_skipping.enabled apz.peek_messages.enabled apz.pinch_lock.mode apz.pinch_lock.span_breakout_threshold apz.pinch_lock.span_lock_threshold apz.popups.enabled apz.relative-update.enabled apz.printtree apz.record_checkerboarding apz.second_tap_tolerance apz.test.logging_enabled apz.touch_start_tolerance apz.touch_move_tolerance apz.velocity_bias apz.velocity_relevance_time_ms apz.x_skate_highmem_adjust apz.y_skate_highmem_adjust apz.x_skate_size_multiplier apz.y_skate_size_multiplier apz.x_stationary_size_multiplier apz.y_stationary_size_multiplier apz.zoom_animation_duration_ms apz.scale_repaint_delay_ms layout.scroll.root-frame-containers layout.scrollbars.always-layerize-track gfx.layerscope.enabled gfx.layerscope.port gfx.perf-warnings.enabled gfx.color_management.mode gfx.color_management.rendering_intent gfx.color_management.enablev4 gfx.downloadable_fonts.otl_validation gfx.downloadable_fonts.keep_color_bitmaps gfx.downloadable_fonts.validate_variation_tables gfx.font_rendering.coretext.enabled gfx.font_rendering.ahem_antialias_none gfx.canvas.remote gfx.draw-color-bars gfx.logging.painted-pixel-count.enabled gfx.ycbcr.accurate-conversion gfx.compositor.glcontext.opaque gfx.webrender.highlight-painted-layers gfx.webrender.blob-images gfx.webrender.blob.paint-flashing gfx.webrender.dl.dump-parent gfx.webrender.dl.dump-content gfx.webrender.picture-caching gfx.webrender.start-debug-server accessibility.browsewithcaret toolkit.scrollbox.verticalScrollDistance toolkit.scrollbox.horizontalScrollDistance browser.dom.window.dump.enabled devtools.console.stdout.chrome devtools.console.stdout.content nglayout.debug.widget_update_flashing print.font-variations-as-paths privacy.trackingprotection.origin_telemetry.enabled javascript.options.streams security.fileuri.strict_origin_policy clipboard.autocopy mousewheel.transaction.timeout mousewheel.transaction.ignoremovedelay mousewheel.acceleration.start mousewheel.acceleration.factor mousewheel.system_scroll_override_on_root_content.vertical.factor mousewheel.system_scroll_override_on_root_content.horizontal.factor general.smoothScroll.mouseWheel.durationMinMS general.smoothScroll.mouseWheel.durationMaxMS general.smoothScroll.pixels.durationMinMS general.smoothScroll.pixels.durationMaxMS general.smoothScroll.lines.durationMinMS general.smoothScroll.lines.durationMaxMS general.smoothScroll.pages.durationMinMS general.smoothScroll.pages.durationMaxMS general.smoothScroll.other.durationMinMS general.smoothScroll.other.durationMaxMS general.smoothScroll.mouseWheel general.smoothScroll.pages general.smoothScroll.durationToIntervalRatio general.smoothScroll.currentVelocityWeighting general.smoothScroll.stopDecelerationWeighting general.smoothScroll.msdPhysics.enabled general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS general.smoothScroll.msdPhysics.motionBeginSpringConstant general.smoothScroll.msdPhysics.slowdownMinDeltaMS general.smoothScroll.msdPhysics.slowdownMinDeltaRatio general.smoothScroll.msdPhysics.slowdownSpringConstant general.smoothScroll.msdPhysics.regularSpringConstant layout.css.report_errors layout.css.scroll-snap.proximity-threshold layout.css.scroll-snap.prediction-max-velocity layout.css.scroll-snap.prediction-sensitivity layout.css.scroll-behavior.enabled layout.css.scroll-behavior.spring-constant layout.css.scroll-behavior.damping-ratio layout.frame_rate layout.display-list.dump layout.display-list.dump-content layout.display-list.dump-parent layout.display-list.retain layout.display-list.retain.chrome layout.display-list.rebuild-frame-limit layout.animation.prerender.partial layout.animation.prerender.viewport-ratio-limit-x layout.animation.prerender.viewport-ratio-limit-y layout.animation.prerender.absolute-limit-x layout.animation.prerender.absolute-limit-y dom.ipc.plugins.asyncdrawing.enabled fission.autostart mousewheel.system_scroll_override_on_root_content.enabled image.animated.decode-on-demand.threshold-kb image.animated.decode-on-demand.batch-size image.animated.resume-from-last-displayed image.cache.factor2.threshold-surfaces image.cache.max-rasterized-svg-threshold-kb image.decode-immediately.enabled image.downscale-during-decode.enabled image.infer-src-animation.threshold-ms image.layout_network_priority image.mem.discardable image.mem.animated.use_heap image.mem.debug-reporting image.mem.shared image.mem.volatile.min_threshold_kb image.webp.enabled gl.require-hardware gl.multithreaded gl.ignore-dx-interop2-blacklist gl.use-tls-is-current gl.allow-high-power webgl.1.allow-core-profiles webgl.force-enabled webgl.disabled webgl.disable-angle webgl.disable-wgl webgl.min_capability_mode webgl.disable-extensions webgl.msaa-force webgl.prefer-16bpp webgl.default-low-power webgl.default-no-alpha webgl.force-layers-readback webgl.force-index-validation webgl.lose-context-on-memory-pressure webgl.can-lose-context-in-foreground webgl.max-contexts webgl.max-contexts-per-principal webgl.max-warnings-per-context webgl.enable-draft-extensions webgl.enable-privileged-extensions webgl.disable-fail-if-major-performance-caveat webgl.disable-DOM-blit-uploads webgl.allow-fb-invalidation webgl.perf.max-warnings webgl.perf.max-acceptable-fb-status-invals webgl.perf.spew-frame-allocs webgl.angle.try-d3d11 webgl.angle.force-d3d11 webgl.angle.force-warp webgl.dxgl.enabled webgl.dxgl.needs-finish layers.bench.enabled layers.gpu-process.max_restarts layers.acceleration.draw-fps layers.deaa.enabled layers.dump layers.dump-texture layers.dump-decision layers.dump-client-layers layers.dump-host-layers layers.draw-borders layers.draw-tile-borders layers.draw-bigimage-borders layers.child-process-shutdown layers.max-active layers.offmainthreadcomposition.frame-rate layers.single-tile.enabled layers.low-precision-buffer layers.progressive-paint layers.tiles.retain-back-buffer layers.tiles.edge-padding layers.draw-mask-debug gfx.content.always-paint gfx.apitrace.enabled widget.window-transforms.disabled gfx.direct2d.destroy-dt-on-paintthread gfx.direct3d11.use-double-buffering layers.shared-buffer-provider.enabled dom.vr.autoactivate.enabled dom.vr.controller_trigger_threshold dom.vr.external.notdetected.timeout dom.vr.external.quit.timeout dom.vr.navigation.timeout dom.vr.oculus.present.timeout dom.vr.oculus.invisible.enabled dom.vr.controller.enumerate.interval dom.vr.display.enumerate.interval dom.vr.inactive.timeout dom.vr.poseprediction.enabled dom.vr.require-gesture dom.vr.puppet.enabled dom.vr.display.rafMaxDuration network.traffic_analyzer.enabled dom.meta-viewport.enabled layers.mlgpu.enable-on-windows7 layers.omtp.release-capture-on-main-thread layers.omtp.dump-capture fission.preserve_browsing_contexts ``` We want to avoid duplicate prefs between StaticPrefList.yaml and all.js. If there is any case where a pref must be defined in both files, these could be added to the `ignore_prefs` list in lintpref.