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}
This commit is contained in:
Markus Handell 2023-03-01 14:00:12 +01:00 committed by WebRTC LUCI CQ
parent 18c869bc36
commit 2fa39bdfc9

View File

@ -90,16 +90,22 @@ class RTC_LOCKABLE RTC_EXPORT TaskQueue {
// 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: