#include "third_party/blink/renderer/platform/widget/compositing/widget_compositor.h"
#include <utility>
#include "base/functional/callback_helpers.h"
#include "base/task/single_thread_task_runner.h"
#include "base/types/pass_key.h"
#include "cc/trees/layer_tree_host.h"
#include "third_party/blink/renderer/platform/widget/compositing/queue_report_time_swap_promise.h"
#include "third_party/blink/renderer/platform/widget/widget_base.h"
#include "third_party/blink/renderer/platform/widget/widget_base_client.h"
namespace blink {
scoped_refptr<WidgetCompositor> WidgetCompositor::Create(
base::WeakPtr<WidgetBase> widget_base,
scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner,
mojo::PendingReceiver<mojom::blink::WidgetCompositor> receiver) { … }
WidgetCompositor::WidgetCompositor(
base::PassKey<WidgetCompositorPassKeyProvider>,
base::WeakPtr<WidgetBase> widget_base,
scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner)
: … { … }
void WidgetCompositor::Shutdown() { … }
void WidgetCompositor::BindOnThread(
mojo::PendingReceiver<mojom::blink::WidgetCompositor> receiver) { … }
void WidgetCompositor::ResetOnThread() { … }
void WidgetCompositor::VisualStateRequest(VisualStateRequestCallback callback) { … }
cc::LayerTreeHost* WidgetCompositor::LayerTreeHost() const { … }
void WidgetCompositor::CreateQueueSwapPromise(
base::OnceCallback<void(int)> drain_callback,
base::OnceClosure swap_callback,
VisualStateRequestCallback callback) { … }
void WidgetCompositor::VisualStateResponse() { … }
void WidgetCompositor::DrainQueue(int source_frame_number) { … }
bool WidgetCompositor::CalledOnValidCompositorThread() { … }
}