#include "third_party/blink/renderer/core/html/canvas/canvas_rendering_context_host.h"
#include "base/feature_list.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
#include "base/notreached.h"
#include "gpu/config/gpu_feature_info.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/privacy_budget/identifiability_study_settings.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_image_encode_options.h"
#include "third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.h"
#include "third_party/blink/renderer/core/html/canvas/canvas_rendering_context.h"
#include "third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h"
#include "third_party/blink/renderer/platform/graphics/canvas_resource_dispatcher.h"
#include "third_party/blink/renderer/platform/graphics/canvas_resource_provider.h"
#include "third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context.h"
#include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
#include "third_party/blink/renderer/platform/graphics/unaccelerated_static_bitmap_image.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/skia/include/core/SkSurface.h"
#include "ui/gfx/geometry/skia_conversions.h"
namespace blink {
CanvasRenderingContextHost::CanvasRenderingContextHost(HostType host_type,
const gfx::Size& size)
: … { … }
void CanvasRenderingContextHost::RecordCanvasSizeToUMA() { … }
scoped_refptr<StaticBitmapImage>
CanvasRenderingContextHost::CreateTransparentImage(
const gfx::Size& size) const { … }
void CanvasRenderingContextHost::Commit(scoped_refptr<CanvasResource>&&,
const SkIRect&) { … }
bool CanvasRenderingContextHost::IsPaintable() const { … }
bool CanvasRenderingContextHost::PrintedInCurrentTask() const { … }
void CanvasRenderingContextHost::InitializeForRecording(
cc::PaintCanvas* canvas) const { … }
bool CanvasRenderingContextHost::IsWebGL() const { … }
bool CanvasRenderingContextHost::IsWebGPU() const { … }
bool CanvasRenderingContextHost::IsRenderingContext2D() const { … }
bool CanvasRenderingContextHost::IsImageBitmapRenderingContext() const { … }
CanvasResourceProvider*
CanvasRenderingContextHost::GetOrCreateCanvasResourceProvider(
RasterModeHint hint) { … }
CanvasResourceProvider*
CanvasRenderingContextHost::GetOrCreateCanvasResourceProviderImpl(
RasterModeHint hint) { … }
void CanvasRenderingContextHost::CreateCanvasResourceProviderWebGPU() { … }
void CanvasRenderingContextHost::CreateCanvasResourceProviderWebGL() { … }
void CanvasRenderingContextHost::CreateCanvasResourceProvider2D(
RasterModeHint hint) { … }
SkColorInfo CanvasRenderingContextHost::GetRenderingContextSkColorInfo() const { … }
bool CanvasRenderingContextHost::IsOffscreenCanvas() const { … }
IdentifiableToken CanvasRenderingContextHost::IdentifiabilityInputDigest(
const CanvasRenderingContext* const context) const { … }
void CanvasRenderingContextHost::PageVisibilityChanged() { … }
bool CanvasRenderingContextHost::ContextHasOpenLayers(
const CanvasRenderingContext* context) const { … }
}