Remove the WebTextView if it is drawing when it shouldn't.
Bug 2614064 Change-Id: Id5d0a27e862bb783299f6fa4863221a27318f52c
This commit is contained in:
@@ -300,6 +300,23 @@ import java.util.ArrayList;
|
||||
return connection;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
// onDraw should only be called for password fields. If WebTextView is
|
||||
// still drawing, but is no longer corresponding to a password field,
|
||||
// remove it.
|
||||
if (mWebView == null || !mWebView.nativeFocusCandidateIsPassword()
|
||||
|| !isSameTextField(mWebView.nativeFocusCandidatePointer())) {
|
||||
// Although calling remove() would seem to make more sense here,
|
||||
// changing it to not be a password field will make it not draw.
|
||||
// Other code will make sure that it is removed completely, but this
|
||||
// way the user will not see it.
|
||||
setInPassword(false);
|
||||
} else {
|
||||
super.onDraw(canvas);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEditorAction(int actionCode) {
|
||||
switch (actionCode) {
|
||||
|
||||
@@ -7256,13 +7256,13 @@ public class WebView extends AbsoluteLayout
|
||||
private native void nativeFindNext(boolean forward);
|
||||
/* package */ native int nativeFocusCandidateFramePointer();
|
||||
/* package */ native boolean nativeFocusCandidateHasNextTextfield();
|
||||
private native boolean nativeFocusCandidateIsPassword();
|
||||
/* package */ native boolean nativeFocusCandidateIsPassword();
|
||||
private native boolean nativeFocusCandidateIsRtlText();
|
||||
private native boolean nativeFocusCandidateIsTextInput();
|
||||
/* package */ native int nativeFocusCandidateMaxLength();
|
||||
/* package */ native String nativeFocusCandidateName();
|
||||
private native Rect nativeFocusCandidateNodeBounds();
|
||||
private native int nativeFocusCandidatePointer();
|
||||
/* package */ native int nativeFocusCandidatePointer();
|
||||
private native String nativeFocusCandidateText();
|
||||
private native int nativeFocusCandidateTextSize();
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user