<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. The <span id="word">second</span> word in this sentence should be selected when run through DumpRenderTree. To 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, no selection should be created.
</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>
