|
Lines 2100-2105
bool CSSParser::parseValue(CSSPropertyID propId, bool important)
a/Source/WebCore/css/CSSParser.cpp_sec1
|
| 2100 |
} |
2100 |
} |
| 2101 |
|
2101 |
|
| 2102 |
case CSSPropertyTextDecoration: |
2102 |
case CSSPropertyTextDecoration: |
|
|
2103 |
// <text-decoration-line> || <text-decoration-style> || <text-decoration-color> || blink |
| 2104 |
return parseTextDecorationShorthand(important); |
| 2105 |
|
| 2103 |
case CSSPropertyWebkitTextDecorationLine: |
2106 |
case CSSPropertyWebkitTextDecorationLine: |
| 2104 |
case CSSPropertyWebkitTextDecorationsInEffect: |
2107 |
case CSSPropertyWebkitTextDecorationsInEffect: |
| 2105 |
// none | [ underline || overline || line-through || blink ] | inherit |
2108 |
// none | [ underline || overline || line-through || blink ] | inherit |
|
Lines 7919-7925
bool CSSParser::parsePerspectiveOrigin(CSSPropertyID propId, CSSPropertyID& prop
a/Source/WebCore/css/CSSParser.cpp_sec2
|
| 7919 |
|
7922 |
|
| 7920 |
void CSSParser::addTextDecorationProperty(CSSPropertyID propId, PassRefPtr<CSSValue> value, bool important) |
7923 |
void CSSParser::addTextDecorationProperty(CSSPropertyID propId, PassRefPtr<CSSValue> value, bool important) |
| 7921 |
{ |
7924 |
{ |
| 7922 |
if (propId == CSSPropertyTextDecoration && !inShorthand()) |
7925 |
if (propId == CSSPropertyTextDecoration && m_currentShorthand == CSSPropertyInvalid) |
| 7923 |
// Skip if -webkit-text-decoration-line was previously set |
7926 |
// Skip if -webkit-text-decoration-line was previously set |
| 7924 |
for (unsigned i = 0; i < m_parsedProperties.size(); ++i) |
7927 |
for (unsigned i = 0; i < m_parsedProperties.size(); ++i) |
| 7925 |
if (m_parsedProperties[i].id() == CSSPropertyWebkitTextDecorationLine) |
7928 |
if (m_parsedProperties[i].id() == CSSPropertyWebkitTextDecorationLine) |
|
Lines 7956-7962
bool CSSParser::parseTextDecoration(CSSPropertyID propId, bool important)
a/Source/WebCore/css/CSSParser.cpp_sec3
|
| 7956 |
value = m_valueList->next(); |
7959 |
value = m_valueList->next(); |
| 7957 |
} |
7960 |
} |
| 7958 |
|
7961 |
|
| 7959 |
if (list->length() && isValid) { |
7962 |
// Values are valid or in shorthand scope |
|
|
7963 |
if (list->length() && (isValid || m_currentShorthand != CSSPropertyInvalid)) { |
| 7960 |
addTextDecorationProperty(propId, list.release(), important); |
7964 |
addTextDecorationProperty(propId, list.release(), important); |
| 7961 |
return true; |
7965 |
return true; |
| 7962 |
} |
7966 |
} |
|
Lines 7964-7969
bool CSSParser::parseTextDecoration(CSSPropertyID propId, bool important)
a/Source/WebCore/css/CSSParser.cpp_sec4
|
| 7964 |
return false; |
7968 |
return false; |
| 7965 |
} |
7969 |
} |
| 7966 |
|
7970 |
|
|
|
7971 |
bool CSSParser::parseTextDecorationShorthand(bool important) |
| 7972 |
{ |
| 7973 |
bool isShorthand = false; |
| 7974 |
int blinkValueIndex = -1; |
| 7975 |
CSSParserValue* value = 0; |
| 7976 |
for (unsigned i = 0; i < m_valueList->size(); ++i) { |
| 7977 |
value = m_valueList->valueAt(i); |
| 7978 |
if (!value) |
| 7979 |
return false; |
| 7980 |
switch (value->id) { |
| 7981 |
case CSSValueNone: |
| 7982 |
case CSSValueUnderline: |
| 7983 |
case CSSValueOverline: |
| 7984 |
case CSSValueLineThrough: |
| 7985 |
continue; |
| 7986 |
case CSSValueBlink: |
| 7987 |
blinkValueIndex = i; |
| 7988 |
continue; |
| 7989 |
default: |
| 7990 |
isShorthand = true; |
| 7991 |
break; |
| 7992 |
} |
| 7993 |
} |
| 7994 |
|
| 7995 |
// Blink value is accepted, but not parsed |
| 7996 |
if (blinkValueIndex != -1) |
| 7997 |
m_valueList->deleteValueAt(blinkValueIndex); |
| 7998 |
|
| 7999 |
return isShorthand ? parseShorthand(CSSPropertyTextDecoration, webkitTextDecorationShorthand(), important) : parseTextDecoration(CSSPropertyTextDecoration, important); |
| 8000 |
} |
| 8001 |
|
| 7967 |
bool CSSParser::parseTextEmphasisStyle(bool important) |
8002 |
bool CSSParser::parseTextEmphasisStyle(bool important) |
| 7968 |
{ |
8003 |
{ |
| 7969 |
unsigned valueListSize = m_valueList->size(); |
8004 |
unsigned valueListSize = m_valueList->size(); |