<!DOCTYPE HTML>
<html>
<head>
<script src="resources/text-based-repaint.js"></script>
<script>
function repaintTest() {
const target = document.getElementById('target');
const range = new Range();
// select "par^agra|ph 1" in target
range.setStart(target.firstChild, 8);
range.setEnd(target.firstChild, 12);
const rect = range.getClientRects()[0];
const center = rect.left + rect.width / 2;
if (window.eventSender) {
eventSender.mouseMoveTo(center, rect.top);
eventSender.mouseDown();
eventSender.mouseMoveTo(center, rect.top);
eventSender.mouseMoveTo(center, rect.bottom);
eventSender.mouseUp();
const actual = getSelection().toString();
if (actual !== range.toString())
console.log(`It should be "agra" instead of "${actual}".`);
}
}
</script>
<title>Repaint Test Across Writing Mode Boundaries</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body {
margin: 50px;
font-size: 20px;
font-family: Times;
}
.lrblock {
writing-mode: tb-lr; /* IE */
-webkit-writing-mode: vertical-lr;
height: 275px;
margin-bottom: 50px;
padding: 1px;
background-color: #eee;
}
.basic {
width: 275px;
margin: 0;
padding: 1px;
writing-mode: lr-tb; /* IE */
-webkit-writing-mode: horizontal-tb;
}
div.d0 {
background-color: #fee;
}
div.d1 {
background-color: #ffe;
}
p {
margin: 10% 5% 10% 5%;
background-color: #faa;
border-left: 20px solid #f88;
border-right: 20px solid #f88;
line-height: 1em;
padding: 1px;
}
.vert {
writing-mode: tb-rl; /* IE */
-webkit-writing-mode: vertical-rl;
}
</style>
</head>
<body onload="runRepaintAndPixelTest()">
<div class="lrblock">
<div class="basic d0"><p>第一段落 paragraph 1</p><p>第二段落 paragraph 2</p></div>
<div class="basic d1 vert"><p id="target">第一段落 paragraph 1</p><p>第二段落 paragraph 2</p></div>
</div>
</body>
</html>