diff options
| -rw-r--r-- | core/java/android/webkit/WebView.java | 12 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewProvider.java | 10 |
2 files changed, 22 insertions, 0 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 6523fffc4b91..f5b81b027134 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -50,6 +50,7 @@ import android.util.SparseArray; import android.view.DragEvent; import android.view.KeyEvent; import android.view.MotionEvent; +import android.view.PointerIcon; import android.view.View; import android.view.ViewDebug; import android.view.ViewGroup; @@ -3139,4 +3140,15 @@ public class WebView extends AbsoluteLayout if (result == null) return super.onApplyWindowInsets(insets); return result; } + + @Override + @Nullable + public PointerIcon onResolvePointerIcon(@NonNull MotionEvent event, int pointerIndex) { + PointerIcon icon = + mProvider.getViewDelegate().onResolvePointerIcon(event, pointerIndex); + if (icon != null) { + return icon; + } + return super.onResolvePointerIcon(event, pointerIndex); + } } diff --git a/core/java/android/webkit/WebViewProvider.java b/core/java/android/webkit/WebViewProvider.java index 26579c5dec68..ca423e030044 100644 --- a/core/java/android/webkit/WebViewProvider.java +++ b/core/java/android/webkit/WebViewProvider.java @@ -39,6 +39,7 @@ import android.util.SparseArray; import android.view.DragEvent; import android.view.KeyEvent; import android.view.MotionEvent; +import android.view.PointerIcon; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.view.WindowInsets; @@ -496,6 +497,15 @@ public interface WebViewProvider { default WindowInsets onApplyWindowInsets(@Nullable WindowInsets insets) { return null; } + + /** + * @hide Only used by WebView. + */ + @SuppressWarnings("unused") + @Nullable + default PointerIcon onResolvePointerIcon(@NonNull MotionEvent event, int pointerIndex) { + return null; + } } interface ScrollDelegate { |