/**
* Test for Bug 968148, test orignally copied from test_bug582771.html.
* Mouse functionality converted to pointer and all steps duplicated in order to run them in parallel for two different pointer Id's
**/
function ok(condition, msg) {
parent.ok(condition, msg);
}
function is(a, b, msg) {
parent.is(a, b, msg);
}
var test1d1; var test1d2; var test2d1; var test2d2; var test1d1pointermovecount = 0; var test1d2pointermovecount = 0; var test2d1pointermovecount = 0; var test2d2pointermovecount = 0;
var test1d1pointerlostcapture = 0; var test1d2pointerlostcapture = 0; var test2d1pointerlostcapture = 0; var test2d2pointerlostcapture = 0; var test1d1pointergotcapture = 0; var test1d2pointergotcapture = 0; var test2d1pointergotcapture = 0; var test2d2pointergotcapture = 0; var test1PointerId = 1; var test2PointerId = 2; var rx = 1; var ry = 1; var angle = 0; var force = 1; var modifiers = 0; var utils = SpecialPowers.getDOMWindowUtils(window);
function log(s) {
document.getElementById("l").textContent += s + "\n";
}
function test1d1IncreasePointerMoveCount(e) {
log(e.type + ", " + e.target.id);
is(e.target, test1d1, "check target is 1d1.");
++test1d1pointermovecount;
}
function test1d2IncreasePointerMoveCount(e) {
log(e.type + ", " + e.target.id);
is(e.target, test1d2, "check target is 1d2.");
++test1d2pointermovecount;
}
function test2d1IncreasePointerMoveCount(e) {
log(e.type + ", " + e.target.id);
is(e.target, test2d1, "check target is 2d1.");
++test2d1pointermovecount;
}
function test2d2IncreasePointerMoveCount(e) {
log(e.type + ", " + e.target.id);
is(e.target, test2d2, "check target is 2d2.");
++test2d2pointermovecount;
}
var rect1d1 = test1d1.getBoundingClientRect(); var rect1d2 = test1d2.getBoundingClientRect(); var rect2d1 = test2d1.getBoundingClientRect(); var rect2d2 = test2d2.getBoundingClientRect();
var left1d1 = rect1d1.left + 5; var top1d1 = rect1d1.top + 5; var left1d2 = rect1d2.left + 5; var top1d2 = rect1d2.top + 5; var left2d1 = rect2d1.left + 5; var top2d1 = rect2d1.top + 5; var left2d2 = rect2d2.left + 5; var top2d2 = rect2d2.top + 5;
// Implicitly pointer capture. pointermove should be dispatched to 1d1, 2d1
is(test1d1pointermovecount, 1, "1d1 should have got pointermove");
is(test2d1pointermovecount, 1, "2d1 should have got pointermove");
is(test1d2pointermovecount, 0, "1d2 shouldn't have got pointermove");
is(test2d2pointermovecount, 0, "2d2 shouldn't have got pointermove");
// Explicitly capture pointer to 1d1, 2d1. pointermove, gotpointercapture
// should be dispatched to 1d1, 2d1
is(test1d1pointermovecount, 2, "1d1 should have got pointermove");
is(test1d1pointergotcapture, 2, "1d1 should have got pointergotcapture");
is(test1d2pointermovecount, 0, "1d2 shouldn't have got pointermove");
is(test1d2pointergotcapture, 0, "1d2 shouldn't have got pointergotcapture");
is(test2d1pointermovecount, 2, "2d1 should have got pointermove");
is(test2d1pointergotcapture, 2, "2d1 should have got pointergotcapture");
is(test2d2pointermovecount, 0, "2d2 shouldn't have got pointermove");
is(test2d2pointergotcapture, 0, "2d2 shouldn't have got pointergotcapture");
is(test1d1pointermovecount, 3, "1d1 shouldn't have got pointermove");
is(test1d1pointergotcapture, 3, "1d1 should have got pointergotcapture");
is(test1d2pointermovecount, 1, "1d2 should have got pointermove");
is(test1d2pointergotcapture, 1, "1d2 should have got pointergotcapture");
is(test2d1pointermovecount, 3, "2d1 shouldn't have got pointermove");
is(test2d1pointergotcapture, 3, "2d1 should have got pointergotcapture");
is(test2d2pointermovecount, 1, "2d2 should have got pointermove");
is(test2d2pointergotcapture, 1, "2d2 should have got pointergotcapture");
function finishTest() {
// Let window.onerror have a chance to fire
setTimeout(function() {
setTimeout(function() {
window.parent.postMessage("finishTest", "*");
}, 0);
}, 0);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.