// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "flutter/runtime/skia_concurrent_executor.h"

#include "flutter/fml/trace_event.h"

namespace flutter {

SkiaConcurrentExecutor::SkiaConcurrentExecutor(OnWorkCallback on_work)
    : on_work_(on_work) {}

SkiaConcurrentExecutor::~SkiaConcurrentExecutor() = default;

void SkiaConcurrentExecutor::add(fml::closure work) {
  if (!work) {
    return;
  }
  on_work_([work]() {
    TRACE_EVENT0("flutter", "SkiaExecutor");
    work();
  });
}

}  // namespace flutter