Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(158)

Unified Diff: LayoutTests/touchadjustment/pseudo-element.html

Issue 418133010: Fix touch adjustment to never return pseudo elements (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: kevers CR feedback Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | LayoutTests/touchadjustment/pseudo-element-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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>
« no previous file with comments | « no previous file | LayoutTests/touchadjustment/pseudo-element-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698