Implement support for Chrome task origin tracing. #3.8/4
This CL forwards TaskQueue locations to the contained
task queue.
Bug: chromium:1416199
Change-Id: I989ae445a67991bf5a857407135dbe8bacbd3c55
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295622
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39446}
diff --git a/rtc_base/task_queue.h b/rtc_base/task_queue.h
index cae9534..e52c49c 100644
--- a/rtc_base/task_queue.h
+++ b/rtc_base/task_queue.h
@@ -90,16 +90,22 @@
// Returns non-owning pointer to the task queue implementation.
webrtc::TaskQueueBase* Get() { return impl_; }
- void PostTask(absl::AnyInvocable<void() &&> task) {
- impl_->PostTask(std::move(task));
+ void PostTask(
+ absl::AnyInvocable<void() &&> task,
+ const webrtc::Location& location = webrtc::Location::Current()) {
+ impl_->PostTask(std::move(task), location);
}
- void PostDelayedTask(absl::AnyInvocable<void() &&> task,
- webrtc::TimeDelta delay) {
- impl_->PostDelayedTask(std::move(task), delay);
+ void PostDelayedTask(
+ absl::AnyInvocable<void() &&> task,
+ webrtc::TimeDelta delay,
+ const webrtc::Location& location = webrtc::Location::Current()) {
+ impl_->PostDelayedTask(std::move(task), delay, location);
}
- void PostDelayedHighPrecisionTask(absl::AnyInvocable<void() &&> task,
- webrtc::TimeDelta delay) {
- impl_->PostDelayedHighPrecisionTask(std::move(task), delay);
+ void PostDelayedHighPrecisionTask(
+ absl::AnyInvocable<void() &&> task,
+ webrtc::TimeDelta delay,
+ const webrtc::Location& location = webrtc::Location::Current()) {
+ impl_->PostDelayedHighPrecisionTask(std::move(task), delay, location);
}
private: