14class CancelableFuncTask final :
public CancelableTask {
16 CancelableFuncTask(Isolate* isolate, std::function<
void()> func)
17 : CancelableTask(isolate),
func_(
std::move(func)) {}
18 CancelableFuncTask(CancelableTaskManager* manager, std::function<
void()> func)
19 : CancelableTask(manager),
func_(
std::move(func)) {}
20 void RunInternal() final {
func_(); }
23 const std::function<void()>
func_;
26class CancelableIdleFuncTask final :
public CancelableIdleTask {
28 CancelableIdleFuncTask(Isolate* isolate, std::function<
void(
double)> func)
29 : CancelableIdleTask(isolate),
func_(std::move(func)) {}
30 CancelableIdleFuncTask(CancelableTaskManager* manager,
31 std::function<
void(
double)> func)
32 : CancelableIdleTask(manager),
func_(
std::move(func)) {}
33 void RunInternal(
double deadline_in_seconds)
final {
34 func_(deadline_in_seconds);
38 const std::function<void(
double)>
func_;
44 std::function<
void()> func) {
45 return std::make_unique<CancelableFuncTask>(isolate, std::move(func));
50 return std::make_unique<CancelableFuncTask>(manager, std::move(func));
54 Isolate* isolate, std::function<
void(
double)> func) {
55 return std::make_unique<CancelableIdleFuncTask>(isolate, std::move(func));
60 return std::make_unique<CancelableIdleFuncTask>(manager, std::move(func));
std::unique_ptr< CancelableIdleTask > MakeCancelableIdleTask(Isolate *isolate, std::function< void(double)> func)
std::unique_ptr< CancelableTask > MakeCancelableTask(Isolate *isolate, std::function< void()> func)
const std::function< void()> func_