<html>
<head>
    
<style type="text/css">

#title h1 {
    margin: 0px 24px 0px 0px;
    padding: 23px 0px 0px 175px;
}

body {
    position: absolute; 
    max-width: 600px;
    padding: 5px;
    border: 1px solid black;
}

</style>

</head>
<body>
<h1 id="title">Word selection on right click test</h1>
This tests to make sure that right clicking non-editable content only creates a word selection for clicks over text. <span id="word">To</span> run manually, right click on text, and a word should be selected.  Right click on the empty space outside and to the right of the black border, the selection should be removed.
</body>

<script>
if (window.layoutTestController) {
    // Make sure that right click is not a no-op (selects a word).
    word = document.getElementById("word");
    x = word.offsetParent.offsetLeft + word.offsetLeft + word.offsetWidth / 2;
    y = word.offsetParent.offsetTop + word.offsetTop + word.offsetHeight / 2;
    eventSender.mouseMoveTo(x, y);
    eventSender.contextClick();

    // This should not.
    body = document.body;
    x = body.offsetLeft + body.offsetWidth + 10;
    y = body.offsetTop + body.offsetHeight - 10;
    eventSender.mouseMoveTo(x, y);
    eventSender.contextClick();
}
</script>

</html>
