[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
dbates at webkit.org
dbates at webkit.org
Thu Oct 29 20:46:20 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 82be77f2f90ae8a673768a031e15e3ab83952803
Author: dbates at webkit.org <dbates at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 16 21:33:58 2009 +0000
2009-10-16 Daniel Bates <dbates at webkit.org>
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=30266
Tests that the JavaScript array event.dataTransfer.types can be accessed
within an ondrop handler without causing a crash.
Although this issue has been resolved as of nightly r49550 we should add a
test case so that we can prevent a regression of this issue.
* fast/events/drag-and-drop-dataTransfer-types-nocrash-expected.txt: Added.
* fast/events/drag-and-drop-dataTransfer-types-nocrash.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 2730669..b2b1875 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,18 @@
+2009-10-16 Daniel Bates <dbates at webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30266
+
+ Tests that the JavaScript array event.dataTransfer.types can be accessed
+ within an ondrop handler without causing a crash.
+
+ Although this issue has been resolved as of nightly r49550 we should add a
+ test case so that we can prevent a regression of this issue.
+
+ * fast/events/drag-and-drop-dataTransfer-types-nocrash-expected.txt: Added.
+ * fast/events/drag-and-drop-dataTransfer-types-nocrash.html: Added.
+
2009-10-16 Adam Barth <abarth at webkit.org>
Reviewed by Eric Seidel.
diff --git a/LayoutTests/fast/events/drag-and-drop-dataTransfer-types-nocrash-expected.txt b/LayoutTests/fast/events/drag-and-drop-dataTransfer-types-nocrash-expected.txt
new file mode 100644
index 0000000..6b5a134
--- /dev/null
+++ b/LayoutTests/fast/events/drag-and-drop-dataTransfer-types-nocrash-expected.txt
@@ -0,0 +1,9 @@
+This test checks that on a successful drop we can access event.dataTransfer.types without crashing.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS event.dataTransfer.types[0] is "text"
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/events/drag-and-drop-dataTransfer-types-nocrash.html b/LayoutTests/fast/events/drag-and-drop-dataTransfer-types-nocrash.html
new file mode 100644
index 0000000..034b829
--- /dev/null
+++ b/LayoutTests/fast/events/drag-and-drop-dataTransfer-types-nocrash.html
@@ -0,0 +1,132 @@
+<html>
+<head>
+<link rel="stylesheet" href="../js/resources/js-test-style.css">
+<script src="../js/resources/js-test-pre.js"></script>
+<style>
+#dropTarget, #dragMe { text-align: center; display: table-cell; vertical-align: middle }
+#dropTarget {width: 256px; height: 256px; border: 1px dashed}
+#dragMe {-webkit-user-drag: element; -webkit-user-select: none; background: #ff0000; width: 64px; height: 64px; color: white}
+</style>
+<script>
+ var dragMe;
+ var dropTarget;
+ var consoleElm;
+ var event;
+
+ var FORMAT_TYPE = 'text';
+ var ALLOWED_EFFECT = 'copy';
+ var DROP_EFFECT = 'copy';
+
+ window.onload = function()
+ {
+ dragMe = document.getElementById("dragMe");
+ dropTarget = document.getElementById("dropTarget");
+ consoleElm = document.getElementById("console");
+
+ if (!dragMe || !dropTarget || !consoleElm)
+ return;
+
+ dragMe.ondragstart = dragStart;
+ dragMe.ondragend = dragEnd;
+
+ dropTarget.ondragenter = dragEntered;
+ dropTarget.ondragover = dragOver;
+ dropTarget.ondrop = drop;
+
+ runTest();
+ }
+
+ function dragStart(e)
+ {
+ event = e;
+ e.dataTransfer.effectAllowed = ALLOWED_EFFECT;
+ e.dataTransfer.setData(FORMAT_TYPE, e.target.textContent);
+ }
+
+ function dragEnd(e)
+ {
+ return;
+ }
+
+ function dragEntered(e)
+ {
+ dragEnteredAndUpdated(e);
+ }
+
+ function dragOver(e)
+ {
+ dragEnteredAndUpdated(e);
+ }
+
+ function dragEnteredAndUpdated(e)
+ {
+ event = e;
+ e.dataTransfer.dropEffect = DROP_EFFECT;
+ cancelDrag(e);
+ }
+
+ function drop(e)
+ {
+ checkFormatType(e);
+ cancelDrag(e);
+ }
+
+ function cancelDrag(e)
+ {
+ if (e.preventDefault)
+ e.preventDefault();
+ else {
+ // Assume this script is executing within Internet Explorer
+ e.returnValue = false;
+ }
+ }
+
+ function checkFormatType(e)
+ {
+ event = e;
+ var formatTypes = e.dataTransfer.types; // This line causes the crash.
+ shouldBeEqualToString('event.dataTransfer.types[0]', FORMAT_TYPE);
+ }
+
+ function runTest()
+ {
+ if (!window.eventSender)
+ return;
+
+ if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+
+ var startX = dragMe.offsetLeft + 10;
+ var startY = dragMe.offsetTop + dragMe.offsetHeight / 2;
+ var endX = dropTarget.offsetLeft + 10;
+ var endY = dropTarget.offsetTop + dropTarget.offsetHeight / 2;
+
+ eventSender.mouseMoveTo(startX, startY);
+ eventSender.mouseDown();
+ eventSender.leapForward(100);
+ eventSender.mouseMoveTo(endX, endY);
+ eventSender.mouseUp();
+
+ var testContainer = document.getElementById("test-container");
+ if (testContainer)
+ document.body.removeChild(testContainer);
+ debug('<br /><span class="pass">TEST COMPLETE</span>');
+ }
+</script>
+</head>
+<body>
+ <p id="description"></p>
+ <div id="test-container">
+ <div id="dropTarget">Drop the red square onto me.</div>
+ <hr/>
+ <p>Items that can be dragged to the drop target:</p>
+ <div id="dragMe" draggable="true">Square</div>
+ <hr/>
+ </div>
+ <div id="console"></div>
+ <script>
+ description("This test checks that on a successful drop we can access <code>event.dataTransfer.types</code> without crashing.");
+ var successfullyParsed = true;
+ </script>
+</body>
+</html>
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list