зеркало из https://github.com/mozilla/gecko-dev.git
Merge.
This commit is contained in:
Коммит
e292b33b2f
|
@ -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 = \
|
||||
|
|
Загрузка…
Ссылка в новой задаче