#include "third_party/blink/renderer/platform/graphics/begin_frame_provider.h"
#include <utility>
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/task/single_thread_task_runner.h"
#include "base/trace_event/trace_event.h"
#include "components/viz/common/features.h"
#include "services/viz/public/mojom/compositing/frame_timing_details.mojom-blink.h"
#include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/platform/graphics/begin_frame_provider_params.h"
#include "third_party/blink/renderer/platform/mojo/mojo_binding_context.h"
#include "third_party/blink/renderer/platform/scheduler/public/thread_scheduler.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
#include "ui/gfx/mojom/presentation_feedback.mojom-blink.h"
namespace blink {
BeginFrameProvider::BeginFrameProvider(
const BeginFrameProviderParams& begin_frame_provider_params,
BeginFrameProviderClient* client,
ContextLifecycleNotifier* context)
: … { … }
void BeginFrameProvider::ResetCompositorFrameSink() { … }
void BeginFrameProvider::OnMojoConnectionError(uint32_t custom_reason,
const std::string& description) { … }
bool BeginFrameProvider::IsValidFrameProvider() { … }
void BeginFrameProvider::CreateCompositorFrameSinkIfNeeded() { … }
void BeginFrameProvider::RequestBeginFrame() { … }
void BeginFrameProvider::OnBeginFrame(
const viz::BeginFrameArgs& args,
const WTF::HashMap<uint32_t, viz::FrameTimingDetails>&,
bool frame_ack,
WTF::Vector<viz::ReturnedResource> resources) { … }
void BeginFrameProvider::FinishBeginFrame(const viz::BeginFrameArgs& args) { … }
void BeginFrameProvider::Trace(Visitor* visitor) const { … }
}