summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.cc')
-rw-r--r--chromium/third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context_base.cc20
1 files changed, 5 insertions, 15 deletions
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(