[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Thu Apr 8 00:32:20 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 42e1861ddb3ad37a5fe2d01f6b08075685f67583
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