Fix bugs around removing and attaching WebViews.
When removing a WebView from its Window, remove the WebTextView. Remove the old attempt to do the same, which was not being called. When attaching a WebView to a Window, call onWindowFocusChanged so its state of drawing the selection ring returns. Fixes http://b/issue?id=2257787 and http://b/issue?id=2260867
This commit is contained in:
@@ -178749,7 +178749,7 @@
|
||||
synchronized="false"
|
||||
static="false"
|
||||
final="false"
|
||||
deprecated="not deprecated"
|
||||
deprecated="deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
<parameter name="parent" type="android.view.View">
|
||||
@@ -178764,7 +178764,7 @@
|
||||
synchronized="false"
|
||||
static="false"
|
||||
final="false"
|
||||
deprecated="not deprecated"
|
||||
deprecated="deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
<parameter name="p" type="android.view.View">
|
||||
|
||||
@@ -3572,39 +3572,33 @@ public class WebView extends AbsoluteLayout
|
||||
return copiedSomething;
|
||||
}
|
||||
|
||||
// Set this as a hierarchy change listener so we can know when this view
|
||||
// is removed and still have access to our parent.
|
||||
@Override
|
||||
protected void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
ViewParent parent = getParent();
|
||||
if (parent instanceof ViewGroup) {
|
||||
ViewGroup p = (ViewGroup) parent;
|
||||
p.setOnHierarchyChangeListener(this);
|
||||
}
|
||||
if (hasWindowFocus()) onWindowFocusChanged(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDetachedFromWindow() {
|
||||
clearTextEntry();
|
||||
super.onDetachedFromWindow();
|
||||
ViewParent parent = getParent();
|
||||
if (parent instanceof ViewGroup) {
|
||||
ViewGroup p = (ViewGroup) parent;
|
||||
p.setOnHierarchyChangeListener(null);
|
||||
}
|
||||
|
||||
// Clean up the zoom controller
|
||||
mZoomButtonsController.setVisible(false);
|
||||
}
|
||||
|
||||
// Implementation for OnHierarchyChangeListener
|
||||
/**
|
||||
* @deprecated WebView no longer needs to implement
|
||||
* ViewGroup.OnHierarchyChangeListener. This method does nothing now.
|
||||
*/
|
||||
@Deprecated
|
||||
public void onChildViewAdded(View parent, View child) {}
|
||||
|
||||
public void onChildViewRemoved(View p, View child) {
|
||||
if (child == this) {
|
||||
clearTextEntry();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @deprecated WebView no longer needs to implement
|
||||
* ViewGroup.OnHierarchyChangeListener. This method does nothing now.
|
||||
*/
|
||||
@Deprecated
|
||||
public void onChildViewRemoved(View p, View child) {}
|
||||
|
||||
/**
|
||||
* @deprecated WebView should not have implemented
|
||||
|
||||
Reference in New Issue
Block a user