| Index: content/public/android/java/src/org/chromium/content/browser/androidoverlay/DialogOverlayImpl.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/androidoverlay/DialogOverlayImpl.java b/content/public/android/java/src/org/chromium/content/browser/androidoverlay/DialogOverlayImpl.java
|
| index 52d90d2fbc8d8e92921123ca4cba2b57f6771731..2163346f4982384c6306acdc0311a97a1532dc83 100644
|
| --- a/content/public/android/java/src/org/chromium/content/browser/androidoverlay/DialogOverlayImpl.java
|
| +++ b/content/public/android/java/src/org/chromium/content/browser/androidoverlay/DialogOverlayImpl.java
|
| @@ -42,6 +42,9 @@ public class DialogOverlayImpl implements AndroidOverlay, DialogOverlayCore.Host
|
| // If nonzero, then we have registered a surface with this ID.
|
| private int mSurfaceId;
|
|
|
| + // Has close() been run yet?
|
| + private boolean mClosed;
|
| +
|
| /**
|
| * @param client Mojo client interface.
|
| * @param config initial overlay configuration.
|
| @@ -81,6 +84,10 @@ public class DialogOverlayImpl implements AndroidOverlay, DialogOverlayCore.Host
|
| public void close() {
|
| ThreadUtils.assertOnUiThread();
|
|
|
| + if (mClosed) return;
|
| +
|
| + mClosed = true;
|
| +
|
| // TODO(liberato): verify that this actually works, else add an explicit shutdown and hope
|
| // that the client calls it.
|
|
|
|
|