| Index: LayoutTests/touchadjustment/pseudo-element.html
|
| diff --git a/LayoutTests/touchadjustment/big-div.html b/LayoutTests/touchadjustment/pseudo-element.html
|
| similarity index 60%
|
| copy from LayoutTests/touchadjustment/big-div.html
|
| copy to LayoutTests/touchadjustment/pseudo-element.html
|
| index 80d0e0e523f54f5356045fa32f75855e14adfdd9..fca68bdbb48e63280b50d373f0ff4feed8e666e9 100644
|
| --- a/LayoutTests/touchadjustment/big-div.html
|
| +++ b/LayoutTests/touchadjustment/pseudo-element.html
|
| @@ -1,20 +1,22 @@
|
| <!DOCTYPE html>
|
| -<html>
|
| -<head>
|
| - <title>Touch Adjustment : Too aggresive adjustments for large elements - bug 91262</title>
|
| - <script src="../resources/js-test.js"></script>
|
| - <script src="resources/touchadjustment.js"></script>
|
| - <style>
|
| - #targetDiv {
|
| - background: #00f;
|
| - height: 400px;
|
| - width: 400px;
|
| - }
|
| - </style>
|
| -</head>
|
| -
|
| -<body>
|
| -
|
| +<title>Touch Adjustment: Shouldn't return pseudo elements - bug 395942</title>
|
| +<script src="../resources/js-test.js"></script>
|
| +<script src="resources/touchadjustment.js"></script>
|
| +<style>
|
| + #targetDiv {
|
| + height: 0;
|
| + width: 0;
|
| + }
|
| + #targetDiv:after {
|
| + display: block;
|
| + position: relative;
|
| + left: 50px;
|
| + background-color: blue;
|
| + width: 50px;
|
| + height: 50px;
|
| + content: '';
|
| + }
|
| +</style>
|
| <div id="targetDiv">
|
| </div>
|
|
|
| @@ -35,21 +37,38 @@
|
|
|
| targetBounds = findAbsoluteBounds(element);
|
|
|
| + // Adjust for offset to the pseudo element
|
| + targetBounds = {
|
| + left: targetBounds.left + 50,
|
| + top: targetBounds.top,
|
| + width: 50,
|
| + height: 50
|
| + };
|
| +
|
| var touchRadius = 10;
|
| var offset = touchRadius / 2;
|
| var midX = targetBounds.left + targetBounds.width / 2;
|
| var midY = targetBounds.top + targetBounds.height / 2;
|
|
|
| - debug('\nOverlapping touch above the target should snap to the top of the target element.');
|
| + debug('Test touch area contained within the pseudo element.');
|
| + testTouch(midX, midY, touchRadius, targetBounds);
|
| + debug('');
|
| +
|
| + debug('Overlapping touch above the target should snap to the top of the pseudo element.');
|
| testTouch(midX, targetBounds.top - offset, touchRadius, targetBounds);
|
| - debug('\nOverlapping touch below the target should snap to the bottom of the target element.');
|
| + debug('');
|
| +
|
| + debug('Overlapping touch below the target should snap to the bottom of the pseudo element.');
|
| testTouch(midX, targetBounds.top + targetBounds.height + offset, touchRadius, targetBounds);
|
| - debug('\nOverlapping touch left of the target should snap to the left side of the target element.');
|
| + debug('');
|
| +
|
| + debug('Overlapping touch left of the target should snap to the left side of the pseudo element.');
|
| testTouch(targetBounds.left - offset, midY, touchRadius, targetBounds);
|
| - debug('\nOverlapping touch right of the target should snap to the right side of the target element.');
|
| + debug('');
|
| +
|
| + debug('Overlapping touch right of the target should snap to the right side of the pseudo element.');
|
| testTouch(targetBounds.left + targetBounds.width + offset, midY, touchRadius, targetBounds);
|
| - debug('\nTest touch area contained within the target element.');
|
| - testTouch(midX, midY, touchRadius, targetBounds);
|
| + debug('');
|
| }
|
|
|
| function testTouch(touchX, touchY, radius, targetBounds) {
|
| @@ -74,14 +93,9 @@
|
| shouldBeTrue('adjustedPoint.y <= touchBounds.y + touchBounds.height');
|
| }
|
|
|
| - function runTests()
|
| - {
|
| - if (window.testRunner && window.internals && internals.touchNodeAdjustedToBestClickableNode) {
|
| - description('Test touch adjustment on a large div. The adjusted touch point should lie inside the target element and within the touch area.');
|
| - runTouchTests();
|
| - }
|
| + description('Test touch adjustment over pseudo elements. Pseudo elements should be candidates for adjustment, but should not themselves be returned as valid target nodes.');
|
| +
|
| + if (window.internals) {
|
| + runTouchTests();
|
| }
|
| - runTests();
|
| </script>
|
| -</body>
|
| -</html>
|
|
|