mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 21:31:04 +00:00
Bug 1024983 - Stop addrefing and releasing excessively in the Moz2D code in functions that return a TemporaryRef. r=mstange
This commit is contained in:
parent
d6254c995e
commit
c90e727466
@ -12,13 +12,7 @@ namespace gfx {
|
||||
TemporaryRef<DataSourceSurface>
|
||||
DataSourceSurface::GetDataSurface()
|
||||
{
|
||||
RefPtr<DataSourceSurface> temp;
|
||||
if (GetType() == SurfaceType::DATA) {
|
||||
temp = this;
|
||||
} else {
|
||||
temp = new DataSourceSurfaceWrapper(this);
|
||||
}
|
||||
return temp;
|
||||
return (GetType() == SurfaceType::DATA) ? this : new DataSourceSurfaceWrapper(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -170,9 +170,8 @@ DrawTargetCG::Snapshot()
|
||||
if (!mSnapshot) {
|
||||
if (GetContextType(mCg) == CG_CONTEXT_TYPE_IOSURFACE) {
|
||||
return new SourceSurfaceCGIOSurfaceContext(this);
|
||||
} else {
|
||||
mSnapshot = new SourceSurfaceCGBitmapContext(this);
|
||||
}
|
||||
mSnapshot = new SourceSurfaceCGBitmapContext(this);
|
||||
}
|
||||
|
||||
return mSnapshot;
|
||||
@ -185,10 +184,9 @@ DrawTargetCG::CreateSimilarDrawTarget(const IntSize &aSize, SurfaceFormat aForma
|
||||
// to add that in somehow, but at a higher level
|
||||
RefPtr<DrawTargetCG> newTarget = new DrawTargetCG();
|
||||
if (newTarget->Init(GetType(), aSize, aFormat)) {
|
||||
return newTarget;
|
||||
} else {
|
||||
return nullptr;
|
||||
return newTarget.forget();
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
TemporaryRef<SourceSurface>
|
||||
@ -199,11 +197,11 @@ DrawTargetCG::CreateSourceSurfaceFromData(unsigned char *aData,
|
||||
{
|
||||
RefPtr<SourceSurfaceCG> newSurf = new SourceSurfaceCG();
|
||||
|
||||
if (!newSurf->InitFromData(aData, aSize, aStride, aFormat)) {
|
||||
if (!newSurf->InitFromData(aData, aSize, aStride, aFormat)) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return newSurf;
|
||||
return newSurf.forget();
|
||||
}
|
||||
|
||||
// This function returns a retained CGImage that needs to be released after
|
||||
@ -1447,8 +1445,7 @@ DrawTargetCG::Init(BackendType aType, const IntSize &aSize, SurfaceFormat &aForm
|
||||
TemporaryRef<PathBuilder>
|
||||
DrawTargetCG::CreatePathBuilder(FillRule aFillRule) const
|
||||
{
|
||||
RefPtr<PathBuilderCG> pb = new PathBuilderCG(aFillRule);
|
||||
return pb;
|
||||
return new PathBuilderCG(aFillRule);
|
||||
}
|
||||
|
||||
void*
|
||||
|
@ -976,9 +976,7 @@ DrawTargetCairo::PopClip()
|
||||
TemporaryRef<PathBuilder>
|
||||
DrawTargetCairo::CreatePathBuilder(FillRule aFillRule /* = FillRule::FILL_WINDING */) const
|
||||
{
|
||||
RefPtr<PathBuilderCairo> builder = new PathBuilderCairo(aFillRule);
|
||||
|
||||
return builder;
|
||||
return new PathBuilderCairo(aFillRule);
|
||||
}
|
||||
|
||||
void
|
||||
@ -998,9 +996,7 @@ TemporaryRef<GradientStops>
|
||||
DrawTargetCairo::CreateGradientStops(GradientStop *aStops, uint32_t aNumStops,
|
||||
ExtendMode aExtendMode) const
|
||||
{
|
||||
RefPtr<GradientStopsCairo> stops = new GradientStopsCairo(aStops, aNumStops,
|
||||
aExtendMode);
|
||||
return stops;
|
||||
return new GradientStopsCairo(aStops, aNumStops, aExtendMode);
|
||||
}
|
||||
|
||||
TemporaryRef<FilterNode>
|
||||
@ -1059,7 +1055,7 @@ DrawTargetCairo::CreateSourceSurfaceFromData(unsigned char *aData,
|
||||
RefPtr<SourceSurfaceCairo> source_surf = new SourceSurfaceCairo(surf, aSize, aFormat);
|
||||
cairo_surface_destroy(surf);
|
||||
|
||||
return source_surf;
|
||||
return source_surf.forget();
|
||||
}
|
||||
|
||||
#ifdef CAIRO_HAS_XLIB_SURFACE
|
||||
@ -1156,10 +1152,7 @@ DrawTargetCairo::OptimizeSourceSurface(SourceSurface *aSurface) const
|
||||
IntPoint(0, 0));
|
||||
dt->Flush();
|
||||
|
||||
RefPtr<SourceSurface> surf =
|
||||
new SourceSurfaceCairo(csurf, size, format);
|
||||
|
||||
return surf;
|
||||
return new SourceSurfaceCairo(csurf, size, format);
|
||||
#endif
|
||||
|
||||
return aSurface;
|
||||
@ -1175,9 +1168,7 @@ DrawTargetCairo::CreateSourceSurfaceFromNativeSurface(const NativeSurface &aSurf
|
||||
return nullptr;
|
||||
}
|
||||
cairo_surface_t* surf = static_cast<cairo_surface_t*>(aSurface.mSurface);
|
||||
RefPtr<SourceSurfaceCairo> source =
|
||||
new SourceSurfaceCairo(surf, aSurface.mSize, aSurface.mFormat);
|
||||
return source;
|
||||
return new SourceSurfaceCairo(surf, aSurface.mSize, aSurface.mFormat);
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
@ -1193,7 +1184,7 @@ DrawTargetCairo::CreateSimilarDrawTarget(const IntSize &aSize, SurfaceFormat aFo
|
||||
if (!cairo_surface_status(similar)) {
|
||||
RefPtr<DrawTargetCairo> target = new DrawTargetCairo();
|
||||
target->InitAlreadyReferenced(similar, aSize);
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
@ -1234,7 +1225,7 @@ DrawTargetCairo::CreateShadowDrawTarget(const IntSize &aSize, SurfaceFormat aFor
|
||||
if (aSigma == 0.0F) {
|
||||
RefPtr<DrawTargetCairo> target = new DrawTargetCairo();
|
||||
target->InitAlreadyReferenced(similar, aSize);
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
cairo_surface_t* blursurf = cairo_image_surface_create(CAIRO_FORMAT_A8,
|
||||
@ -1257,7 +1248,7 @@ DrawTargetCairo::CreateShadowDrawTarget(const IntSize &aSize, SurfaceFormat aFor
|
||||
|
||||
RefPtr<DrawTargetCairo> target = new DrawTargetCairo();
|
||||
target->InitAlreadyReferenced(tee, aSize);
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -1198,7 +1198,7 @@ DrawTargetD2D::CreateSourceSurfaceFromData(unsigned char *aData,
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return newSurf;
|
||||
return newSurf.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<SourceSurface>
|
||||
@ -1222,9 +1222,9 @@ DrawTargetD2D::OptimizeSourceSurface(SourceSurface *aSurface) const
|
||||
data->Unmap();
|
||||
|
||||
if (!success) {
|
||||
return data;
|
||||
return data.forget();
|
||||
}
|
||||
return newSurf;
|
||||
return newSurf.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<SourceSurface>
|
||||
@ -1244,7 +1244,7 @@ DrawTargetD2D::CreateSourceSurfaceFromNativeSurface(const NativeSurface &aSurfac
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return newSurf;
|
||||
return newSurf.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<DrawTarget>
|
||||
@ -1258,7 +1258,7 @@ DrawTargetD2D::CreateSimilarDrawTarget(const IntSize &aSize, SurfaceFormat aForm
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return newTarget;
|
||||
return newTarget.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<PathBuilder>
|
||||
@ -1498,7 +1498,7 @@ DrawTargetD2D::GetCachedLayer()
|
||||
}
|
||||
|
||||
mCurrentCachedLayer++;
|
||||
return layer;
|
||||
return layer.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -1982,7 +1982,7 @@ DrawTargetD2D::CreateRTForTexture(ID3D10Texture2D *aTexture, SurfaceFormat aForm
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return rt;
|
||||
return rt.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -2282,7 +2282,7 @@ DrawTargetD2D::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
if (!IsPatternSupportedByD2D(aPattern)) {
|
||||
RefPtr<ID2D1SolidColorBrush> colBrush;
|
||||
mRT->CreateSolidColorBrush(D2D1::ColorF(1.0f, 1.0f, 1.0f, 1.0f), byRef(colBrush));
|
||||
return colBrush;
|
||||
return colBrush.forget();
|
||||
}
|
||||
|
||||
if (aPattern.GetType() == PatternType::COLOR) {
|
||||
@ -2292,8 +2292,9 @@ DrawTargetD2D::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
color.b, color.a),
|
||||
D2D1::BrushProperties(aAlpha),
|
||||
byRef(colBrush));
|
||||
return colBrush;
|
||||
} else if (aPattern.GetType() == PatternType::LINEAR_GRADIENT) {
|
||||
return colBrush.forget();
|
||||
}
|
||||
if (aPattern.GetType() == PatternType::LINEAR_GRADIENT) {
|
||||
RefPtr<ID2D1LinearGradientBrush> gradBrush;
|
||||
const LinearGradientPattern *pat =
|
||||
static_cast<const LinearGradientPattern*>(&aPattern);
|
||||
@ -2313,7 +2314,7 @@ DrawTargetD2D::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
mRT->CreateSolidColorBrush(d2dStops.back().color,
|
||||
D2D1::BrushProperties(aAlpha),
|
||||
byRef(colBrush));
|
||||
return colBrush;
|
||||
return colBrush.forget();
|
||||
}
|
||||
|
||||
mRT->CreateLinearGradientBrush(D2D1::LinearGradientBrushProperties(D2DPoint(pat->mBegin),
|
||||
@ -2321,8 +2322,9 @@ DrawTargetD2D::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
D2D1::BrushProperties(aAlpha, D2DMatrix(pat->mMatrix)),
|
||||
stops->mStopCollection,
|
||||
byRef(gradBrush));
|
||||
return gradBrush;
|
||||
} else if (aPattern.GetType() == PatternType::RADIAL_GRADIENT) {
|
||||
return gradBrush.forget();
|
||||
}
|
||||
if (aPattern.GetType() == PatternType::RADIAL_GRADIENT) {
|
||||
RefPtr<ID2D1RadialGradientBrush> gradBrush;
|
||||
const RadialGradientPattern *pat =
|
||||
static_cast<const RadialGradientPattern*>(&aPattern);
|
||||
@ -2343,8 +2345,9 @@ DrawTargetD2D::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
stops->mStopCollection,
|
||||
byRef(gradBrush));
|
||||
|
||||
return gradBrush;
|
||||
} else if (aPattern.GetType() == PatternType::SURFACE) {
|
||||
return gradBrush.forget();
|
||||
}
|
||||
if (aPattern.GetType() == PatternType::SURFACE) {
|
||||
RefPtr<ID2D1BitmapBrush> bmBrush;
|
||||
const SurfacePattern *pat =
|
||||
static_cast<const SurfacePattern*>(&aPattern);
|
||||
@ -2401,7 +2404,7 @@ DrawTargetD2D::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
D2D1::BrushProperties(aAlpha, D2DMatrix(mat)),
|
||||
byRef(bmBrush));
|
||||
|
||||
return bmBrush;
|
||||
return bmBrush.forget();
|
||||
}
|
||||
|
||||
gfxWarning() << "Invalid pattern type detected.";
|
||||
@ -2477,7 +2480,7 @@ DrawTargetD2D::CreateGradientTexture(const GradientStopsD2D *aStops)
|
||||
RefPtr<ID3D10Texture2D> tex;
|
||||
mDevice->CreateTexture2D(&desc, &data, byRef(tex));
|
||||
|
||||
return tex;
|
||||
return tex.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<ID3D10Texture2D>
|
||||
@ -2542,7 +2545,7 @@ DrawTargetD2D::CreateTextureForAnalysis(IDWriteGlyphRunAnalysis *aAnalysis, cons
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return tex;
|
||||
return tex.forget();
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -533,7 +533,7 @@ DrawTargetD2D1::CreateSimilarDrawTarget(const IntSize &aSize, SurfaceFormat aFor
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return dt;
|
||||
return dt.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<PathBuilder>
|
||||
@ -797,7 +797,7 @@ DrawTargetD2D1::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
if (!IsPatternSupportedByD2D(aPattern)) {
|
||||
RefPtr<ID2D1SolidColorBrush> colBrush;
|
||||
mDC->CreateSolidColorBrush(D2D1::ColorF(1.0f, 1.0f, 1.0f, 1.0f), byRef(colBrush));
|
||||
return colBrush;
|
||||
return colBrush.forget();
|
||||
}
|
||||
|
||||
if (aPattern.GetType() == PatternType::COLOR) {
|
||||
@ -807,8 +807,9 @@ DrawTargetD2D1::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
color.b, color.a),
|
||||
D2D1::BrushProperties(aAlpha),
|
||||
byRef(colBrush));
|
||||
return colBrush;
|
||||
} else if (aPattern.GetType() == PatternType::LINEAR_GRADIENT) {
|
||||
return colBrush.forget();
|
||||
}
|
||||
if (aPattern.GetType() == PatternType::LINEAR_GRADIENT) {
|
||||
RefPtr<ID2D1LinearGradientBrush> gradBrush;
|
||||
const LinearGradientPattern *pat =
|
||||
static_cast<const LinearGradientPattern*>(&aPattern);
|
||||
@ -828,7 +829,7 @@ DrawTargetD2D1::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
mDC->CreateSolidColorBrush(d2dStops.back().color,
|
||||
D2D1::BrushProperties(aAlpha),
|
||||
byRef(colBrush));
|
||||
return colBrush;
|
||||
return colBrush.forget();
|
||||
}
|
||||
|
||||
mDC->CreateLinearGradientBrush(D2D1::LinearGradientBrushProperties(D2DPoint(pat->mBegin),
|
||||
@ -836,8 +837,9 @@ DrawTargetD2D1::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
D2D1::BrushProperties(aAlpha, D2DMatrix(pat->mMatrix)),
|
||||
stops->mStopCollection,
|
||||
byRef(gradBrush));
|
||||
return gradBrush;
|
||||
} else if (aPattern.GetType() == PatternType::RADIAL_GRADIENT) {
|
||||
return gradBrush.forget();
|
||||
}
|
||||
if (aPattern.GetType() == PatternType::RADIAL_GRADIENT) {
|
||||
RefPtr<ID2D1RadialGradientBrush> gradBrush;
|
||||
const RadialGradientPattern *pat =
|
||||
static_cast<const RadialGradientPattern*>(&aPattern);
|
||||
@ -855,11 +857,12 @@ DrawTargetD2D1::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
D2DPoint(pat->mCenter1 - pat->mCenter2),
|
||||
pat->mRadius2, pat->mRadius2),
|
||||
D2D1::BrushProperties(aAlpha, D2DMatrix(pat->mMatrix)),
|
||||
stops->mStopCollection,
|
||||
byRef(gradBrush));
|
||||
stops->mStopCollection,
|
||||
byRef(gradBrush));
|
||||
|
||||
return gradBrush;
|
||||
} else if (aPattern.GetType() == PatternType::SURFACE) {
|
||||
return gradBrush.forget();
|
||||
}
|
||||
if (aPattern.GetType() == PatternType::SURFACE) {
|
||||
const SurfacePattern *pat =
|
||||
static_cast<const SurfacePattern*>(&aPattern);
|
||||
|
||||
@ -881,7 +884,7 @@ DrawTargetD2D1::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
D2DInterpolationMode(pat->mFilter)),
|
||||
D2D1::BrushProperties(aAlpha, D2DMatrix(mat)),
|
||||
byRef(imageBrush));
|
||||
return imageBrush;
|
||||
return imageBrush.forget();
|
||||
}
|
||||
|
||||
gfxWarning() << "Invalid pattern type detected.";
|
||||
@ -909,16 +912,13 @@ DrawTargetD2D1::GetImageForSurface(SourceSurface *aSurface, Matrix &aSourceTrans
|
||||
gfxWarning() << "Invalid surface type.";
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
image = CreatePartialBitmapForSurface(dataSurf, mTransform, mSize, aExtendMode,
|
||||
aSourceTransform, mDC);
|
||||
|
||||
return image;
|
||||
return CreatePartialBitmapForSurface(dataSurf, mTransform, mSize, aExtendMode,
|
||||
aSourceTransform, mDC);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return image;
|
||||
return image.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<SourceSurface>
|
||||
@ -943,7 +943,7 @@ DrawTargetD2D1::OptimizeSourceSurface(SourceSurface* aSurface) const
|
||||
data->Unmap();
|
||||
|
||||
if (!bitmap) {
|
||||
return data;
|
||||
return data.forget();
|
||||
}
|
||||
|
||||
return new SourceSurfaceD2D1(bitmap.get(), mDC, data->GetFormat(), data->GetSize());
|
||||
|
@ -371,7 +371,7 @@ DrawTargetRecording::Snapshot()
|
||||
|
||||
mRecorder->RecordEvent(RecordedSnapshot(retSurf, this));
|
||||
|
||||
return retSurf;
|
||||
return retSurf.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -416,7 +416,7 @@ DrawTargetRecording::CreateFilter(FilterType aType)
|
||||
|
||||
mRecorder->RecordEvent(RecordedFilterNodeCreation(retNode, aType));
|
||||
|
||||
return retNode;
|
||||
return retNode.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -470,7 +470,7 @@ DrawTargetRecording::CreateSourceSurfaceFromData(unsigned char *aData,
|
||||
|
||||
mRecorder->RecordEvent(RecordedSourceSurfaceCreation(retSurf, aData, aStride, aSize, aFormat));
|
||||
|
||||
return retSurf;
|
||||
return retSurf.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<SourceSurface>
|
||||
@ -503,7 +503,7 @@ DrawTargetRecording::OptimizeSourceSurface(SourceSurface *aSurface) const
|
||||
dataSurf->GetSize(), dataSurf->GetFormat()));
|
||||
}
|
||||
|
||||
return retSurf;
|
||||
return retSurf.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<SourceSurface>
|
||||
@ -531,17 +531,14 @@ DrawTargetRecording::CreateSourceSurfaceFromNativeSurface(const NativeSurface &a
|
||||
dataSurf->GetSize(), dataSurf->GetFormat()));
|
||||
}
|
||||
|
||||
return retSurf;
|
||||
return retSurf.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<DrawTarget>
|
||||
DrawTargetRecording::CreateSimilarDrawTarget(const IntSize &aSize, SurfaceFormat aFormat) const
|
||||
{
|
||||
RefPtr<DrawTarget> dt = mFinalDT->CreateSimilarDrawTarget(aSize, aFormat);
|
||||
|
||||
RefPtr<DrawTarget> retDT = new DrawTargetRecording(mRecorder.get(), dt);
|
||||
|
||||
return retDT;
|
||||
return new DrawTargetRecording(mRecorder.get(), dt);
|
||||
}
|
||||
|
||||
TemporaryRef<PathBuilder>
|
||||
@ -562,7 +559,7 @@ DrawTargetRecording::CreateGradientStops(GradientStop *aStops,
|
||||
|
||||
mRecorder->RecordEvent(RecordedGradientStopsCreation(retStops, aStops, aNumStops, aExtendMode));
|
||||
|
||||
return retStops;
|
||||
return retStops.forget();
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -135,7 +135,7 @@ DrawTargetSkia::Snapshot()
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return snapshot;
|
||||
return snapshot.forget();
|
||||
}
|
||||
|
||||
static void
|
||||
@ -587,7 +587,7 @@ DrawTargetSkia::CreateSourceSurfaceFromData(unsigned char *aData,
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return newSurf;
|
||||
return newSurf.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<DrawTarget>
|
||||
@ -597,7 +597,7 @@ DrawTargetSkia::CreateSimilarDrawTarget(const IntSize &aSize, SurfaceFormat aFor
|
||||
if (!target->Init(aSize, aFormat)) {
|
||||
return nullptr;
|
||||
}
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
bool
|
||||
@ -638,7 +638,7 @@ DrawTargetSkia::OptimizeSourceSurface(SourceSurface *aSurface) const
|
||||
map.mStride,
|
||||
dataSurf->GetFormat());
|
||||
dataSurf->Unmap();
|
||||
return result;
|
||||
return result.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<SourceSurface>
|
||||
@ -808,8 +808,7 @@ DrawTargetSkia::GetNativeSurface(NativeSurfaceType aType)
|
||||
TemporaryRef<PathBuilder>
|
||||
DrawTargetSkia::CreatePathBuilder(FillRule aFillRule) const
|
||||
{
|
||||
RefPtr<PathBuilderSkia> pb = new PathBuilderSkia(aFillRule);
|
||||
return pb;
|
||||
return new PathBuilderSkia(aFillRule);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -76,7 +76,7 @@ public:
|
||||
}
|
||||
surf->Unmap();
|
||||
|
||||
return surf;
|
||||
return surf.forget();
|
||||
}
|
||||
private:
|
||||
vector<RefPtr<SourceSurface>> mSnapshots;
|
||||
|
@ -299,9 +299,7 @@ Factory::CreateDrawTarget(BackendType aBackend, const IntSize &aSize, SurfaceFor
|
||||
}
|
||||
|
||||
if (mRecorder && retVal) {
|
||||
RefPtr<DrawTarget> recordDT;
|
||||
recordDT = new DrawTargetRecording(mRecorder, retVal);
|
||||
return recordDT;
|
||||
return new DrawTargetRecording(mRecorder, retVal);
|
||||
}
|
||||
|
||||
if (!retVal) {
|
||||
@ -309,7 +307,7 @@ Factory::CreateDrawTarget(BackendType aBackend, const IntSize &aSize, SurfaceFor
|
||||
gfxDebug() << "Failed to create DrawTarget, Type: " << int(aBackend) << " Size: " << aSize;
|
||||
}
|
||||
|
||||
return retVal;
|
||||
return retVal.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<DrawTarget>
|
||||
@ -347,7 +345,7 @@ Factory::CreateDrawTargetForData(BackendType aBackend,
|
||||
{
|
||||
RefPtr<DrawTargetCG> newTarget = new DrawTargetCG();
|
||||
if (newTarget->Init(aBackend, aData, aSize, aStride, aFormat))
|
||||
return newTarget;
|
||||
return newTarget.forget();
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
@ -357,7 +355,7 @@ Factory::CreateDrawTargetForData(BackendType aBackend,
|
||||
RefPtr<DrawTargetCairo> newTarget;
|
||||
newTarget = new DrawTargetCairo();
|
||||
if (newTarget->Init(aData, aSize, aStride, aFormat)) {
|
||||
retVal = newTarget;
|
||||
retVal = newTarget.forget();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -368,15 +366,14 @@ Factory::CreateDrawTargetForData(BackendType aBackend,
|
||||
}
|
||||
|
||||
if (mRecorder && retVal) {
|
||||
RefPtr<DrawTarget> recordDT = new DrawTargetRecording(mRecorder, retVal, true);
|
||||
return recordDT;
|
||||
return new DrawTargetRecording(mRecorder, retVal, true);
|
||||
}
|
||||
|
||||
if (!retVal) {
|
||||
gfxDebug() << "Failed to create DrawTarget, Type: " << int(aBackend) << " Size: " << aSize;
|
||||
}
|
||||
|
||||
return retVal;
|
||||
return retVal.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<DrawTarget>
|
||||
@ -388,7 +385,7 @@ Factory::CreateTiledDrawTarget(const TileSet& aTileSet)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return dt;
|
||||
return dt.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<ScaledFont>
|
||||
@ -453,7 +450,7 @@ Factory::CreateScaledFontWithCairo(const NativeFont& aNativeFont, Float aSize, c
|
||||
// Therefore, we just reuse CreateScaledFontForNativeFont's implementation.
|
||||
RefPtr<ScaledFont> font = CreateScaledFontForNativeFont(aNativeFont, aSize);
|
||||
static_cast<ScaledFontBase*>(font.get())->SetCairoScaledFont(aScaledFont);
|
||||
return font;
|
||||
return font.forget();
|
||||
#else
|
||||
return nullptr;
|
||||
#endif
|
||||
@ -471,7 +468,7 @@ Factory::CreateDualDrawTarget(DrawTarget *targetA, DrawTarget *targetB)
|
||||
retVal = new DrawTargetRecording(mRecorder, retVal);
|
||||
}
|
||||
|
||||
return retVal;
|
||||
return retVal.forget();
|
||||
}
|
||||
|
||||
|
||||
@ -489,7 +486,7 @@ Factory::CreateDrawTargetForD3D10Texture(ID3D10Texture2D *aTexture, SurfaceForma
|
||||
retVal = new DrawTargetRecording(mRecorder, retVal, true);
|
||||
}
|
||||
|
||||
return retVal;
|
||||
return retVal.forget();
|
||||
}
|
||||
|
||||
gfxWarning() << "Failed to create draw target for D3D10 texture.";
|
||||
@ -527,7 +524,7 @@ Factory::CreateDualDrawTargetForD3D10Textures(ID3D10Texture2D *aTextureA,
|
||||
retVal = new DrawTargetRecording(mRecorder, retVal);
|
||||
}
|
||||
|
||||
return retVal;
|
||||
return retVal.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -571,10 +568,7 @@ Factory::GetD2D1Device()
|
||||
TemporaryRef<GlyphRenderingOptions>
|
||||
Factory::CreateDWriteGlyphRenderingOptions(IDWriteRenderingParams *aParams)
|
||||
{
|
||||
RefPtr<GlyphRenderingOptions> options =
|
||||
new GlyphRenderingOptionsDWrite(aParams);
|
||||
|
||||
return options;
|
||||
return new GlyphRenderingOptionsDWrite(aParams);
|
||||
}
|
||||
|
||||
uint64_t
|
||||
@ -607,7 +601,7 @@ Factory::CreateDrawTargetSkiaWithGrContext(GrContext* aGrContext,
|
||||
if (!newTarget->InitWithGrContext(aGrContext, aSize, aFormat)) {
|
||||
return nullptr;
|
||||
}
|
||||
return newTarget;
|
||||
return newTarget.forget();
|
||||
}
|
||||
|
||||
#endif // USE_SKIA_GPU
|
||||
@ -626,7 +620,7 @@ Factory::CreateCairoGlyphRenderingOptions(FontHinting aHinting, bool aAutoHintin
|
||||
|
||||
options->SetHinting(aHinting);
|
||||
options->SetAutoHinting(aAutoHinting);
|
||||
return options;
|
||||
return options.forget();
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -644,10 +638,10 @@ Factory::CreateDrawTargetForCairoSurface(cairo_surface_t* aSurface, const IntSiz
|
||||
|
||||
if (mRecorder && retVal) {
|
||||
RefPtr<DrawTarget> recordDT = new DrawTargetRecording(mRecorder, retVal, true);
|
||||
return recordDT;
|
||||
return recordDT.forget();
|
||||
}
|
||||
#endif
|
||||
return retVal;
|
||||
return retVal.forget();
|
||||
}
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
@ -663,10 +657,9 @@ Factory::CreateDrawTargetForCairoCGContext(CGContextRef cg, const IntSize& aSize
|
||||
}
|
||||
|
||||
if (mRecorder && retVal) {
|
||||
RefPtr<DrawTarget> recordDT = new DrawTargetRecording(mRecorder, retVal);
|
||||
return recordDT;
|
||||
return new DrawTargetRecording(mRecorder, retVal);
|
||||
}
|
||||
return retVal;
|
||||
return retVal.forget();
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -682,7 +675,7 @@ Factory::CreateWrappingDataSourceSurface(uint8_t *aData, int32_t aStride,
|
||||
RefPtr<SourceSurfaceRawData> newSurf = new SourceSurfaceRawData();
|
||||
|
||||
if (newSurf->InitWrappingData(aData, aSize, aStride, aFormat, false)) {
|
||||
return newSurf;
|
||||
return newSurf.forget();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
@ -698,7 +691,7 @@ Factory::CreateDataSourceSurface(const IntSize &aSize,
|
||||
|
||||
RefPtr<SourceSurfaceAlignedRawData> newSurf = new SourceSurfaceAlignedRawData();
|
||||
if (newSurf->Init(aSize, aFormat)) {
|
||||
return newSurf;
|
||||
return newSurf.forget();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
@ -715,7 +708,7 @@ Factory::CreateDataSourceSurfaceWithStride(const IntSize &aSize,
|
||||
|
||||
RefPtr<SourceSurfaceAlignedRawData> newSurf = new SourceSurfaceAlignedRawData();
|
||||
if (newSurf->InitWithStride(aSize, aFormat, aStride)) {
|
||||
return newSurf;
|
||||
return newSurf.forget();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
|
@ -282,7 +282,7 @@ CloneAligned(DataSourceSurface* aSource)
|
||||
if (copy) {
|
||||
CopyRect(aSource, copy, IntRect(IntPoint(), aSource->GetSize()), IntPoint());
|
||||
}
|
||||
return copy;
|
||||
return copy.forget();
|
||||
}
|
||||
|
||||
static void
|
||||
@ -518,7 +518,7 @@ GetDataSurfaceInRect(SourceSurface *aSurface,
|
||||
}
|
||||
|
||||
if (!aSurface) {
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
RefPtr<DataSourceSurface> dataSource = aSurface->GetDataSurface();
|
||||
@ -526,7 +526,7 @@ GetDataSurfaceInRect(SourceSurface *aSurface,
|
||||
|
||||
if (aEdgeMode == EDGE_MODE_WRAP) {
|
||||
TileSurface(dataSource, target, intersectInDestSpace.TopLeft());
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
CopyRect(dataSource, target, intersectInSourceSpace,
|
||||
@ -536,7 +536,7 @@ GetDataSurfaceInRect(SourceSurface *aSurface,
|
||||
DuplicateEdges(target, intersectInDestSpace);
|
||||
}
|
||||
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
/* static */ TemporaryRef<FilterNode>
|
||||
@ -623,7 +623,7 @@ FilterNodeSoftware::Create(FilterType aType)
|
||||
filter = new FilterNodeLightingSoftware<DistantLightSoftware, SpecularLightingSoftware>("FilterNodeLightingSoftware<DistantLight, SpecularLighting>");
|
||||
break;
|
||||
}
|
||||
return filter;
|
||||
return filter.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -857,7 +857,7 @@ FilterNodeSoftware::GetInputDataSourceSurface(uint32_t aInputEnumIndex,
|
||||
|
||||
MOZ_ASSERT(!result || result->GetSize() == aRect.Size(), "wrong surface size");
|
||||
|
||||
return result;
|
||||
return result.forget();
|
||||
}
|
||||
|
||||
IntRect
|
||||
@ -1022,7 +1022,7 @@ FilterNodeBlendSoftware::Render(const IntRect& aRect)
|
||||
}
|
||||
|
||||
// Third case: one of them is transparent. Return the non-transparent one.
|
||||
return input1 ? input1 : input2;
|
||||
return input1 ? input1.forget() : input2.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -1104,7 +1104,7 @@ FilterNodeTransformSoftware::Render(const IntRect& aRect)
|
||||
Matrix transform = Matrix::Translation(srcRect.x, srcRect.y) * mMatrix *
|
||||
Matrix::Translation(-aRect.x, -aRect.y);
|
||||
if (transform.IsIdentity() && srcRect.Size() == aRect.Size()) {
|
||||
return input;
|
||||
return input.forget();
|
||||
}
|
||||
|
||||
RefPtr<DrawTarget> dt =
|
||||
@ -1119,7 +1119,7 @@ FilterNodeTransformSoftware::Render(const IntRect& aRect)
|
||||
|
||||
RefPtr<SourceSurface> result = dt->Snapshot();
|
||||
RefPtr<DataSourceSurface> resultData = result->GetDataSurface();
|
||||
return resultData;
|
||||
return resultData.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -1229,7 +1229,7 @@ ApplyMorphology(const IntRect& aSourceRect, DataSourceSurface* aInput,
|
||||
tmpData, tmpStride, destData, destStride, destRect, ry, aOperator);
|
||||
}
|
||||
|
||||
return dest;
|
||||
return dest.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<DataSourceSurface>
|
||||
@ -1248,7 +1248,7 @@ FilterNodeMorphologySoftware::Render(const IntRect& aRect)
|
||||
int32_t ry = mRadii.height;
|
||||
|
||||
if (rx == 0 && ry == 0) {
|
||||
return input;
|
||||
return input.forget();
|
||||
}
|
||||
|
||||
return ApplyMorphology(srcRect, input, aRect, rx, ry, mOperator);
|
||||
@ -1325,7 +1325,7 @@ Premultiply(DataSourceSurface* aSurface)
|
||||
FilterProcessing::DoPremultiplicationCalculation(
|
||||
size, targetData, targetStride, inputData, inputStride);
|
||||
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
static TemporaryRef<DataSourceSurface>
|
||||
@ -1350,7 +1350,7 @@ Unpremultiply(DataSourceSurface* aSurface)
|
||||
FilterProcessing::DoUnpremultiplicationCalculation(
|
||||
size, targetData, targetStride, inputData, inputStride);
|
||||
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<DataSourceSurface>
|
||||
@ -1373,7 +1373,7 @@ FilterNodeColorMatrixSoftware::Render(const IntRect& aRect)
|
||||
result = Premultiply(result);
|
||||
}
|
||||
|
||||
return result;
|
||||
return result.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -1452,7 +1452,7 @@ FilterNodeFloodSoftware::Render(const IntRect& aRect)
|
||||
MOZ_CRASH();
|
||||
}
|
||||
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
// Override GetOutput to get around caching. Rendering simple floods is
|
||||
@ -1564,7 +1564,7 @@ FilterNodeTileSoftware::Render(const IntRect& aRect)
|
||||
}
|
||||
}
|
||||
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -1706,7 +1706,7 @@ FilterNodeComponentTransferSoftware::Render(const IntRect& aRect)
|
||||
|
||||
SurfaceFormat format = input->GetFormat();
|
||||
if (format == SurfaceFormat::A8 && mDisableA) {
|
||||
return input;
|
||||
return input.forget();
|
||||
}
|
||||
|
||||
RefPtr<DataSourceSurface> target =
|
||||
@ -1721,7 +1721,7 @@ FilterNodeComponentTransferSoftware::Render(const IntRect& aRect)
|
||||
TransferComponents<4>(input, target, lookupTables);
|
||||
}
|
||||
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -2426,7 +2426,7 @@ FilterNodeConvolveMatrixSoftware::DoRender(const IntRect& aRect,
|
||||
}
|
||||
delete[] intKernel;
|
||||
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -2567,7 +2567,7 @@ FilterNodeDisplacementMapSoftware::Render(const IntRect& aRect)
|
||||
}
|
||||
}
|
||||
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -2824,7 +2824,7 @@ FilterNodeCompositeSoftware::Render(const IntRect& aRect)
|
||||
}
|
||||
}
|
||||
}
|
||||
return dest;
|
||||
return dest.forget();
|
||||
}
|
||||
|
||||
void
|
||||
@ -3429,7 +3429,7 @@ FilterNodeLightingSoftware<LightType, LightingType>::DoRender(const IntRect& aRe
|
||||
}
|
||||
}
|
||||
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
DiffuseLightingSoftware::DiffuseLightingSoftware()
|
||||
|
@ -26,7 +26,7 @@ FilterProcessing::ExtractAlpha(DataSourceSurface* aSource)
|
||||
ExtractAlpha_Scalar(size, sourceData, sourceStride, alphaData, alphaStride);
|
||||
}
|
||||
|
||||
return alpha;
|
||||
return alpha.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<DataSourceSurface>
|
||||
@ -162,7 +162,7 @@ FilterProcessing::CombineColorChannels(DataSourceSurface* aChannel0, DataSourceS
|
||||
CombineColorChannels_Scalar(size, resultStride, resultData, channelStride, channel0Data, channel1Data, channel2Data, channel3Data);
|
||||
}
|
||||
|
||||
return result;
|
||||
return result.forget();
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -85,7 +85,7 @@ ApplyBlending_Scalar(DataSourceSurface* aInput1, DataSourceSurface* aInput2)
|
||||
}
|
||||
}
|
||||
|
||||
return target;
|
||||
return target.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<DataSourceSurface>
|
||||
|
@ -355,7 +355,7 @@ GetTransformedGeometry(ID2D1Geometry *aGeometry, const D2D1_MATRIX_3X2_F &aTrans
|
||||
aGeometry->Simplify(D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES,
|
||||
aTransform, currentSink);
|
||||
currentSink->Close();
|
||||
return tmpGeometry;
|
||||
return tmpGeometry.forget();
|
||||
}
|
||||
|
||||
static TemporaryRef<ID2D1Geometry>
|
||||
@ -368,7 +368,7 @@ IntersectGeometry(ID2D1Geometry *aGeometryA, ID2D1Geometry *aGeometryB)
|
||||
aGeometryA->CombineWithGeometry(aGeometryB, D2D1_COMBINE_MODE_INTERSECT, nullptr, sink);
|
||||
sink->Close();
|
||||
|
||||
return pathGeom;
|
||||
return pathGeom.forget();
|
||||
}
|
||||
|
||||
static TemporaryRef<ID2D1StrokeStyle>
|
||||
@ -442,7 +442,7 @@ CreateStrokeStyleForOptions(const StrokeOptions &aStrokeOptions)
|
||||
gfxWarning() << "Failed to create Direct2D stroke style.";
|
||||
}
|
||||
|
||||
return style;
|
||||
return style.forget();
|
||||
}
|
||||
|
||||
// This creates a (partially) uploaded bitmap for a DataSourceSurface. It
|
||||
@ -525,7 +525,7 @@ CreatePartialBitmapForSurface(DataSourceSurface *aSurface, const Matrix &aDestin
|
||||
|
||||
aSourceTransform.Translate(uploadRect.x, uploadRect.y);
|
||||
|
||||
return bitmap;
|
||||
return bitmap.forget();
|
||||
} else {
|
||||
int Bpp = BytesPerPixel(aSurface->GetFormat());
|
||||
|
||||
@ -571,7 +571,7 @@ CreatePartialBitmapForSurface(DataSourceSurface *aSurface, const Matrix &aDestin
|
||||
|
||||
aSourceTransform.Scale(Float(size.width / newSize.width),
|
||||
Float(size.height / newSize.height));
|
||||
return bitmap;
|
||||
return bitmap.forget();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -100,16 +100,14 @@ PathBuilderCG::EnsureActive(const Point &aPoint)
|
||||
TemporaryRef<Path>
|
||||
PathBuilderCG::Finish()
|
||||
{
|
||||
RefPtr<PathCG> path = new PathCG(mCGPath, mFillRule);
|
||||
return path;
|
||||
return new PathCG(mCGPath, mFillRule);
|
||||
}
|
||||
|
||||
TemporaryRef<PathBuilder>
|
||||
PathCG::CopyToBuilder(FillRule aFillRule) const
|
||||
{
|
||||
CGMutablePathRef path = CGPathCreateMutableCopy(mPath);
|
||||
RefPtr<PathBuilderCG> builder = new PathBuilderCG(path, aFillRule);
|
||||
return builder;
|
||||
return new PathBuilderCG(path, aFillRule);
|
||||
}
|
||||
|
||||
|
||||
@ -169,8 +167,7 @@ PathCG::TransformedCopyToBuilder(const Matrix &aTransform, FillRule aFillRule) c
|
||||
ta.transform = GfxMatrixToCGAffineTransform(aTransform);
|
||||
|
||||
CGPathApply(mPath, &ta, TransformApplier::TranformCGPathApplierFunc);
|
||||
RefPtr<PathBuilderCG> builder = new PathBuilderCG(ta.path, aFillRule);
|
||||
return builder;
|
||||
return new PathBuilderCG(ta.path, aFillRule);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -167,7 +167,7 @@ PathCairo::CopyToBuilder(FillRule aFillRule) const
|
||||
builder->mPathData = mPathData;
|
||||
builder->mCurrentPoint = mCurrentPoint;
|
||||
|
||||
return builder;
|
||||
return builder.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<PathBuilder>
|
||||
@ -178,7 +178,7 @@ PathCairo::TransformedCopyToBuilder(const Matrix &aTransform, FillRule aFillRule
|
||||
AppendPathToBuilder(builder, &aTransform);
|
||||
builder->mCurrentPoint = aTransform * mCurrentPoint;
|
||||
|
||||
return builder;
|
||||
return builder.forget();
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -353,7 +353,7 @@ PathD2D::TransformedCopyToBuilder(const Matrix &aTransform, FillRule aFillRule)
|
||||
pathBuilder->mFigureActive = true;
|
||||
}
|
||||
|
||||
return pathBuilder;
|
||||
return pathBuilder.forget();
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -90,7 +90,7 @@ PathRecording::CopyToBuilder(FillRule aFillRule) const
|
||||
RefPtr<PathBuilder> pathBuilder = mPath->CopyToBuilder(aFillRule);
|
||||
RefPtr<PathBuilderRecording> recording = new PathBuilderRecording(pathBuilder, aFillRule);
|
||||
recording->mPathOps = mPathOps;
|
||||
return recording;
|
||||
return recording.forget();
|
||||
}
|
||||
|
||||
TemporaryRef<PathBuilder>
|
||||
@ -113,7 +113,7 @@ PathRecording::TransformedCopyToBuilder(const Matrix &aTransform, FillRule aFill
|
||||
}
|
||||
recording->mPathOps.push_back(newPathOp);
|
||||
}
|
||||
return recording;
|
||||
return recording.forget();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -105,8 +105,7 @@ PathBuilderSkia::CurrentPoint() const
|
||||
TemporaryRef<Path>
|
||||
PathBuilderSkia::Finish()
|
||||
{
|
||||
RefPtr<PathSkia> path = new PathSkia(mPath, mFillRule);
|
||||
return path;
|
||||
return new PathSkia(mPath, mFillRule);
|
||||
}
|
||||
|
||||
void
|
||||
@ -124,8 +123,7 @@ PathSkia::CopyToBuilder(FillRule aFillRule) const
|
||||
TemporaryRef<PathBuilder>
|
||||
PathSkia::TransformedCopyToBuilder(const Matrix &aTransform, FillRule aFillRule) const
|
||||
{
|
||||
RefPtr<PathBuilderSkia> builder = new PathBuilderSkia(aTransform, mPath, aFillRule);
|
||||
return builder;
|
||||
return new PathBuilderSkia(aTransform, mPath, aFillRule);
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -379,7 +379,7 @@ RadialGradientEffectD2D1::CreateGradientTexture()
|
||||
gfxWarning() << "Failed to create resource texture: " << hr;
|
||||
}
|
||||
|
||||
return tex;
|
||||
return tex.forget();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -118,7 +118,7 @@ ScaledFontBase::GetPathForGlyphs(const GlyphBuffer &aBuffer, const DrawTarget *a
|
||||
cairo_destroy(ctx);
|
||||
}
|
||||
|
||||
return newPath;
|
||||
return newPath.forget();
|
||||
}
|
||||
#endif
|
||||
return nullptr;
|
||||
|
@ -96,9 +96,8 @@ ScaledFontMac::GetPathForGlyphs(const GlyphBuffer &aBuffer, const DrawTarget *aT
|
||||
TemporaryRef<Path> ret = new PathCG(path, FillRule::FILL_WINDING);
|
||||
CGPathRelease(path);
|
||||
return ret;
|
||||
} else {
|
||||
return ScaledFontBase::GetPathForGlyphs(aBuffer, aTarget);
|
||||
}
|
||||
return ScaledFontBase::GetPathForGlyphs(aBuffer, aTarget);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -43,9 +43,7 @@ SourceSurfaceCG::GetDataSurface()
|
||||
|
||||
// We also need to make sure that the returned surface has
|
||||
// surface->GetType() == SurfaceType::DATA.
|
||||
dataSurf = new DataSourceSurfaceWrapper(dataSurf);
|
||||
|
||||
return dataSurf;
|
||||
return new DataSourceSurfaceWrapper(dataSurf);
|
||||
}
|
||||
|
||||
static void releaseCallback(void *info, const void *data, size_t size) {
|
||||
|
@ -81,9 +81,7 @@ SourceSurfaceCairo::GetDataSurface()
|
||||
|
||||
// We also need to make sure that the returned surface has
|
||||
// surface->GetType() == SurfaceType::DATA.
|
||||
dataSurf = new DataSourceSurfaceWrapper(dataSurf);
|
||||
|
||||
return dataSurf;
|
||||
return new DataSourceSurfaceWrapper(dataSurf);
|
||||
}
|
||||
|
||||
cairo_surface_t*
|
||||
|
@ -45,7 +45,7 @@ SourceSurfaceD2D::GetDataSurface()
|
||||
{
|
||||
RefPtr<DataSourceSurfaceD2D> result = new DataSourceSurfaceD2D(this);
|
||||
if (result->IsValid()) {
|
||||
return result;
|
||||
return result.forget();
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ SourceSurfaceD2DTarget::GetDataSurface()
|
||||
}
|
||||
Factory::GetDirect3D10Device()->CopyResource(dataSurf->mTexture, mTexture);
|
||||
|
||||
return dataSurf;
|
||||
return dataSurf.forget();
|
||||
}
|
||||
|
||||
void*
|
||||
|
Loading…
Reference in New Issue
Block a user