Index: extensions/browser/guest_view/web_view/web_view_guest.cc |
diff --git a/extensions/browser/guest_view/web_view/web_view_guest.cc b/extensions/browser/guest_view/web_view/web_view_guest.cc |
index 0b64df4f7f82f8ec691a1ef313f5563b8bb76046..eb1bd4eddcc31c93cd784335ea52ee3c75f69002 100644 |
--- a/extensions/browser/guest_view/web_view/web_view_guest.cc |
+++ b/extensions/browser/guest_view/web_view/web_view_guest.cc |
@@ -516,7 +516,7 @@ void WebViewGuest::CreateNewGuestWebViewWindow( |
embedder_web_contents(), |
create_params, |
base::Bind(&WebViewGuest::NewGuestWebViewCallback, |
- base::Unretained(this), |
+ weak_ptr_factory_.GetWeakPtr(), |
params)); |
} |
@@ -663,7 +663,8 @@ WebViewGuest::WebViewGuest(content::BrowserContext* browser_context, |
find_helper_(this), |
is_overriding_user_agent_(false), |
guest_opaque_(true), |
- javascript_dialog_helper_(this) { |
+ javascript_dialog_helper_(this), |
+ weak_ptr_factory_(this) { |
web_view_guest_delegate_.reset( |
ExtensionsAPIClient::Get()->CreateWebViewGuestDelegate(this)); |
} |
@@ -1179,7 +1180,7 @@ void WebViewGuest::RequestNewWindowPermission( |
RequestPermission(WEB_VIEW_PERMISSION_TYPE_NEW_WINDOW, |
request_info, |
base::Bind(&WebViewGuest::OnWebViewNewWindowResponse, |
- base::Unretained(this), |
+ weak_ptr_factory_.GetWeakPtr(), |
guest->guest_instance_id()), |
false /* allowed_by_default */); |
} |