StylePropertyMap.set() removes the existing props[property] value (step 7) before creating internal representations for values (step 9), this means that if a TypeError is thrown while doing this the props[property] value will have been cleared without a replacement being set.
This is inconsistent with how other invalid values are handled, for example if values is invalid because more than one value was passed but the property is single-valued (step 3) props[property] will not be removed.
This definition also doesn't match the behavior observed in Chromium which leaves the original value untouched in this case.
StylePropertyMap.set() removes the existing
props[property]value (step 7) before creating internal representations forvalues(step 9), this means that if aTypeErroris thrown while doing this theprops[property]value will have been cleared without a replacement being set.This is inconsistent with how other invalid values are handled, for example if
valuesis invalid because more than one value was passed but the property is single-valued (step 3)props[property]will not be removed.This definition also doesn't match the behavior observed in Chromium which leaves the original value untouched in this case.