[Win][WebCore] Expose a constant for scrollbar pixels per line (cScrollbarPixelsPerLine)
authorHironori.Fujii@sony.com <Hironori.Fujii@sony.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 6 Apr 2018 20:30:15 +0000 (20:30 +0000)
committerHironori.Fujii@sony.com <Hironori.Fujii@sony.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 6 Apr 2018 20:30:15 +0000 (20:30 +0000)
https://bugs.webkit.org/show_bug.cgi?id=184296

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (No behavior changes).

* platform/PlatformWheelEvent.h: Placed cScrollbarPixelsPerLine definition.
* platform/win/WheelEventWin.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent): Removed cScrollbarPixelsPerLine definition.

Tools:

* DumpRenderTree/win/EventSender.cpp:
(mouseScrollBy): Removed the duplicated cScrollbarPixelsPerLine
definition. Use WebCore::cScrollbarPixelsPerLine.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230355 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/PlatformWheelEvent.h
Source/WebCore/platform/win/WheelEventWin.cpp
Tools/ChangeLog
Tools/DumpRenderTree/win/EventSender.cpp

index 708603b843696beeb2e4f06cf9abfbe5e7b546f6..81b9ecf4bef5001e6e00d21578b9799264bc7b20 100644 (file)
@@ -1,3 +1,16 @@
+2018-04-06  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        [Win][WebCore] Expose a constant for scrollbar pixels per line (cScrollbarPixelsPerLine)
+        https://bugs.webkit.org/show_bug.cgi?id=184296
+
+        Reviewed by Alex Christensen.
+
+        No new tests (No behavior changes).
+
+        * platform/PlatformWheelEvent.h: Placed cScrollbarPixelsPerLine definition.
+        * platform/win/WheelEventWin.cpp:
+        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Removed cScrollbarPixelsPerLine definition.
+
 2018-04-06  Brent Fulgham  <bfulgham@apple.com>
 
         Unreviewed test fix after r230323
index c2d6976cd05a87d38de4f5434ff2e32609180f90..c1b6a2a8f1a1f7ed1c6efb30eef208ea0999cc54 100644 (file)
@@ -62,6 +62,17 @@ enum PlatformWheelEventPhase : uint8_t {
 
 #endif
 
+#if PLATFORM(WIN)
+// How many pixels should we scroll per line? Gecko uses the height of the
+// current line, which means scroll distance changes as you go through the
+// page or go to different pages. IE 7 is ~50 px/line, although the value
+// seems to vary slightly by page and zoom level. Since IE 7 has a
+// smoothing algorithm on scrolling, it can get away with slightly larger
+// scroll values without feeling jerky. Here we use 100 px per three lines
+// (the default scroll amount on Windows is three lines per wheel tick).
+const float cScrollbarPixelsPerLine = 100.0f / 3.0f;
+#endif
+
 class PlatformWheelEvent : public PlatformEvent {
 public:
     PlatformWheelEvent()
index 6dbea20e462f04cb70a7fd358515986c8a86b08d..c24aed18e543e20f13e46651c7873c8b6c45a29c 100644 (file)
@@ -102,14 +102,6 @@ PlatformWheelEvent::PlatformWheelEvent(HWND hWnd, WPARAM wParam, LPARAM lParam,
 {
     float scaleFactor = deviceScaleFactorForWindow(hWnd);
 
-    // How many pixels should we scroll per line?  Gecko uses the height of the
-    // current line, which means scroll distance changes as you go through the
-    // page or go to different pages.  IE 7 is ~50 px/line, although the value
-    // seems to vary slightly by page and zoom level.  Since IE 7 has a
-    // smoothing algorithm on scrolling, it can get away with slightly larger
-    // scroll values without feeling jerky.  Here we use 100 px per three lines
-    // (the default scroll amount on Windows is three lines per wheel tick).
-    static const float cScrollbarPixelsPerLine = scaleFactor * 100.0f / 3.0f;
     float delta = GET_WHEEL_DELTA_WPARAM(wParam) / (scaleFactor * static_cast<float>(WHEEL_DELTA));
     if (isMouseHWheel) {
         // Windows is <-- -/+ -->, WebKit wants <-- +/- -->, so we negate
index 8aa510892b018835762580aea841193caf23e1fd..91e4ab5367c0828592a7eab65b14384aa3213a91 100644 (file)
@@ -1,3 +1,14 @@
+2018-04-06  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        [Win][WebCore] Expose a constant for scrollbar pixels per line (cScrollbarPixelsPerLine)
+        https://bugs.webkit.org/show_bug.cgi?id=184296
+
+        Reviewed by Alex Christensen.
+
+        * DumpRenderTree/win/EventSender.cpp:
+        (mouseScrollBy): Removed the duplicated cScrollbarPixelsPerLine
+        definition. Use WebCore::cScrollbarPixelsPerLine.
+
 2018-04-06  Zalan Bujtas  <zalan@apple.com>
 
         Rebaseline LayoutReloaded patch file.
index 8ca8d55f7e33e3670203b1466f6388267d8b47f4..c9080075dc78c56643c12ff9cc7980499a0015e3 100644 (file)
@@ -39,6 +39,7 @@
 
 #include <JavaScriptCore/JavaScriptCore.h>
 #include <WebCore/COMPtr.h>
+#include <WebCore/PlatformWheelEvent.h>
 #include <WebKitLegacy/WebKit.h>
 #include <windows.h>
 #include <wtf/ASCIICType.h>
@@ -788,15 +789,12 @@ void mouseScrollBy(double x, double y, bool continuous)
     RECT rect;
     ::GetWindowRect(webViewWindow, &rect);
 
-    // This value is taken from Source/WebCore/platform/win/WheelEventWin.cpp
-    const float cScrollbarPixelsPerLine = 100.0f / 3.0f;
-
     if (x) {
         UINT scrollChars = 1;
         ::SystemParametersInfo(SPI_GETWHEELSCROLLCHARS, 0, &scrollChars, 0);
         x *= WHEEL_DELTA / scrollChars;
         if (continuous)
-            x /= cScrollbarPixelsPerLine;
+            x /= WebCore::cScrollbarPixelsPerLine;
         MSG msg = makeMsg(webViewWindow, WM_MOUSEHWHEEL, MAKEWPARAM(0, x), MAKELPARAM(rect.left + lastMousePosition.x, rect.top + lastMousePosition.y));
         dispatchMessage(&msg);
     }
@@ -806,7 +804,7 @@ void mouseScrollBy(double x, double y, bool continuous)
         ::SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, &scrollLines, 0);
         y *= WHEEL_DELTA / scrollLines;
         if (continuous)
-            y /= cScrollbarPixelsPerLine;
+            y /= WebCore::cScrollbarPixelsPerLine;
         MSG msg = makeMsg(webViewWindow, WM_MOUSEWHEEL, MAKEWPARAM(0, y), MAKELPARAM(rect.left + lastMousePosition.x, rect.top + lastMousePosition.y));
         dispatchMessage(&msg);
     }