Ejemplo n.º 1
0
nsCSSSelector*
nsCSSSelector::Clone(PRBool aDeepNext, PRBool aDeepNegations) const
{
  nsCSSSelector *result = new nsCSSSelector();
  if (!result)
    return nsnull;

  result->mNameSpace = mNameSpace;
  result->mTag = mTag;

  NS_IF_CLONE(mIDList);
  NS_IF_CLONE(mClassList);
  NS_IF_CLONE(mPseudoClassList);
  NS_IF_CLONE(mAttrList);

  // No need to worry about multiple levels of recursion since an
  // mNegations can't have an mNext.
  if (aDeepNegations) {
    NS_IF_DEEP_CLONE(nsCSSSelector, mNegations, (PR_TRUE, PR_FALSE));
  }

  if (aDeepNext) {
    NS_IF_DEEP_CLONE(nsCSSSelector, mNext, (PR_FALSE, PR_TRUE));
  }

  return result;
}
Ejemplo n.º 2
0
nsAtomStringList*
nsAtomStringList::Clone(PRBool aDeep) const
{
  nsAtomStringList *result = new nsAtomStringList(mAtom, mString);

  if (aDeep)
    NS_IF_DEEP_CLONE(nsAtomStringList, mNext, (PR_FALSE));

  return result;
}
Ejemplo n.º 3
0
nsAttrSelector*
nsAttrSelector::Clone(PRBool aDeep) const
{
  nsAttrSelector *result =
    new nsAttrSelector(mNameSpace, mAttr, mFunction, mValue, mCaseSensitive);

  if (aDeep)
    NS_IF_DEEP_CLONE(nsAttrSelector, mNext, (PR_FALSE));

  return result;
}
Ejemplo n.º 4
0
nsAtomList*
nsAtomList::Clone(PRBool aDeep) const
{
  nsAtomList *result = new nsAtomList(mAtom);
  if (!result)
    return nsnull;

  if (aDeep)
    NS_IF_DEEP_CLONE(nsAtomList, mNext, (PR_FALSE));
  return result;
}
Ejemplo n.º 5
0
nsCSSSelectorList*
nsCSSSelectorList::Clone(PRBool aDeep) const
{
  nsCSSSelectorList *result = new nsCSSSelectorList();
  result->mWeight = mWeight;
  NS_IF_CLONE(mSelectors);

  if (aDeep) {
    NS_IF_DEEP_CLONE(nsCSSSelectorList, mNext, (PR_FALSE));
  }
  return result;
}