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

Unified Diff: chrome/browser/shell_integration.h

Issue 2888693003: Remove the usage of BrowserThread::FILE in the shell_integration* files (Closed)
Patch Set: Add SequenceChecker and make all calls to SetAsDefault share a sequence Created 3 years, 7 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/shell_integration.h
diff --git a/chrome/browser/shell_integration.h b/chrome/browser/shell_integration.h
index 7730a029341a1784afa657930d611138218a5a36..d38c255c8c68942147748cad34a32b1fde91ef0f 100644
--- a/chrome/browser/shell_integration.h
+++ b/chrome/browser/shell_integration.h
@@ -18,6 +18,7 @@
namespace base {
class CommandLine;
+class SequencedTaskRunner;
}
namespace shell_integration {
@@ -129,9 +130,9 @@ using DefaultWebClientWorkerCallback =
// Helper objects that handle checking if Chrome is the default browser
// or application for a url protocol on Windows and Linux, and also setting
-// it as the default. These operations are performed asynchronously on the
-// file thread since registry access (on Windows) or the preference database
-// (on Linux) are involved and this can be slow.
+// it as the default. These operations are performed asynchronously on a
+// blocking sequence since registry access (on Windows) or the preference
+// database (on Linux) are involved and this can be slow.
// By default, the worker will present the user with an interactive flow if
// required by the platform. This can be suppressed via
// set_interactive_permitted(), in which case an attempt to set Chrome as
@@ -174,12 +175,16 @@ class DefaultWebClientWorker
bool interactive_permitted_ = true;
private:
- // Checks whether Chrome is the default web client. Always called on the
- // FILE thread. When |is_following_set_as_default| is true, The default state
- // will be reported to UMA as the result of the set-as-default operation.
+ scoped_refptr<base::SequencedTaskRunner> GetSetDefaultTaskRunner();
gab 2017/05/26 18:44:06 "GetSet" sounds weird (took me a while to see this
Patrick Monette 2017/05/29 18:54:14 Good suggestion, but I used GetTaskRunner() since
+
+ // Checks whether Chrome is the default web client. Always called on the a
gab 2017/05/26 18:44:06 "the a"
Patrick Monette 2017/05/29 18:54:14 Done.
+ // blocking sequence. When |is_following_set_as_default| is true, The default
+ // state will be reported to UMA as the result of the set-as-default
+ // operation.
void CheckIsDefault(bool is_following_set_as_default);
- // Sets Chrome as the default web client. Always called on the FILE thread.
+ // Sets Chrome as the default web client. Always called on a blocking
+ // sequence.
void SetAsDefault();
// Implementation of CheckIsDefault() and SetAsDefault() for subclasses.

Powered by Google App Engine
This is Rietveld 408576698