From b2601359ea8d9675266c6b72b7209b1f6fae0b89 Mon Sep 17 00:00:00 2001 From: Cary Clark Date: Tue, 11 Jan 2011 11:32:01 -0500 Subject: [PATCH] add interface to return if (x/y) is a plugin Use the nav cache to determine if a given coordinate corresponds to a plugin. Requires a companion change in external/webkit bug:3331323 Change-Id: I07d7fdfd643768d600cd6ba81165fac8b553a77f --- core/java/android/webkit/WebView.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index e3b0a60dd50c5..0a32c9e69a7b5 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -6723,6 +6723,14 @@ public class WebView extends AbsoluteLayout } } + /** + * Returns true if x/y in content coordinates corresponds to a plugin. + */ + boolean isPluginAt(int x, int y) { + return nativePointInNavCache(x, y, mNavSlop) && + nativeCacheHitIsPlugin(); + } + /* * Return true if the view (Plugin) is fully visible and maximized inside * the WebView. @@ -8150,6 +8158,7 @@ public class WebView extends AbsoluteLayout } private native int nativeCacheHitFramePointer(); + private native boolean nativeCacheHitIsPlugin(); private native Rect nativeCacheHitNodeBounds(); private native int nativeCacheHitNodePointer(); /* package */ native void nativeClearCursor();