0

[Jobs API]: Override UpdatePriority in gin.

UpdatePriority was exposed in v8-platform. This CL
override the method to delegate to base implementation.

Change-Id: I87c30acc7f692d2d9eb9cfb6339a26077cc4c876
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2517701
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#823638}
This commit is contained in:
Etienne Pierre-doray
2020-11-03 18:51:11 +00:00
committed by Commit Bot
parent 3f216d6cd6
commit 1307346b9b

@ -310,6 +310,10 @@ class JobHandleImpl : public v8::JobHandle {
void NotifyConcurrencyIncrease() override {
handle_.NotifyConcurrencyIncrease();
}
bool UpdatePriorityEnabled() const override { return true; }
void UpdatePriority(v8::TaskPriority new_priority) override {
handle_.UpdatePriority(ToBaseTaskPriority(new_priority));
}
void Join() override { handle_.Join(); }
void Cancel() override { handle_.Cancel(); }
void CancelAndDetach() override { handle_.CancelAndDetach(); }
@ -317,6 +321,17 @@ class JobHandleImpl : public v8::JobHandle {
bool IsRunning() override { return !!handle_; }
private:
static base::TaskPriority ToBaseTaskPriority(v8::TaskPriority priority) {
switch (priority) {
case v8::TaskPriority::kBestEffort:
return base::TaskPriority::BEST_EFFORT;
case v8::TaskPriority::kUserVisible:
return base::TaskPriority::USER_VISIBLE;
case v8::TaskPriority::kUserBlocking:
return base::TaskPriority::USER_BLOCKING;
}
}
base::JobHandle handle_;
std::unique_ptr<v8::JobTask> job_task_;
};