blob: 964ca2fc53553f75415c2487a6d4a5eda4213d0a [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/compositor/host/external_begin_frame_controller_client_impl.h"
#include "ui/compositor/compositor.h"
namespace ui {
ExternalBeginFrameControllerClientImpl::ExternalBeginFrameControllerClientImpl(
ui::ExternalBeginFrameClient* client)
: client_(client), binding_(this) {}
ExternalBeginFrameControllerClientImpl::
~ExternalBeginFrameControllerClientImpl() = default;
viz::mojom::ExternalBeginFrameControllerClientPtr
ExternalBeginFrameControllerClientImpl::GetBoundPtr() {
viz::mojom::ExternalBeginFrameControllerClientPtr ptr;
binding_.Bind(mojo::MakeRequest(&ptr));
return ptr;
}
viz::mojom::ExternalBeginFrameControllerAssociatedRequest
ExternalBeginFrameControllerClientImpl::GetControllerRequest() {
return mojo::MakeRequest(&controller_);
}
viz::mojom::ExternalBeginFrameControllerAssociatedPtr&
ExternalBeginFrameControllerClientImpl::GetController() {
return controller_;
}
void ExternalBeginFrameControllerClientImpl::OnNeedsBeginFrames(
bool needs_begin_frames) {
client_->OnNeedsExternalBeginFrames(needs_begin_frames);
}
void ExternalBeginFrameControllerClientImpl::OnDisplayDidFinishFrame(
const viz::BeginFrameAck& ack) {
client_->OnDisplayDidFinishFrame(ack);
}
} // namespace ui