| Index: content/public/browser/android/synchronous_compositor.cc
|
| diff --git a/content/public/browser/android/synchronous_compositor.cc b/content/public/browser/android/synchronous_compositor.cc
|
| index 616530fc7de376d22f2008ab69c58e33307bbb10..5d8d5069cdcb0538ec93376c82615bff1b64c464 100644
|
| --- a/content/public/browser/android/synchronous_compositor.cc
|
| +++ b/content/public/browser/android/synchronous_compositor.cc
|
| @@ -18,6 +18,31 @@ SynchronousCompositor::Frame::Frame(Frame&& rhs)
|
| : compositor_frame_sink_id(rhs.compositor_frame_sink_id),
|
| frame(std::move(rhs.frame)) {}
|
|
|
| +SynchronousCompositor::FrameFuture::FrameFuture()
|
| + : waitable_event_(base::WaitableEvent::ResetPolicy::MANUAL,
|
| + base::WaitableEvent::InitialState::NOT_SIGNALED) {}
|
| +
|
| +SynchronousCompositor::FrameFuture::~FrameFuture() {}
|
| +
|
| +void SynchronousCompositor::FrameFuture::setFrame(
|
| + std::unique_ptr<content::SynchronousCompositor::Frame> frame) {
|
| + frame_ = std::move(frame);
|
| + waitable_event_.Signal();
|
| +}
|
| +
|
| +content::SynchronousCompositor::Frame*
|
| +SynchronousCompositor::FrameFuture::getFrame() {
|
| + return frame_.get();
|
| +}
|
| +
|
| +void SynchronousCompositor::FrameFuture::Wait() {
|
| + waitable_event_.Wait();
|
| +}
|
| +
|
| +bool SynchronousCompositor::FrameFuture::hasFrame() {
|
| + return waitable_event_.IsSignaled();
|
| +}
|
| +
|
| SynchronousCompositor::Frame& SynchronousCompositor::Frame::operator=(
|
| Frame&& rhs) {
|
| compositor_frame_sink_id = rhs.compositor_frame_sink_id;
|
|
|