Index: cc/resources/ui_resource_client.h |
=================================================================== |
--- cc/resources/ui_resource_client.h (revision 0) |
+++ cc/resources/ui_resource_client.h (revision 0) |
@@ -0,0 +1,34 @@ |
+// Copyright 2013 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. |
+ |
+#ifndef CC_RESOURCES_UI_RESOURCE_CLIENT_H_ |
+#define CC_RESOURCES_UI_RESOURCE_CLIENT_H_ |
+ |
+#include "base/basictypes.h" |
+#include "base/callback.h" |
+#include "base/memory/ref_counted.h" |
+#include "cc/base/cc_export.h" |
+ |
+namespace cc { |
+ |
+class UIResourceBitmap; |
+ |
+typedef int UIResourceId; |
+ |
+class CC_EXPORT UIResourceClient { |
+ public: |
+ // GetBitmap() will be called once soon after resource creation and then will |
+ // be called afterwards whenever the GL context is lost, on the same thread |
+ // that LayerTreeHost::CreateUIResource was called on. It is only safe to |
+ // delete a UIResourceClient object after DeleteUIResource has been called for |
+ // all IDs associated with it. A valid bitmap always must be returned but it |
+ // doesn't need to be the same size or format as the original. |
+ virtual scoped_refptr<UIResourceBitmap> GetBitmap(UIResourceId uid, |
+ bool resource_lost) = 0; |
+ virtual ~UIResourceClient() {} |
+}; |
+ |
+} // namespace cc |
+ |
+#endif // CC_RESOURCES_UI_RESOURCE_CLIENT_H_ |