nsISMILAttr* nsSVGElement::GetAnimatedAttr(const nsIAtom* aName) { // Transforms: if (aName == nsGkAtoms::transform) { nsCOMPtr<nsIDOMSVGTransformable> transformable( do_QueryInterface(static_cast<nsIContent*>(this))); if (!transformable) return nsnull; nsCOMPtr<nsIDOMSVGAnimatedTransformList> transformList; nsresult rv = transformable->GetTransform(getter_AddRefs(transformList)); NS_ENSURE_SUCCESS(rv, nsnull); nsSVGAnimatedTransformList* list = static_cast<nsSVGAnimatedTransformList*>(transformList.get()); NS_ENSURE_TRUE(list, nsnull); return new nsSVGTransformSMILAttr(list, this); } // Lengths: LengthAttributesInfo info = GetLengthInfo(); for (PRUint32 i = 0; i < info.mLengthCount; i++) { if (aName == *info.mLengthInfo[i].mName) { return info.mLengths[i].ToSMILAttr(this); } } return nsnull; }
static int transform_plugin(TSCont contp, TSEvent event, void *edata) { TSHttpTxn txnp = (TSHttpTxn) edata; switch (event) { case TS_EVENT_HTTP_READ_RESPONSE_HDR: if (transformable(txnp)) { transform_add(txnp); } TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE); return 0; default: break; } return 0; }
/*------------------------------------------------------------------------- read_response_handler Handler for events related to hook READ_RESPONSE Input: contp continuation for the current transaction event event received data pointer on eventual data Output : Return Value: -------------------------------------------------------------------------*/ static int read_response_handler(TSCont contp, TSEvent event, void *edata) { TSHttpTxn txnp = (TSHttpTxn) edata; switch (event) { case TS_EVENT_HTTP_READ_RESPONSE_HDR: if (transformable(txnp)) { TSDebug(DBG_TAG, "Add a transformation"); transform_add(txnp); } TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE); return 0; default: break; } return 0; }
static int transform_plugin(TSCont contp, TSEvent event, void *edata) { TSHttpTxn txnp = (TSHttpTxn) edata; TSDebug("null-transform", "Entering transform_plugin()"); switch (event) { case TS_EVENT_HTTP_READ_RESPONSE_HDR: TSDebug("null-transform", "\tEvent is TS_EVENT_HTTP_READ_RESPONSE_HDR"); if (transformable(txnp)) { transform_add(txnp); } TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE); return 0; default: break; } return 0; }