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

Unified Diff: Source/core/layout/HitTestResult.cpp

Issue 1094133004: Image maps should work for images with alt content (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 8 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: Source/core/layout/HitTestResult.cpp
diff --git a/Source/core/layout/HitTestResult.cpp b/Source/core/layout/HitTestResult.cpp
index 67ff7574695ae358d378b24caf21c635c7a567a9..05b5c6d3e573e5ec1961168fe9519f99fce7645d 100644
--- a/Source/core/layout/HitTestResult.cpp
+++ b/Source/core/layout/HitTestResult.cpp
@@ -159,6 +159,15 @@ void HitTestResult::setInnerNode(Node* n)
if (n && n->isPseudoElement())
n = toPseudoElement(n)->findAssociatedNode();
m_innerNode = n;
+
pdr. 2015/04/24 21:48:23 Instead of duplicating this logic here, what if we
+ Element* shadowHost = n->shadowHost();
+ if (!shadowHost || !isHTMLImageElement(shadowHost))
+ return;
+ HTMLMapElement* map = toHTMLImageElement(shadowHost)->treeScope().getImageMap(toHTMLImageElement(shadowHost)->fastGetAttribute(usemapAttr));
+ if (!map)
+ return;
+ if (HTMLAreaElement* area = map->areaForPoint(localPoint(), toLayoutBox(layoutObject())->contentBoxRect().size()))
+ m_innerNode = area;
}
void HitTestResult::setURLElement(Element* n)

Powered by Google App Engine
This is Rietveld 408576698