Index: chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionDialogDelegate.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionDialogDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionDialogDelegate.java |
index 3397d3f3e8ec7f691bb4709c76fccfffcd42516a..79b08a5fe57baf1ff288e0828d755ba96e93ef72 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionDialogDelegate.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/permissions/PermissionDialogDelegate.java |
@@ -21,6 +21,9 @@ public class PermissionDialogDelegate { |
/** The native-side counterpart of this class */ |
private long mNativeDelegatePtr; |
+ /** The controller for this class */ |
+ private PermissionDialogController mDialogController; |
+ |
/** The tab for which to create the dialog. */ |
private Tab mTab; |
@@ -103,6 +106,21 @@ public class PermissionDialogDelegate { |
nativeLinkClicked(mNativeDelegatePtr); |
} |
+ public void setDialogController(PermissionDialogController controller) { |
+ assert mDialogController == null; |
dominickn
2017/05/24 03:33:38
I don't think this assert is needed.
Timothy Loh
2017/05/24 04:59:33
OK, removed
|
+ mDialogController = controller; |
+ } |
+ |
+ /** |
+ * Called from C++ by |nativeDelegatePtr| to destroy the dialog. |
+ */ |
+ @CalledByNative |
+ private void destroyFromNative() { |
dominickn
2017/05/24 03:33:38
dismissFromNative
Timothy Loh
2017/05/24 04:59:33
Done.
|
+ assert mNativeDelegatePtr != 0; |
+ mNativeDelegatePtr = 0; |
+ mDialogController.destroyFromNative(this); |
+ } |
+ |
/** |
* Called from C++ by |nativeDelegatePtr| to instantiate this class. |
* |