Commit 9195b0a9 authored by Changwan Ryu's avatar Changwan Ryu Committed by Commit Bot

Expose onCheckIsTextEditor correctly through WebView object

View#onCheckIsTextEditor tells the framework whether the view object can
edit text or not.

We need to do plumbing work to ensure that WebView#onCheckIsTextEditor()
returns a correct value. This is a chromium side change.

Bug: 819420, b/74199870
Change-Id: Ifd93421b855f346d820af4d221863ce83b2e79e5
Reviewed-on: https://chromium-review.googlesource.com/952217
Commit-Queue: Changwan Ryu <changwan@chromium.org>
Reviewed-by: default avatarBo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541296}
parent afed9717
......@@ -1516,7 +1516,7 @@ class WebViewChromium implements WebViewProvider, WebViewProvider.ScrollDelegate
@Override
public TextClassifier getTextClassifier() {
return (TextClassifier) mAwContents.getTextClassifier();
return mAwContents.getTextClassifier();
}
@Override
......@@ -2136,6 +2136,23 @@ class WebViewChromium implements WebViewProvider, WebViewProvider.ScrollDelegate
mAwContents.onFinishTemporaryDetach();
}
// TODO(changwan): override WebViewProvider.ViewDelegate method once the framework change has
// rolled in.
// (not called in O-MR1 and below)
// @Override
public boolean onCheckIsTextEditor() {
mFactory.startYourEngines(false);
if (checkNeedsPost()) {
return mFactory.runOnUiThreadBlocking(new Callable<Boolean>() {
@Override
public Boolean call() {
return onCheckIsTextEditor();
}
});
}
return mAwContents.onCheckIsTextEditor();
}
// WebViewProvider.ScrollDelegate implementation ----------------------------------------------
@Override
......
......@@ -1965,6 +1965,13 @@ public class AwContents implements SmartClipProvider {
mAwViewMethods.computeScroll();
}
/**
* @see View#onCheckIsTextEditor()
*/
public boolean onCheckIsTextEditor() {
return mAwViewMethods.onCheckIsTextEditor();
}
/**
* @see android.webkit.WebView#stopLoading()
*/
......@@ -3571,6 +3578,13 @@ public class AwContents implements SmartClipProvider {
nativeOnComputeScroll(mNativeAwContents, AnimationUtils.currentAnimationTimeMillis());
}
@Override
public boolean onCheckIsTextEditor() {
return isDestroyedOrNoOperation(NO_WARN)
? false
: ImeAdapter.fromWebContents(mWebContents).onCheckIsTextEditor();
}
@Override
public AccessibilityNodeProvider getAccessibilityNodeProvider() {
return isDestroyedOrNoOperation(WARN)
......
......@@ -162,6 +162,11 @@ interface AwViewMethods {
*/
void computeScroll();
/**
* @see android.view.View#onCheckIsTextEditor
*/
boolean onCheckIsTextEditor();
/**
* @see android.view.View#getAccessibilityNodeProvider
*/
......
......@@ -176,6 +176,11 @@ class NullAwViewMethods implements AwViewMethods {
// Intentional no-op.
}
@Override
public boolean onCheckIsTextEditor() {
return false;
}
@Override
public AccessibilityNodeProvider getAccessibilityNodeProvider() {
return null;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment