diff options
Diffstat (limited to 'chromium')
-rw-r--r-- | chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.cc | 2 | ||||
-rw-r--r-- | chromium/extensions/browser/guest_view/web_view/javascript_dialog_helper.h | 3 |
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); }; |