| 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 5df98478c765738daba53f431299b0ccac6eec23..ca982ba8904a204e8e1708132e0b9056c52bc48c 100644
|
| --- a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
|
| +++ b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
|
| @@ -68,7 +68,9 @@
|
| #include "public/platform/Platform.h"
|
| #include "public/platform/WebTraceLocation.h"
|
| #include "wtf/CheckedNumeric.h"
|
| +#include "wtf/PtrUtil.h"
|
| #include <math.h>
|
| +#include <memory>
|
| #include <v8.h>
|
|
|
| namespace blink {
|
| @@ -208,7 +210,7 @@ CanvasRenderingContextFactory* HTMLCanvasElement::getRenderingContextFactory(int
|
| return renderingContextFactories()[type].get();
|
| }
|
|
|
| -void HTMLCanvasElement::registerRenderingContextFactory(PassOwnPtr<CanvasRenderingContextFactory> renderingContextFactory)
|
| +void HTMLCanvasElement::registerRenderingContextFactory(std::unique_ptr<CanvasRenderingContextFactory> renderingContextFactory)
|
| {
|
| CanvasRenderingContext::ContextType type = renderingContextFactory->getContextType();
|
| DCHECK(type < CanvasRenderingContext::ContextTypeCount);
|
| @@ -769,9 +771,9 @@ bool HTMLCanvasElement::shouldAccelerate(const IntSize& size) const
|
|
|
| class UnacceleratedSurfaceFactory : public RecordingImageBufferFallbackSurfaceFactory {
|
| public:
|
| - virtual PassOwnPtr<ImageBufferSurface> createSurface(const IntSize& size, OpacityMode opacityMode)
|
| + virtual std::unique_ptr<ImageBufferSurface> createSurface(const IntSize& size, OpacityMode opacityMode)
|
| {
|
| - return adoptPtr(new UnacceleratedImageBufferSurface(size, opacityMode));
|
| + return wrapUnique(new UnacceleratedImageBufferSurface(size, opacityMode));
|
| }
|
|
|
| virtual ~UnacceleratedSurfaceFactory() { }
|
| @@ -788,7 +790,7 @@ bool HTMLCanvasElement::shouldUseDisplayList(const IntSize& deviceSize)
|
| return true;
|
| }
|
|
|
| -PassOwnPtr<ImageBufferSurface> HTMLCanvasElement::createImageBufferSurface(const IntSize& deviceSize, int* msaaSampleCount)
|
| +std::unique_ptr<ImageBufferSurface> HTMLCanvasElement::createImageBufferSurface(const IntSize& deviceSize, int* msaaSampleCount)
|
| {
|
| OpacityMode opacityMode = !m_context || m_context->hasAlpha() ? NonOpaque : Opaque;
|
|
|
| @@ -797,13 +799,13 @@ PassOwnPtr<ImageBufferSurface> HTMLCanvasElement::createImageBufferSurface(const
|
| // If 3d, but the use of the canvas will be for non-accelerated content
|
| // then make a non-accelerated ImageBuffer. This means copying the internal
|
| // Image will require a pixel readback, but that is unavoidable in this case.
|
| - return adoptPtr(new AcceleratedImageBufferSurface(deviceSize, opacityMode));
|
| + return wrapUnique(new AcceleratedImageBufferSurface(deviceSize, opacityMode));
|
| }
|
|
|
| if (shouldAccelerate(deviceSize)) {
|
| if (document().settings())
|
| *msaaSampleCount = document().settings()->accelerated2dCanvasMSAASampleCount();
|
| - OwnPtr<ImageBufferSurface> surface = adoptPtr(new Canvas2DImageBufferSurface(deviceSize, *msaaSampleCount, opacityMode, Canvas2DLayerBridge::EnableAcceleration));
|
| + std::unique_ptr<ImageBufferSurface> surface = wrapUnique(new Canvas2DImageBufferSurface(deviceSize, *msaaSampleCount, opacityMode, Canvas2DLayerBridge::EnableAcceleration));
|
| if (surface->isValid()) {
|
| CanvasMetrics::countCanvasContextUsage(CanvasMetrics::GPUAccelerated2DCanvasImageBufferCreated);
|
| return surface;
|
| @@ -811,15 +813,15 @@ PassOwnPtr<ImageBufferSurface> HTMLCanvasElement::createImageBufferSurface(const
|
| CanvasMetrics::countCanvasContextUsage(CanvasMetrics::GPUAccelerated2DCanvasImageBufferCreationFailed);
|
| }
|
|
|
| - OwnPtr<RecordingImageBufferFallbackSurfaceFactory> surfaceFactory = adoptPtr(new UnacceleratedSurfaceFactory());
|
| + std::unique_ptr<RecordingImageBufferFallbackSurfaceFactory> surfaceFactory = wrapUnique(new UnacceleratedSurfaceFactory());
|
|
|
| if (shouldUseDisplayList(deviceSize)) {
|
| - OwnPtr<ImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(deviceSize, std::move(surfaceFactory), opacityMode));
|
| + std::unique_ptr<ImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(deviceSize, std::move(surfaceFactory), opacityMode));
|
| if (surface->isValid()) {
|
| CanvasMetrics::countCanvasContextUsage(CanvasMetrics::DisplayList2DCanvasImageBufferCreated);
|
| return surface;
|
| }
|
| - surfaceFactory = adoptPtr(new UnacceleratedSurfaceFactory()); // recreate because previous one was released
|
| + surfaceFactory = wrapUnique(new UnacceleratedSurfaceFactory()); // recreate because previous one was released
|
| }
|
| auto surface = surfaceFactory->createSurface(deviceSize, opacityMode);
|
| if (!surface->isValid()) {
|
| @@ -837,7 +839,7 @@ void HTMLCanvasElement::createImageBuffer()
|
| m_context->loseContext(CanvasRenderingContext::SyntheticLostContext);
|
| }
|
|
|
| -void HTMLCanvasElement::createImageBufferInternal(PassOwnPtr<ImageBufferSurface> externalSurface)
|
| +void HTMLCanvasElement::createImageBufferInternal(std::unique_ptr<ImageBufferSurface> externalSurface)
|
| {
|
| DCHECK(!m_imageBuffer);
|
|
|
| @@ -848,7 +850,7 @@ void HTMLCanvasElement::createImageBufferInternal(PassOwnPtr<ImageBufferSurface>
|
| return;
|
|
|
| int msaaSampleCount = 0;
|
| - OwnPtr<ImageBufferSurface> surface;
|
| + std::unique_ptr<ImageBufferSurface> surface;
|
| if (externalSurface) {
|
| surface = std::move(externalSurface);
|
| } else {
|
| @@ -957,7 +959,7 @@ ImageBuffer* HTMLCanvasElement::buffer() const
|
| return m_imageBuffer.get();
|
| }
|
|
|
| -void HTMLCanvasElement::createImageBufferUsingSurfaceForTesting(PassOwnPtr<ImageBufferSurface> surface)
|
| +void HTMLCanvasElement::createImageBufferUsingSurfaceForTesting(std::unique_ptr<ImageBufferSurface> surface)
|
| {
|
| discardImageBuffer();
|
| setWidth(surface->size().width());
|
| @@ -1184,7 +1186,7 @@ String HTMLCanvasElement::getIdFromControl(const Element* element)
|
|
|
| void HTMLCanvasElement::createSurfaceLayerBridge()
|
| {
|
| - m_surfaceLayerBridge = adoptPtr(new CanvasSurfaceLayerBridge());
|
| + m_surfaceLayerBridge = wrapUnique(new CanvasSurfaceLayerBridge());
|
| }
|
|
|
| } // namespace blink
|
|
|