chromium/third_party/blink/web_tests/touchadjustment/context-menu-select-text.html

<!DOCTYPE html>
<html>
<head>
    <title>Touch Adjustment : Adjust context-menu to selectable text - bug 94101</title>
    <script src="../resources/ahem.js"></script>
    <script src="../resources/js-test.js"></script>
    <script src="resources/touchadjustment.js"></script>
    <style>
        #sandbox {
            position: absolute;
            top: 0px;
            left: 0px;
            width: 400px;
            height: 200px;
        }
        #sandbox p {
            padding: 5px;
            font: 20px Ahem;
        }
    </style>
</head>
<body>

<div id=sandbox>
    <p id=p1><span id=span1>Text text text.</span>
</div>

<p id='description'></p>
<div id='console'></div>

<script>
    // Set up shortcut access to elements
    var e = {};
    ['sandbox', 'p1', 'span1'].forEach(function(a) {
        e[a] = document.getElementById(a);
    });

    function testAdjustedTouches()
    {
        // Set editing-behaviour to win, so context-menu gesture does not trigger selections.
        internals.settings.setEditingBehavior('win');
        // Check the context-menu is not adjusted to the selectable text.
        testTouchPointContextMenu(touchPoint(100, 30, 20), null, true);
        // Set editing-behaviour mac, so context-menu gesture triggers selections.
        internals.settings.setEditingBehavior('mac');
        // Check the context-menu is adjusted to the selectable text.
        testTouchPointContextMenu(touchPoint(100, 30, 20), "'Text text text.'", true);
    }

    function runTests()
    {
        if (window.testRunner && window.internals && internals.touchNodeAdjustedToBestContextMenuNode) {
            description('Test touch adjustment for context-menu gestures with automatic select behaviour.');
            testAdjustedTouches();
            e.sandbox.style.display = 'none';
        }
    }
    runTests();
</script>


</body>
</html>