"Use Smooth Scrolling" stopped working on macOS




a year ago
a year ago


(Reporter: kathampy, Unassigned)


({regression, regressionwindow-wanted})

53 Branch
Mac OS X
regression, regressionwindow-wanted

Firefox Tracking Flags

(Not tracked)




a year ago
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:53.0) Gecko/20100101 Firefox/53.0
Build ID: 20170518000419

Steps to reproduce:

Enable "Use Smooth Scrolling" in preferences. Use an external mouse with a scroll wheel on macOS.

Actual results:

Smooth scrolling does not work at all. There is no difference with the option enabled or disabled. This stopped working on macOS a few versions ago but it used to work fine. It still works fine on Windows.

Expected results:

The scroll wheel should scroll the page smoothly. The behaviour of this setting should be the same on macOS and Windows i.e. it makes the scroll wheel scroll pages smoothly.


a year ago
Summary: Smooth Scrolling stopped working on macOS → "Use Smooth Scrolling" stopped working on macOS


a year ago
OS: Unspecified → Mac OS X
Hardware: Unspecified → x86_64


a year ago
Component: Untriaged → Widget: Cocoa
Product: Firefox → Core
Keywords: regression, regressionwindow-wanted
Kats, curious if you can tell us if this is expected?
Flags: needinfo?(bugmail)
I don't think this is expected, no. Getting a regression window would be good.
Flags: needinfo?(bugmail)
Kurian, can you please post your about:support text?
Flags: needinfo?(kathampy)

Comment 4

a year ago
Application Basics

Name: Firefox
Version: 54.0
Build ID: 20170608105825
Update Channel: release
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:54.0) Gecko/20100101 Firefox/54.0
OS: Darwin 16.6.0
Multiprocess Windows: 1/1 (Enabled by user)
Google Key: Found
Mozilla Location Service Key: Found
Safe Mode: false

Crash Reports for the Last 3 Days

All Crash Reports


Name: 1Password
Version: 4.6.6
Enabled: true
ID: onepassword4@agilebits.com

Name: Adblock Plus
Version: 2.9.1
Enabled: true
ID: {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}

Name: Add-on Compatibility Reporter
Version: 2.2.3
Enabled: true
ID: compatibility@addons.mozilla.org

Name: Application Update Service Helper
Version: 2.0
Enabled: true
ID: aushelper@mozilla.org

Name: Firefox Screenshots
Version: 6.6.0
Enabled: true
ID: screenshots@mozilla.org

Name: Multi-process staged rollout
Version: 1.50
Enabled: true
ID: e10srollout@mozilla.org

Name: Pocket
Version: 1.0.5
Enabled: true
ID: firefox@getpocket.com

Name: Search By Image (by Google)
Version: 1.1.4
Enabled: true
ID: {ce7e73df-6a44-4028-8079-5927a588c948}

Name: Strict Pop-up Blocker
Version: 0.2.1-signed.1-signed
Enabled: true
ID: jid1-P34HaABBBpOerQ@jetpack

Name: Tampermonkey
Version: 4.3.5447
Enabled: true
ID: firefox@tampermonkey.net

Name: Web Compat
Version: 1.1
Enabled: true
ID: webcompat@mozilla.org

Name: YesScript
Version: 2.2
Enabled: true
ID: yesscript@userstyles.org


Compositing: OpenGL
Asynchronous Pan/Zoom: wheel input enabled
WebGL 1 Driver WSI Info: CGL
WebGL 1 Driver Renderer: NVIDIA Corporation -- NVIDIA GeForce GT 750M OpenGL Engine
WebGL 1 Driver Version: 2.1 NVIDIA-10.18.5 378.05.05.15f01
WebGL 1 Driver Extensions: GL_ARB_color_buffer_float GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_provoking_vertex GL_ARB_seamless_cube_map GL_ARB_shader_objects GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_transpose_matrix GL_ARB_vertex_array_bgra GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_draw_buffers2 GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_rectangle GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_APPLE_aux_depth_stencil GL_APPLE_client_storage GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels GL_APPLE_flush_buffer_range GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_packed_pixels GL_APPLE_pixel_buffer GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_specular_vector GL_APPLE_texture_range GL_APPLE_transform_hint GL_APPLE_vertex_array_object GL_APPLE_vertex_array_range GL_APPLE_vertex_point_size GL_APPLE_vertex_program_evaluators GL_APPLE_ycbcr_422 GL_ATI_separate_stencil GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_NV_blend_square GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fog_distance GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_light_max_exponent GL_NV_multisample_filter_hint GL_NV_point_sprite GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_frag_depth EXT_sRGB EXT_shader_texture_lod EXT_texture_filter_anisotropic MOZ_debug_get OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc MOZ_WEBGL_depth_texture
WebGL 2 Driver WSI Info: CGL
WebGL2 Renderer: NVIDIA Corporation -- NVIDIA GeForce GT 750M OpenGL Engine
WebGL 2 Driver Version: 4.1 NVIDIA-10.18.5 378.05.05.15f01
WebGL 2 Driver Extensions: GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_bounds_test GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_mirror_clamp GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
WebGL 2 Extensions: EXT_color_buffer_float EXT_texture_filter_anisotropic EXT_disjoint_timer_query MOZ_debug_get OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context MOZ_WEBGL_lose_context MOZ_WEBGL_compressed_texture_s3tc
Audio Backend: audiounit
GPU #1
Active: Yes
Vendor ID: 0x10de
Device ID: 0x0fe9

AzureCanvasAccelerated: 1
AzureCanvasBackend: skia
AzureContentBackend: skia
AzureFallbackCanvasBackend: none
TileHeight: 1024
TileWidth: 1024
Decision Log
unavailable by runtime: Build doesn't include WebRender

Important Modified Preferences

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.frecency_experiment: 3
browser.download.importedFromSqlite: true
browser.fixup.alternate.enabled: false
browser.link.open_newwindow.restriction: 0
browser.places.smartBookmarksVersion: 8
browser.sessionstore.upgradeBackup.latestBuildID: 20170608105825
browser.startup.homepage_override.buildID: 20170608105825
browser.startup.homepage_override.mstone: 54.0
browser.tabs.remote.autostart.2: true
browser.tabs.remote.force-enable: true
browser.urlbar.daysBeforeHidingSuggestionsPrompt: 3
browser.urlbar.lastSuggestionsPromptDate: 20170614
browser.urlbar.searchSuggestionsChoice: true
browser.urlbar.suggest.searches: true
browser.urlbar.userMadeSearchSuggestionsChoice: true
dom.push.userAgentID: 55fc8ab8b6e3430a9cc445ca05e54275
extensions.lastAppVersion: 54.0
gfx.color_management.enablev4: true
gfx.color_management.mode: 1
media.gmp-manager.buildID: 20170608105825
media.gmp-manager.lastCheck: 1497444866
media.gmp-widevinecdm.abi: x86_64-gcc3
media.gmp-widevinecdm.lastUpdate: 1497444961
media.gmp.storage.version.observed: 1
network.cookie.prefsMigrated: true
network.dnsCacheEntries: 0
network.dnsCacheExpiration: 0
network.predictor.cleaned-up: true
places.database.lastMaintenance: 1497514759
places.history.expiration.transient_current_max_pages: 122334
plugin.disable_full_page_plugin_for_types: application/pdf
privacy.cpd.offlineApps: true
privacy.cpd.siteSettings: true
privacy.donottrackheader.enabled: true
privacy.sanitize.timeSpan: 0
security.disable_button.openCertManager: false
security.sandbox.content.tempDirSuffix: {48e7a605-b316-d54e-a8a9-db8cdf8c2ab8}
services.sync.engine.adblockplus: true
services.sync.engine.prefs.modified: false
services.sync.lastPing: 1497444918
services.sync.lastSync: Thu Jun 15 2017 13:59:39 GMT+0530 (IST)
storage.vacuum.last.index: 0
storage.vacuum.last.places.sqlite: 1497514758

Important Locked Preferences

Places Database


Incremental GC: true


Activated: false
Prevent Accessibility: 0

Library Versions

Expected minimum version: 4.14
Version in use: 4.14

Expected minimum version: 3.30.2
Version in use: 3.30.2

Expected minimum version: 3.30.2
Version in use: 3.30.2

Expected minimum version: 3.30.2
Version in use: 3.30.2

Expected minimum version: 3.30.2
Version in use: 3.30.2

Experimental Features


Content Process Sandbox Level: 1
Flags: needinfo?(kathampy)
Kurian, could you get a regression range using mozregression? http://mozilla.github.io/mozregression/quickstart.html
sudo easy_install pip
sudo pip2 install -U mozregression
mozregression --good 2016-07-12
Flags: needinfo?(kathampy)

Comment 6

a year ago
Unfortunately I can't run mozregression though the firewall here.
Flags: needinfo?(kathampy) → needinfo?(mstange)
Unfortunately I can't reproduce this on my machine. I'm trying with a regular external mouse with a scroll wheel, on 10.12.
Do you have any custom mouse drivers installed, or some other mouse utility like SteerMouse?
Flags: needinfo?(mstange) → needinfo?(kathampy)

Comment 8

a year ago
I just tested on Firefox 54 and smooth scrolling has started working again.

I have a Logitech G500S. The LGS software is installed, but not running.
I have SmoothScroll (https://www.smoothscroll.net/mac/) installed, but disabled for Firefox since Firefox has its own smooth scrolling. I had temporarily enabled it for Firefox while smooth scrolling was not working.
I have Scroll Reverser installed and enabled.
Flags: needinfo?(kathampy)

Comment 9

a year ago
I reinstalled Firefox 53 to test noticed something very strange. Scrolling does not respond when the mouse wheel is rotated by a single notch. I need to turn it by at least three notches to make the page move. This applies when "Use Smooth Scrolling" is both enabled and disabled. And smooth scrolling *is* working in Firefox 53 now.

This scroll wheel minimum movement bug was a macOS Sierra bug, but was fixed by Apple long ago. It's not resurfaced only in Firefox 53. When I use Firefox 54 it is *not* present i.e. scrolling a single notch is recognized.
Oh, good, so this was just bug 1355340 all along.
Last Resolved: a year ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1355340

Comment 11

a year ago
(In reply to Markus Stange [:mstange] from comment #10)
> Oh, good, so this was just bug 1355340 all along.

It was not behaving like that bug at all. When I originally reported, only the smooth scrolling did not work. It did register every single tick perfectly - it just wasn't scrolling smoothly.

When I went back to 53 today, only the first 2 ticks exactly were being ignored, and if you scrolled below a certain speed it would not scroll *at all*. This was exactly like the Sierra bug Apple introduced and fixed.
Okay, then I don't really understand what's going on. It sounds like you got different behavior with 53 two weeks ago than you get with 53 today. I find it unlikely that Apple changed something here, but I suppose it's not completely impossible.

However, since everything's working now, I don't think we need to get to the bottom of this.

Comment 13

a year ago
The difference is I ran 53 today with a new profile, so that's a big unknown. However the result of this was it behaved identically to the Sierra bug. Apple introduced that bug in 10.12.0 and fixed it in 10.12.1 months ago. I brought it up because the behaviour in 53 today is identical to that bug.
You need to log in before you can comment on or make changes to this bug.