This commit is contained in:
Ms2ger 2012-05-18 13:32:47 +02:00
Родитель 81cb351df1 77bfd58e45
Коммит e292b33b2f
4 изменённых файлов: 19 добавлений и 16 удалений

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

@ -36,7 +36,7 @@
* ***** END LICENSE BLOCK ***** */
#include "SVGFragmentIdentifier.h"
#include "CharTokenizer.h"
#include "mozilla/CharTokenizer.h"
#include "nsIDOMSVGDocument.h"
#include "nsSVGSVGElement.h"
#include "nsSVGViewElement.h"
@ -52,9 +52,11 @@ static nsSVGEnumMapping sZoomAndPanMap[] = {
static bool
IsMatchingParameter(const nsAString &aString, const nsAString &aParameterName)
{
// The first two tests ensure aString.Length() > aParameterName.Length()
// so it's then safe to do the third test
return StringBeginsWith(aString, aParameterName) &&
aString.CharAt(aParameterName.Length()) == '(' &&
aString.Last() == ')';
aString.Last() == ')' &&
aString.CharAt(aParameterName.Length()) == '(';
}
static nsSVGViewElement*

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

@ -174,8 +174,9 @@ fails == inline-in-xul-basic-01.xul pass.svg
== mask-transformed-01.svg mask-transformed-01-ref.svg
== nested-viewBox-01.svg pass.svg
== nesting-invalid-01.svg nesting-invalid-01-ref.svg
== non-scaling-stroke-01.svg non-scaling-stroke-01-ref.svg
== non-scaling-stroke-02.svg non-scaling-stroke-02-ref.svg
# Bug 756405
random-if(Android) == non-scaling-stroke-01.svg non-scaling-stroke-01-ref.svg
random-if(Android) == non-scaling-stroke-02.svg non-scaling-stroke-02-ref.svg
== objectBoundingBox-and-clipPath.svg pass.svg
# Bug 588684
random-if(gtk2Widget) == objectBoundingBox-and-fePointLight-01.svg objectBoundingBox-and-fePointLight-01-ref.svg

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

@ -1166,6 +1166,15 @@ nsSVGUtils::PaintFrameWithEffects(nsRenderingContext *aContext,
return;
}
/* Properties are added lazily and may have been removed by a restyle,
so make sure all applicable ones are set again. */
nsSVGEffects::EffectProperties effectProperties =
nsSVGEffects::GetEffectProperties(aFrame);
bool isOK = true;
nsSVGFilterFrame *filterFrame = effectProperties.GetFilterFrame(&isOK);
if (aDirtyRect &&
!(aFrame->GetStateBits() & NS_STATE_SVG_NONDISPLAY_CHILD)) {
// Here we convert aFrame's paint bounds to outer-<svg> device space,
@ -1218,23 +1227,15 @@ nsSVGUtils::PaintFrameWithEffects(nsRenderingContext *aContext,
gfxContext *gfx = aContext->ThebesContext();
bool complexEffects = false;
/* Properties are added lazily and may have been removed by a restyle,
so make sure all applicable ones are set again. */
nsSVGEffects::EffectProperties effectProperties =
nsSVGEffects::GetEffectProperties(aFrame);
bool isOK = true;
nsSVGFilterFrame *filterFrame = effectProperties.GetFilterFrame(&isOK);
nsSVGClipPathFrame *clipPathFrame = effectProperties.GetClipPathFrame(&isOK);
nsSVGMaskFrame *maskFrame = effectProperties.GetMaskFrame(&isOK);
bool isTrivialClip = clipPathFrame ? clipPathFrame->IsTrivial() : true;
if (!isOK) {
// Some resource is invalid. We shouldn't paint anything.
return;
}
bool isTrivialClip = clipPathFrame ? clipPathFrame->IsTrivial() : true;
gfxMatrix matrix;
if (clipPathFrame || maskFrame)

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

@ -110,7 +110,6 @@ EXPORTS = \
nsHashPropertyBag.h \
nsWhitespaceTokenizer.h \
nsCharSeparatedTokenizer.h \
CharTokenizer.h \
$(NULL)
XPIDLSRCS = \