| Index: chrome/browser/ui/webui/options/browser_options_handler.cc
|
| diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc
|
| index ea2eb7612b3f8fbbc3de910fe4e757c7c823c31a..1c4de7ab1dbe37f1017db53573033d65b787303d 100644
|
| --- a/chrome/browser/ui/webui/options/browser_options_handler.cc
|
| +++ b/chrome/browser/ui/webui/options/browser_options_handler.cc
|
| @@ -186,7 +186,11 @@ BrowserOptionsHandler::BrowserOptionsHandler()
|
| #endif // defined(OS_CHROMEOS)
|
| signin_observer_(this),
|
| weak_ptr_factory_(this) {
|
| - default_browser_worker_ = new shell_integration::DefaultBrowserWorker(this);
|
| + // The worker pointer is reference counted. While it is running, the
|
| + // message loops of the FILE and UI thread will hold references to it
|
| + // and it will be automatically freed once all its tasks have finished.
|
| + default_browser_worker_ = new shell_integration::DefaultBrowserWorker(
|
| + this, /*delete_observer=*/false);
|
|
|
| #if defined(ENABLE_SERVICE_DISCOVERY)
|
| cloud_print_mdns_ui_enabled_ = true;
|
| @@ -1144,10 +1148,6 @@ void BrowserOptionsHandler::SetDefaultWebClientUIState(
|
| SetDefaultBrowserUIString(status_string_id);
|
| }
|
|
|
| -bool BrowserOptionsHandler::IsInteractiveSetDefaultPermitted() {
|
| - return true; // This is UI so we can allow it.
|
| -}
|
| -
|
| void BrowserOptionsHandler::SetDefaultBrowserUIString(int status_string_id) {
|
| base::StringValue status_string(
|
| l10n_util::GetStringFUTF16(status_string_id,
|
|
|