// Copyright 2016 The Chromium 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 "pdf/timer.h" #include "ppapi/cpp/core.h" #include "ppapi/cpp/module.h" namespace chrome_pdf { Timer::Timer(base::TimeDelta delay) : delay_(delay), callback_factory_(this) { PostCallback(); } Timer::~Timer() = default; void Timer::PostCallback() { pp::CompletionCallback callback = callback_factory_.NewCallback(&Timer::TimerProc); pp::Module::Get()->core()->CallOnMainThread(delay_.InMilliseconds(), callback, 0); } void Timer::TimerProc(int32_t /*result*/) { PostCallback(); OnTimer(); } } // namespace chrome_pdf