printf("viewport/viewbox have been changed\n");
printf("viewport/viewbox/preserveAspectRatio have been changed\n");
nsSVGSVGElement::DidModifySVGObservable (nsISVGValue* observable){  // either viewport or viewbox have changed  // invalidate viewbox -> viewport xform & inform frames    mViewBoxToViewportTransform = nsnull;    if (!mDocument) return NS_ERROR_FAILURE;  nsIPresShell* presShell = mDocument->GetShellAt(0);  NS_ASSERTION(presShell, "no presShell");  if (!presShell) return NS_ERROR_FAILURE;  nsIFrame* frame;  presShell->GetPrimaryFrameFor(NS_STATIC_CAST(nsIStyledContent*, this), &frame);  if (frame) {    nsISVGOuterSVGFrame* svgframe;    CallQueryInterface(frame, &svgframe);    NS_ASSERTION(svgframe, "wrong frame type");    if (svgframe) {      svgframe->NotifyViewportChange();    }  }    #ifdef DEBUG  printf("viewport/viewbox have been changed\n");#endif  return NS_OK;}