summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/canvas/imagebitmap
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/canvas/imagebitmap')
-rw-r--r--chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_factories.cc63
-rw-r--r--chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_factories.h28
-rw-r--r--chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.cc19
-rw-r--r--chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.h5
-rw-r--r--chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.idl1
-rw-r--r--chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.cc20
-rw-r--r--chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.h5
-rw-r--r--chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_source_union.h17
8 files changed, 7 insertions, 151 deletions
diff --git a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_factories.cc b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_factories.cc
index 8f42c005e87..a62c7bf2271 100644
--- a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_factories.cc
+++ b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_factories.cc
@@ -80,7 +80,6 @@ enum CreateImageBitmapSource {
} // namespace
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
inline ImageBitmapSource* ToImageBitmapSourceInternal(
const V8ImageBitmapSource* value,
const ImageBitmapOptions* options,
@@ -129,60 +128,6 @@ inline ImageBitmapSource* ToImageBitmapSourceInternal(
NOTREACHED();
return nullptr;
}
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
-static inline ImageBitmapSource* ToImageBitmapSourceInternal(
- const ImageBitmapSourceUnion& value,
- const ImageBitmapOptions* options,
- bool has_crop_rect) {
- if (value.IsHTMLVideoElement()) {
- UMA_HISTOGRAM_ENUMERATION("Blink.Canvas.CreateImageBitmapSource",
- kCreateImageBitmapSourceHTMLVideoElement);
- return value.GetAsHTMLVideoElement();
- }
- if (value.IsHTMLImageElement()) {
- UMA_HISTOGRAM_ENUMERATION("Blink.Canvas.CreateImageBitmapSource",
- kCreateImageBitmapSourceHTMLImageElement);
- return value.GetAsHTMLImageElement();
- }
- if (value.IsSVGImageElement()) {
- UMA_HISTOGRAM_ENUMERATION("Blink.Canvas.CreateImageBitmapSource",
- kCreateImageBitmapSourceSVGImageElement);
- return value.GetAsSVGImageElement();
- }
- if (value.IsHTMLCanvasElement()) {
- UMA_HISTOGRAM_ENUMERATION("Blink.Canvas.CreateImageBitmapSource",
- kCreateImageBitmapSourceHTMLCanvasElement);
- return value.GetAsHTMLCanvasElement();
- }
- if (value.IsBlob()) {
- UMA_HISTOGRAM_ENUMERATION("Blink.Canvas.CreateImageBitmapSource",
- kCreateImageBitmapSourceBlob);
- return value.GetAsBlob();
- }
- if (value.IsImageData()) {
- UMA_HISTOGRAM_ENUMERATION("Blink.Canvas.CreateImageBitmapSource",
- kCreateImageBitmapSourceImageData);
- return value.GetAsImageData();
- }
- if (value.IsImageBitmap()) {
- UMA_HISTOGRAM_ENUMERATION("Blink.Canvas.CreateImageBitmapSource",
- kCreateImageBitmapSourceImageBitmap);
- return value.GetAsImageBitmap();
- }
- if (value.IsOffscreenCanvas()) {
- UMA_HISTOGRAM_ENUMERATION("Blink.Canvas.CreateImageBitmapSource",
- kCreateImageBitmapSourceOffscreenCanvas);
- return value.GetAsOffscreenCanvas();
- }
- if (value.IsVideoFrame()) {
- UMA_HISTOGRAM_ENUMERATION("Blink.Canvas.CreateImageBitmapSource",
- kCreateImageBitmapSourceVideoFrame);
- return value.GetAsVideoFrame();
- }
- NOTREACHED();
- return nullptr;
-}
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
ScriptPromise ImageBitmapFactories::CreateImageBitmapFromBlob(
ScriptState* script_state,
@@ -200,11 +145,7 @@ ScriptPromise ImageBitmapFactories::CreateImageBitmapFromBlob(
ScriptPromise ImageBitmapFactories::CreateImageBitmap(
ScriptState* script_state,
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const V8ImageBitmapSource* bitmap_source,
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- const ImageBitmapSourceUnion& bitmap_source,
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const ImageBitmapOptions* options,
ExceptionState& exception_state) {
WebFeature feature = WebFeature::kCreateImageBitmap;
@@ -219,11 +160,7 @@ ScriptPromise ImageBitmapFactories::CreateImageBitmap(
ScriptPromise ImageBitmapFactories::CreateImageBitmap(
ScriptState* script_state,
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const V8ImageBitmapSource* bitmap_source,
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- const ImageBitmapSourceUnion& bitmap_source,
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
int sx,
int sy,
int sw,
diff --git a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_factories.h b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_factories.h
index 593be689e4a..3b94d2e0796 100644
--- a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_factories.h
+++ b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_factories.h
@@ -37,14 +37,12 @@
#include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_image_bitmap_options.h"
-#include "third_party/blink/renderer/bindings/modules/v8/image_bitmap_source.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_typedefs.h"
#include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
#include "third_party/blink/renderer/core/fileapi/file_reader_loader.h"
#include "third_party/blink/renderer/core/fileapi/file_reader_loader_client.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/workers/worker_global_scope.h"
-#include "third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_source_union.h"
#include "third_party/blink/renderer/modules/modules_export.h"
#include "third_party/blink/renderer/platform/bindings/name_client.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
@@ -71,19 +69,11 @@ class MODULES_EXPORT ImageBitmapFactories final
ImageBitmapFactories();
static ScriptPromise CreateImageBitmap(ScriptState*,
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const V8ImageBitmapSource*,
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- const ImageBitmapSourceUnion&,
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const ImageBitmapOptions*,
ExceptionState&);
static ScriptPromise CreateImageBitmap(ScriptState*,
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const V8ImageBitmapSource*,
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- const ImageBitmapSourceUnion&,
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
int sx,
int sy,
int sw,
@@ -100,11 +90,7 @@ class MODULES_EXPORT ImageBitmapFactories final
static ScriptPromise createImageBitmap(
ScriptState* script_state,
LocalDOMWindow&,
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const V8ImageBitmapSource* bitmap_source,
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- const ImageBitmapSourceUnion& bitmap_source,
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const ImageBitmapOptions* options,
ExceptionState& exception_state) {
return CreateImageBitmap(script_state, bitmap_source, options,
@@ -113,11 +99,7 @@ class MODULES_EXPORT ImageBitmapFactories final
static ScriptPromise createImageBitmap(
ScriptState* script_state,
LocalDOMWindow&,
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const V8ImageBitmapSource* bitmap_source,
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- const ImageBitmapSourceUnion& bitmap_source,
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
int sx,
int sy,
int sw,
@@ -132,11 +114,7 @@ class MODULES_EXPORT ImageBitmapFactories final
static ScriptPromise createImageBitmap(
ScriptState* script_state,
WorkerGlobalScope&,
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const V8ImageBitmapSource* bitmap_source,
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- const ImageBitmapSourceUnion& bitmap_source,
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const ImageBitmapOptions* options,
ExceptionState& exception_state) {
return CreateImageBitmap(script_state, bitmap_source, options,
@@ -145,11 +123,7 @@ class MODULES_EXPORT ImageBitmapFactories final
static ScriptPromise createImageBitmap(
ScriptState* script_state,
WorkerGlobalScope&,
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
const V8ImageBitmapSource* bitmap_source,
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- const ImageBitmapSourceUnion& bitmap_source,
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
int sx,
int sy,
int sw,
@@ -160,7 +134,7 @@ class MODULES_EXPORT ImageBitmapFactories final
options, exception_state);
}
- virtual ~ImageBitmapFactories() = default;
+ ~ImageBitmapFactories() override = default;
void Trace(Visitor*) const override;
const char* NameInHeapSnapshot() const override {
diff --git a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.cc b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.cc
index 86abf5bf444..fdc329d73a7 100644
--- a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.cc
+++ b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.cc
@@ -6,8 +6,6 @@
#include <utility>
-#include "third_party/blink/renderer/bindings/modules/v8/offscreen_rendering_context.h"
-#include "third_party/blink/renderer/bindings/modules/v8/rendering_context.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_union_canvasrenderingcontext2d_gpucanvascontext_imagebitmaprenderingcontext_webgl2renderingcontext_webglrenderingcontext.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_union_gpucanvascontext_imagebitmaprenderingcontext_offscreencanvasrenderingcontext2d_webgl2renderingcontext_webglrenderingcontext.h"
#include "third_party/blink/renderer/core/imagebitmap/image_bitmap.h"
@@ -23,8 +21,6 @@ ImageBitmapRenderingContext::ImageBitmapRenderingContext(
ImageBitmapRenderingContext::~ImageBitmapRenderingContext() = default;
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
-
V8RenderingContext* ImageBitmapRenderingContext::AsV8RenderingContext() {
return MakeGarbageCollected<V8RenderingContext>(this);
}
@@ -34,19 +30,6 @@ ImageBitmapRenderingContext::AsV8OffscreenRenderingContext() {
return MakeGarbageCollected<V8OffscreenRenderingContext>(this);
}
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
-
-void ImageBitmapRenderingContext::SetCanvasGetContextResult(
- RenderingContext& result) {
- result.SetImageBitmapRenderingContext(this);
-}
-void ImageBitmapRenderingContext::SetOffscreenCanvasGetContextResult(
- OffscreenRenderingContext& result) {
- result.SetImageBitmapRenderingContext(this);
-}
-
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
-
void ImageBitmapRenderingContext::transferFromImageBitmap(
ImageBitmap* image_bitmap,
ExceptionState& exception_state) {
@@ -79,8 +62,6 @@ CanvasRenderingContext* ImageBitmapRenderingContext::Factory::Create(
CanvasRenderingContext* rendering_context =
MakeGarbageCollected<ImageBitmapRenderingContext>(host, attrs);
DCHECK(rendering_context);
- rendering_context->RecordUKMCanvasRenderingAPI(
- CanvasRenderingContext::CanvasRenderingAPI::kBitmaprenderer);
return rendering_context;
}
diff --git a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.h b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.h
index 6e54e50b239..fe82b05e5bb 100644
--- a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.h
+++ b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.h
@@ -50,13 +50,8 @@ class MODULES_EXPORT ImageBitmapRenderingContext final
}
ImageBitmap* TransferToImageBitmap(ScriptState*) override;
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
V8RenderingContext* AsV8RenderingContext() final;
V8OffscreenRenderingContext* AsV8OffscreenRenderingContext() final;
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- void SetCanvasGetContextResult(RenderingContext&) final;
- void SetOffscreenCanvasGetContextResult(OffscreenRenderingContext&) final;
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
~ImageBitmapRenderingContext() override;
};
diff --git a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.idl b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.idl
index 0e7ad6f20c2..a36e36a1453 100644
--- a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.idl
+++ b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.idl
@@ -5,6 +5,7 @@
// https://html.spec.whatwg.org/C/#the-imagebitmap-rendering-context
[
+ ActiveScriptWrappable,
Exposed=(Window,Worker)
] interface ImageBitmapRenderingContext {
// back-reference to the canvas
diff --git a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.cc b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.cc
index fad044cf917..a3db1e96175 100644
--- a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.cc
+++ b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.cc
@@ -5,8 +5,6 @@
#include "third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_htmlcanvaselement_offscreencanvas.h"
-#include "third_party/blink/renderer/bindings/modules/v8/html_canvas_element_or_offscreen_canvas.h"
-#include "third_party/blink/renderer/bindings/modules/v8/rendering_context.h"
#include "third_party/blink/renderer/core/imagebitmap/image_bitmap.h"
#include "third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.h"
#include "third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context.h"
@@ -21,13 +19,12 @@ namespace blink {
ImageBitmapRenderingContextBase::ImageBitmapRenderingContextBase(
CanvasRenderingContextHost* host,
const CanvasContextCreationAttributesCore& attrs)
- : CanvasRenderingContext(host, attrs),
+ : CanvasRenderingContext(host, attrs, CanvasRenderingAPI::kBitmaprenderer),
image_layer_bridge_(MakeGarbageCollected<ImageLayerBridge>(
attrs.alpha ? kNonOpaque : kOpaque)) {}
ImageBitmapRenderingContextBase::~ImageBitmapRenderingContextBase() = default;
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
V8UnionHTMLCanvasElementOrOffscreenCanvas*
ImageBitmapRenderingContextBase::getHTMLOrOffscreenCanvas() const {
if (Host()->IsOffscreenCanvas()) {
@@ -37,16 +34,6 @@ ImageBitmapRenderingContextBase::getHTMLOrOffscreenCanvas() const {
return MakeGarbageCollected<V8UnionHTMLCanvasElementOrOffscreenCanvas>(
static_cast<HTMLCanvasElement*>(Host()));
}
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
-void ImageBitmapRenderingContextBase::getHTMLOrOffscreenCanvas(
- HTMLCanvasElementOrOffscreenCanvas& result) const {
- if (Host()->IsOffscreenCanvas()) {
- result.SetOffscreenCanvas(static_cast<OffscreenCanvas*>(Host()));
- } else {
- result.SetHTMLCanvasElement(static_cast<HTMLCanvasElement*>(Host()));
- }
-}
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
void ImageBitmapRenderingContextBase::Stop() {
image_layer_bridge_->Dispose();
@@ -75,7 +62,7 @@ void ImageBitmapRenderingContextBase::SetImage(ImageBitmap* image_bitmap) {
else
ResetInternalBitmapToBlackTransparent(Host()->width(), Host()->height());
- DidDraw();
+ DidDraw(CanvasPerformanceMonitor::DrawType::kOther);
if (image_bitmap)
image_bitmap->close();
@@ -133,6 +120,9 @@ bool ImageBitmapRenderingContextBase::PushFrame() {
return false;
scoped_refptr<StaticBitmapImage> image = image_layer_bridge_->GetImage();
+ if (!image) {
+ return false;
+ }
cc::PaintFlags paint_flags;
paint_flags.setBlendMode(SkBlendMode::kSrc);
Host()->ResourceProvider()->Canvas()->drawImage(
diff --git a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.h b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.h
index 591bd77ed31..514ddfa2fc0 100644
--- a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.h
+++ b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.h
@@ -17,7 +17,6 @@ class Layer;
namespace blink {
-class HTMLCanvasElementOrOffscreenCanvas;
class ImageBitmap;
class ImageLayerBridge;
class V8UnionHTMLCanvasElementOrOffscreenCanvas;
@@ -39,11 +38,7 @@ class MODULES_EXPORT ImageBitmapRenderingContextBase
}
bool CanCreateCanvas2dResourceProvider() const;
-#if defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
V8UnionHTMLCanvasElementOrOffscreenCanvas* getHTMLOrOffscreenCanvas() const;
-#else // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
- void getHTMLOrOffscreenCanvas(HTMLCanvasElementOrOffscreenCanvas&) const;
-#endif // defined(USE_BLINK_V8_BINDING_NEW_IDL_UNION)
void SetIsInHiddenPage(bool) override {}
void SetIsBeingDisplayed(bool) override {}
diff --git a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_source_union.h b/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_source_union.h
deleted file mode 100644
index 7f2c0f047d2..00000000000
--- a/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_source_union.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2021 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_CANVAS_IMAGEBITMAP_IMAGE_BITMAP_SOURCE_UNION_H_
-#define THIRD_PARTY_BLINK_RENDERER_MODULES_CANVAS_IMAGEBITMAP_IMAGE_BITMAP_SOURCE_UNION_H_
-
-#include "third_party/blink/renderer/bindings/modules/v8/image_bitmap_source.h"
-
-namespace blink {
-
-using ImageBitmapSourceUnion =
- HTMLImageElementOrSVGImageElementOrHTMLVideoElementOrHTMLCanvasElementOrBlobOrImageDataOrImageBitmapOrOffscreenCanvasOrVideoFrame;
-
-} // namespace blink
-
-#endif // THIRD_PARTY_BLINK_RENDERER_MODULES_CANVAS_IMAGEBITMAP_IMAGE_BITMAP_SOURCE_UNION_H_