blob: 9b67e519fd164754e16e01bb5587e6e4d5c93b67 [file] [log] [blame]
<html>
<head>
<style>
.drag {
-webkit-app-region: drag;
}
.nodrag {
-webkit-app-region: no-drag;
}
.transform {
transform: scale(0.5, 0.5);
}
#draggable {
position: absolute;
top: 10px;
left: 20px;
width: 100px;
height: 60px;
background-color: green;
}
#nondraggable {
left: 0px;
top: 0px;
width: 60px;
height: 20px;
background-color: blue;
}
</style>
</head>
<script src="../../resources/js-test.js"></script>
<script>
description("This tests that transformed annotated regions have the correct bounds.");
function getBoundsFromClientRectList(rects) {
if (rects && rects.length == 1)
return rects[0].left + "," + rects[0].top + "+" + rects[0].width + "x" + rects[0].height;
return '';
}
function draggableRegions() {
return getBoundsFromClientRectList(window.internals.draggableRegions(document));
}
function nonDraggableRegions() {
return getBoundsFromClientRectList(window.internals.nonDraggableRegions(document));
}
function startTest() {
shouldBe("draggableRegions()", "''");
shouldBe("nonDraggableRegions()", "''");
draggable.classList.add("drag");
shouldBe("draggableRegions()", "'20,10+100x60'");
shouldBe("nonDraggableRegions()", "''");
draggable.classList.add('transform');
shouldBe("draggableRegions()", "'45,25+50x30'");
shouldBe("nonDraggableRegions()", "''");
nondraggable.classList.add('nodrag');
shouldBe("draggableRegions()", "'45,25+50x30'");
shouldBe("nonDraggableRegions()", "'45,25+30x10'");
draggable.classList.remove('transform');
shouldBe("draggableRegions()", "'20,10+100x60'");
shouldBe("nonDraggableRegions()", "'20,10+60x20'");
finishJSTest();
}
window.jsTestIsAsync = true;
window.onload = startTest;
</script>
<body>
<div id="draggable">
<div id="nondraggable"></div>
</div>
<p id="description"></p>
<div id="console"></div>
</body>
</html>