perf: avoid redundant map lookup in WebContents::DevToolsIndexPath() (#46254)

perf: avoid double map lookup in WebContents::DevToolsIndexPath()
This commit is contained in:
Charles Kerr 2025-03-26 10:30:02 -05:00 committed by GitHub
parent d2c2261c58
commit a5076a663b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -4139,8 +4139,11 @@ void WebContents::DevToolsIndexPath(
OnDevToolsIndexingDone(request_id, file_system_path);
return;
}
if (devtools_indexing_jobs_.contains(request_id))
auto& indexing_job = devtools_indexing_jobs_[request_id];
if (indexing_job)
return;
std::vector<std::string> excluded_folders;
std::optional<base::Value> parsed_excluded_folders =
base::JSONReader::Read(excluded_folders_message);
@ -4150,19 +4153,18 @@ void WebContents::DevToolsIndexPath(
excluded_folders.push_back(folder_path.GetString());
}
}
devtools_indexing_jobs_[request_id] =
scoped_refptr<DevToolsFileSystemIndexer::FileSystemIndexingJob>(
devtools_file_system_indexer_->IndexPath(
file_system_path, excluded_folders,
base::BindRepeating(
&WebContents::OnDevToolsIndexingWorkCalculated,
weak_factory_.GetWeakPtr(), request_id, file_system_path),
base::BindRepeating(&WebContents::OnDevToolsIndexingWorked,
weak_factory_.GetWeakPtr(), request_id,
file_system_path),
base::BindRepeating(&WebContents::OnDevToolsIndexingDone,
weak_factory_.GetWeakPtr(), request_id,
file_system_path)));
indexing_job = devtools_file_system_indexer_->IndexPath(
file_system_path, excluded_folders,
base::BindRepeating(&WebContents::OnDevToolsIndexingWorkCalculated,
weak_factory_.GetWeakPtr(), request_id,
file_system_path),
base::BindRepeating(&WebContents::OnDevToolsIndexingWorked,
weak_factory_.GetWeakPtr(), request_id,
file_system_path),
base::BindRepeating(&WebContents::OnDevToolsIndexingDone,
weak_factory_.GetWeakPtr(), request_id,
file_system_path));
}
void WebContents::DevToolsStopIndexing(int request_id) {