| Index: android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| index d24cb7cbeccd81287981368ba41df25e6c645c9f..9060c091319daeb93e497aee886b4e3450569c6e 100644
|
| --- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| +++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| @@ -278,6 +278,10 @@ public class AwContents implements SmartClipProvider,
|
| // through the resourcethrottle. This is only used for popup windows.
|
| private boolean mDeferredShouldOverrideUrlLoadingIsPendingForPopup;
|
|
|
| + // This is a workaround for some qualcomm devices discarding buffer on
|
| + // Activity restore.
|
| + private boolean mInvalidateRootViewOnNextDraw;
|
| +
|
| // The framework may temporarily detach our container view, for example during layout if
|
| // we are a child of a ListView. This may cause many toggles of View focus, which we suppress
|
| // when in this state.
|
| @@ -2213,6 +2217,8 @@ public class AwContents implements SmartClipProvider,
|
| }
|
|
|
| private void setWindowVisibilityInternal(boolean visible) {
|
| + mInvalidateRootViewOnNextDraw |= Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP
|
| + && visible && !mIsWindowVisible;
|
| mIsWindowVisible = visible;
|
| if (!isDestroyed()) nativeSetWindowVisibility(mNativeAwContents, mIsWindowVisible);
|
| }
|
| @@ -2732,6 +2738,11 @@ public class AwContents implements SmartClipProvider,
|
| mScrollOffsetManager.computeMaximumVerticalScrollOffset())) {
|
| postInvalidateOnAnimation();
|
| }
|
| +
|
| + if (mInvalidateRootViewOnNextDraw) {
|
| + mContainerView.getRootView().invalidate();
|
| + mInvalidateRootViewOnNextDraw = false;
|
| + }
|
| }
|
|
|
| @Override
|
|
|