static bool compareCounterActList(const CSSValueListImpl *ca, const CSSValueListImpl *cb) { // weeee.... CSSValueListImpl *a = const_cast< CSSValueListImpl * >(ca); CSSValueListImpl *b = const_cast< CSSValueListImpl * >(cb); if(!a && !b) return true; if(!a || !b) return false; if(a->length() != b->length()) return false; for(uint i = 0; i < a->length(); i++) { CSSValueImpl *ai = a->item(i); CSSValueImpl *bi = b->item(i); assert(ai && ai->cssValueType() == CSSValue::CSS_CUSTOM); assert(bi && bi->cssValueType() == CSSValue::CSS_CUSTOM); CounterActImpl *caa = static_cast< CounterActImpl * >(ai); CounterActImpl *cab = static_cast< CounterActImpl * >(bi); if(caa->value() != cab->value()) return false; if(caa->counter() != cab->counter()) return false; } return true; }