Bug 1058040, part 14 - Have nsImageBoxFrame pass context paint to VectorImage. r=dholbert

This commit is contained in:
Jonathan Watt 2017-02-03 22:21:29 +00:00
Родитель 6bb704eb39
Коммит 33ff412f21
1 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -52,6 +52,7 @@
#include "mozilla/EventDispatcher.h" #include "mozilla/EventDispatcher.h"
#include "mozilla/Maybe.h" #include "mozilla/Maybe.h"
#include "SVGImageContext.h" #include "SVGImageContext.h"
#include "Units.h"
#define ONLOAD_CALLED_TOO_EARLY 1 #define ONLOAD_CALLED_TOO_EARLY 1
@ -404,13 +405,19 @@ nsImageBoxFrame::PaintImage(nsRenderingContext& aRenderingContext,
anchorPoint.ptr()); anchorPoint.ptr());
} }
Maybe<SVGImageContext> svgContext;
if (imgCon->GetType() == imgIContainer::TYPE_VECTOR) {
// We avoid this overhead for raster images.
svgContext.emplace();
svgContext->MaybeStoreContextPaint(this);
}
return nsLayoutUtils::DrawSingleImage( return nsLayoutUtils::DrawSingleImage(
*aRenderingContext.ThebesContext(), *aRenderingContext.ThebesContext(),
PresContext(), imgCon, PresContext(), imgCon,
nsLayoutUtils::GetSamplingFilterForFrame(this), nsLayoutUtils::GetSamplingFilterForFrame(this),
dest, dirty, dest, dirty,
/* no SVGImageContext */ Nothing(), aFlags, svgContext, aFlags,
anchorPoint.ptrOr(nullptr), anchorPoint.ptrOr(nullptr),
hasSubRect ? &mSubRect : nullptr); hasSubRect ? &mSubRect : nullptr);
} }