diff options
author | Grace Kloba <klobag@google.com> | 2010-05-24 21:45:32 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-05-24 21:45:32 -0700 |
commit | a149172322a9067c14e8b474a53e63649aa17cad (patch) | |
tree | 19e2be990222e93b9fc75553b57e5abd9708f0b9 /WebCore/rendering/RenderImage.cpp | |
parent | 8b2ec69eaf97dd8a817342ca54044d74da6b4b19 (diff) | |
parent | 17dcead8ee9edfa8f75e7e2d2284ed3c6f4bd403 (diff) | |
download | external_webkit-a149172322a9067c14e8b474a53e63649aa17cad.zip external_webkit-a149172322a9067c14e8b474a53e63649aa17cad.tar.gz external_webkit-a149172322a9067c14e8b474a53e63649aa17cad.tar.bz2 |
Merge "First draft to add a fat point to WebKit hit test."
Diffstat (limited to 'WebCore/rendering/RenderImage.cpp')
-rw-r--r-- | WebCore/rendering/RenderImage.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/WebCore/rendering/RenderImage.cpp b/WebCore/rendering/RenderImage.cpp index 73cf73c..237dfb6 100644 --- a/WebCore/rendering/RenderImage.cpp +++ b/WebCore/rendering/RenderImage.cpp @@ -513,10 +513,18 @@ HTMLMapElement* RenderImage::imageMap() const bool RenderImage::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, int x, int y, int tx, int ty, HitTestAction hitTestAction) { +#ifdef ANDROID_HITTEST_WITHSIZE + HitTestResult tempResult(result.point(), result.pointPadding()); +#else HitTestResult tempResult(result.point()); +#endif bool inside = RenderReplaced::nodeAtPoint(request, tempResult, x, y, tx, ty, hitTestAction); +#ifdef ANDROID_HITTEST_WITHSIZE + if (tempResult.innerNode() && node()) { +#else if (inside && node()) { +#endif if (HTMLMapElement* map = imageMap()) { IntRect contentBox = contentBoxRect(); float zoom = style()->effectiveZoom(); @@ -527,6 +535,10 @@ bool RenderImage::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu } } +#ifdef ANDROID_HITTEST_WITHSIZE + if (!inside && result.isRegionTest()) + result.merge(tempResult); +#endif if (inside) result = tempResult; return inside; |