Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp

Issue 2050123002: Remove OwnPtr from Blink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: First attempt to land. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698