Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1691)

Unified Diff: chrome/browser/ui/webui/set_as_default_browser_ui.cc

Issue 1657933003: Fixes the interactive default browser UX for policy setting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix merge issue Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/set_as_default_browser_ui.cc
diff --git a/chrome/browser/ui/webui/set_as_default_browser_ui.cc b/chrome/browser/ui/webui/set_as_default_browser_ui.cc
index 55fed3bbfc7b0fdde766b7281e554ca23884a91f..1757e77d61539d732c40cfab53e8f2fc5f80286c 100644
--- a/chrome/browser/ui/webui/set_as_default_browser_ui.cc
+++ b/chrome/browser/ui/webui/set_as_default_browser_ui.cc
@@ -109,7 +109,6 @@ class SetAsDefaultBrowserHandler
void SetDefaultWebClientUIState(
shell_integration::DefaultWebClientUIState state) override;
void OnSetAsDefaultConcluded(bool close_chrome) override;
- bool IsInteractiveSetDefaultPermitted() override;
private:
// Handler for the 'Next' (or 'make Chrome the Metro browser') button.
@@ -118,6 +117,9 @@ class SetAsDefaultBrowserHandler
// Close this web ui.
void ConcludeInteraction(MakeChromeDefaultResult interaction_result);
+ // 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.
scoped_refptr<shell_integration::DefaultBrowserWorker>
default_browser_worker_;
bool set_default_returned_;
@@ -129,8 +131,9 @@ class SetAsDefaultBrowserHandler
SetAsDefaultBrowserHandler::SetAsDefaultBrowserHandler(
const base::WeakPtr<ResponseDelegate>& response_delegate)
- : default_browser_worker_(
- new shell_integration::DefaultBrowserWorker(this)),
+ : default_browser_worker_(new shell_integration::DefaultBrowserWorker(
+ this,
+ /*delete_observer=*/false)),
set_default_returned_(false),
set_default_result_(false),
response_delegate_(response_delegate) {}
@@ -171,10 +174,6 @@ void SetAsDefaultBrowserHandler::OnSetAsDefaultConcluded(bool call_result) {
set_default_result_ = call_result;
}
-bool SetAsDefaultBrowserHandler::IsInteractiveSetDefaultPermitted() {
- return true;
-}
-
void SetAsDefaultBrowserHandler::HandleLaunchSetDefaultBrowserFlow(
const base::ListValue* args) {
set_default_returned_ = false;

Powered by Google App Engine
This is Rietveld 408576698