Value value = sm.getValue(propidx);
if (sm.isComputed(propidx))
return value;
Value result = value;
ValueManager vm = valueManagers[propidx];
CSSStylableElement p = getParentCSSStylableElement(elt);
if (value == null) {
if ((p == null) || !vm.isInheritedProperty())
result = vm.getDefaultValue();
} else if ((p != null) && (value == InheritValue.INSTANCE)) {
result = null;
}
if (result == null) {
// Value is 'inherit' and p != null.
// The pseudo class is not propagated.
result = getComputedStyle(p, null, propidx);
sm.putParentRelative(propidx, true);
sm.putInherited (propidx, true);
} else {
// Maybe is it a relative value.
result = vm.computeValue(elt, pseudo, this, propidx,
sm, result);
}
if (value == null) {
sm.putValue(propidx, result);
sm.putNullCascaded(propidx, true);