Tab Capture in VIZ: CopyOutputRequest/Result API changes.

https://chromium-review.googlesource.com/637003
This commit is contained in:
Aleksei Kuzmin 2018-03-13 16:06:50 +09:00
parent 639be7f7bc
commit d3afb595dc

View file

@ -128,8 +128,9 @@ class AtomCopyFrameGenerator {
if (!view_->render_widget_host() || !view_->IsPainting()) if (!view_->render_widget_host() || !view_->IsPainting())
return; return;
std::unique_ptr<viz::CopyOutputRequest> request = auto request = std::make_unique<viz::CopyOutputRequest>(
viz::CopyOutputRequest::CreateBitmapRequest(base::Bind( viz::CopyOutputRequest::ResultFormat::RGBA_BITMAP,
base::BindOnce(
&AtomCopyFrameGenerator::CopyFromCompositingSurfaceHasResult, &AtomCopyFrameGenerator::CopyFromCompositingSurfaceHasResult,
weak_ptr_factory_.GetWeakPtr(), weak_ptr_factory_.GetWeakPtr(),
damage_rect)); damage_rect));
@ -153,9 +154,9 @@ class AtomCopyFrameGenerator {
return; return;
} }
DCHECK(result->HasBitmap()); DCHECK(!result->IsEmpty());
std::unique_ptr<SkBitmap> source = result->TakeBitmap(); auto source = std::make_unique<SkBitmap>(result->AsSkBitmap());
DCHECK(source); DCHECK(source->readyToDraw());
if (source) { if (source) {
base::AutoLock autolock(lock_); base::AutoLock autolock(lock_);
std::shared_ptr<SkBitmap> bitmap(source.release()); std::shared_ptr<SkBitmap> bitmap(source.release());