Index: cc/output/copy_output_request.h |
diff --git a/cc/output/copy_output_request.h b/cc/output/copy_output_request.h |
index c4a92481dbca566e42acf150f5a639f60c64628c..b154f565c9c2eaf365578cdd0c364ee8e4775109 100644 |
--- a/cc/output/copy_output_request.h |
+++ b/cc/output/copy_output_request.h |
@@ -8,6 +8,7 @@ |
#include "base/callback.h" |
#include "base/memory/scoped_ptr.h" |
#include "cc/base/cc_export.h" |
+#include "cc/resources/texture_mailbox.h" |
#include "ui/gfx/rect.h" |
class SkBitmap; |
@@ -15,7 +16,6 @@ class SkBitmap; |
namespace cc { |
class CopyOutputResult; |
class SingleReleaseCallback; |
-class TextureMailbox; |
class CC_EXPORT CopyOutputRequest { |
public: |
@@ -35,13 +35,7 @@ class CC_EXPORT CopyOutputRequest { |
} |
static scoped_ptr<CopyOutputRequest> CreateRelayRequest( |
const CopyOutputRequest& original_request, |
- const CopyOutputRequestCallback& result_callback) { |
- scoped_ptr<CopyOutputRequest> relay = CreateRequest(result_callback); |
- relay->force_bitmap_result_ = original_request.force_bitmap_result_; |
- relay->has_area_ = original_request.has_area_; |
- relay->area_ = original_request.area_; |
- return relay.Pass(); |
- } |
+ const CopyOutputRequestCallback& result_callback); |
~CopyOutputRequest(); |
@@ -59,6 +53,13 @@ class CC_EXPORT CopyOutputRequest { |
bool has_area() const { return has_area_; } |
gfx::Rect area() const { return area_; } |
+ // By default copy requests create a new TextureMailbox to return contents |
+ // in. This allows a client to provide a TextureMailbox, and the compositor |
+ // will place the result inside the TextureMailbox. |
+ void SetTextureMailbox(const TextureMailbox& texture_mailbox); |
+ bool has_texture_mailbox() const { return has_texture_mailbox_; } |
+ const TextureMailbox& texture_mailbox() const { return texture_mailbox_; } |
+ |
void SendEmptyResult(); |
void SendBitmapResult(scoped_ptr<SkBitmap> bitmap); |
void SendTextureResult(gfx::Size size, |
@@ -74,12 +75,14 @@ class CC_EXPORT CopyOutputRequest { |
private: |
CopyOutputRequest(); |
- explicit CopyOutputRequest(bool force_bitmap_result, |
- const CopyOutputRequestCallback& result_callback); |
+ CopyOutputRequest(bool force_bitmap_result, |
+ const CopyOutputRequestCallback& result_callback); |
bool force_bitmap_result_; |
bool has_area_; |
+ bool has_texture_mailbox_; |
gfx::Rect area_; |
+ TextureMailbox texture_mailbox_; |
CopyOutputRequestCallback result_callback_; |
}; |