#include "cc/trees/layer_tree_frame_sink.h"
#include <stdint.h>
#include <utility>
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/task/bind_post_task.h"
#include "base/task/single_thread_task_runner.h"
#include "base/trace_event/trace_event.h"
#include "cc/trees/layer_context.h"
#include "cc/trees/layer_tree_frame_sink_client.h"
#include "components/viz/common/features.h"
#include "components/viz/common/gpu/context_lost_observer.h"
#include "components/viz/common/gpu/raster_context_provider.h"
#include "gpu/GLES2/gl2extchromium.h"
#include "gpu/command_buffer/client/context_support.h"
#include "gpu/command_buffer/client/raster_interface.h"
#include "gpu/ipc/client/client_shared_image_interface.h"
#include "gpu/ipc/client/gpu_channel_host.h"
namespace cc {
class LayerTreeFrameSink::ContextLostForwarder
: public viz::ContextLostObserver { … };
LayerTreeFrameSink::LayerTreeFrameSink()
: … { … }
LayerTreeFrameSink::LayerTreeFrameSink(
scoped_refptr<viz::RasterContextProvider> context_provider,
scoped_refptr<RasterContextProviderWrapper> worker_context_provider_wrapper,
scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner,
gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
scoped_refptr<gpu::ClientSharedImageInterface> shared_image_interface)
: … { … }
LayerTreeFrameSink::~LayerTreeFrameSink() { … }
base::WeakPtr<LayerTreeFrameSink> LayerTreeFrameSink::GetWeakPtr() { … }
bool LayerTreeFrameSink::BindToClient(LayerTreeFrameSinkClient* client) { … }
void LayerTreeFrameSink::DetachFromClient() { … }
std::unique_ptr<LayerContext> LayerTreeFrameSink::CreateLayerContext(
LayerTreeHostImpl& host_impl) { … }
void LayerTreeFrameSink::OnContextLost() { … }
void LayerTreeFrameSink::OnGpuChannelLost() { … }
void LayerTreeFrameSink::GpuChannelLostOnClientThread() { … }
scoped_refptr<gpu::ClientSharedImageInterface>
LayerTreeFrameSink::shared_image_interface() const { … }
}