Back to index

lightning-sunbird  0.9+nobinonly
Functions
nsSVGElementFactory.cpp File Reference
#include "nsCOMPtr.h"
#include "nsContentCreatorFunctions.h"
#include "nsIAtom.h"
#include "nsINodeInfo.h"
#include "nsSVGAtoms.h"
#include "nsContentDLF.h"
#include "nsContentUtils.h"
#include "nsSVGUtils.h"
#include "nsDebug.h"

Go to the source code of this file.

Functions

nsresult NS_NewSVGPolylineElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGPolygonElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGCircleElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGEllipseElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGLineElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGRectElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGGElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGSVGElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGPathElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGTextElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGTSpanElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGImageElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGStyleElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGLinearGradientElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGMetadataElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGRadialGradientElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGStopElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGDefsElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGDescElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGScriptElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGUseElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGSymbolElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGMarkerElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGTitleElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGClipPathElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGTextPathElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)
nsresult NS_NewSVGElement (nsIContent **aResult, nsINodeInfo *aNodeInfo)

Function Documentation

nsresult NS_NewSVGCircleElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGClipPathElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGDefsElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGDescElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Definition at line 108 of file nsSVGElementFactory.cpp.

{
  NS_PRECONDITION(nsSVGUtils::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 = nsContentUtils::GetDocument(aNodeInfo);
  if (doc)
    doc->EnsureCatalogStyleSheet(kSVGStyleSheetURI);

  nsIAtom *name = aNodeInfo->NameAtom();
  
  if (name == nsSVGAtoms::polyline)
    return NS_NewSVGPolylineElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::polygon)
    return NS_NewSVGPolygonElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::circle)
    return NS_NewSVGCircleElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::ellipse)
    return NS_NewSVGEllipseElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::line)
    return NS_NewSVGLineElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::rect)
    return NS_NewSVGRectElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::svg)
    return NS_NewSVGSVGElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::g)
    return NS_NewSVGGElement(aResult, aNodeInfo);
#ifdef MOZ_SVG_FOREIGNOBJECT
  if (name == nsSVGAtoms::foreignObject)
    return NS_NewSVGForeignObjectElement(aResult, aNodeInfo);
#endif
  if (name == nsSVGAtoms::path)
    return NS_NewSVGPathElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::text)
    return NS_NewSVGTextElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::tspan)
    return NS_NewSVGTSpanElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::image)
    return NS_NewSVGImageElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::style)
    return NS_NewSVGStyleElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::linearGradient)
    return NS_NewSVGLinearGradientElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::metadata)
    return NS_NewSVGMetadataElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::radialGradient)
    return NS_NewSVGRadialGradientElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::stop)
    return NS_NewSVGStopElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::defs)
    return NS_NewSVGDefsElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::desc)
    return NS_NewSVGDescElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::script)
    return NS_NewSVGScriptElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::use)
    return NS_NewSVGUseElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::symbol)
    return NS_NewSVGSymbolElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::marker)
    return NS_NewSVGMarkerElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::title)
    return NS_NewSVGTitleElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::clipPath)
    return NS_NewSVGClipPathElement(aResult, aNodeInfo);
  if (name == nsSVGAtoms::textPath)
    return NS_NewSVGTextPathElement(aResult, aNodeInfo);

  // if we don't know what to create, just create a standard xml element:
  return NS_NewXMLElement(aResult, aNodeInfo);
}

Here is the call graph for this function:

Here is the caller graph for this function:

nsresult NS_NewSVGEllipseElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGGElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGImageElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

Here is the caller graph for this function:

nsresult NS_NewSVGLineElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGMarkerElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGMetadataElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGPathElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGPolygonElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGPolylineElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

Here is the caller graph for this function:

nsresult NS_NewSVGRectElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGScriptElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGStopElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGStyleElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGSVGElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGSymbolElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGTextElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGTextPathElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGTitleElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGTSpanElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function:

nsresult NS_NewSVGUseElement ( nsIContent **  aResult,
nsINodeInfo aNodeInfo 
)

Here is the caller graph for this function: