summaryrefslogtreecommitdiff
path: root/chromium
diff options
context:
space:
mode:
Diffstat (limited to 'chromium')
-rw-r--r--chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.cc2
-rw-r--r--chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.cc b/chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.cc
index 2e9c330e678..12f7b4b4406 100644
--- a/chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.cc
+++ b/chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.cc
@@ -66,7 +66,7 @@ void JavaScriptDialogHelper::RunJavaScriptDialog(
web_view_permission_helper->RequestPermission(
WEB_VIEW_PERMISSION_TYPE_JAVASCRIPT_DIALOG, request_info,
base::BindOnce(&JavaScriptDialogHelper::OnPermissionResponse,
- base::Unretained(this), std::move(callback)),
+ weak_factory_.GetWeakPtr(), std::move(callback)),
false /* allowed_by_default */);
}
diff --git a/chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.h b/chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.h
index ae759a14c18..125977727f4 100644
--- a/chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.h
+++ b/chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.h
@@ -6,6 +6,7 @@
#define EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_JAVASCRIPT_DIALOG_HELPER_H_
#include "base/macros.h"
+#include "base/memory/weak_ptr.h"
#include "content/public/browser/javascript_dialog_manager.h"
namespace extensions {
@@ -43,6 +44,8 @@ class JavaScriptDialogHelper : public content::JavaScriptDialogManager {
// Pointer to the webview that is being helped.
WebViewGuest* const web_view_guest_;
+ base::WeakPtrFactory<JavaScriptDialogHelper> weak_factory_{this};
+
DISALLOW_COPY_AND_ASSIGN(JavaScriptDialogHelper);
};