| Index: cc/surfaces/surface_factory.cc
|
| diff --git a/cc/surfaces/surface_factory.cc b/cc/surfaces/surface_factory.cc
|
| index 94f98fc7c374c40aaf0f347256a3e251dfd2f163..79bbe5eabd1cc762e8f836cccf02e7902f01e259 100644
|
| --- a/cc/surfaces/surface_factory.cc
|
| +++ b/cc/surfaces/surface_factory.cc
|
| @@ -5,6 +5,7 @@
|
| #include "cc/surfaces/surface_factory.h"
|
|
|
| #include "cc/output/compositor_frame.h"
|
| +#include "cc/output/copy_output_request.h"
|
| #include "cc/surfaces/surface.h"
|
| #include "cc/surfaces/surface_manager.h"
|
| #include "ui/gfx/geometry/size.h"
|
| @@ -44,6 +45,18 @@ void SurfaceFactory::SubmitFrame(SurfaceId surface_id,
|
| manager_->SurfaceModified(surface_id);
|
| }
|
|
|
| +void SurfaceFactory::RequestCopyOfSurface(
|
| + SurfaceId surface_id,
|
| + scoped_ptr<CopyOutputRequest> copy_request) {
|
| + OwningSurfaceMap::iterator it = surface_map_.find(surface_id);
|
| + if (it == surface_map_.end()) {
|
| + copy_request->SendEmptyResult();
|
| + return;
|
| + }
|
| + DCHECK(it->second->factory() == this);
|
| + it->second->RequestCopyOfOutput(copy_request.Pass());
|
| +}
|
| +
|
| void SurfaceFactory::ReceiveFromChild(
|
| const TransferableResourceArray& resources) {
|
| holder_.ReceiveFromChild(resources);
|
|
|