DescriptionImprove scroll performance on Windows 10 with high precision touchpads.
Chrome scrolling performance on Windows 10 with high precision touch pads, is very janky and jumpy.
Windows 10 introduces a new API called Direct Manipulation which allows consumers to support smooth
scrolling, panning etc. Mouse wheel messages are dispatched differently based on whether the window
is a Direct manipulation consumer. Microsoft recommends supporting Direct Manipulation on Windows 10
and above.
This is an intial patch to do the bare minimum to register Chrome as a Direct Manipulation consumer.
The associated functionality is provided by the newly added DirectManipulationHelper class which lives
as a member of the LegacyRenderWidgetHostHWND class which ensures that these changes are isolated cleanly.
This does smoothen scrolling on these devices. However there is still work to be done
BUG=517183, 517187
Committed: https://crrev.com/d53bb2ab620b6dc5e17da85dcf1b83b516c8c212
Cr-Commit-Position: refs/heads/master@{#342962}
Patch Set 1 #
Total comments: 8
Patch Set 2 : Address review comments #Patch Set 3 : Don't pass wheel messages to DirectManipulation from views if it is coming from the child #
Total comments: 13
Patch Set 4 : #Patch Set 5 : Fixed comment #
Total comments: 2
Trybot results:
win8_chromium_ng
win_chromium_compile_dbg_ng
win_chromium_rel_ng
win_chromium_x64_rel_ng
mac_chromium_compile_dbg_ng
ios_rel_device_ninja
ios_dbg_simulator_ninja
linux_chromium_clobber_rel_ng
mac_chromium_rel_ng
android_clang_dbg_recipe
linux_chromium_chromeos_compile_dbg_ng
chromeos_x86-generic_chromium_compile_only_ng
linux_chromium_gn_chromeos_rel
cast_shell_android
chromeos_daisy_chromium_compile_only_ng
linux_chromium_asan_rel_ng
chromium_presubmit
linux_chromium_rel_ng
chromeos_amd64-generic_chromium_compile_only_ng
cast_shell_linux
linux_chromium_gn_rel
android_compile_dbg
linux_chromium_gn_dbg
android_chromium_gn_compile_rel
android_chromium_gn_compile_dbg
linux_android_rel_ng
linux_chromium_chromeos_ozone_rel_ng
android_arm64_dbg_recipe
linux_chromium_compile_dbg_32_ng
linux_chromium_chromeos_rel_ng
linux_arm_compile
Commit queue not available (can’t edit this change).
Depends on Patchset: Messages
Total messages: 15 (5 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||