Don't round hit test location in HitTestLocation::RectForPoint

HitTestLocation rounds the hit test location to the closest 1x1 rect
for no good reason, causing some confusing hit test results. Hence,
this patch removes such rounding.

Bug: 974314
Change-Id: I48266a7ec8bffbeb746085c5d8835d3f300dd4b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1661297
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#669579}
diff --git a/css/cssom-view/elementFromPoint-subpixel.html b/css/cssom-view/elementFromPoint-subpixel.html
new file mode 100644
index 0000000..ff67aa2
--- /dev/null
+++ b/css/cssom-view/elementFromPoint-subpixel.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <title>CSSOM View - extensions to the Document interface</title>
+  <link rel="author" title="Xiaocheng Hu" href="mailto:xiaochengh@chromium.org">
+  <link rel="help" href="http://www.w3.org/TR/cssom-view/#extensions-to-the-document-interface">
+  <script src="/resources/testharness.js"></script>
+  <script src="/resources/testharnessreport.js"></script>
+  <style>
+    .container {
+      display: flex;
+      width: 500px;
+      height: 100px;
+    }
+
+    .map {
+      flex: 1 1 auto;
+      position: relative;
+    }
+
+    .box {
+      flex: 0 0 auto;
+    }
+
+    .child {
+      width: 183.66px;
+    }
+  </style>
+</head>
+<body>
+  <div class="container">
+    <div class="map"></div>
+    <div class="box" id="box">
+      <div class="child"></div>
+    </div>
+  </div>
+
+  <script>
+    const box = document.getElementById('box');
+    const rect = box.getBoundingClientRect();
+
+    test(() => {
+      assert_equals(document.elementFromPoint(rect.x, rect.y), box);
+    }, 'Hit test top left corner of box');
+
+    test(() => {
+      assert_equals(document.elementFromPoint(rect.x + rect.width - 1, rect.y), box);
+    }, 'Hit test top right corner of box');
+
+    test(() => {
+      assert_equals(document.elementFromPoint(rect.x, rect.y + rect.height - 1), box);
+    }, 'Hit test bottom left corner of box');
+
+    test(() => {
+      assert_equals(document.elementFromPoint(rect.x + rect.width - 1, rect.y + rect.height - 1), box);
+    }, 'Hit test lower left corner of box');
+  </script>
+</body>
+</html>