WebKit Bugzilla
Attachment 360570 Details for
Bug 193350
: [GTK] Momentum scrolling stops abruptly before websites end
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-193350-20190130174546.patch (text/plain), 1.94 KB, created by
Alice Mikhaylenko
on 2019-01-30 04:45:48 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Alice Mikhaylenko
Created:
2019-01-30 04:45:48 PST
Size:
1.94 KB
patch
obsolete
>Subversion Revision: 240660 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index fe06edf97195e8d7fd9841ff876e2223a1debffa..3f88904cffe47b3804d786b93b59a1188ab9e89d 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,18 @@ >+2019-01-30 Alexander Mikhaylenko <exalm7659@gmail.com> >+ >+ [GTK] Momentum scrolling stops abruptly before websites end >+ https://bugs.webkit.org/show_bug.cgi?id=193350 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Don't immediately set velocity to 0 when position reaches upper or bottom limit. >+ Instead, set it to the overshot distance, so that position exactly matches upper >+ or lower limit on the next frame, and then clamp velocity to 0 using the existing >+ mechanism. >+ >+ * platform/ScrollAnimationKinetic.cpp: >+ (WebCore::ScrollAnimationKinetic::PerAxisData::animateScroll): >+ > > 2019-01-29 Alex Christensen <achristensen@webkit.org> > >diff --git a/Source/WebCore/platform/ScrollAnimationKinetic.cpp b/Source/WebCore/platform/ScrollAnimationKinetic.cpp >index 7466ee93c4aec6cf8b9b8e57ac4233061b10deed..ac9f2f0f37f1e805860f036b42b0d027620c1de2 100644 >--- a/Source/WebCore/platform/ScrollAnimationKinetic.cpp >+++ b/Source/WebCore/platform/ScrollAnimationKinetic.cpp >@@ -89,12 +89,14 @@ bool ScrollAnimationKinetic::PerAxisData::animateScroll(Seconds timeDelta) > m_velocity = -decelFriction * m_coef2 * exponentialPart; > > if (m_position < m_lower) { >+ m_velocity = m_lower - m_position; > m_position = m_lower; >- m_velocity = 0; > } else if (m_position > m_upper) { >+ m_velocity = m_upper - m_position; > m_position = m_upper; >- m_velocity = 0; >- } else if (fabs(m_velocity) < 1 || (lastTime && fabs(m_position - lastPosition) < 1)) { >+ } >+ >+ if (fabs(m_velocity) < 1 || (lastTime && fabs(m_position - lastPosition) < 1)) { > m_position = round(m_position); > m_velocity = 0; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 193350
:
358892
| 360570 |
360576