WebKit Bugzilla
Attachment 373317 Details for
Bug 199322
: REGRESSION(r246033/r246496): [GTK] Kinetic scrolling doesn't work
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-199322-20190702180528.patch (text/plain), 6.46 KB, created by
Alice Mikhaylenko
on 2019-07-02 06:05:30 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Alice Mikhaylenko
Created:
2019-07-02 06:05:30 PDT
Size:
6.46 KB
patch
obsolete
>Subversion Revision: 247011 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 75890a7faa532e418411affa505875b9c787ab46..a52446c5c94911570832d2688b60cc461955acee 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,19 @@ >+2019-07-02 Alexander Mikhaylenko <exalm7659@gmail.com> >+ >+ REGRESSION(r246033/r246496): [GTK] Kinetic scrolling doesn't work >+ https://bugs.webkit.org/show_bug.cgi?id=199322 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Kinetic scrolling doesn't depend on async scrolling, at least on GTK. >+ So allow it regardless of whether async scrolling is enabled. >+ >+ * platform/PlatformWheelEvent.h: >+ * platform/generic/ScrollAnimatorGeneric.cpp: >+ (WebCore::ScrollAnimatorGeneric::handleWheelEvent): >+ * platform/gtk/PlatformWheelEventGtk.cpp: >+ (WebCore::PlatformWheelEvent::PlatformWheelEvent): >+ > 2019-07-01 Philippe Normand <pnormand@igalia.com> > > [GStreamer] Cannot play Bert's Bytes radio stream from http://radio.dos.nl/ >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 6cdb05b067a299fd9b9cdd4c067f83eeba6903b4..0d86042f985ed1c98f7f3a8e19825ea34f074a74 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,14 @@ >+2019-07-02 Alexander Mikhaylenko <exalm7659@gmail.com> >+ >+ REGRESSION(r246033/r246496): [GTK] Kinetic scrolling doesn't work >+ https://bugs.webkit.org/show_bug.cgi?id=199322 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * Shared/WebEventConversion.cpp: >+ (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): >+ Set phase and momentum phase on GTK regardlses of whether async scrolling is enabled. >+ > 2019-07-01 Per Arne Vollan <pvollan@apple.com> > > Perform less work when a pre-warmed WebProcess is suspended or resumed. >diff --git a/Source/WebCore/platform/PlatformWheelEvent.h b/Source/WebCore/platform/PlatformWheelEvent.h >index a2f9bc49ca02de1412761482171b49c50ad015fa..bf5397ebf1f4692251b4b23c26f2608191f109a5 100644 >--- a/Source/WebCore/platform/PlatformWheelEvent.h >+++ b/Source/WebCore/platform/PlatformWheelEvent.h >@@ -48,7 +48,7 @@ enum PlatformWheelEventGranularity : uint8_t { > ScrollByPixelWheelEvent, > }; > >-#if ENABLE(ASYNC_SCROLLING) >+#if ENABLE(ASYNC_SCROLLING) || PLATFORM(GTK) > > enum PlatformWheelEventPhase : uint8_t { > PlatformWheelEventPhaseNone = 0, >@@ -146,7 +146,7 @@ public: > bool useLatchedEventElement() const { return false; } > #endif > >-#if ENABLE(ASYNC_SCROLLING) >+#if ENABLE(ASYNC_SCROLLING) || PLATFORM(GTK) > PlatformWheelEventPhase phase() const { return m_phase; } > PlatformWheelEventPhase momentumPhase() const { return m_momentumPhase; } > bool isEndOfNonMomentumScroll() const; >@@ -172,7 +172,7 @@ protected: > // Scrolling velocity in pixels per second. > FloatSize m_scrollingVelocity; > >-#if ENABLE(ASYNC_SCROLLING) >+#if ENABLE(ASYNC_SCROLLING) || PLATFORM(GTK) > PlatformWheelEventPhase m_phase { PlatformWheelEventPhaseNone }; > PlatformWheelEventPhase m_momentumPhase { PlatformWheelEventPhaseNone }; > #endif >@@ -210,6 +210,10 @@ inline bool PlatformWheelEvent::isEndOfMomentumScroll() const > return m_phase == PlatformWheelEventPhaseNone && m_momentumPhase == PlatformWheelEventPhaseEnded; > } > >+#endif // ENABLE(ASYNC_SCROLLING) >+ >+#if ENABLE(ASYNC_SCROLLING) || PLATFORM(GTK) >+ > inline bool PlatformWheelEvent::isEndOfNonMomentumScroll() const > { > return m_phase == PlatformWheelEventPhaseEnded && m_momentumPhase == PlatformWheelEventPhaseNone; >@@ -226,6 +230,6 @@ inline FloatPoint PlatformWheelEvent::swipeVelocity() const > return isTransitioningToMomentumScroll() ? FloatPoint(m_wheelTicksX, m_wheelTicksY) : FloatPoint(); > } > >-#endif // ENABLE(ASYNC_SCROLLING) >+#endif // ENABLE(ASYNC_SCROLLING) || PLATFORM(GTK) > > } // namespace WebCore >diff --git a/Source/WebCore/platform/generic/ScrollAnimatorGeneric.cpp b/Source/WebCore/platform/generic/ScrollAnimatorGeneric.cpp >index 03653d42fe55fb6ac0a85910542666385949cf52..d8dff40a9702daa0af996aa3b72a43d13237a81d 100644 >--- a/Source/WebCore/platform/generic/ScrollAnimatorGeneric.cpp >+++ b/Source/WebCore/platform/generic/ScrollAnimatorGeneric.cpp >@@ -132,7 +132,7 @@ bool ScrollAnimatorGeneric::handleWheelEvent(const PlatformWheelEvent& event) > return (event.timestamp() - otherEvent.timestamp()) > scrollCaptureThreshold; > }); > >-#if ENABLE(ASYNC_SCROLLING) >+#if ENABLE(ASYNC_SCROLLING) || PLATFORM(GTK) > if (event.isEndOfNonMomentumScroll()) { > // We don't need to add the event to the history as its delta will be (0, 0). > static_cast<ScrollAnimationKinetic*>(m_kineticAnimation.get())->start(m_currentPosition, computeVelocity(), m_scrollableArea.horizontalScrollbar(), m_scrollableArea.verticalScrollbar()); >diff --git a/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp b/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp >index 0c018743ed69ab7c30854b0b69ada0b31d0ab652..a209e9e2482cd9b04e351ac5c77b9fa30a37eee8 100644 >--- a/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp >+++ b/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp >@@ -92,11 +92,9 @@ PlatformWheelEvent::PlatformWheelEvent(GdkEventScroll* event) > m_wheelTicksX = m_deltaX; > m_wheelTicksY = m_deltaY; > >-#if ENABLE(ASYNC_SCROLLING) > m_phase = gdk_event_is_scroll_stop_event(reinterpret_cast<GdkEvent*>(event)) ? > PlatformWheelEventPhaseEnded : > PlatformWheelEventPhaseChanged; >-#endif // ENABLE(ASYNC_SCROLLING) > > gdouble x, y, rootX, rootY; > gdk_event_get_coords(reinterpret_cast<GdkEvent*>(event), &x, &y); >diff --git a/Source/WebKit/Shared/WebEventConversion.cpp b/Source/WebKit/Shared/WebEventConversion.cpp >index 9631d422e999e369544aad56f62b618ce33c4090..0a5c49c4737b1056eec47981ee9c604435a71017 100644 >--- a/Source/WebKit/Shared/WebEventConversion.cpp >+++ b/Source/WebKit/Shared/WebEventConversion.cpp >@@ -157,7 +157,7 @@ public: > m_wheelTicksY = webEvent.wheelTicks().height(); > m_granularity = (webEvent.granularity() == WebWheelEvent::ScrollByPageWheelEvent) ? WebCore::ScrollByPageWheelEvent : WebCore::ScrollByPixelWheelEvent; > m_directionInvertedFromDevice = webEvent.directionInvertedFromDevice(); >-#if (PLATFORM(COCOA) || PLATFORM(GTK)) && ENABLE(ASYNC_SCROLLING) >+#if (PLATFORM(COCOA) && ENABLE(ASYNC_SCROLLING)) || PLATFORM(GTK) > m_phase = static_cast<WebCore::PlatformWheelEventPhase>(webEvent.phase()); > m_momentumPhase = static_cast<WebCore::PlatformWheelEventPhase>(webEvent.momentumPhase()); > #endif
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 199322
:
373315
|
373317
|
374461
|
374493
|
374549