| author | Robert Longson <longsonr@gmail.com> |
| Wed, 08 Dec 2010 21:25:06 +0000 | |
| changeset 58951 | 9e3b27acb9efa02ef95a5590d09664fc1b0c1aeb |
| parent 58950 | 11e328a49e0a3ac415e683f28165625875461900 |
| child 58952 | 670e94973cab4940fcf51863ffa148b68da83040 |
| push id | 17477 |
| push user | dholbert@mozilla.com |
| push date | Thu, 09 Dec 2010 08:47:48 +0000 |
| treeherder | mozilla-central@f4eb46861b64 [default view] [failures only] |
| perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
| bugs | 617448 |
| milestone | 2.0b8pre |
| first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
| last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/content/base/src/nsNameSpaceManager.cpp +++ b/content/base/src/nsNameSpaceManager.cpp @@ -54,20 +54,16 @@ #include "nsIServiceManager.h" #include "nsIXTFService.h" #include "nsContentUtils.h" static NS_DEFINE_CID(kXTFServiceCID, NS_XTFSERVICE_CID); #endif using namespace mozilla::dom; -#ifdef MOZ_SVG -PRBool NS_SVGEnabled(); -#endif - #define kXMLNSNameSpaceURI "http://www.w3.org/2000/xmlns/" #define kXMLNameSpaceURI "http://www.w3.org/XML/1998/namespace" #define kXHTMLNameSpaceURI "http://www.w3.org/1999/xhtml" #define kXLinkNameSpaceURI "http://www.w3.org/1999/xlink" #define kXSLTNameSpaceURI "http://www.w3.org/1999/XSL/Transform" #define kXBLNameSpaceURI "http://www.mozilla.org/xbl" #define kMathMLNameSpaceURI "http://www.w3.org/1998/Math/MathML" #define kRDFNameSpaceURI "http://www.w3.org/1999/02/22-rdf-syntax-ns#" @@ -239,21 +235,19 @@ NS_NewElement(nsIContent** aResult, PRIn return NS_NewXULElement(aResult, aNodeInfo); } #endif #ifdef MOZ_MATHML if (aElementType == kNameSpaceID_MathML) { return NS_NewMathMLElement(aResult, aNodeInfo); } #endif -#ifdef MOZ_SVG - if (aElementType == kNameSpaceID_SVG && NS_SVGEnabled()) { + if (aElementType == kNameSpaceID_SVG) { return NS_NewSVGElement(aResult, aNodeInfo, aFromParser); } -#endif if (aElementType == kNameSpaceID_XMLEvents) { return NS_NewXMLEventsElement(aResult, aNodeInfo); } #ifdef MOZ_XTF if (aElementType > kNameSpaceID_LastBuiltin) { nsIXTFService* xtfService = nsContentUtils::GetXTFService(); NS_ASSERTION(xtfService, "could not get xtf service"); if (xtfService &&
--- a/content/svg/content/src/nsSVGElementFactory.cpp +++ b/content/svg/content/src/nsSVGElementFactory.cpp @@ -240,19 +240,16 @@ nsresult NS_NewSVGSetElement(nsIContent **aResult, already_AddRefed<nsINodeInfo> aNodeInfo); #endif // MOZ_SMIL nsresult NS_NewSVGElement(nsIContent** aResult, already_AddRefed<nsINodeInfo> aNodeInfo, FromParser aFromParser) { - NS_PRECONDITION(NS_SVGEnabled(), - "creating an SVG element while SVG disabled"); - static const char kSVGStyleSheetURI[] = "resource://gre/res/svg.css"; // this bit of code is to load svg.css on demand nsIDocument *doc = aNodeInfo.get()->GetDocument(); if (doc) doc->EnsureCatalogStyleSheet(kSVGStyleSheetURI); nsIAtom *name = aNodeInfo.get()->NameAtom();
--- a/content/svg/content/src/nsSVGFeatures.cpp +++ b/content/svg/content/src/nsSVGFeatures.cpp @@ -53,20 +53,16 @@ #include "nsWhitespaceTokenizer.h" #include "nsCharSeparatedTokenizer.h" #include "nsStyleUtil.h" #include "nsSVGUtils.h" /*static*/ PRBool nsSVGFeatures::HaveFeature(const nsAString& aFeature) { - if (!NS_SVGEnabled()) { - return PR_FALSE; - } - #define SVG_SUPPORTED_FEATURE(str) if (aFeature.Equals(NS_LITERAL_STRING(str).get())) return PR_TRUE; #define SVG_UNSUPPORTED_FEATURE(str) #include "nsSVGFeaturesList.h" #undef SVG_SUPPORTED_FEATURE #undef SVG_UNSUPPORTED_FEATURE return PR_FALSE; }
--- a/layout/base/nsCSSFrameConstructor.cpp +++ b/layout/base/nsCSSFrameConstructor.cpp @@ -139,41 +139,36 @@ #include "nsIXBLService.h" #undef NOISY_FIRST_LETTER #ifdef MOZ_MATHML #include "nsMathMLParts.h" #endif -#ifdef MOZ_SVG #include "nsSVGFeatures.h" #include "nsSVGEffects.h" #include "nsSVGUtils.h" #include "nsSVGOuterSVGFrame.h" -#endif #include "nsRefreshDriver.h" using namespace mozilla; using namespace mozilla::dom; nsIFrame* NS_NewHTMLCanvasFrame (nsIPresShell* aPresShell, nsStyleContext* aContext); #if defined(MOZ_MEDIA) nsIFrame* NS_NewHTMLVideoFrame (nsIPresShell* aPresShell, nsStyleContext* aContext); #endif -#ifdef MOZ_SVG #include "nsSVGTextContainerFrame.h" -PRBool -NS_SVGEnabled(); nsIFrame* NS_NewSVGOuterSVGFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsIFrame* NS_NewSVGInnerSVGFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsIFrame* NS_NewSVGPathGeometryFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsIFrame* NS_NewSVGGFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); @@ -212,17 +207,16 @@ NS_NewSVGTextPathFrame(nsIPresShell* aPr nsIFrame* NS_NewSVGFilterFrame(nsIPresShell *aPresShell, nsStyleContext* aContext); nsIFrame* NS_NewSVGPatternFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsIFrame* NS_NewSVGMaskFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); nsIFrame* NS_NewSVGLeafFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); -#endif #include "nsIDocument.h" #include "nsIDOMElement.h" #include "nsIDOMNodeList.h" #include "nsIDOMDocument.h" #include "nsIDOMDocumentXBL.h" #include "nsIScrollable.h" #include "nsINodeInfo.h" @@ -2403,19 +2397,18 @@ nsCSSFrameConstructor::ConstructDocEleme } InitAndRestoreFrame(state, aDocElement, mDocElementContainingBlock, nsnull, contentFrame); *aNewFrame = contentFrame; processChildren = PR_TRUE; } else #endif -#ifdef MOZ_SVG if (aDocElement->GetNameSpaceID() == kNameSpaceID_SVG) { - if (aDocElement->Tag() == nsGkAtoms::svg && NS_SVGEnabled()) { + if (aDocElement->Tag() == nsGkAtoms::svg) { contentFrame = NS_NewSVGOuterSVGFrame(mPresShell, styleContext); if (NS_UNLIKELY(!contentFrame)) { return NS_ERROR_OUT_OF_MEMORY; } InitAndRestoreFrame(state, aDocElement, state.GetGeometricParent(display, mDocElementContainingBlock), nsnull, contentFrame); @@ -2431,20 +2424,17 @@ nsCSSFrameConstructor::ConstructDocEleme *aNewFrame = frameItems.FirstChild(); processChildren = PR_TRUE; // See if we need to create a view nsHTMLContainerFrame::CreateViewForFrame(contentFrame, PR_FALSE); } else { return NS_ERROR_FAILURE; } - } - else -#endif - { + } else { PRBool docElemIsTable = (display->mDisplay == NS_STYLE_DISPLAY_TABLE); if (docElemIsTable) { // We're going to call the right function ourselves, so no need to give a // function to this FrameConstructionData. // XXXbz on the other hand, if we converted this whole function to // FrameConstructionData/Item, then we'd need the right function // here... but would probably be able to get away with less code in this @@ -3366,31 +3356,29 @@ FindAncestorWithGeneratedContentPseudo(n #define SIMPLE_FCDATA(_func) FCDATA_DECL(0, _func) #define FULL_CTOR_FCDATA(_flags, _func) \ { _flags | FCDATA_FUNC_IS_FULL_CTOR, { nsnull }, _func } /* static */ const nsCSSFrameConstructor::FrameConstructionData* nsCSSFrameConstructor::FindTextData(nsIFrame* aParentFrame) { -#ifdef MOZ_SVG if (aParentFrame && aParentFrame->IsFrameOfType(nsIFrame::eSVG)) { nsIFrame *ancestorFrame = nsSVGUtils::GetFirstNonAAncestorFrame(aParentFrame); if (ancestorFrame) { nsSVGTextContainerFrame* metrics = do_QueryFrame(ancestorFrame); if (metrics) { static const FrameConstructionData sSVGGlyphData = SIMPLE_FCDATA(NS_NewSVGGlyphFrame); return &sSVGGlyphData; } } return nsnull; } -#endif static const FrameConstructionData sTextData = FCDATA_DECL(FCDATA_IS_LINE_PARTICIPANT, NS_NewTextFrame); return &sTextData; } nsresult nsCSSFrameConstructor::ConstructTextFrame(const FrameConstructionData* aData, @@ -3965,25 +3953,22 @@ nsCSSFrameConstructor::GetAnonymousConte NS_ENSURE_SUCCESS(rv, rv); PRUint32 count = aContent.Length(); for (PRUint32 i=0; i < count; i++) { // get our child's content and set its parent to our content nsIContent* content = aContent[i]; NS_ASSERTION(content, "null anonymous content?"); -#ifdef MOZ_SVG // least-surprise CSS binding until we do the SVG specified // cascading rules for <svg:use> - bug 265894 if (aParent && aParent->NodeInfo()->Equals(nsGkAtoms::use, kNameSpaceID_SVG)) { content->SetFlags(NODE_IS_ANONYMOUS); - } else -#endif - { + } else { content->SetNativeAnonymous(); } PRBool anonContentIsEditable = content->HasFlag(NODE_IS_EDITABLE); rv = content->BindToTree(mDocument, aParent, aParent, PR_TRUE); // If the anonymous content creator requested that the content should be // editable, honor its request. // We need to set the flag on the whole subtree, because existing @@ -4762,17 +4747,16 @@ nsCSSFrameConstructor::FindMathMLData(ns SIMPLE_MATHML_CREATE(semantics_, NS_NewMathMLsemanticsFrame) }; return FindDataByTag(aTag, aContent, aStyleContext, sMathMLData, NS_ARRAY_LENGTH(sMathMLData)); } #endif // MOZ_MATHML -#ifdef MOZ_SVG // Only outer <svg> elements can be floated or positioned. All other SVG // should be in-flow. #define SIMPLE_SVG_FCDATA(_func) \ FCDATA_DECL(FCDATA_DISALLOW_OUT_OF_FLOW | \ FCDATA_SKIP_ABSPOS_PUSH | \ FCDATA_DISALLOW_GENERATED_CONTENT, _func) #define SIMPLE_SVG_CREATE(_tag, _func) \ { &nsGkAtoms::_tag, SIMPLE_SVG_FCDATA(_func) } @@ -4780,17 +4764,17 @@ nsCSSFrameConstructor::FindMathMLData(ns /* static */ const nsCSSFrameConstructor::FrameConstructionData* nsCSSFrameConstructor::FindSVGData(nsIContent* aContent, nsIAtom* aTag, PRInt32 aNameSpaceID, nsIFrame* aParentFrame, nsStyleContext* aStyleContext) { - if (aNameSpaceID != kNameSpaceID_SVG || !NS_SVGEnabled()) { + if (aNameSpaceID != kNameSpaceID_SVG) { return nsnull; } static const FrameConstructionData sSuppressData = SUPPRESS_FCDATA(); static const FrameConstructionData sContainerData = SIMPLE_SVG_FCDATA(NS_NewSVGContainerFrame); PRBool parentIsSVG = PR_FALSE; @@ -5002,18 +4986,16 @@ nsCSSFrameConstructor::ConstructSVGForei newFrame->SetInitialChildList(nsnull, childItems); *aNewFrame = newFrame; return rv; } -#endif // MOZ_SVG - void nsCSSFrameConstructor::AddPageBreakItem(nsIContent* aContent, nsStyleContext* aMainStyleContext, FrameConstructionItemList& aItems) { nsRefPtr<nsStyleContext> pseudoStyle; // Use the same parent style context that |aMainStyleContext| has, since // that's easier to re-resolve and it doesn't matter in practice. @@ -5221,52 +5203,46 @@ nsCSSFrameConstructor::AddFrameConstruct } } PRBool isPopup = PR_FALSE; // Try to find frame construction data for this content const FrameConstructionData* data; if (isText) { data = FindTextData(aParentFrame); -#ifdef MOZ_SVG if (!data) { // Nothing to do here; suppressed text inside SVG return; } -#endif /* MOZ_SVG */ } else { -#ifdef MOZ_SVG // Don't create frames for non-SVG element children of SVG elements. if (aNameSpaceID != kNameSpaceID_SVG && aParentFrame && aParentFrame->IsFrameOfType(nsIFrame::eSVG) && !aParentFrame->IsFrameOfType(nsIFrame::eSVGForeignObject) ) { SetAsUndisplayedContent(aState.mFrameManager, aContent, styleContext, isGeneratedContent); return; } -#endif /* MOZ_SVG */ data = FindHTMLData(aContent, aTag, aNameSpaceID, aParentFrame, styleContext); if (!data) { data = FindXULTagData(aContent, aTag, aNameSpaceID, styleContext); } #ifdef MOZ_MATHML if (!data) { data = FindMathMLData(aContent, aTag, aNameSpaceID, styleContext); } #endif -#ifdef MOZ_SVG if (!data) { data = FindSVGData(aContent, aTag, aNameSpaceID, aParentFrame, styleContext); } -#endif /* MOZ_SVG */ // Now check for XUL display types if (!data) { data = FindXULDisplayData(display, aContent, styleContext); } // And general display types if (!data) { @@ -7749,17 +7725,16 @@ DoApplyRenderingChangeToTree(nsIFrame* a // frame doesn't have a view, find the nearest containing view // (adjusting r's coordinate system to reflect the nesting) and // update there. UpdateViewsForTree(aFrame, aViewManager, aFrameManager, aChange); // if frame has view, will already be invalidated if (aChange & nsChangeHint_RepaintFrame) { if (aFrame->IsFrameOfType(nsIFrame::eSVG)) { -#ifdef MOZ_SVG if (!(aFrame->GetStateBits() & NS_STATE_SVG_NONDISPLAY_CHILD)) { nsSVGOuterSVGFrame *outerSVGFrame = nsSVGUtils::GetOuterSVGFrame(aFrame); if (outerSVGFrame) { // We need this to invalidate frames when their 'filter' or 'marker' // property changes. XXX in theory changes to 'marker' should be // handled in nsSVGPathGeometryFrame::DidSetStyleContext, but for // some reason that's broken. // @@ -7767,17 +7742,16 @@ DoApplyRenderingChangeToTree(nsIFrame* a // the area covered by a <foreignObject> when 'opacity' changes on // it or one of its ancestors. (For 'opacity' changes on <image> or // a graphical element such as <path>, or on one of their // ancestors, this is redundant since // nsSVGPathGeometryFrame::DidSetStyleContext also invalidates.) outerSVGFrame->UpdateAndInvalidateCoveredRegion(aFrame); } } -#endif } else { aFrame->InvalidateOverflowRect(); } } if (aChange & nsChangeHint_UpdateOpacityLayer) { aFrame->MarkLayersActive(); aFrame->InvalidateLayer(aFrame->GetVisualOverflowRectRelativeToSelf(), nsDisplayItem::TYPE_OPACITY); @@ -8056,21 +8030,19 @@ nsCSSFrameConstructor::ProcessRestyledFr if (!propTable->Get(frame, ChangeListProperty())) continue; } if (hint & nsChangeHint_ReconstructFrame) { RecreateFramesForContent(content, PR_FALSE); } else { NS_ASSERTION(frame, "This shouldn't happen"); -#ifdef MOZ_SVG if (hint & nsChangeHint_UpdateEffects) { nsSVGEffects::UpdateEffects(frame); } -#endif if (hint & nsChangeHint_NeedReflow) { StyleChangeReflow(frame, hint); didReflow = PR_TRUE; } if (hint & (nsChangeHint_RepaintFrame | nsChangeHint_SyncFrameView | nsChangeHint_UpdateOpacityLayer | nsChangeHint_UpdateTransformLayer)) { ApplyRenderingChangeToTree(presContext, frame, hint); didInvalidate = PR_TRUE;
--- a/layout/build/nsContentDLF.cpp +++ b/layout/build/nsContentDLF.cpp @@ -70,19 +70,17 @@ static NS_DEFINE_CID(kPluginDocumentCID, NS_PLUGINDOCUMENT_CID); // Factory code for creating variations on html documents #undef NOISY_REGISTRY static NS_DEFINE_IID(kHTMLDocumentCID, NS_HTMLDOCUMENT_CID); static NS_DEFINE_IID(kXMLDocumentCID, NS_XMLDOCUMENT_CID); -#ifdef MOZ_SVG static NS_DEFINE_IID(kSVGDocumentCID, NS_SVGDOCUMENT_CID); -#endif #ifdef MOZ_MEDIA static NS_DEFINE_IID(kVideoDocumentCID, NS_VIDEODOCUMENT_CID); #endif static NS_DEFINE_IID(kImageDocumentCID, NS_IMAGEDOCUMENT_CID); static NS_DEFINE_IID(kXULDocumentCID, NS_XULDOCUMENT_CID); nsresult NS_NewDocumentViewer(nsIDocumentViewer** aResult); @@ -111,25 +109,21 @@ static const char* const gXMLTypes[] = { #ifdef MOZ_MATHML APPLICATION_MATHML_XML, #endif APPLICATION_RDF_XML, TEXT_RDF, 0 }; -#ifdef MOZ_SVG static const char* const gSVGTypes[] = { IMAGE_SVG_XML, 0 }; -PRBool NS_SVGEnabled(); -#endif - static const char* const gXULTypes[] = { TEXT_XUL, APPLICATION_CACHED_XUL, 0 }; nsresult NS_NewContentDocumentLoaderFactory(nsIDocumentLoaderFactory** aResult) @@ -220,25 +214,21 @@ nsContentDLF::CreateInstance(const char* } for (typeIndex = 0; gXMLTypes[typeIndex] && !knownType; ++typeIndex) { if (type.Equals(gXMLTypes[typeIndex])) { knownType = PR_TRUE; } } -#ifdef MOZ_SVG - if (NS_SVGEnabled()) { - for (typeIndex = 0; gSVGTypes[typeIndex] && !knownType; ++typeIndex) { - if (type.Equals(gSVGTypes[typeIndex])) { - knownType = PR_TRUE; - } + for (typeIndex = 0; gSVGTypes[typeIndex] && !knownType; ++typeIndex) { + if (type.Equals(gSVGTypes[typeIndex])) { + knownType = PR_TRUE; } } -#endif // MOZ_SVG for (typeIndex = 0; gXULTypes[typeIndex] && !knownType; ++typeIndex) { if (type.Equals(gXULTypes[typeIndex])) { knownType = PR_TRUE; } } if (knownType) { @@ -272,30 +262,26 @@ nsContentDLF::CreateInstance(const char* if (0== PL_strcmp(gXMLTypes[typeIndex++], aContentType)) { return CreateDocument(aCommand, aChannel, aLoadGroup, aContainer, kXMLDocumentCID, aDocListener, aDocViewer); } } -#ifdef MOZ_SVG - if (NS_SVGEnabled()) { - // Try SVG - typeIndex = 0; - while(gSVGTypes[typeIndex]) { - if (!PL_strcmp(gSVGTypes[typeIndex++], aContentType)) { - return CreateDocument(aCommand, - aChannel, aLoadGroup, - aContainer, kSVGDocumentCID, - aDocListener, aDocViewer); - } + // Try SVG + typeIndex = 0; + while(gSVGTypes[typeIndex]) { + if (!PL_strcmp(gSVGTypes[typeIndex++], aContentType)) { + return CreateDocument(aCommand, + aChannel, aLoadGroup, + aContainer, kSVGDocumentCID, + aDocListener, aDocViewer); } } -#endif // Try XUL typeIndex = 0; while (gXULTypes[typeIndex]) { if (0 == PL_strcmp(gXULTypes[typeIndex++], aContentType) && MayUseXULXBL(aChannel)) { return CreateXULDocument(aCommand, aChannel, aLoadGroup,
--- a/layout/build/nsLayoutStatics.cpp +++ b/layout/build/nsLayoutStatics.cpp @@ -103,20 +103,16 @@ #include "inDOMView.h" #endif #ifdef MOZ_MATHML #include "nsMathMLAtoms.h" #include "nsMathMLOperators.h" #endif -#ifdef MOZ_SVG -PRBool NS_SVGEnabled(); -#endif - #ifndef MOZILLA_PLAINTEXT_EDITOR_ONLY #include "nsHTMLEditor.h" #include "nsTextServicesDocument.h" #endif #ifdef MOZ_MEDIA #include "nsMediaDecoder.h" #include "nsHTMLMediaElement.h"
--- a/layout/svg/base/src/nsSVGUtils.cpp +++ b/layout/svg/base/src/nsSVGUtils.cpp @@ -164,51 +164,21 @@ 147, 149, 151, 152, 154, 156, 157, 159, 161, 163, 164, 166, 168, 170, 171, 173, 175, 177, 179, 181, 183, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 229, 231, 233, 235, 237, 239, 242, 244, 246, 248, 250, 253, 255 }; -static PRBool gSVGEnabled; -static const char SVG_PREF_STR[] = "svg.enabled"; - #ifdef MOZ_SMIL static PRBool gSMILEnabled; static const char SMIL_PREF_STR[] = "svg.smil.enabled"; #endif // MOZ_SMIL -static int -SVGPrefChanged(const char *aPref, void *aClosure) -{ - PRBool prefVal = nsContentUtils::GetBoolPref(SVG_PREF_STR); - if (prefVal == gSVGEnabled) - return 0; - - gSVGEnabled = prefVal; - return 0; -} - -PRBool -NS_SVGEnabled() -{ - static PRBool sInitialized = PR_FALSE; - - if (!sInitialized) { - /* check and register ourselves with the pref */ - gSVGEnabled = nsContentUtils::GetBoolPref(SVG_PREF_STR); - nsContentUtils::RegisterPrefCallback(SVG_PREF_STR, SVGPrefChanged, nsnull); - - sInitialized = PR_TRUE; - } - - return gSVGEnabled; -} - #ifdef MOZ_SMIL static int SMILPrefChanged(const char *aPref, void *aClosure) { PRBool prefVal = nsContentUtils::GetBoolPref(SMIL_PREF_STR); gSMILEnabled = prefVal; return 0; }
--- a/layout/svg/base/src/nsSVGUtils.h +++ b/layout/svg/base/src/nsSVGUtils.h @@ -136,24 +136,16 @@ IsSVGWhitespace(char aChar) inline PRBool IsSVGWhitespace(PRUnichar aChar) { return aChar == PRUnichar('\x20') || aChar == PRUnichar('\x9') || aChar == PRUnichar('\xD') || aChar == PRUnichar('\xA'); } -/* - * Checks the svg enable preference and if a renderer could - * successfully be created. Declared as a function instead of a - * nsSVGUtil method so that files that can't pull in nsSVGUtils.h (due - * to cairo.h usage) can still query this information. - */ -PRBool NS_SVGEnabled(); - #ifdef MOZ_SMIL /* * Checks the smil enabled preference. Declared as a function to match * NS_SVGEnabled(). */ PRBool NS_SMILEnabled(); #endif // MOZ_SMIL
--- a/modules/libpref/src/init/all.js +++ b/modules/libpref/src/init/all.js @@ -1346,17 +1346,16 @@ pref("dom.ipc.plugins.java.enabled", fal #ifdef XP_UNIX // Linux plugins using Xt instead of Xembed don't work out-of-process yet. pref("dom.ipc.plugins.enabled.libvlcplugin.so", false); pref("dom.ipc.plugins.enabled.nppdf.so", false); #endif #endif #endif -pref("svg.enabled", true); pref("svg.smil.enabled", true); pref("font.minimum-size.ar", 0); pref("font.minimum-size.x-armn", 0); pref("font.minimum-size.x-beng", 0); pref("font.minimum-size.x-baltic", 0); pref("font.minimum-size.x-central-euro", 0); pref("font.minimum-size.zh-CN", 0);