зеркало из https://github.com/mozilla/gecko-dev.git
56 строки
1.9 KiB
HTML
56 строки
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>inert inlines</title>
|
|
<link rel="author" title="Alice Boxhall" href="aboxhall@chromium.org">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/testdriver.js"></script>
|
|
<script src="/resources/testdriver-vendor.js"></script>
|
|
</head>
|
|
<body>
|
|
<a inert id="a" href="javascript:void(0)">Click me</a>
|
|
<button inert id="button">Click me</button>
|
|
<div inert id="div" style="background-color: blue; width: 50px; height: 50px">Click me</div>
|
|
<span inert id="span">Click me</span>
|
|
<script>
|
|
function eventFiredOnInertElement(e) {
|
|
e.target.style.background = 'red';
|
|
inertElementFiredOn = true;
|
|
}
|
|
|
|
inertElements = ['a', 'button', 'div', 'span']
|
|
inertElements.forEach(function(id) {
|
|
element = document.getElementById(id);
|
|
element.addEventListener('click', eventFiredOnInertElement);
|
|
element.addEventListener('mousemove', eventFiredOnInertElement);
|
|
});
|
|
|
|
document.addEventListener('click', function(e) {
|
|
document.firedOn = true;
|
|
});
|
|
|
|
promise_test(async () => {
|
|
for (let id of inertElements) {
|
|
var element = document.getElementById(id);
|
|
inertElementFiredOn = false;
|
|
document.firedOn = false;
|
|
try {
|
|
await test_driver.click(element);
|
|
assert_false(inertElementFiredOn, 'no event should be fired on ' + id);
|
|
assert_true(document.firedOn, 'event should be fired on document instead of ' + id);
|
|
} catch (e) {
|
|
// test driver detects inert elements as unclickable
|
|
// and throws an error
|
|
assert_false(inertElementFiredOn, 'no event should be fired on ' + id);
|
|
}
|
|
}
|
|
}, 'Tests that inert inlines do not receive mouse events. ' +
|
|
'To test manually, click on all the "Click me"s. The test ' +
|
|
'fails if you see red.');
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|