| Index: cc/output/copy_output_request.h
|
| diff --git a/cc/output/copy_output_request.h b/cc/output/copy_output_request.h
|
| index 54fff1a6d66af3de604f04665be21406bb1fa21d..b7eb0b4ffc5bada59e6eb5f2bf5f6b56c50b7e35 100644
|
| --- a/cc/output/copy_output_request.h
|
| +++ b/cc/output/copy_output_request.h
|
| @@ -8,7 +8,7 @@
|
| #include "base/callback.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "cc/base/cc_export.h"
|
| -#include "ui/gfx/size.h"
|
| +#include "ui/gfx/rect.h"
|
|
|
| class SkBitmap;
|
|
|
| @@ -35,15 +35,29 @@ class CC_EXPORT CopyOutputRequest {
|
| static scoped_ptr<CopyOutputRequest> CreateRelayRequest(
|
| const CopyOutputRequest& original_request,
|
| const CopyOutputRequestCallback& result_callback) {
|
| - return make_scoped_ptr(new CopyOutputRequest(
|
| - original_request.force_bitmap_result(), 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();
|
| }
|
|
|
| ~CopyOutputRequest();
|
|
|
| bool IsEmpty() const { return result_callback_.is_null(); }
|
| +
|
| bool force_bitmap_result() const { return force_bitmap_result_; }
|
|
|
| + // By default copy requests copy the entire layer's subtree output. If an
|
| + // area is given, then the intersection of this rect (in layer space) with
|
| + // the layer's subtree output will be returned.
|
| + void set_area(gfx::Rect area) {
|
| + has_area_ = true;
|
| + area_ = area;
|
| + }
|
| + bool has_area() const { return has_area_; }
|
| + gfx::Rect area() const { return area_; }
|
| +
|
| void SendResult(scoped_ptr<CopyOutputResult> result);
|
| void SendBitmapResult(scoped_ptr<SkBitmap> bitmap);
|
| void SendTextureResult(gfx::Size size,
|
| @@ -60,6 +74,8 @@ class CC_EXPORT CopyOutputRequest {
|
| const CopyOutputRequestCallback& result_callback);
|
|
|
| bool force_bitmap_result_;
|
| + bool has_area_;
|
| + gfx::Rect area_;
|
| CopyOutputRequestCallback result_callback_;
|
| };
|
|
|
|
|