| 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 380cc6e22933564066ca443aafb739ff80ea0bd6..7da2f23abfb896002360ec151483d3ff784fd63f 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;
|
| @@ -645,6 +646,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.
|
| @@ -658,6 +666,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);
|
| + }
|
| }
|
|
|
| /**
|
|
|