[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
eric at webkit.org
eric at webkit.org
Tue Jan 5 23:47:09 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 32da8c5e644bfed8663c84fbc69dd77c574effe3
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Dec 11 14:15:36 2009 +0000
2009-12-11 Simon Hausmann <hausmann at webkit.org>
Reviewed by Antti Koivisto.
Added basic layout test for DOM touch events.
https://bugs.webkit.org/show_bug.cgi?id=32114
* fast/events/basic-touch-events-expected.txt: Added.
* fast/events/basic-touch-events.html: Added.
* fast/events/script-tests/basic-touch-events.js: Added.
(appendEventLog):
(verifyTouchEvent):
(verifyTouchPoint):
(singleTouchSequence):
(multiTouchSequence):
(touchTargets):
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/win/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51982 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 0e9e34d..e19dd9c 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,24 @@
+2009-12-11 Simon Hausmann <hausmann at webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ Added basic layout test for DOM touch events.
+
+ https://bugs.webkit.org/show_bug.cgi?id=32114
+
+ * fast/events/basic-touch-events-expected.txt: Added.
+ * fast/events/basic-touch-events.html: Added.
+ * fast/events/script-tests/basic-touch-events.js: Added.
+ (appendEventLog):
+ (verifyTouchEvent):
+ (verifyTouchPoint):
+ (singleTouchSequence):
+ (multiTouchSequence):
+ (touchTargets):
+ * platform/gtk/Skipped:
+ * platform/mac/Skipped:
+ * platform/win/Skipped:
+
2009-12-11 Fumitoshi Ukai <ukai at chromium.org>
Reviewed by Pavel Feldman.
diff --git a/LayoutTests/fast/events/basic-touch-events-expected.txt b/LayoutTests/fast/events/basic-touch-events-expected.txt
new file mode 100644
index 0000000..85ede75
--- /dev/null
+++ b/LayoutTests/fast/events/basic-touch-events-expected.txt
@@ -0,0 +1,117 @@
+This tests basic touch event support.
+single touch sequence
+PASS lastEvent.type is "touchstart"
+PASS lastEvent.touches.length is 1
+PASS lastEvent.changedTouches.length is 1
+PASS lastEvent.targetTouches.length is 1
+PASS lastEvent.touches[0].target.id is "touchtarget"
+PASS lastEvent.touches[0].pageX is 10
+PASS lastEvent.touches[0].pageY is 10
+PASS lastEvent.touches[0].clientX is 10
+PASS lastEvent.touches[0].clientY is 10
+PASS lastEvent.touches[0].identifier is 0
+PASS lastEvent.type is "touchmove"
+PASS lastEvent.touches.length is 1
+PASS lastEvent.changedTouches.length is 1
+PASS lastEvent.targetTouches.length is 1
+PASS lastEvent.touches[0].pageX is 20
+PASS lastEvent.touches[0].pageY is 15
+PASS lastEvent.touches[0].clientX is 20
+PASS lastEvent.touches[0].clientY is 15
+PASS lastEvent.touches[0].identifier is 0
+PASS lastEvent.type is "touchend"
+PASS lastEvent.touches.length is 0
+PASS lastEvent.changedTouches.length is 1
+PASS lastEvent.targetTouches.length is 0
+PASS lastEvent.changedTouches[0].pageX is 20
+PASS lastEvent.changedTouches[0].pageY is 15
+PASS lastEvent.changedTouches[0].clientX is 20
+PASS lastEvent.changedTouches[0].clientY is 15
+PASS lastEvent.changedTouches[0].identifier is 0
+multi touch sequence
+PASS lastEvent.type is "touchstart"
+PASS lastEvent.touches.length is 1
+PASS lastEvent.changedTouches.length is 1
+PASS lastEvent.targetTouches.length is 1
+PASS lastEvent.touches[0].target.id is "touchtarget"
+PASS lastEvent.touches[0].pageX is 10
+PASS lastEvent.touches[0].pageY is 10
+PASS lastEvent.touches[0].clientX is 10
+PASS lastEvent.touches[0].clientY is 10
+PASS lastEvent.touches[0].identifier is 0
+PASS lastEvent.type is "touchmove"
+PASS lastEvent.touches.length is 2
+PASS lastEvent.changedTouches.length is 1
+PASS lastEvent.targetTouches.length is 2
+PASS lastEvent.touches[0].pageX is 10
+PASS lastEvent.touches[0].pageY is 10
+PASS lastEvent.touches[0].clientX is 10
+PASS lastEvent.touches[0].clientY is 10
+PASS lastEvent.touches[0].identifier is 0
+PASS lastEvent.touches[1].pageX is 20
+PASS lastEvent.touches[1].pageY is 30
+PASS lastEvent.touches[1].clientX is 20
+PASS lastEvent.touches[1].clientY is 30
+PASS lastEvent.touches[1].identifier is 1
+PASS lastEvent.changedTouches[0].pageX is 20
+PASS lastEvent.changedTouches[0].pageY is 30
+PASS lastEvent.changedTouches[0].clientX is 20
+PASS lastEvent.changedTouches[0].clientY is 30
+PASS lastEvent.changedTouches[0].identifier is 1
+PASS lastEvent.type is "touchmove"
+PASS lastEvent.touches.length is 2
+PASS lastEvent.changedTouches.length is 1
+PASS lastEvent.targetTouches.length is 2
+PASS lastEvent.touches[0].pageX is 15
+PASS lastEvent.touches[0].pageY is 15
+PASS lastEvent.touches[0].clientX is 15
+PASS lastEvent.touches[0].clientY is 15
+PASS lastEvent.touches[0].identifier is 0
+PASS lastEvent.changedTouches[0].pageX is 15
+PASS lastEvent.changedTouches[0].pageY is 15
+PASS lastEvent.changedTouches[0].clientX is 15
+PASS lastEvent.changedTouches[0].clientY is 15
+PASS lastEvent.changedTouches[0].identifier is 0
+PASS lastEvent.touches[1].pageX is 20
+PASS lastEvent.touches[1].pageY is 30
+PASS lastEvent.touches[1].clientX is 20
+PASS lastEvent.touches[1].clientY is 30
+PASS lastEvent.touches[1].identifier is 1
+PASS lastEvent.type is "touchmove"
+PASS lastEvent.touches.length is 1
+PASS lastEvent.changedTouches.length is 1
+PASS lastEvent.targetTouches.length is 1
+PASS lastEvent.touches[0].pageX is 20
+PASS lastEvent.touches[0].pageY is 30
+PASS lastEvent.touches[0].clientX is 20
+PASS lastEvent.touches[0].clientY is 30
+PASS lastEvent.touches[0].identifier is 1
+PASS lastEvent.changedTouches[0].pageX is 15
+PASS lastEvent.changedTouches[0].pageY is 15
+PASS lastEvent.changedTouches[0].clientX is 15
+PASS lastEvent.changedTouches[0].clientY is 15
+PASS lastEvent.changedTouches[0].identifier is 0
+PASS lastEvent.type is "touchend"
+PASS lastEvent.touches.length is 0
+PASS lastEvent.changedTouches.length is 1
+PASS lastEvent.targetTouches.length is 0
+PASS lastEvent.changedTouches[0].pageX is 20
+PASS lastEvent.changedTouches[0].pageY is 30
+PASS lastEvent.changedTouches[0].clientX is 20
+PASS lastEvent.changedTouches[0].clientY is 30
+PASS lastEvent.changedTouches[0].identifier is 1
+verify touch targets
+PASS lastEvent.type is "touchstart"
+PASS lastEvent.touches.length is 1
+PASS lastEvent.changedTouches.length is 1
+PASS lastEvent.targetTouches.length is 1
+PASS lastEvent.targetTouches[0].target.tagName is "DIV"
+PASS lastEvent.type is "touchmove"
+PASS lastEvent.touches.length is 1
+PASS lastEvent.changedTouches.length is 1
+PASS lastEvent.targetTouches.length is 0
+PASS lastEvent.touches[0].target.tagName is "HTML"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/events/basic-touch-events.html b/LayoutTests/fast/events/basic-touch-events.html
new file mode 100644
index 0000000..39a73d9
--- /dev/null
+++ b/LayoutTests/fast/events/basic-touch-events.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../js/resources/js-test-style.css">
+<script src="../js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/basic-touch-events.js"></script>
+<script src="../js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/fast/events/script-tests/basic-touch-events.js b/LayoutTests/fast/events/script-tests/basic-touch-events.js
new file mode 100644
index 0000000..a0108b6
--- /dev/null
+++ b/LayoutTests/fast/events/script-tests/basic-touch-events.js
@@ -0,0 +1,140 @@
+description = "This tests basic touch event support.";
+
+var div = document.createElement("div");
+div.id = "touchtarget";
+div.style.width = "100px";
+div.style.height = "100px";
+div.style.backgroundColor = "blue";
+
+var lastEvent = null;
+
+function appendEventLog() {
+ if (window.eventSender) {
+ lastEvent = event;
+ } else {
+ debug(event.type);
+ }
+}
+
+div.addEventListener("touchstart", appendEventLog, false);
+div.addEventListener("touchmove", appendEventLog, false);
+div.addEventListener("touchend", appendEventLog, false);
+document.body.insertBefore(div, document.body.firstChild);
+
+function verifyTouchEvent(type, totalTouchCount, changedTouchCount, targetTouchCount)
+{
+ shouldBeEqualToString("lastEvent.type", type);
+ shouldBe("lastEvent.touches.length", totalTouchCount.toString());
+ shouldBe("lastEvent.changedTouches.length", changedTouchCount.toString());
+ shouldBe("lastEvent.targetTouches.length", targetTouchCount.toString());
+}
+
+function verifyTouchPoint(list, point, x, y, id)
+{
+ shouldBe("lastEvent." + list + "[" + point + "].pageX", x.toString());
+ shouldBe("lastEvent." + list + "[" + point + "].pageY", y.toString());
+ shouldBe("lastEvent." + list + "[" + point + "].clientX", x.toString());
+ shouldBe("lastEvent." + list + "[" + point + "].clientY", y.toString());
+ shouldBe("lastEvent." + list + "[" + point + "].identifier", id.toString());
+}
+
+function singleTouchSequence()
+{
+ debug("single touch sequence");
+
+ eventSender.addTouchPoint(10, 10);
+ eventSender.touchStart();
+
+ verifyTouchEvent("touchstart", 1, 1, 1);
+ shouldBeEqualToString("lastEvent.touches[0].target.id", "touchtarget");
+ verifyTouchPoint("touches", 0, 10, 10, 0);
+
+ eventSender.updateTouchPoint(0, 20, 15);
+ eventSender.touchMove();
+
+ verifyTouchEvent("touchmove", 1, 1, 1);
+ verifyTouchPoint("touches", 0, 20, 15, 0);
+
+ eventSender.touchEnd();
+
+ verifyTouchEvent("touchend", 0, 1, 0);
+ verifyTouchPoint("changedTouches", 0, 20, 15, 0);
+}
+
+function multiTouchSequence()
+{
+ debug("multi touch sequence");
+
+ eventSender.addTouchPoint(10, 10);
+ eventSender.touchStart();
+
+ verifyTouchEvent("touchstart", 1, 1, 1);
+ shouldBeEqualToString("lastEvent.touches[0].target.id", "touchtarget");
+ verifyTouchPoint("touches", 0, 10, 10, 0);
+
+ eventSender.addTouchPoint(20, 30);
+ eventSender.touchMove();
+
+ verifyTouchEvent("touchmove", 2, 1, 2);
+ verifyTouchPoint("touches", 0, 10, 10, 0);
+ verifyTouchPoint("touches", 1, 20, 30, 1);
+ verifyTouchPoint("changedTouches", 0, 20, 30, 1);
+
+ eventSender.updateTouchPoint(0, 15, 15);
+ eventSender.touchMove();
+
+ verifyTouchEvent("touchmove", 2, 1, 2);
+ verifyTouchPoint("touches", 0, 15, 15, 0);
+ verifyTouchPoint("changedTouches", 0, 15, 15, 0);
+ verifyTouchPoint("touches", 1, 20, 30, 1);
+
+ eventSender.releaseTouchPoint(0);
+ eventSender.touchMove();
+
+ verifyTouchEvent("touchmove", 1, 1, 1);
+ verifyTouchPoint("touches", 0, 20, 30, 1);
+ verifyTouchPoint("changedTouches", 0, 15, 15, 0);
+
+ eventSender.touchEnd();
+
+ verifyTouchEvent("touchend", 0, 1, 0);
+ verifyTouchPoint("changedTouches", 0, 20, 30, 1);
+}
+
+function touchTargets()
+{
+ debug("verify touch targets");
+
+ eventSender.addTouchPoint(10, 10);
+ eventSender.touchStart();
+
+ verifyTouchEvent("touchstart", 1, 1, 1);
+ shouldBeEqualToString("lastEvent.targetTouches[0].target.tagName", "DIV");
+
+ eventSender.updateTouchPoint(0, 1000, 1000);
+ eventSender.touchMove();
+
+ verifyTouchEvent("touchmove", 1, 1, 0);
+ shouldBeEqualToString("lastEvent.touches[0].target.tagName", "HTML");
+}
+
+if (window.eventSender) {
+ debug(description);
+
+ lastEvent = null;
+ eventSender.clearTouchPoints();
+ singleTouchSequence();
+
+ lastEvent = null;
+ eventSender.clearTouchPoints();
+ multiTouchSequence();
+
+ lastEvent = null;
+ eventSender.clearTouchPoints();
+ touchTargets();
+
+} else {
+ debug("This test requires DumpRenderTree. Tap on the blue rect to log.")
+}
+
+var successfullyParsed = true;
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index 4f92dea..08a1c26 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -5725,3 +5725,6 @@ http/tests/loading/state-object-security-exception.html
# Fails because of new behaviour enforced by libsoup
# See: https://bugzilla.gnome.org/show_bug.cgi?id=603825
fast/cookies/local-file-can-set-cookies.html
+
+# This test requires touch support
+fast/events/basic-touch-events.html
diff --git a/LayoutTests/platform/mac/Skipped b/LayoutTests/platform/mac/Skipped
index e6517ad..a19ee2e 100644
--- a/LayoutTests/platform/mac/Skipped
+++ b/LayoutTests/platform/mac/Skipped
@@ -114,3 +114,6 @@ media/media-can-play-ogg.html
# This test requires new pywebsocket
websocket/tests/sub-protocol-with-space.html
+
+# This test requires touch support
+fast/events/basic-touch-events.html
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list