Reland "Add base::TimeDelta::Max()"
[chromium-blink-merge.git] / cc / resources / single_release_callback.h
blob6f64df629e73bee3758e0e00a281ffbca3a1b641
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CC_RESOURCES_SINGLE_RELEASE_CALLBACK_H_
6 #define CC_RESOURCES_SINGLE_RELEASE_CALLBACK_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "cc/base/cc_export.h"
10 #include "cc/resources/release_callback.h"
12 namespace cc {
14 class CC_EXPORT SingleReleaseCallback {
15 public:
16 static scoped_ptr<SingleReleaseCallback> Create(const ReleaseCallback& cb) {
17 return make_scoped_ptr(new SingleReleaseCallback(cb));
20 ~SingleReleaseCallback();
22 void Run(uint32 sync_point, bool is_lost);
24 private:
25 explicit SingleReleaseCallback(const ReleaseCallback& callback);
27 bool has_been_run_;
28 ReleaseCallback callback_;
31 } // namespace cc
33 #endif // CC_RESOURCES_SINGLE_RELEASE_CALLBACK_H_