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

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: fix build error 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 | « chrome/browser/extensions/api/log_private/log_private_api.h ('k') | 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..a3ee129773327fc5dded4b90171f348e2f5f8320 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,10 @@ 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(&LogPrivateAPI::RegisterTempFileOnFileResourceSequence,
+ base::Unretained(this), owner_extension_id, file_path));
}
static base::LazyInstance<BrowserContextKeyedAPIFactory<LogPrivateAPI> >
@@ -259,7 +257,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);
@@ -278,7 +276,7 @@ void LogPrivateAPI::CreateTempNetLogFile(const std::string& owner_extension_id,
return;
}
- RegisterTempFile(owner_extension_id, file_path);
+ RegisterTempFileOnFileResourceSequence(owner_extension_id, file_path);
return file->reset(file_ptr);
}
@@ -388,6 +386,13 @@ void LogPrivateAPI::Initialize() {
GetLogDumpDirectory(browser_context_)));
}
+void LogPrivateAPI::RegisterTempFileOnFileResourceSequence(
+ const std::string& owner_extension_id,
+ const base::FilePath& file_path) {
+ AssertCurrentlyOnFileResourceSequence();
+ log_file_resources_.Add(new FileResource(owner_extension_id, file_path));
+}
+
void LogPrivateAPI::OnExtensionUnloaded(
content::BrowserContext* browser_context,
const Extension* extension,
« no previous file with comments | « chrome/browser/extensions/api/log_private/log_private_api.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698