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
This commit is contained in:
Cary Clark
2011-01-11 11:32:01 -05:00
parent 0664c62c12
commit b2601359ea

View File

@@ -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 * Return true if the view (Plugin) is fully visible and maximized inside
* the WebView. * the WebView.
@@ -8150,6 +8158,7 @@ public class WebView extends AbsoluteLayout
} }
private native int nativeCacheHitFramePointer(); private native int nativeCacheHitFramePointer();
private native boolean nativeCacheHitIsPlugin();
private native Rect nativeCacheHitNodeBounds(); private native Rect nativeCacheHitNodeBounds();
private native int nativeCacheHitNodePointer(); private native int nativeCacheHitNodePointer();
/* package */ native void nativeClearCursor(); /* package */ native void nativeClearCursor();