Index: cc/resources/resource_provider.h |
diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h |
index 056ce2fc6f60c99b59373e73cefdefa60c0128d3..b54c04109c266ab59c8c61d853aaaf29c7503f82 100644 |
--- a/cc/resources/resource_provider.h |
+++ b/cc/resources/resource_provider.h |
@@ -305,6 +305,22 @@ class CC_EXPORT ResourceProvider { |
DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockSoftware); |
}; |
+ class CC_EXPORT ScopedExportLock { |
+ public: |
+ ScopedExportLock(ResourceProvider* resource_provider, |
+ ResourceProvider::ResourceId resource_id); |
+ virtual ~ScopedExportLock(); |
+ |
+ const gpu::Mailbox& GetMailbox() const; |
+ |
+ protected: |
+ ResourceProvider* resource_provider_; |
+ ResourceProvider::ResourceId resource_id_; |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(ScopedExportLock); |
+ }; |
+ |
class Fence : public base::RefCounted<Fence> { |
public: |
Fence() {} |
@@ -572,6 +588,8 @@ class CC_EXPORT ResourceProvider { |
void UnlockForRead(ResourceId id); |
const Resource* LockForWrite(ResourceId id); |
void UnlockForWrite(ResourceId id); |
+ const Resource* LockForExport(ResourceId id); |
+ void UnlockForExport(ResourceId id); |
static void PopulateSkBitmapWithResource(SkBitmap* sk_bitmap, |
const Resource* resource); |