コード例 #1
0
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;
}