String CSSContentDistributionValue::customCSSText() const {
  CSSValueList* list = CSSValueList::createSpaceSeparated();

  if (m_distribution != CSSValueInvalid)
    list->append(*distribution());
  if (m_position != CSSValueInvalid)
    list->append(*position());
  if (m_overflow != CSSValueInvalid)
    list->append(*overflow());

  return list->customCSSText();
}
static CSSValueList* parseSimpleTransformList(const CharType* chars,
                                              unsigned length) {
  if (!transformCanLikelyUseFastPath(chars, length))
    return nullptr;
  const CharType*& pos = chars;
  const CharType* end = chars + length;
  CSSValueList* transformList = nullptr;
  while (pos < end) {
    while (pos < end && isCSSSpace(*pos))
      ++pos;
    if (pos >= end)
      break;
    CSSFunctionValue* transformValue = parseSimpleTransformValue(pos, end);
    if (!transformValue)
      return nullptr;
    if (!transformList)
      transformList = CSSValueList::createSpaceSeparated();
    transformList->append(*transformValue);
  }
  return transformList;
}