Index: third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
diff --git a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
index 686f2ada187a97216ac8c8b2d231486b72b5a9d9..9ffa5ffdcf4af39327929ad294d5a5e9326a4f53 100644 |
--- a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
+++ b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp |
@@ -295,7 +295,7 @@ CanvasRenderingContext* HTMLCanvasElement::GetCanvasRenderingContext( |
bool HTMLCanvasElement::ShouldBeDirectComposited() const { |
return (context_ && context_->IsComposited()) || |
- (HasImageBuffer() && Buffer()->IsExpensiveToPaint()) || |
+ (HasImageBuffer() && GetImageBuffer()->IsExpensiveToPaint()) || |
(!!surface_layer_bridge_); |
} |
@@ -324,7 +324,7 @@ void HTMLCanvasElement::DidDraw(const FloatRect& rect) { |
dirty_rect_.Unite(rect); |
} |
if (Is2d() && HasImageBuffer()) |
- Buffer()->DidDraw(rect); |
+ GetImageBuffer()->DidDraw(rect); |
} |
void HTMLCanvasElement::DidDraw() { |
@@ -432,7 +432,7 @@ void HTMLCanvasElement::DoDeferredPaintInvalidation() { |
if (RuntimeEnabledFeatures:: |
enableCanvas2dDynamicRenderingModeSwitchingEnabled() && |
!RuntimeEnabledFeatures::canvas2dFixedRenderingModeEnabled()) { |
- if (Is2d() && HasImageBuffer() && Buffer()->IsAccelerated() && |
+ if (Is2d() && HasImageBuffer() && GetImageBuffer()->IsAccelerated() && |
num_frames_since_last_rendering_mode_switch_ >= |
ExpensiveCanvasHeuristicParameters::kMinFramesBeforeSwitch && |
!pending_rendering_mode_switch_) { |
@@ -454,8 +454,8 @@ void HTMLCanvasElement::DoDeferredPaintInvalidation() { |
} |
} |
- if (pending_rendering_mode_switch_ && Buffer() && |
- !Buffer()->IsAccelerated()) { |
+ if (pending_rendering_mode_switch_ && GetImageBuffer() && |
+ !GetImageBuffer()->IsAccelerated()) { |
pending_rendering_mode_switch_ = false; |
} |
@@ -488,7 +488,7 @@ void HTMLCanvasElement::Reset() { |
// If the size of an existing buffer matches, we can just clear it instead of |
// reallocating. This optimization is only done for 2D canvases for now. |
if (had_image_buffer && old_size == new_size && Is2d() && |
- !Buffer()->IsRecording()) { |
+ !GetImageBuffer()->IsRecording()) { |
if (!image_buffer_is_clear_) { |
image_buffer_is_clear_ = true; |
context_->clearRect(0, 0, width(), height()); |
@@ -601,7 +601,8 @@ void HTMLCanvasElement::Paint(GraphicsContext& context, const LayoutRect& r) { |
!context_ || context_->CreationAttributes().alpha() |
? SkBlendMode::kSrcOver |
: SkBlendMode::kSrc; |
- Buffer()->Draw(context, PixelSnappedIntRect(r), 0, composite_operator); |
+ GetImageBuffer()->Draw(context, PixelSnappedIntRect(r), 0, |
+ composite_operator); |
} |
} else { |
// When alpha is false, we should draw to opaque black. |
@@ -642,7 +643,7 @@ const AtomicString HTMLCanvasElement::ImageSourceURL() const { |
void HTMLCanvasElement::PrepareSurfaceForPaintingIfNeeded() const { |
DCHECK(Is2d()); // This function is called by the 2d context |
- if (Buffer()) |
+ if (GetImageBuffer()) |
image_buffer_->PrepareSurfaceForPaintingIfNeeded(); |
} |
@@ -660,7 +661,7 @@ ImageData* HTMLCanvasElement::ToImageData(SourceDrawingBuffer source_buffer, |
image_data = ImageData::Create(size_); |
if (image_data && HasImageBuffer()) { |
sk_sp<SkImage> snapshot = |
- Buffer()->NewSkImageSnapshot(kPreferNoAcceleration, reason); |
+ GetImageBuffer()->NewSkImageSnapshot(kPreferNoAcceleration, reason); |
if (snapshot) { |
SkImageInfo image_info = SkImageInfo::Make( |
width(), height(), kRGBA_8888_SkColorType, kUnpremul_SkAlphaType); |
@@ -679,7 +680,8 @@ ImageData* HTMLCanvasElement::ToImageData(SourceDrawingBuffer source_buffer, |
DCHECK(Is2d() || PlaceholderFrame()); |
sk_sp<SkImage> snapshot; |
if (HasImageBuffer()) { |
- snapshot = Buffer()->NewSkImageSnapshot(kPreferNoAcceleration, reason); |
+ snapshot = |
+ GetImageBuffer()->NewSkImageSnapshot(kPreferNoAcceleration, reason); |
} else if (PlaceholderFrame()) { |
DCHECK(PlaceholderFrame()->OriginClean()); |
snapshot = PlaceholderFrame()->ImageForCurrentFrame(); |
@@ -1095,11 +1097,11 @@ void HTMLCanvasElement::UpdateExternallyAllocatedMemory() const { |
} |
PaintCanvas* HTMLCanvasElement::DrawingCanvas() const { |
- return Buffer() ? image_buffer_->Canvas() : nullptr; |
+ return GetImageBuffer() ? image_buffer_->Canvas() : nullptr; |
} |
void HTMLCanvasElement::DisableDeferral(DisableDeferralReason reason) const { |
- if (Buffer()) |
+ if (GetImageBuffer()) |
image_buffer_->DisableDeferral(reason); |
} |
@@ -1110,7 +1112,7 @@ PaintCanvas* HTMLCanvasElement::ExistingDrawingCanvas() const { |
return image_buffer_->Canvas(); |
} |
-ImageBuffer* HTMLCanvasElement::Buffer() const { |
+ImageBuffer* HTMLCanvasElement::GetImageBuffer() const { |
Justin Novosad
2017/05/01 15:18:57
Nit (existed before this CL): This function does n
fserb
2017/05/02 18:49:30
done
|
DCHECK(context_); |
DCHECK(context_->GetContextType() != |
CanvasRenderingContext::kContextImageBitmap); |
@@ -1163,8 +1165,8 @@ PassRefPtr<Image> HTMLCanvasElement::CopiedImage( |
// The concept of SourceDrawingBuffer is valid on only WebGL. |
if (context_->Is3d()) |
need_to_update |= context_->PaintRenderingResultsToCanvas(source_buffer); |
- if (need_to_update && Buffer()) { |
- copied_image_ = Buffer()->NewImageSnapshot(hint, snapshot_reason); |
+ if (need_to_update && GetImageBuffer()) { |
+ copied_image_ = GetImageBuffer()->NewImageSnapshot(hint, snapshot_reason); |
UpdateExternallyAllocatedMemory(); |
} |
return copied_image_; |
@@ -1222,7 +1224,7 @@ void HTMLCanvasElement::DidMoveToNewDocument(Document& old_document) { |
void HTMLCanvasElement::WillDrawImageTo2DContext(CanvasImageSource* source) { |
if (ExpensiveCanvasHeuristicParameters::kEnableAccelerationToAvoidReadbacks && |
SharedGpuContext::AllowSoftwareToAcceleratedCanvasUpgrade() && |
- source->IsAccelerated() && !Buffer()->IsAccelerated() && |
+ source->IsAccelerated() && !GetImageBuffer()->IsAccelerated() && |
ShouldAccelerate(kIgnoreResourceLimitCriteria)) { |
OpacityMode opacity_mode = |
context_->CreationAttributes().alpha() ? kNonOpaque : kOpaque; |
@@ -1230,7 +1232,7 @@ void HTMLCanvasElement::WillDrawImageTo2DContext(CanvasImageSource* source) { |
std::unique_ptr<ImageBufferSurface> surface = |
CreateAcceleratedImageBufferSurface(opacity_mode, &msaa_sample_count); |
if (surface) { |
- Buffer()->SetSurface(std::move(surface)); |
+ GetImageBuffer()->SetSurface(std::move(surface)); |
SetNeedsCompositingUpdate(); |
} |
} |
@@ -1277,7 +1279,7 @@ PassRefPtr<Image> HTMLCanvasElement::GetSourceImageForCanvas( |
// cached copy of the backing in the canvas's ImageBuffer. |
RenderingContext()->PaintRenderingResultsToCanvas(kBackBuffer); |
if (HasImageBuffer()) { |
- sk_image = Buffer()->NewSkImageSnapshot(hint, reason); |
+ sk_image = GetImageBuffer()->NewSkImageSnapshot(hint, reason); |
} else { |
sk_image = CreateTransparentSkImage(Size()); |
} |
@@ -1286,8 +1288,8 @@ PassRefPtr<Image> HTMLCanvasElement::GetSourceImageForCanvas( |
kDisableAccelerationToAvoidReadbacks && |
!RuntimeEnabledFeatures::canvas2dFixedRenderingModeEnabled() && |
hint == kPreferNoAcceleration && HasImageBuffer() && |
- Buffer()->IsAccelerated()) { |
- Buffer()->DisableAcceleration(); |
+ GetImageBuffer()->IsAccelerated()) { |
+ GetImageBuffer()->DisableAcceleration(); |
} |
RefPtr<Image> image = RenderingContext()->GetImage(hint, reason); |
if (image) { |