mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-28 13:21:28 +00:00
Bug 1119698 - ensure image elements take pointer-events into account r=jwatt
--HG-- rename : dom/svg/test/test_pointer-events-4.xhtml => dom/svg/test/test_pointer-events-7.xhtml
This commit is contained in:
parent
0bb2843db3
commit
b83e878ed3
@ -64,6 +64,7 @@ skip-if = true
|
||||
[test_pointer-events-4.xhtml]
|
||||
[test_pointer-events-5.xhtml]
|
||||
[test_pointer-events-6.xhtml]
|
||||
[test_pointer-events-7.xhtml]
|
||||
[test_scientific.html]
|
||||
[test_selectSubString.xhtml]
|
||||
[test_stroke-linecap-hit-testing.xhtml]
|
||||
|
66
dom/svg/test/test_pointer-events-7.xhtml
Normal file
66
dom/svg/test/test_pointer-events-7.xhtml
Normal file
@ -0,0 +1,66 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1119698
|
||||
-->
|
||||
<head>
|
||||
<title>Test pointer events with image</title>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||
</head>
|
||||
<body onload="run()">
|
||||
<script class="testbody" type="text/javascript">
|
||||
<![CDATA[
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
function run()
|
||||
{
|
||||
var svgDoc = document.getElementById('svg');
|
||||
var div = document.getElementById("div");
|
||||
// Get the coords of the origin of the SVG canvas:
|
||||
var originX = div.offsetLeft;
|
||||
var originY = div.offsetTop;
|
||||
var image4 = document.getElementById('image4');
|
||||
var image5 = document.getElementById('image5');
|
||||
var element;
|
||||
|
||||
element = document.elementFromPoint(originX + 20, originY + 20);
|
||||
is(element, background, 'Should not hit visibility:hidden image by default');
|
||||
|
||||
element = document.elementFromPoint(originX + 120, originY + 20);
|
||||
is(element, background, 'Should not hit pointer-events:none image');
|
||||
|
||||
element = document.elementFromPoint(originX + 220, originY + 20);
|
||||
is(element, background, 'Should not hit pointer-events:visible visibility:hidden image');
|
||||
|
||||
element = document.elementFromPoint(originX + 320, originY + 20);
|
||||
is(element, image4, 'Should hit pointer-events:painted visibility:hidden image');
|
||||
|
||||
element = document.elementFromPoint(originX + 420, originY + 20);
|
||||
is(element, image5, 'Should hit pointer-events:stroke visibility:hidden image');
|
||||
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
]]>
|
||||
</script>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1119698">Mozilla Bug 1119698</a>
|
||||
<p id="display"></p>
|
||||
<div id="content">
|
||||
|
||||
<div width="100%" height="1" id="div">
|
||||
</div>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" id="svg">
|
||||
<rect id="background" width="100%" height="100%" fill="blue"/>
|
||||
<image x="10" y="10" width="100" height="100" visibility="hidden" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAAxJREFUCNdj+M/AAAADAQEAGN2NsAAAAABJRU5ErkJggg"/>
|
||||
<image x="110" y="10" width="100" height="100" pointer-events="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAAxJREFUCNdj+M/AAAADAQEAGN2NsAAAAABJRU5ErkJggg"/>
|
||||
<image x="210" y="10" width="100" height="100" pointer-events="visible" visibility="hidden" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAAxJREFUCNdj+M/AAAADAQEAGN2NsAAAAABJRU5ErkJggg"/>
|
||||
<image id="image4" x="310" y="10" width="100" height="100" pointer-events="painted" visibility="hidden" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAAxJREFUCNdj+M/AAAADAQEAGN2NsAAAAABJRU5ErkJggg"/>
|
||||
<image id="image5" x="410" y="10" width="100" height="100" pointer-events="stroke" visibility="hidden" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAAxJREFUCNdj+M/AAAADAQEAGN2NsAAAAABJRU5ErkJggg"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
@ -410,6 +410,10 @@ nsSVGImageFrame::PaintSVG(gfxContext& aContext,
|
||||
nsIFrame*
|
||||
nsSVGImageFrame::GetFrameForPoint(const gfxPoint& aPoint)
|
||||
{
|
||||
if (!(GetStateBits() & NS_STATE_SVG_CLIPPATH_CHILD) && !GetHitTestFlags()) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Rect rect;
|
||||
SVGImageElement *element = static_cast<SVGImageElement*>(mContent);
|
||||
element->GetAnimatedLengthValues(&rect.x, &rect.y,
|
||||
|
Loading…
x
Reference in New Issue
Block a user