| 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 849748947ff8d4483adc2a52e7e68b20061a551f..14fc683ce2a3b04029329860664ce9e8a6287645 100644
|
| --- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| +++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| @@ -23,6 +23,7 @@ import android.os.Bundle;
|
| import android.os.Message;
|
| import android.text.TextUtils;
|
| import android.util.Log;
|
| +import android.util.Pair;
|
| import android.view.KeyEvent;
|
| import android.view.MotionEvent;
|
| import android.view.View;
|
| @@ -804,6 +805,13 @@ public class AwContents {
|
| if (wasAttached) onDetachedFromWindow();
|
| if (!wasPaused) onPause();
|
|
|
| + // Save injected JavaScript interfaces.
|
| + Map<String, Pair<Object, Class>> javascriptInterfaces =
|
| + new HashMap<String, Pair<Object, Class>>();
|
| + if (mContentViewCore != null) {
|
| + javascriptInterfaces.putAll(mContentViewCore.getJavascriptInterfaces());
|
| + }
|
| +
|
| setNewAwContents(popupNativeAwContents);
|
|
|
| // Finally refresh all view state for mContentViewCore and mNativeAwContents.
|
| @@ -817,6 +825,14 @@ public class AwContents {
|
| if (wasViewVisible) setViewVisibilityInternal(true);
|
| if (wasWindowFocused) onWindowFocusChanged(wasWindowFocused);
|
| if (wasFocused) onFocusChanged(true, 0, null);
|
| +
|
| + // Restore injected JavaScript interfaces.
|
| + for (Map.Entry<String, Pair<Object, Class>> entry : javascriptInterfaces.entrySet()) {
|
| + mContentViewCore.addPossiblyUnsafeJavascriptInterface(
|
| + entry.getValue().first,
|
| + entry.getKey(),
|
| + entry.getValue().second);
|
| + }
|
| }
|
|
|
| /**
|
|
|