]> git.sesse.net Git - casparcg/blobdiff - dependencies64/cef/windows/libcef_dll/wrapper/cef_closure_task.cc
Upgrade CEF to 3.3029.1611.g44e39a8 / Chromium 58.0.3029.81.
[casparcg] / dependencies64 / cef / windows / libcef_dll / wrapper / cef_closure_task.cc
diff --git a/dependencies64/cef/windows/libcef_dll/wrapper/cef_closure_task.cc b/dependencies64/cef/windows/libcef_dll/wrapper/cef_closure_task.cc
new file mode 100644 (file)
index 0000000..0b49390
--- /dev/null
@@ -0,0 +1,42 @@
+// Copyright (c) 2014 The Chromium Embedded Framework 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 "include/wrapper/cef_closure_task.h"
+#include "include/base/cef_callback.h"
+
+namespace {
+
+class CefClosureTask : public CefTask {
+ public:
+  explicit CefClosureTask(const base::Closure& closure)
+      : closure_(closure) {
+  }
+
+  // CefTask method
+  virtual void Execute() OVERRIDE {
+    closure_.Run();
+    closure_.Reset();
+  }
+
+ private:
+  base::Closure closure_;
+
+  IMPLEMENT_REFCOUNTING(CefClosureTask);
+  DISALLOW_COPY_AND_ASSIGN(CefClosureTask);
+};
+
+}  // namespace
+
+CefRefPtr<CefTask> CefCreateClosureTask(const base::Closure& closure) {
+  return new CefClosureTask(closure);
+}
+
+bool CefPostTask(CefThreadId threadId, const base::Closure& closure) {
+  return CefPostTask(threadId, new CefClosureTask(closure));
+}
+
+bool CefPostDelayedTask(CefThreadId threadId, const base::Closure& closure,
+                        int64 delay_ms) {
+  return CefPostDelayedTask(threadId, new CefClosureTask(closure), delay_ms);
+}