303 lines
6.3 KiB
HTML
303 lines
6.3 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
|
"http://www.w3.org/TR/html4/strict.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
|
<title>Test for pointer-events property</title>
|
|
<style type="text/css" media="screen">
|
|
|
|
.row {
|
|
position: absolute;
|
|
width: 300px;
|
|
height: 100px;
|
|
left: 10px;
|
|
}
|
|
|
|
.row1 { top: 140px; }
|
|
.row2 { top: 240px; }
|
|
.row3 { top: 340px; }
|
|
.row4 { top: 440px; }
|
|
.row5 { top: 540px; }
|
|
.row6 { top: 140px; left: 340px;}
|
|
.row7 { top: 240px; left: 340px;}
|
|
.row8 { top: 340px; left: 340px;}
|
|
.row9 { top: 440px; left: 340px;}
|
|
.row10 { top: 540px; left: 340px; }
|
|
|
|
.col {
|
|
position: absolute;
|
|
width: 80px;
|
|
height: 80px;
|
|
top: 0;
|
|
}
|
|
|
|
.col1 {
|
|
left: 0px;
|
|
}
|
|
|
|
.col2 {
|
|
left: 100px;
|
|
}
|
|
|
|
.col3 {
|
|
left: 200px;
|
|
}
|
|
|
|
div, p {
|
|
font-size: 16px;
|
|
}
|
|
|
|
div p {
|
|
padding: 0;
|
|
margin: 0;
|
|
position: absolute;
|
|
width: 80px;
|
|
height: 80px;
|
|
}
|
|
|
|
#p1 {
|
|
background: gray;
|
|
}
|
|
|
|
#p2 {
|
|
background: gray;
|
|
pointer-events: none;
|
|
}
|
|
|
|
#p3 {
|
|
background: gray;
|
|
pointer-events: none;
|
|
}
|
|
|
|
#p4 {
|
|
pointer-events: auto;
|
|
}
|
|
|
|
#p5 {
|
|
background: gray;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
#p6 {
|
|
pointer-events: none;
|
|
}
|
|
|
|
#p7 { /* this is a div - not a p */
|
|
pointer-events: auto;
|
|
padding: 0;
|
|
margin: 0;
|
|
position: absolute;
|
|
width: 80px;
|
|
height: 80px;
|
|
}
|
|
|
|
#p8 {
|
|
background: gray;
|
|
pointer-events: none;
|
|
}
|
|
|
|
#p9 { /* this is a div - not a p */
|
|
pointer-events: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
position: absolute;
|
|
width: 80px;
|
|
height: 80px;
|
|
}
|
|
|
|
#p10 {
|
|
background: gray;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
#p11 {
|
|
position: absolute;
|
|
margin: 0;
|
|
padding: 0;
|
|
pointer-events: auto;
|
|
width: 80px;
|
|
height: 80px;
|
|
}
|
|
|
|
#p12 {
|
|
position: absolute;
|
|
margin: 0;
|
|
padding: 0;
|
|
pointer-events: none;
|
|
width: 80px;
|
|
height: 80px;
|
|
}
|
|
|
|
#p13 {
|
|
background: gray;
|
|
pointer-events: none;
|
|
}
|
|
|
|
#p14 {
|
|
background: yellow;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
#p15 {
|
|
background: gray;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
#p16 {
|
|
background: yellow;
|
|
pointer-events: none;
|
|
}
|
|
|
|
|
|
</style>
|
|
<script>
|
|
if (window.testRunner) {
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
var pointerEventsValues = ['auto', 'none'];
|
|
|
|
var topEdge = 140;
|
|
|
|
function clickHit(event) {
|
|
// iterate up to the containing row
|
|
var parent = event.target;
|
|
while (parent && (!parent.className || !parent.className.match(/^row/))) {
|
|
parent = parent.parentNode;
|
|
}
|
|
if (parent && parent.className && parent.className.match(/^row/)) {
|
|
var actual = parent.querySelector(".col3");
|
|
if (actual && event.target.id)
|
|
actual.innerText = event.target.id;
|
|
}
|
|
}
|
|
|
|
function testContent() {
|
|
|
|
// hit left side
|
|
var yOffset = topEdge;
|
|
for (var i=0; i < 5; i++) {
|
|
if (window.eventSender) {
|
|
eventSender.mouseMoveTo(15, yOffset + 5);
|
|
eventSender.mouseDown();
|
|
eventSender.mouseUp();
|
|
}
|
|
yOffset += 100;
|
|
}
|
|
|
|
// hit right side
|
|
yOffset = topEdge;
|
|
for (var i=0; i < 5; i++) {
|
|
if (window.eventSender) {
|
|
eventSender.mouseMoveTo(345, yOffset + 5);
|
|
eventSender.mouseDown();
|
|
eventSender.mouseUp();
|
|
}
|
|
yOffset += 100;
|
|
}
|
|
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}
|
|
</script>
|
|
|
|
</head>
|
|
<body onload="testContent()" onclick="clickHit(event)">
|
|
<h1>Testing the values of 'pointer-events' on HTML content</h1>
|
|
<p>This test is expected to be run from within DumpRenderTree. If running manually, click on
|
|
the elements in the first column, making sure the actual result (3rd column) matches
|
|
the expected result (2nd column). Repeat for click target (4th column), expected result (5th column)
|
|
and actual result (6th column). Note: You should click on a yellow inline element if
|
|
one exists, otherwise anywhere in the box.</p>
|
|
|
|
<div class="row row1">
|
|
<div class="col col1">
|
|
<p id="p1">pointer-events auto</p>
|
|
</div>
|
|
<div class="col col2">p1</div>
|
|
<div class="col col3">none</div>
|
|
</div>
|
|
|
|
<div class="row row2">
|
|
<div class="col col1">
|
|
<p id="p2">pointer-events none</p>
|
|
</div>
|
|
<div class="col col2">none</div>
|
|
<div class="col col3">none</div>
|
|
</div>
|
|
|
|
<div class="row row3">
|
|
<div class="col col1">
|
|
<p id="p3">siblings - auto on top</p>
|
|
<p id="p4"></p>
|
|
</div>
|
|
<div class="col col2">p4</div>
|
|
<div class="col col3">none</div>
|
|
</div>
|
|
|
|
<div class="row row4">
|
|
<div class="col col1">
|
|
<p id="p5">siblings - none on top</p>
|
|
<p id="p6"></p>
|
|
</div>
|
|
<div class="col col2">p5</div>
|
|
<div class="col col3">none</div>
|
|
</div>
|
|
|
|
<div class="row row5">
|
|
<div class="col col1">
|
|
<div id="p7">
|
|
<p id="p8">nested - auto outer</p>
|
|
</div>
|
|
</div>
|
|
<div class="col col2">p7</div>
|
|
<div class="col col3">none</div>
|
|
</div>
|
|
|
|
<div class="row row6">
|
|
<div class="col col1">
|
|
<div id="p9">
|
|
<p id="p10">nested - none outer</p>
|
|
</div>
|
|
</div>
|
|
<div class="col col2">p10</div>
|
|
<div class="col col3">none</div>
|
|
</div>
|
|
|
|
<div class="row row7">
|
|
<div class="col col1">
|
|
<img id="p11" src="resources/abe.png">
|
|
</div>
|
|
<div class="col col2">p11</div>
|
|
<div class="col col3">none</div>
|
|
</div>
|
|
|
|
<div class="row row8">
|
|
<div class="col col1">
|
|
<img id="p12" src="resources/abe.png">
|
|
</div>
|
|
<div class="col col2">none</div>
|
|
<div class="col col3">none</div>
|
|
</div>
|
|
|
|
<div class="row row9">
|
|
<div class="col col1">
|
|
<p id="p13"><span id="p14">inline</span> has auto, parent none
|
|
</p>
|
|
</div>
|
|
<div class="col col2">p14</div>
|
|
<div class="col col3">none</div>
|
|
</div>
|
|
|
|
<div class="row row10">
|
|
<div class="col col1">
|
|
<p id="p15"><span id="p16">inline</span> has none, parent auto
|
|
</p>
|
|
</div>
|
|
<div class="col col2">p15</div>
|
|
<div class="col col3">none</div>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|