Index: chrome/browser/ui/startup/default_browser_prompt.cc |
diff --git a/chrome/browser/ui/startup/default_browser_prompt.cc b/chrome/browser/ui/startup/default_browser_prompt.cc |
index 2357af05a81693ea97858daf71362a4562b7128f..74896fc8cf5912b5d7db7286b614f89b9789fde7 100644 |
--- a/chrome/browser/ui/startup/default_browser_prompt.cc |
+++ b/chrome/browser/ui/startup/default_browser_prompt.cc |
@@ -177,7 +177,8 @@ bool DefaultBrowserInfoBarDelegate::Accept() { |
InfoBarUserInteraction::START_SET_AS_DEFAULT, |
NUM_INFO_BAR_USER_INTERACTION_TYPES); |
scoped_refptr<ShellIntegration::DefaultBrowserWorker>( |
- new ShellIntegration::DefaultBrowserWorker(nullptr)) |
+ new ShellIntegration::DefaultBrowserWorker(nullptr, |
+ /*delete_observer=*/false)) |
->StartSetAsDefault(); |
return true; |
} |
@@ -209,7 +210,6 @@ class CheckDefaultBrowserObserver |
private: |
void SetDefaultWebClientUIState( |
ShellIntegration::DefaultWebClientUIState state) override; |
- bool IsOwnedByWorker() override; |
void ResetCheckDefaultBrowserPref(); |
void ShowPrompt(); |
@@ -247,11 +247,6 @@ void CheckDefaultBrowserObserver::SetDefaultWebClientUIState( |
} |
} |
-bool CheckDefaultBrowserObserver::IsOwnedByWorker() { |
- // Instruct the DefaultBrowserWorker to delete this instance when it is done. |
- return true; |
-} |
- |
void CheckDefaultBrowserObserver::ResetCheckDefaultBrowserPref() { |
Profile* profile = |
g_browser_process->profile_manager()->GetProfileByPath(profile_path_); |
@@ -323,7 +318,8 @@ void ShowDefaultBrowserPrompt(Profile* profile, HostDesktopType desktop_type) { |
scoped_refptr<ShellIntegration::DefaultBrowserWorker>( |
new ShellIntegration::DefaultBrowserWorker( |
new CheckDefaultBrowserObserver(profile->GetPath(), show_prompt, |
- desktop_type))) |
+ desktop_type), |
+ /*delete_observer=*/true)) |
->StartCheckIsDefault(); |
} |