Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Unified Diff: LayoutTests/fast/forms/option-mouseevents.html

Issue 14096013: Implement select element list box with shadow DOM. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@shadowselect
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/fast/forms/option-mouseevents.html
diff --git a/LayoutTests/fast/forms/option-mouseevents.html b/LayoutTests/fast/forms/option-mouseevents.html
index 8f2fe2b695b15d1dffe6d4e8f3ac46169490be6c..78f2ea4bcbc4e0044b9b2fd9e74779131bde4457 100644
--- a/LayoutTests/fast/forms/option-mouseevents.html
+++ b/LayoutTests/fast/forms/option-mouseevents.html
@@ -21,27 +21,28 @@ function shouldBe(description, actual, expected)
"red");
}
}
-function mouseeventverify(event, x, y, target, type)
+function testEvent(listener, offsetX, offsetY, target, type)
{
- shouldBe("event type", event.type, type);
- shouldBe("event target", event.target, target);
- shouldBe("event.pageX", event.pageX, x);
- shouldBe("event.pageY", event.pageY, y);
- shouldBe("event.offsetX", event.offsetX, x);
- shouldBe("event.offsetY", event.offsetY, y);
- shouldBe("event.x", event.x, x);
- shouldBe("event.y", event.y, y);
-}
-function mouseeventverify2(event, x, y, offsetX, offsetY, target, type)
-{
- shouldBe("event type", event.type, type);
- shouldBe("event target", event.target, target);
- shouldBe("event.pageX", event.pageX, x);
- shouldBe("event.pageY", event.pageY, y);
- shouldBe("event.offsetX", event.offsetX, offsetX);
- shouldBe("event.offsetY", event.offsetY, offsetY);
- shouldBe("event.x", event.x, x);
- shouldBe("event.y", event.y, y);
+ var rect = target.getBoundingClientRect();
+ var x = rect.left + offsetX;
+ var y = rect.top + offsetY;
+ listener.addEventListener(type, function () {
+ shouldBe("event type", event.type, type);
+ shouldBe("event target", event.target, target);
+ shouldBe("event.pageX", event.pageX, x);
+ shouldBe("event.pageY", event.pageY, y);
+ shouldBe("event.offsetX", event.offsetX, offsetX);
+ shouldBe("event.offsetY", event.offsetY, offsetY);
+ shouldBe("event.x", event.x, x);
+ shouldBe("event.y", event.y, y);
+ }, false);
+ eventSender.mouseMoveTo(x, y);
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ if (type == "dblclick") {
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ }
}
function test() {
if (window.testRunner) {
@@ -49,39 +50,14 @@ function test() {
testRunner.waitUntilDone();
}
- if (window.eventSender) {
- eventSender.mouseMoveTo(22, 104);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
-
- if (window.eventSender) {
- eventSender.mouseMoveTo(22, 184);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
-
- if (window.eventSender) {
- eventSender.mouseMoveTo(22, 262);
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
-
- if (window.eventSender) {
- eventSender.mouseMoveTo(22, 344);
- eventSender.mouseDown();
- eventSender.mouseUp();
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
-
- if (window.eventSender) {
- eventSender.mouseMoveTo(22, 448);
- eventSender.mouseDown();
- eventSender.mouseUp();
- eventSender.mouseDown();
- eventSender.mouseUp();
- }
+ testEvent(document.getElementById('s1'), 11, 3, document.getElementById('o1'), 'mousedown');
+ testEvent(document.getElementById('o1'), 11, 3, document.getElementById('o1'), 'mousedown');
+ testEvent(document.getElementById('s2'), 11, 3, document.getElementById('o2'), 'mouseup');
+ testEvent(document.getElementById('o2'), 11, 3, document.getElementById('o2'), 'mouseup');
+ testEvent(document.getElementById('s3'), 11, 3, document.getElementById('o3'), 'click');
+ testEvent(document.getElementById('o3'), 11, 3, document.getElementById('o3'), 'click');
+ testEvent(document.getElementById('s3'), 11, 3, document.getElementById('o3'), 'click');
+ testEvent(document.getElementById('o3'), 11, 3, document.getElementById('o3'), 'click');
if (window.testRunner)
testRunner.notifyDone();
@@ -93,32 +69,32 @@ function test() {
Bug 3248: Mouse events on OPTION element seem to be ignored<br>
<a href="https://bugs.webkit.org/show_bug.cgi?id=3248">https://bugs.webkit.org/show_bug.cgi?id=3248</a></p>
<form action="" method="post">
-<select style="position:absolute; top: 84;" size="2" onmousedown="mouseeventverify(event, 22, 104, document.getElementById('o1'), 'mousedown')">
+<select id="s1" style="position:absolute; top: 84;" size="2">
<option>One
-<option id="o1" onmousedown="mouseeventverify(event, 22, 104, this, 'mousedown')">Two
+<option id="o1">Two
</select>
</form>
<form action="" method="post">
-<select style="position:absolute; top: 164;" size="2" onmouseup="mouseeventverify(event, 22, 184, document.getElementById('o2'), 'mouseup')">
+<select id="s2" style="position:absolute; top: 164;" size="2", 'mouseup')">
<option>One
-<option id="o2" onmouseup="mouseeventverify(event, 22, 184, this, 'mouseup')">Two
+<option id="o2">Two
</select>
</form>
<form action="" method="post">
-<select style="position:absolute; top: 242;" size="2" onclick="mouseeventverify(event, 22, 262, document.getElementById('o3'), 'click')">
+<select id="s3" style="position:absolute; top: 242;" size="2", 'click')">
<option>One
-<option id="o3" onclick="mouseeventverify(event, 22, 262, this, 'click')">Two
+<option id="o3">Two
</select>
</form>
<form action="" method="post">
-<select style="position:absolute; top: 324;" size="2" ondblclick="mouseeventverify(event, 22, 344, document.getElementById('o4'), 'dblclick')">
+<select style="position:absolute; top: 324;" size="2", 'dblclick')">
<option>One
-<option id="o4" ondblclick="mouseeventverify(event, 22, 344, this, 'dblclick')">Two
+<option id="o4">Two
</select>
</form>
-<select style="position:absolute; top: 408;" size="3" onmousedown="mouseeventverify2(event, 22, 448, 12, 38, this, 'mousedown')">
+<select style="position:absolute; top: 408;" size="3">
<option>One
-<option id="o5" onmousedown="mouseeventverify2(event, 22, 448, 12, 38, this, 'mousedown')">Two
+<option id="o5">Two
</select>
</form>
<div style="position:absolute; top: 550;" id='console'></div>

Powered by Google App Engine
This is Rietveld 408576698