Loading core/java/android/webkit/WebView.java +30 −7 Original line number Diff line number Diff line Loading @@ -322,8 +322,19 @@ public class WebView extends AbsoluteLayout } } private class InnerScrollChangedListener implements ViewTreeObserver.OnScrollChangedListener { public void onScrollChanged() { if (isShown()) { setGLRectViewport(); } } } // The listener to capture global layout change event. private InnerGlobalLayoutListener mListener = null; private InnerGlobalLayoutListener mGlobalLayoutListener = null; // The listener to capture scroll event. private InnerScrollChangedListener mScrollChangedListener = null; // if AUTO_REDRAW_HACK is true, then the CALL key will toggle redrawing // the screen all-the-time. Good for profiling our drawing code Loading Loading @@ -4746,9 +4757,15 @@ public class WebView extends AbsoluteLayout super.onAttachedToWindow(); if (hasWindowFocus()) setActive(true); final ViewTreeObserver treeObserver = getViewTreeObserver(); if (treeObserver != null && mListener == null) { mListener = new InnerGlobalLayoutListener(); treeObserver.addOnGlobalLayoutListener(mListener); if (treeObserver != null) { if (mGlobalLayoutListener == null) { mGlobalLayoutListener = new InnerGlobalLayoutListener(); treeObserver.addOnGlobalLayoutListener(mGlobalLayoutListener); } if (mScrollChangedListener == null) { mScrollChangedListener = new InnerScrollChangedListener(); treeObserver.addOnScrollChangedListener(mScrollChangedListener); } } } Loading @@ -4759,9 +4776,15 @@ public class WebView extends AbsoluteLayout if (hasWindowFocus()) setActive(false); final ViewTreeObserver treeObserver = getViewTreeObserver(); if (treeObserver != null && mListener != null) { treeObserver.removeGlobalOnLayoutListener(mListener); mListener = null; if (treeObserver != null) { if (mGlobalLayoutListener != null) { treeObserver.removeGlobalOnLayoutListener(mGlobalLayoutListener); mGlobalLayoutListener = null; } if (mScrollChangedListener != null) { treeObserver.removeOnScrollChangedListener(mScrollChangedListener); mScrollChangedListener = null; } } super.onDetachedFromWindow(); Loading Loading
core/java/android/webkit/WebView.java +30 −7 Original line number Diff line number Diff line Loading @@ -322,8 +322,19 @@ public class WebView extends AbsoluteLayout } } private class InnerScrollChangedListener implements ViewTreeObserver.OnScrollChangedListener { public void onScrollChanged() { if (isShown()) { setGLRectViewport(); } } } // The listener to capture global layout change event. private InnerGlobalLayoutListener mListener = null; private InnerGlobalLayoutListener mGlobalLayoutListener = null; // The listener to capture scroll event. private InnerScrollChangedListener mScrollChangedListener = null; // if AUTO_REDRAW_HACK is true, then the CALL key will toggle redrawing // the screen all-the-time. Good for profiling our drawing code Loading Loading @@ -4746,9 +4757,15 @@ public class WebView extends AbsoluteLayout super.onAttachedToWindow(); if (hasWindowFocus()) setActive(true); final ViewTreeObserver treeObserver = getViewTreeObserver(); if (treeObserver != null && mListener == null) { mListener = new InnerGlobalLayoutListener(); treeObserver.addOnGlobalLayoutListener(mListener); if (treeObserver != null) { if (mGlobalLayoutListener == null) { mGlobalLayoutListener = new InnerGlobalLayoutListener(); treeObserver.addOnGlobalLayoutListener(mGlobalLayoutListener); } if (mScrollChangedListener == null) { mScrollChangedListener = new InnerScrollChangedListener(); treeObserver.addOnScrollChangedListener(mScrollChangedListener); } } } Loading @@ -4759,9 +4776,15 @@ public class WebView extends AbsoluteLayout if (hasWindowFocus()) setActive(false); final ViewTreeObserver treeObserver = getViewTreeObserver(); if (treeObserver != null && mListener != null) { treeObserver.removeGlobalOnLayoutListener(mListener); mListener = null; if (treeObserver != null) { if (mGlobalLayoutListener != null) { treeObserver.removeGlobalOnLayoutListener(mGlobalLayoutListener); mGlobalLayoutListener = null; } if (mScrollChangedListener != null) { treeObserver.removeOnScrollChangedListener(mScrollChangedListener); mScrollChangedListener = null; } } super.onDetachedFromWindow(); Loading