#include "content/browser/xr/service/xr_frame_sink_client_impl.h"
#include <memory>
#include "base/functional/callback.h"
#include "build/build_config.h"
#include "components/viz/host/host_frame_sink_manager.h"
#include "content/browser/browser_thread_impl.h"
#include "content/browser/compositor/surface_utils.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_view_base.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_frame_host.h"
#include "services/viz/privileged/mojom/compositing/frame_sink_manager.mojom.h"
#if BUILDFLAG(IS_ANDROID)
#include "content/browser/renderer_host/render_widget_host_view_android.h"
#endif
namespace content {
XrFrameSinkClientImpl::XrFrameSinkClientImpl(int32_t render_process_id,
int32_t render_frame_id)
: … { … }
XrFrameSinkClientImpl::~XrFrameSinkClientImpl() { … }
bool XrFrameSinkClientImpl::IsOnUiThread() const { … }
void XrFrameSinkClientImpl::SurfaceDestroyed() { … }
std::optional<viz::SurfaceId> XrFrameSinkClientImpl::GetDOMSurface() { … }
viz::FrameSinkId XrFrameSinkClientImpl::FrameSinkId() { … }
void XrFrameSinkClientImpl::InitializeRootCompositorFrameSink(
viz::mojom::RootCompositorFrameSinkParamsPtr root_params,
device::DomOverlaySetup dom_setup,
base::OnceClosure on_initialized) { … }
void XrFrameSinkClientImpl::InitializeOnUiThread(
viz::mojom::RootCompositorFrameSinkParamsPtr root_params,
device::DomOverlaySetup dom_setup,
base::OnceClosure on_initialized) { … }
void XrFrameSinkClientImpl::ConfigureDOMOverlay() { … }
void XrFrameSinkClientImpl::OnSurfaceIdUpdated(
const viz::SurfaceId& dom_surface_id) { … }
}