| Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
 | 
| diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
 | 
| index 89414b4ab13612e3db29577d84c7e4f425d16c15..fd55e5cae1156e7c73515bb0bb51cc2c634ce35f 100644
 | 
| --- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
 | 
| +++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
 | 
| @@ -334,6 +334,7 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
 | 
|              contentViewCore.mIsMobileOptimizedHint = false;
 | 
|              contentViewCore.hidePopupsAndClearSelection();
 | 
|              contentViewCore.resetScrollInProgress();
 | 
| +            contentViewCore.resetImeAdapter();
 | 
|          }
 | 
|  
 | 
|          private void determinedProcessVisibility() {
 | 
| @@ -934,6 +935,7 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
 | 
|          mWebContentsObserver = null;
 | 
|          setSmartClipDataListener(null);
 | 
|          setZoomControlsDelegate(null);
 | 
| +        mImeAdapter.reset();
 | 
|          // TODO(igsolla): address TODO in ContentViewClient because ContentViewClient is not
 | 
|          // currently a real Null Object.
 | 
|          //
 | 
| @@ -3109,6 +3111,11 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
 | 
|          }
 | 
|      }
 | 
|  
 | 
| +    @VisibleForTesting
 | 
| +    public WebContentsObserver getWebContentsObserverForTest() {
 | 
| +        return mWebContentsObserver;
 | 
| +    }
 | 
| +
 | 
|      /**
 | 
|       * Offer a long press gesture to the embedding View, primarily for WebView compatibility.
 | 
|       *
 | 
| @@ -3134,6 +3141,10 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
 | 
|          if (potentiallyActiveFlingCount > 0) updateGestureStateListener(GestureEventType.FLING_END);
 | 
|      }
 | 
|  
 | 
| +    private void resetImeAdapter() {
 | 
| +        mImeAdapter.reset();
 | 
| +    }
 | 
| +
 | 
|      private float getWheelScrollFactorInPixels() {
 | 
|          if (mWheelScrollFactorInPixels == 0) {
 | 
|              TypedValue outValue = new TypedValue();
 | 
| 
 |