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

Unified Diff: chrome/browser/extensions/api/log_private/log_private_api_chromeos.cc

Issue 2320703002: Remove calls to IsRunningSequenceOnCurrentThread() from log_private_api_chromeos.cc (Closed)
Patch Set: Created 4 years, 3 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/log_private/log_private_api_chromeos.cc
diff --git a/chrome/browser/extensions/api/log_private/log_private_api_chromeos.cc b/chrome/browser/extensions/api/log_private/log_private_api_chromeos.cc
index b767c1bad7aec6c704fac84b57389f30112cef21..6e7363c7f0f2d770b6f12d76fe8be1447a3d73f6 100644
--- a/chrome/browser/extensions/api/log_private/log_private_api_chromeos.cc
+++ b/chrome/browser/extensions/api/log_private/log_private_api_chromeos.cc
@@ -61,11 +61,16 @@ scoped_refptr<base::SequencedTaskRunner> GetSequencedTaskRunner() {
base::SequencedWorkerPool::BLOCK_SHUTDOWN);
}
+#if DCHECK_IS_ON()
+base::LazyInstance<base::SequenceChecker>::Leaky
+ g_file_resource_sequence_checker = LAZY_INSTANCE_INITIALIZER;
+#endif
+
// Checks if we are running on sequenced task runner thread.
-bool IsRunningOnSequenceThread() {
- base::SequencedWorkerPool* pool = content::BrowserThread::GetBlockingPool();
- return pool->IsRunningSequenceOnCurrentThread(
- pool->GetNamedSequenceToken(FileResource::kSequenceToken));
+void AssertCurrentlyOnFileResourceSequence() {
+#if DCHECK_IS_ON()
+ DCHECK(g_file_resource_sequence_checker.Get().CalledOnValidSequence());
+#endif
}
std::unique_ptr<LogParser> CreateLogParser(const std::string& log_type) {
@@ -114,7 +119,7 @@ void CleanUpLeftoverLogs(bool is_primary_profile,
LOG(WARNING) << "Deleting " << app_logs_dir.value();
LOG(WARNING) << "Deleting " << logs_dumps.value();
- DCHECK(IsRunningOnSequenceThread());
+ AssertCurrentlyOnFileResourceSequence();
base::DeleteFile(logs_dumps, true);
// App-specific logs are stored in /home/chronos/user/log/apps directory that
@@ -193,17 +198,16 @@ void LogPrivateAPI::StopAllWatches(const std::string& extension_id,
void LogPrivateAPI::RegisterTempFile(const std::string& owner_extension_id,
const base::FilePath& file_path) {
- if (!IsRunningOnSequenceThread()) {
- GetSequencedTaskRunner()->PostTask(
- FROM_HERE,
- base::Bind(&LogPrivateAPI::RegisterTempFile,
- base::Unretained(this),
- owner_extension_id,
- file_path));
- return;
- }
-
- log_file_resources_.Add(new FileResource(owner_extension_id, file_path));
+ GetSequencedTaskRunner()->PostTask(
+ FROM_HERE, base::Bind(
+ [](decltype(&log_file_resources_) log_file_resources,
+ const std::string& owner_extension_id,
+ const base::FilePath& file_path) {
+ log_file_resources->Add(
+ new FileResource(owner_extension_id, file_path));
+ },
+ base::Unretained(&log_file_resources_), owner_extension_id,
+ file_path));
}
static base::LazyInstance<BrowserContextKeyedAPIFactory<LogPrivateAPI> >
@@ -259,7 +263,7 @@ void LogPrivateAPI::AddEntriesOnUI(std::unique_ptr<base::ListValue> value) {
void LogPrivateAPI::CreateTempNetLogFile(const std::string& owner_extension_id,
base::ScopedFILE* file) {
- DCHECK(IsRunningOnSequenceThread());
+ AssertCurrentlyOnFileResourceSequence();
// Create app-specific subdirectory in session logs folder.
base::FilePath app_log_dir = GetAppLogDirectory().Append(owner_extension_id);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698