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

Unified Diff: third_party/WebKit/LayoutTests/css3/masking/clip-path-hittest-reference-usou.html

Issue 2280963002: Fix clip-path reference box/coordinate space setup for hit-testing (Closed)
Patch Set: DCHECK rootLayer; rename computeReferenceBox to boxForClipPath Created 4 years, 4 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
Index: third_party/WebKit/LayoutTests/css3/masking/clip-path-hittest-reference-usou.html
diff --git a/third_party/WebKit/LayoutTests/css3/masking/clip-path-hittest-reference-usou.html b/third_party/WebKit/LayoutTests/css3/masking/clip-path-hittest-reference-usou.html
new file mode 100644
index 0000000000000000000000000000000000000000..d857c3d4046eb82e67faf68df40aaf3a9e571ebb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/css3/masking/clip-path-hittest-reference-usou.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<title>Hit-test of clip-path userSpaceOnUse &lt;clipPath> on &lt;div></title>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<style>
+body {
+ margin: 0;
+}
+.box {
+ width: 100px;
+ height: 100px;
+ background-color: blue;
+ margin: 100px;
+ -webkit-clip-path: url(#clip);
+ clip-path: url(#clip);
+}
+</style>
+<div class=box></div>
+<svg height="0">
+ <clipPath id="clip" clipPathUnits="userSpaceOnUse">
+ <polygon points="50,0 100,50 50,100 0,50"/>
+ </clipPath>
+</svg>
+<script>
+function assert_element_at(element, pointlist) {
+ for (var point of pointlist) {
+ var result = document.elementFromPoint(point[0], point[1]);
+ assert_equals(result, element, point.join(','));
+ }
+}
+
+test(function() {
+ var div = document.querySelector('.box');
+
+ // Points inside clip-path.
+ assert_element_at(div, [[150, 150], [150, 125], [150, 175], [125, 150], [175, 150]]);
+
+ // Points outside clip-path.
+ assert_element_at(document.body, [[120, 120], [180, 120], [120, 180], [180, 180]]);
+});
+</script>
« no previous file with comments | « third_party/WebKit/LayoutTests/css3/masking/clip-path-hittest.html ('k') | third_party/WebKit/Source/core/paint/PaintLayer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698