nsSVGTextElementBase::ParentChainChanged();
void nsSVGTextElement::ParentChainChanged(){  // set new context information on our length-properties:    nsCOMPtr<nsIDOMSVGSVGElement> dom_elem;  GetOwnerSVGElement(getter_AddRefs(dom_elem));  if (!dom_elem) return;  nsCOMPtr<nsISVGSVGElement> svg_elem = do_QueryInterface(dom_elem);  NS_ASSERTION(svg_elem, "<svg> element missing interface");  // x:  {    nsCOMPtr<nsIDOMSVGLengthList> dom_lengthlist;    mX->GetBaseVal(getter_AddRefs(dom_lengthlist));    nsCOMPtr<nsISVGLengthList> lengthlist = do_QueryInterface(dom_lengthlist);    NS_ASSERTION(lengthlist, "svg lengthlist missing interface");    nsCOMPtr<nsIDOMSVGRect> vp_dom;    svg_elem->GetViewport(getter_AddRefs(vp_dom));    nsCOMPtr<nsISVGViewportRect> vp = do_QueryInterface(vp_dom);    nsCOMPtr<nsISVGViewportAxis> ctx;    vp->GetXAxis(getter_AddRefs(ctx));        lengthlist->SetContext(ctx);  }  // y:  {    nsCOMPtr<nsIDOMSVGLengthList> dom_lengthlist;    mY->GetBaseVal(getter_AddRefs(dom_lengthlist));    nsCOMPtr<nsISVGLengthList> lengthlist = do_QueryInterface(dom_lengthlist);    NS_ASSERTION(lengthlist, "svg lengthlist missing interface");    nsCOMPtr<nsIDOMSVGRect> vp_dom;    svg_elem->GetViewport(getter_AddRefs(vp_dom));    nsCOMPtr<nsISVGViewportRect> vp = do_QueryInterface(vp_dom);    nsCOMPtr<nsISVGViewportAxis> ctx;    vp->GetYAxis(getter_AddRefs(ctx));        lengthlist->SetContext(ctx);  }}  