Implement support for Chrome task origin tracing. #3.6/4

This CL migrates the task queue paced sender unit test
to the new TaskQueueBase interface.

Bug: chromium:1416199
Change-Id: Id0568bb9a08bf43b92e33fdf45fe75a57e5a7a27
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/295722
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39436}
This commit is contained in:
Markus Handell 2023-03-01 12:42:02 +01:00 committed by WebRTC LUCI CQ
parent d2ee133c59
commit c0f8813870

View File

@ -119,19 +119,23 @@ class TaskQueueWithFakePrecisionFactory : public TaskQueueFactory {
// TaskQueueDeleter.
delete this;
}
void PostTask(absl::AnyInvocable<void() &&> task) override {
void PostTaskImpl(absl::AnyInvocable<void() &&> task,
const PostTaskTraits& /*traits*/,
const Location& /*location*/) override {
task_queue_->PostTask(WrapTask(std::move(task)));
}
void PostDelayedTask(absl::AnyInvocable<void() &&> task,
TimeDelta delay) override {
++parent_factory_->delayed_low_precision_count_;
task_queue_->PostDelayedTask(WrapTask(std::move(task)), delay);
}
void PostDelayedHighPrecisionTask(absl::AnyInvocable<void() &&> task,
TimeDelta delay) override {
++parent_factory_->delayed_high_precision_count_;
task_queue_->PostDelayedHighPrecisionTask(WrapTask(std::move(task)),
delay);
void PostDelayedTaskImpl(absl::AnyInvocable<void() &&> task,
TimeDelta delay,
const PostDelayedTaskTraits& traits,
const Location& location) override {
if (traits.high_precision) {
++parent_factory_->delayed_high_precision_count_;
task_queue_->PostDelayedHighPrecisionTask(WrapTask(std::move(task)),
delay);
} else {
++parent_factory_->delayed_low_precision_count_;
task_queue_->PostDelayedTask(WrapTask(std::move(task)), delay);
}
}
private: