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

Unified Diff: chrome/browser/importer/importer_list.cc

Issue 2961713002: [Cleanup] Migrate ImporterList to use the TaskScheduler API. (Closed)
Patch Set: Created 3 years, 6 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
« no previous file with comments | « chrome/browser/importer/importer_list.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/importer/importer_list.cc
diff --git a/chrome/browser/importer/importer_list.cc b/chrome/browser/importer/importer_list.cc
index 6ebebccaee0e9b5f05d54ee5452a74739faf9a08..266350f0263664260ce390a97148cbca7481839a 100644
--- a/chrome/browser/importer/importer_list.cc
+++ b/chrome/browser/importer/importer_list.cc
@@ -7,13 +7,15 @@
#include <stdint.h>
#include "base/bind.h"
+#include "base/task_scheduler/post_task.h"
+#include "base/task_scheduler/task_traits.h"
+#include "base/threading/thread_restrictions.h"
#include "build/build_config.h"
#include "chrome/browser/shell_integration.h"
#include "chrome/common/importer/firefox_importer_utils.h"
#include "chrome/common/importer/importer_bridge.h"
#include "chrome/common/importer/importer_data_types.h"
#include "chrome/grit/generated_resources.h"
-#include "content/public/browser/browser_thread.h"
#include "ui/base/l10n/l10n_util.h"
#if defined(OS_MACOSX)
@@ -27,13 +29,12 @@
#include "chrome/common/importer/edge_importer_utils_win.h"
#endif
-using content::BrowserThread;
-
namespace {
#if defined(OS_WIN)
void DetectIEProfiles(std::vector<importer::SourceProfile>* profiles) {
- DCHECK_CURRENTLY_ON(BrowserThread::FILE);
+ base::ThreadRestrictions::AssertIOAllowed();
+
// IE always exists and doesn't have multiple profiles.
importer::SourceProfile ie;
ie.importer_name = l10n_util::GetStringUTF16(IDS_IMPORT_FROM_IE);
@@ -65,7 +66,8 @@ void DetectBuiltinWindowsProfiles(
#if defined(OS_MACOSX)
void DetectSafariProfiles(std::vector<importer::SourceProfile>* profiles) {
- DCHECK_CURRENTLY_ON(BrowserThread::FILE);
+ base::ThreadRestrictions::AssertIOAllowed();
+
uint16_t items = importer::NONE;
if (!SafariImporterCanImport(base::mac::GetUserLibraryPath(), &items))
return;
@@ -83,7 +85,8 @@ void DetectSafariProfiles(std::vector<importer::SourceProfile>* profiles) {
// details).
void DetectFirefoxProfiles(const std::string locale,
std::vector<importer::SourceProfile>* profiles) {
- DCHECK_CURRENTLY_ON(BrowserThread::FILE);
+ base::ThreadRestrictions::AssertIOAllowed();
+
base::FilePath profile_path = GetFirefoxProfilePath();
if (profile_path.empty())
return;
@@ -124,7 +127,7 @@ void DetectFirefoxProfiles(const std::string locale,
std::vector<importer::SourceProfile> DetectSourceProfilesWorker(
const std::string& locale,
bool include_interactive_profiles) {
- DCHECK_CURRENTLY_ON(BrowserThread::FILE);
+ base::ThreadRestrictions::AssertIOAllowed();
std::vector<importer::SourceProfile> profiles;
@@ -165,27 +168,25 @@ std::vector<importer::SourceProfile> DetectSourceProfilesWorker(
ImporterList::ImporterList()
: weak_ptr_factory_(this) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
}
ImporterList::~ImporterList() {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
}
void ImporterList::DetectSourceProfiles(
const std::string& locale,
bool include_interactive_profiles,
const base::Closure& profiles_loaded_callback) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- BrowserThread::PostTaskAndReplyWithResult(
- BrowserThread::FILE,
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ base::PostTaskWithTraitsAndReplyWithResult(
FROM_HERE,
- base::Bind(&DetectSourceProfilesWorker,
- locale,
+ {base::MayBlock(), base::TaskPriority::USER_VISIBLE,
+ base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN},
+ base::Bind(&DetectSourceProfilesWorker, locale,
include_interactive_profiles),
base::Bind(&ImporterList::SourceProfilesLoaded,
- weak_ptr_factory_.GetWeakPtr(),
- profiles_loaded_callback));
+ weak_ptr_factory_.GetWeakPtr(), profiles_loaded_callback));
}
const importer::SourceProfile& ImporterList::GetSourceProfileAt(
@@ -197,7 +198,7 @@ const importer::SourceProfile& ImporterList::GetSourceProfileAt(
void ImporterList::SourceProfilesLoaded(
const base::Closure& profiles_loaded_callback,
const std::vector<importer::SourceProfile>& profiles) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
source_profiles_.assign(profiles.begin(), profiles.end());
profiles_loaded_callback.Run();
« no previous file with comments | « chrome/browser/importer/importer_list.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698