[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.22-985-g3c00f00
enrica at apple.com
enrica at apple.com
Wed Mar 17 18:42:24 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit d3856566a6635862eb2fbc6b508524d8fe6171c9
Author: enrica at apple.com <enrica at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Mar 15 20:31:04 2010 +0000
WebCore: For continuous scrolling devices on the Mac (trackpads and Mighty/Magic
Mice), set the number of wheel ticks equal to the atomic increment of
the device: a pixel. This ensures that any scrolling action will
generate at least one wheel tick, regardless of the speed/length of
the gesture.
Reviewed by John Sullivan.
https://bugs.webkit.org/show_bug.cgi?id=29601
<rdar://problem/7453254>
Tests: fast/events/continuous-platform-wheelevent-in-scrolling-div.html
fast/events/platform-wheelevent-in-scrolling-div.html
* platform/mac/WebCoreSystemInterface.h: Modify method signature.
* platform/mac/WebCoreSystemInterface.mm: Ditto.
* platform/mac/WheelEventMac.mm:
(WebCore::PlatformWheelEvent::PlatformWheelEvent): Call into
WebKitSystemInterface to determine both wheelTicksX/Y and deltaX/Y.
WKSI will query the event system for number of wheel ticks and
pixels/lines scrolled based on the device type.
WebKit/mac: Updated call to WKGetWheelEventDeltas() to match new method signature.
Reviewed by John Sullivan.
https://bugs.webkit.org/show_bug.cgi?id=29601
<rdar://problem/7453254>
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView scrollWheel:]):
WebKitLibraries: Added two new output arguments to WKGetWheelEventDeltas() to return
the number of scroll wheel ticks in the x and y directions.
Reviewed by John Sullivan.
https://bugs.webkit.org/show_bug.cgi?id=29601.
<rdar://problem/7453254>
* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLeopard.a:
* libWebKitSystemInterfaceSnowLeopard.a:
* libWebKitSystemInterfaceTiger.a:
LayoutTests: These tests verify that scrollwheel events (both continuous and
non-continuous) generate the expected pixel deltas in scrollable
regions, and also generate DOM mousewheel events with expected
wheelDelta values.
Reviewed by John Sullivan.
https://bugs.webkit.org/show_bug.cgi?id=29601
<rdar://problem/7453254>
* fast/events/continuous-platform-wheelevent-in-scrolling-div-expected.txt: Added.
* fast/events/continuous-platform-wheelevent-in-scrolling-div.html: Added.
* fast/events/platform-wheelevent-in-scrolling-div-expected.txt: Added.
* fast/events/platform-wheelevent-in-scrolling-div.html: Added.
* fast/events/wheelevent-in-scrolling-div-expected.txt: Rebased
expected results due to change in test output formatting.
* fast/events/wheelevent-in-scrolling-div.html: Modified to use common
js logging and assertion functions.
* platform/gtk/Skipped: DRT support needed by tests not yet implemented
in GTK port. See https://bugs.webkit.org/show_bug.cgi?id=36003.
* platform/mac-tiger/Skipped: DRT support needed by tests not possible
to implement in Tiger.
* platform/qt/Skipped: DRT support for tests not yet implemented in Qt
port. See https://bugs.webkit.org/show_bug.cgi?id=36004.
* platform/win/Skipped: DRT support for tests not yet implemented in
Windows port. See https://bugs.webkit.org/show_bug.cgi?id=36002.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56012 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 3e0eab7..48721de 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,32 @@
+2010-03-15 Andy Estes <aestes at apple.com>
+
+ Reviewed by John Sullivan.
+
+ These tests verify that scrollwheel events (both continuous and
+ non-continuous) generate the expected pixel deltas in scrollable
+ regions, and also generate DOM mousewheel events with expected
+ wheelDelta values.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29601
+ <rdar://problem/7453254>
+
+ * fast/events/continuous-platform-wheelevent-in-scrolling-div-expected.txt: Added.
+ * fast/events/continuous-platform-wheelevent-in-scrolling-div.html: Added.
+ * fast/events/platform-wheelevent-in-scrolling-div-expected.txt: Added.
+ * fast/events/platform-wheelevent-in-scrolling-div.html: Added.
+ * fast/events/wheelevent-in-scrolling-div-expected.txt: Rebased
+ expected results due to change in test output formatting.
+ * fast/events/wheelevent-in-scrolling-div.html: Modified to use common
+ js logging and assertion functions.
+ * platform/gtk/Skipped: DRT support needed by tests not yet implemented
+ in GTK port. See https://bugs.webkit.org/show_bug.cgi?id=36003.
+ * platform/mac-tiger/Skipped: DRT support needed by tests not possible
+ to implement in Tiger.
+ * platform/qt/Skipped: DRT support for tests not yet implemented in Qt
+ port. See https://bugs.webkit.org/show_bug.cgi?id=36004.
+ * platform/win/Skipped: DRT support for tests not yet implemented in
+ Windows port. See https://bugs.webkit.org/show_bug.cgi?id=36002.
+
2010-03-15 Jian Li <jianli at chromium.org>
Reviewed by Sam Weinig.
diff --git a/LayoutTests/fast/events/continuous-platform-wheelevent-in-scrolling-div-expected.txt b/LayoutTests/fast/events/continuous-platform-wheelevent-in-scrolling-div-expected.txt
new file mode 100644
index 0000000..af0b6db
--- /dev/null
+++ b/LayoutTests/fast/events/continuous-platform-wheelevent-in-scrolling-div-expected.txt
@@ -0,0 +1,6 @@
+PASS event.wheelDeltaY is window.expectedScrollTop*-120
+PASS event.wheelDeltaX is window.expectedScrollLeft*-120
+PASS event.wheelDelta is window.expectedScrollTop*-120
+PASS div.scrollTop is window.expectedScrollTop
+PASS div.scrollLeft is window.expectedScrollLeft
+
diff --git a/LayoutTests/fast/events/continuous-platform-wheelevent-in-scrolling-div.html b/LayoutTests/fast/events/continuous-platform-wheelevent-in-scrolling-div.html
new file mode 100644
index 0000000..fec1041
--- /dev/null
+++ b/LayoutTests/fast/events/continuous-platform-wheelevent-in-scrolling-div.html
@@ -0,0 +1,61 @@
+<html>
+ <head>
+ <link rel="stylesheet" href="../js/resources/js-test-style.css">
+ <script src="../js/resources/js-test-pre.js"></script>
+ <script>
+ var expectedScrollTop = 200;
+ var expectedScrollLeft = 100;
+ var event;
+ var div;
+
+ if (window.layoutTestController) {
+ layoutTestController.waitUntilDone();
+ }
+
+ function dispatchWheelEvent()
+ {
+ var overflowElement = document.getElementById("overflow");
+ if (overflowElement)
+ overflowElement.addEventListener("mousewheel", mousewheelHandler, false);
+
+ if (window.eventSender) {
+ eventSender.mouseMoveTo(100, 110);
+ eventSender.continuousMouseScrollBy(-window.expectedScrollLeft, -window.expectedScrollTop);
+ }
+
+ setTimeout('checkOffsets();', 100);
+ }
+
+ function checkOffsets()
+ {
+ div = document.getElementById("overflow");
+ shouldBe("div.scrollTop", "window.expectedScrollTop");
+ shouldBe("div.scrollLeft", "window.expectedScrollLeft");
+
+ if (window.layoutTestController)
+ window.layoutTestController.notifyDone();
+ }
+
+ function mousewheelHandler(e)
+ {
+ event = e;
+ shouldBe("event.wheelDeltaY", "window.expectedScrollTop*-120");
+ shouldBe("event.wheelDeltaX", "window.expectedScrollLeft*-120");
+
+ if (e.wheelDeltaY)
+ shouldBe("event.wheelDelta", "window.expectedScrollTop*-120");
+ else
+ shouldBe("event.wheelDelta", "window.expectedScrollLeft*-120");
+ }
+ </script>
+ </head>
+
+ <body style="margin:0" onload="setTimeout('dispatchWheelEvent();', 100)">
+ <div id="overflow" style="border:2px solid black;overflow:auto;height:200px;width:200px;">
+ <div style="background-color:red;height:200px;width:400px;"></div>
+ <div style="background-color:green;height:200px;width:400px;"></div>
+ <div style="background-color:red;height:200px;width:400px;"></div>
+ </div>
+ <div id="console"></div>
+ </body>
+</html>
diff --git a/LayoutTests/fast/events/platform-wheelevent-in-scrolling-div-expected.txt b/LayoutTests/fast/events/platform-wheelevent-in-scrolling-div-expected.txt
new file mode 100644
index 0000000..b4f26d7
--- /dev/null
+++ b/LayoutTests/fast/events/platform-wheelevent-in-scrolling-div-expected.txt
@@ -0,0 +1,6 @@
+PASS event.wheelDeltaY is window.expectedScrollTop*-120
+PASS event.wheelDeltaX is window.expectedScrollLeft*-120
+PASS event.wheelDelta is window.expectedScrollTop*-120
+PASS div.scrollTop is window.expectedScrollTop*window.pixelsPerWheelTick
+PASS div.scrollLeft is window.expectedScrollLeft*window.pixelsPerWheelTick
+
diff --git a/LayoutTests/fast/events/platform-wheelevent-in-scrolling-div.html b/LayoutTests/fast/events/platform-wheelevent-in-scrolling-div.html
new file mode 100644
index 0000000..2e382ac
--- /dev/null
+++ b/LayoutTests/fast/events/platform-wheelevent-in-scrolling-div.html
@@ -0,0 +1,61 @@
+<html>
+ <head>
+ <link rel="stylesheet" href="../js/resources/js-test-style.css">
+ <script src="../js/resources/js-test-pre.js"></script>
+ <script>
+ var expectedScrollTop = 5;
+ var expectedScrollLeft = 3;
+ var pixelsPerWheelTick = 40;
+ var event;
+ var div;
+
+ if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+
+ function dispatchWheelEvent()
+ {
+ var overflowElement = document.getElementById("overflow");
+ if (overflowElement)
+ overflowElement.addEventListener("mousewheel", mousewheelHandler, false);
+
+ if (window.eventSender) {
+ eventSender.mouseMoveTo(100, 110);
+ eventSender.mouseScrollBy(-window.expectedScrollLeft, -window.expectedScrollTop);
+ }
+
+ setTimeout('checkOffsets();', 100);
+ }
+
+ function checkOffsets()
+ {
+ div = document.getElementById("overflow");
+ shouldBe("div.scrollTop", "window.expectedScrollTop*window.pixelsPerWheelTick");
+ shouldBe("div.scrollLeft", "window.expectedScrollLeft*window.pixelsPerWheelTick");
+
+ if (window.layoutTestController)
+ window.layoutTestController.notifyDone();
+ }
+
+ function mousewheelHandler(e)
+ {
+ event = e;
+ shouldBe("event.wheelDeltaY", "window.expectedScrollTop*-120");
+ shouldBe("event.wheelDeltaX", "window.expectedScrollLeft*-120");
+
+ if (e.wheelDeltaY)
+ shouldBe("event.wheelDelta", "window.expectedScrollTop*-120");
+ else
+ shouldBe("event.wheelDelta", "window.expectedScrollLeft*-120");
+ }
+ </script>
+ </head>
+
+ <body style="margin:0" onload="setTimeout('dispatchWheelEvent();', 100)">
+ <div id="overflow" style="border:2px solid black;overflow:auto;height:200px;width:200px;">
+ <div style="background-color:red;height:200px;width:400px;"></div>
+ <div style="background-color:green;height:200px;width:400px;"></div>
+ <div style="background-color:red;height:200px;width:400px;"></div>
+ </div>
+ <div id="console"></div>
+ </body>
+</html>
diff --git a/LayoutTests/fast/events/wheelevent-in-scrolling-div-expected.txt b/LayoutTests/fast/events/wheelevent-in-scrolling-div-expected.txt
index e2471ef..af0b6db 100644
--- a/LayoutTests/fast/events/wheelevent-in-scrolling-div-expected.txt
+++ b/LayoutTests/fast/events/wheelevent-in-scrolling-div-expected.txt
@@ -1,6 +1,6 @@
-scrollTop=200 (should be 200): PASS
-scrollLeft=100 (should be 100): PASS
-wheelDeltaY=-24000 (should be -24000): PASS
-wheelDeltaX=-12000 (should be -12000): PASS
-wheelDelta=-24000 (should be -24000): PASS
+PASS event.wheelDeltaY is window.expectedScrollTop*-120
+PASS event.wheelDeltaX is window.expectedScrollLeft*-120
+PASS event.wheelDelta is window.expectedScrollTop*-120
+PASS div.scrollTop is window.expectedScrollTop
+PASS div.scrollLeft is window.expectedScrollLeft
diff --git a/LayoutTests/fast/events/wheelevent-in-scrolling-div.html b/LayoutTests/fast/events/wheelevent-in-scrolling-div.html
index 03dae4b..8733546 100644
--- a/LayoutTests/fast/events/wheelevent-in-scrolling-div.html
+++ b/LayoutTests/fast/events/wheelevent-in-scrolling-div.html
@@ -1,84 +1,60 @@
-<head>
- <script>
- var expectedScrollTop = 200;
- var expectedScrollLeft = 100;
+<html>
+ <head>
+ <link rel="stylesheet" href="../js/resources/js-test-style.css">
+ <script src="../js/resources/js-test-pre.js"></script>
+ <script>
+ var expectedScrollTop = 200;
+ var expectedScrollLeft = 100;
+ var event;
+ var div;
- if (window.layoutTestController) {
- layoutTestController.dumpAsText();
- layoutTestController.waitUntilDone();
- }
+ if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+
+ function dispatchWheelEvent()
+ {
+ var overflowElement = document.getElementById("overflow");
+ if (overflowElement) {
+ overflowElement.addEventListener("mousewheel", mousewheelHandler, false);
- function dispatchWheelEvent()
- {
- var overflowElement = document.getElementById("overflow");
- if (overflowElement) {
- overflowElement.addEventListener("mousewheel", mousewheelHandler, false);
- var wheelEvent = document.createEvent("WheelEvent");
- if (wheelEvent) {
+ var wheelEvent = document.createEvent("WheelEvent");
wheelEvent.initWebKitWheelEvent(-window.expectedScrollLeft, -window.expectedScrollTop, window, 0, 0, 0, 0, false, false, false, false);
overflowElement.dispatchEvent(wheelEvent);
}
- }
-
- setTimeout('printScrollOffsets();', 100);
- }
-
- function passFailString(p)
- {
- var color = p?"green":"red";
- var text = p?"PASS":"FAIL";
- return "<span style='color:"+color+"'>"+text+"</span>";
- }
-
- function printScrollOffsets()
- {
- var consoleDiv = document.getElementById("offsetConsole");
- var overflowDiv = document.getElementById("overflow");
- if (consoleDiv && overflowDiv) {
- consoleDiv.innerHTML = "";
- consoleDiv.innerHTML += "scrollTop=" + overflowDiv.scrollTop + " (should be " + window.expectedScrollTop + "): ";
- consoleDiv.innerHTML += passFailString(overflowDiv.scrollTop == window.expectedScrollTop);
- consoleDiv.innerHTML += "<br>"
-
- consoleDiv.innerHTML += "scrollLeft=" + overflowDiv.scrollLeft + " (should be " + window.expectedScrollLeft + "): ";
- consoleDiv.innerHTML += passFailString(overflowDiv.scrollLeft == window.expectedScrollLeft);
- consoleDiv.innerHTML += "<br>"
+ setTimeout('checkOffsets();', 100);
}
- if (window.layoutTestController)
- window.layoutTestController.notifyDone();
- }
-
- function mousewheelHandler(e)
- {
- var consoleDiv = document.getElementById("mousewheelConsole");
- if (consoleDiv) {
- consoleDiv.innerHTML = "";
+ function checkOffsets()
+ {
+ div = document.getElementById("overflow");
+ shouldBe("div.scrollTop", "window.expectedScrollTop");
+ shouldBe("div.scrollLeft", "window.expectedScrollLeft");
- consoleDiv.innerHTML += "wheelDeltaY=" + e.wheelDeltaY + " (should be " + window.expectedScrollTop*-120 + "): ";
- consoleDiv.innerHTML += passFailString(e.wheelDeltaY == window.expectedScrollTop*-120);
- consoleDiv.innerHTML += "<br>"
+ if (window.layoutTestController)
+ window.layoutTestController.notifyDone();
+ }
- consoleDiv.innerHTML += "wheelDeltaX=" + e.wheelDeltaX + " (should be " + window.expectedScrollLeft*-120 + "): ";
- consoleDiv.innerHTML += passFailString(e.wheelDeltaX == window.expectedScrollLeft*-120);
- consoleDiv.innerHTML += "<br>"
+ function mousewheelHandler(e)
+ {
+ event = e;
+ shouldBe("event.wheelDeltaY", "window.expectedScrollTop*-120");
+ shouldBe("event.wheelDeltaX", "window.expectedScrollLeft*-120");
- var expectedScroll = e.wheelDeltaY?window.expectedScrollTop:window.expectedScrollLeft;
- consoleDiv.innerHTML += "wheelDelta=" + e.wheelDelta + " (should be " + expectedScroll*-120 + "): ";
- consoleDiv.innerHTML += passFailString(e.wheelDelta == expectedScroll*-120);
- consoleDiv.innerHTML += "<br>"
+ if (e.wheelDeltaY)
+ shouldBe("event.wheelDelta", "window.expectedScrollTop*-120");
+ else
+ shouldBe("event.wheelDelta", "window.expectedScrollLeft*-120");
}
- }
- </script>
-</head>
-
-<body style="margin:0" onload="setTimeout('dispatchWheelEvent();', 100)">
- <div id="overflow" style="border:2px solid black;overflow:auto;height:200px;width:200px;">
- <div style="background-color:red;height:200px;width:400px;"></div>
- <div style="background-color:green;height:200px;width:400px;"></div>
- <div style="background-color:red;height:200px;width:400px;"></div>
- </div>
- <div id="offsetConsole"><span style="color:red">FAIL</span></div>
- <div id="mousewheelConsole"><span style="color:red">FAIL</span></div>
-</body>
+ </script>
+ </head>
+
+ <body style="margin:0" onload="setTimeout('dispatchWheelEvent();', 100)">
+ <div id="overflow" style="border:2px solid black;overflow:auto;height:200px;width:200px;">
+ <div style="background-color:red;height:200px;width:400px;"></div>
+ <div style="background-color:green;height:200px;width:400px;"></div>
+ <div style="background-color:red;height:200px;width:400px;"></div>
+ </div>
+ <div id="console"></div>
+ </body>
+</html>
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index acc9071..e1dde80 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -5819,8 +5819,11 @@ fast/events/zoom-dblclick.html
# For some reason crashes when run with all tests. Passes individually.
fast/forms/multiple-form-submission-protection-mouse.html
-# mouseScrollBy() is not yet implemented in the GTK EventSender API.
+# https://bugs.webkit.org/show_bug.cgi?id=36003
+# mouseScrollBy() and continuousMouseScrollBy() are not yet implemented in the GTK EventSender API.
fast/events/remove-child-onscroll.html
+fast/events/platform-wheelevent-in-scrolling-div.html
+fast/events/continuous-platform-wheelevent-in-scrolling-div.html
# renderTheme is not ready to draw progress element
fast/dom/HTMLProgressElement/progress-element.html
diff --git a/LayoutTests/platform/mac-tiger/Skipped b/LayoutTests/platform/mac-tiger/Skipped
index 31a7238..ab1a72a 100644
--- a/LayoutTests/platform/mac-tiger/Skipped
+++ b/LayoutTests/platform/mac-tiger/Skipped
@@ -120,8 +120,10 @@ http/tests/media/video-referer.html
# This test fails on Tiger, and when it fails, it dumps different results each time.
java/lc3/JavaArray/ToString-001.html
-# We can't implement mouseScrollBy() in Tiger due to the lack of CGEventCreateScrollWheelEvent().
+# We can't implement mouseScrollBy() or continuousMouseScrollBy() in Tiger due to the lack of CGEventCreateScrollWheelEvent().
fast/events/remove-child-onscroll.html
+fast/events/platform-wheelevent-in-scrolling-div.html
+fast/events/continuous-platform-wheelevent-in-scrolling-div.html
# Intermittently times out on Tiger bot.
# https://bugs.webkit.org/show_bug.cgi?id=36039
diff --git a/LayoutTests/platform/qt/Skipped b/LayoutTests/platform/qt/Skipped
index 6567355..89d721f 100644
--- a/LayoutTests/platform/qt/Skipped
+++ b/LayoutTests/platform/qt/Skipped
@@ -5097,8 +5097,11 @@ http/tests/cookies/third-party-cookie-relaxing.html
# For some reason crashes when run with all tests. Passes individually.
fast/forms/multiple-form-submission-protection-mouse.html
-# mouseScrollBy() is not yet implemented in the Qt EventSender API.
+# https://bugs.webkit.org/show_bug.cgi?id=36004
+# mouseScrollBy() and continuousMouseScrollBy() are not yet implemented in the Qt EventSender API.
fast/events/remove-child-onscroll.html
+fast/events/platform-wheelevent-in-scrolling-div.html
+fast/events/continuous-platform-wheelevent-in-scrolling-div.html
# It fails in DRT, but passes in QtLauncher
# https://bugs.webkit.org/show_bug.cgi?id=35921
diff --git a/LayoutTests/platform/win/Skipped b/LayoutTests/platform/win/Skipped
index 8c53b6d..4399a22 100644
--- a/LayoutTests/platform/win/Skipped
+++ b/LayoutTests/platform/win/Skipped
@@ -793,8 +793,11 @@ media/video-preload.html
# For some reason crashes when run with all tests. Passes individually.
fast/forms/multiple-form-submission-protection-mouse.html
-# mouseScrollBy() is not yet implemented in the Windows EventSender API.
+# https://bugs.webkit.org/show_bug.cgi?id=36002
+# mouseScrollBy() and continuousMouseScrollBy() are not yet implemented in the Windows EventSender API.
fast/events/remove-child-onscroll.html
+fast/events/platform-wheelevent-in-scrolling-div.html
+fast/events/continuous-platform-wheelevent-in-scrolling-div.html
# Windows port doesn't yet support rendering of non-BMP characters even though there's a font available.
fast/text/international/plane2.html
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index d180629..bd2783d 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,27 @@
+2010-03-15 Andy Estes <aestes at apple.com>
+
+ Reviewed by John Sullivan.
+
+ For continuous scrolling devices on the Mac (trackpads and Mighty/Magic
+ Mice), set the number of wheel ticks equal to the atomic increment of
+ the device: a pixel. This ensures that any scrolling action will
+ generate at least one wheel tick, regardless of the speed/length of
+ the gesture.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29601
+ <rdar://problem/7453254>
+
+ Tests: fast/events/continuous-platform-wheelevent-in-scrolling-div.html
+ fast/events/platform-wheelevent-in-scrolling-div.html
+
+ * platform/mac/WebCoreSystemInterface.h: Modify method signature.
+ * platform/mac/WebCoreSystemInterface.mm: Ditto.
+ * platform/mac/WheelEventMac.mm:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent): Call into
+ WebKitSystemInterface to determine both wheelTicksX/Y and deltaX/Y.
+ WKSI will query the event system for number of wheel ticks and
+ pixels/lines scrolled based on the device type.
+
2010-03-15 Philippe Normand <pnormand at igalia.com>
Reviewed by Gustavo Noronha Silva.
diff --git a/WebCore/platform/mac/WebCoreSystemInterface.h b/WebCore/platform/mac/WebCoreSystemInterface.h
index e7521dc..f289ee4 100644
--- a/WebCore/platform/mac/WebCoreSystemInterface.h
+++ b/WebCore/platform/mac/WebCoreSystemInterface.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright 2006, 2007, 2008, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -116,7 +116,7 @@ extern ATSUFontID (*wkGetNSFontATSUFontId)(NSFont*);
extern double (*wkGetNSURLResponseCalculatedExpiration)(NSURLResponse *response);
extern NSDate *(*wkGetNSURLResponseLastModifiedDate)(NSURLResponse *response);
extern BOOL (*wkGetNSURLResponseMustRevalidate)(NSURLResponse *response);
-extern void (*wkGetWheelEventDeltas)(NSEvent*, float* deltaX, float* deltaY, BOOL* continuous);
+extern void (*wkGetWheelEventDeltas)(NSEvent*, float* deltaX, float* deltaY, float* wheelTicksX, float* wheelTicksY, BOOL* continuous);
extern BOOL (*wkHitTestMediaUIPart)(int part, int themeStyle, CGRect bounds, CGPoint point);
extern void (*wkMeasureMediaUIPart)(int part, int themeStyle, CGRect *bounds, CGSize *naturalSize);
extern BOOL (*wkMediaControllerThemeAvailable)(int themeStyle);
diff --git a/WebCore/platform/mac/WebCoreSystemInterface.mm b/WebCore/platform/mac/WebCoreSystemInterface.mm
index f3e0e77..b276467 100644
--- a/WebCore/platform/mac/WebCoreSystemInterface.mm
+++ b/WebCore/platform/mac/WebCoreSystemInterface.mm
@@ -1,5 +1,5 @@
/*
- * Copyright 2006, 2007, 2008 Apple Computer, Inc. All rights reserved.
+ * Copyright 2006, 2007, 2008, 2010 Apple Computer, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -51,7 +51,7 @@ NSString* (*wkGetMIMETypeForExtension)(NSString*);
NSTimeInterval (*wkGetNSURLResponseCalculatedExpiration)(NSURLResponse *response);
NSDate *(*wkGetNSURLResponseLastModifiedDate)(NSURLResponse *response);
BOOL (*wkGetNSURLResponseMustRevalidate)(NSURLResponse *response);
-void (*wkGetWheelEventDeltas)(NSEvent*, float* deltaX, float* deltaY, BOOL* continuous);
+void (*wkGetWheelEventDeltas)(NSEvent*, float* deltaX, float* deltaY, float* wheelTicksX, float* wheelTicksY, BOOL* continuous);
void (*wkPopupMenu)(NSMenu*, NSPoint location, float width, NSView*, int selectedItem, NSFont*);
unsigned (*wkQTIncludeOnlyModernMediaFileTypes)(void);
int (*wkQTMovieDataRate)(QTMovie*);
diff --git a/WebCore/platform/mac/WheelEventMac.mm b/WebCore/platform/mac/WheelEventMac.mm
index c9a0efc..d7e2934 100644
--- a/WebCore/platform/mac/WheelEventMac.mm
+++ b/WebCore/platform/mac/WheelEventMac.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2006 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2010 Apple Computer, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -43,13 +43,9 @@ PlatformWheelEvent::PlatformWheelEvent(NSEvent* event, NSView *windowView)
, m_metaKey([event modifierFlags] & NSCommandKeyMask)
{
BOOL continuous;
- wkGetWheelEventDeltas(event, &m_deltaX, &m_deltaY, &continuous);
- if (continuous) {
- m_wheelTicksX = m_deltaX / static_cast<float>(Scrollbar::pixelsPerLineStep());
- m_wheelTicksY = m_deltaY / static_cast<float>(Scrollbar::pixelsPerLineStep());
- } else {
- m_wheelTicksX = m_deltaX;
- m_wheelTicksY = m_deltaY;
+ wkGetWheelEventDeltas(event, &m_deltaX, &m_deltaY, &m_wheelTicksX, &m_wheelTicksY, &continuous);
+
+ if (!continuous) {
m_deltaX *= static_cast<float>(Scrollbar::pixelsPerLineStep());
m_deltaY *= static_cast<float>(Scrollbar::pixelsPerLineStep());
}
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index e8558cf..e6d3046 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,15 @@
+2010-03-15 Andy Estes <aestes at apple.com>
+
+ Reviewed by John Sullivan.
+
+ Updated call to WKGetWheelEventDeltas() to match new method signature.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29601
+ <rdar://problem/7453254>
+
+ * WebView/WebDynamicScrollBarsView.mm:
+ (-[WebDynamicScrollBarsView scrollWheel:]):
+
2010-03-15 John Sullivan <sullivan at apple.com>
Reviewed by Adam Roben.
diff --git a/WebKit/mac/WebView/WebDynamicScrollBarsView.mm b/WebKit/mac/WebView/WebDynamicScrollBarsView.mm
index b1a8c8d..e0db677 100644
--- a/WebKit/mac/WebView/WebDynamicScrollBarsView.mm
+++ b/WebKit/mac/WebView/WebDynamicScrollBarsView.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2005, 2008, 2010 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -406,8 +406,10 @@ static const unsigned cMaxUpdateScrollbarsPass = 2;
{
float deltaX;
float deltaY;
+ float wheelTicksX;
+ float wheelTicksY;
BOOL isContinuous;
- WKGetWheelEventDeltas(event, &deltaX, &deltaY, &isContinuous);
+ WKGetWheelEventDeltas(event, &deltaX, &deltaY, &wheelTicksX, &wheelTicksY, &isContinuous);
BOOL isLatchingEvent = WKIsLatchingWheelEvent(event);
diff --git a/WebKitLibraries/ChangeLog b/WebKitLibraries/ChangeLog
index 053f302..b3d820b 100644
--- a/WebKitLibraries/ChangeLog
+++ b/WebKitLibraries/ChangeLog
@@ -1,3 +1,18 @@
+2010-03-15 Andy Estes <aestes at apple.com>
+
+ Reviewed by John Sullivan.
+
+ Added two new output arguments to WKGetWheelEventDeltas() to return
+ the number of scroll wheel ticks in the x and y directions.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29601.
+ <rdar://problem/7453254>
+
+ * WebKitSystemInterface.h:
+ * libWebKitSystemInterfaceLeopard.a:
+ * libWebKitSystemInterfaceSnowLeopard.a:
+ * libWebKitSystemInterfaceTiger.a:
+
2010-03-14 Dan Bernstein <mitz at apple.com>
Reviewed by Darin Adler.
diff --git a/WebKitLibraries/WebKitSystemInterface.h b/WebKitLibraries/WebKitSystemInterface.h
index ed68410..50815aa 100644
--- a/WebKitLibraries/WebKitSystemInterface.h
+++ b/WebKitLibraries/WebKitSystemInterface.h
@@ -176,7 +176,7 @@ BOOL WKSupportsMultipartXMixedReplace(NSMutableURLRequest *request);
BOOL WKCGContextIsBitmapContext(CGContextRef context);
-void WKGetWheelEventDeltas(NSEvent *, float *deltaX, float *deltaY, BOOL *continuous);
+void WKGetWheelEventDeltas(NSEvent *, float *deltaX, float *deltaY, float *wheelTicksX, float *wheelTicksY, BOOL *continuous);
BOOL WKAppVersionCheckLessThan(NSString *, int, double);
diff --git a/WebKitLibraries/libWebKitSystemInterfaceLeopard.a b/WebKitLibraries/libWebKitSystemInterfaceLeopard.a
index 722044f..11ee822 100644
Binary files a/WebKitLibraries/libWebKitSystemInterfaceLeopard.a and b/WebKitLibraries/libWebKitSystemInterfaceLeopard.a differ
diff --git a/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a b/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a
index 3e3e1d7..27a113a 100644
Binary files a/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a and b/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a differ
diff --git a/WebKitLibraries/libWebKitSystemInterfaceTiger.a b/WebKitLibraries/libWebKitSystemInterfaceTiger.a
index 3dd651a..7264b61 100644
Binary files a/WebKitLibraries/libWebKitSystemInterfaceTiger.a and b/WebKitLibraries/libWebKitSystemInterfaceTiger.a differ
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list