| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 3 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 4 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) | 4 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 5 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) | 5 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) |
| 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
All rights reserved. | 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
All rights reserved. |
| 7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
| 8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> | 8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> |
| 9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 10 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. | 10 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. |
| (...skipping 1158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1169 state.style()->setQuotes(quotes); | 1169 state.style()->setQuotes(quotes); |
| 1170 return; | 1170 return; |
| 1171 } | 1171 } |
| 1172 if (primitiveValue) { | 1172 if (primitiveValue) { |
| 1173 if (primitiveValue->getValueID() == CSSValueNone) | 1173 if (primitiveValue->getValueID() == CSSValueNone) |
| 1174 state.style()->setQuotes(QuotesData::create()); | 1174 state.style()->setQuotes(QuotesData::create()); |
| 1175 } | 1175 } |
| 1176 return; | 1176 return; |
| 1177 // Shorthand properties. | 1177 // Shorthand properties. |
| 1178 case CSSPropertyFont: | 1178 case CSSPropertyFont: |
| 1179 // Short-hand properties are expanded by the parser and normally | 1179 // Only System Font identifiers should come through this method |
| 1180 // do not go through applyProperty() at all. CSSPropertyFont | 1180 // all other values should have been handled when the shorthand |
| 1181 // is special as system font names are sent through here. | 1181 // was expanded by the parser. |
| 1182 // FIXME: Unclear why this special casing is handled this way. | 1182 // FIXME: System Font identifiers should not hijack this |
| 1183 // See isExpandedShorthand for more comments. | 1183 // short-hand CSSProperty like this. |
| 1184 ASSERT(!isInitial); | 1184 ASSERT(!isInitial); |
| 1185 ASSERT(!isInherit); | 1185 ASSERT(!isInherit); |
| 1186 if (primitiveValue) { | 1186 ASSERT(primitiveValue); |
| 1187 state.style()->setLineHeight(RenderStyle::initialLineHeight()); | 1187 state.style()->setLineHeight(RenderStyle::initialLineHeight()); |
| 1188 state.setLineHeightValue(0); | 1188 state.setLineHeightValue(0); |
| 1189 state.fontBuilder().fromSystemFont(primitiveValue->getValueID(), sta
te.style()->effectiveZoom()); | 1189 state.fontBuilder().fromSystemFont(primitiveValue->getValueID(), state.s
tyle()->effectiveZoom()); |
| 1190 } else if (value->isFontValue()) { | |
| 1191 FontValue* font = static_cast<FontValue*>(value); | |
| 1192 if (!font->style || !font->variant || !font->weight | |
| 1193 || !font->size || !font->lineHeight || !font->family) | |
| 1194 return; | |
| 1195 styleResolver->applyProperty(CSSPropertyFontStyle, font->style.get()
); | |
| 1196 styleResolver->applyProperty(CSSPropertyFontVariant, font->variant.g
et()); | |
| 1197 styleResolver->applyProperty(CSSPropertyFontWeight, font->weight.get
()); | |
| 1198 // The previous properties can dirty our font but they don't try to
read the font's | |
| 1199 // properties back, which is safe. However if font-size is using the
'ex' unit, it will | |
| 1200 // need query the dirtied font's x-height to get the computed size.
To be safe in this | |
| 1201 // case, let's just update the font now. | |
| 1202 styleResolver->updateFont(); | |
| 1203 styleResolver->applyProperty(CSSPropertyFontSize, font->size.get()); | |
| 1204 | |
| 1205 state.setLineHeightValue(font->lineHeight.get()); | |
| 1206 | |
| 1207 styleResolver->applyProperty(CSSPropertyFontFamily, font->family.get
()); | |
| 1208 } | |
| 1209 return; | 1190 return; |
| 1210 case CSSPropertyBackground: | 1191 case CSSPropertyBackground: |
| 1211 case CSSPropertyBackgroundPosition: | 1192 case CSSPropertyBackgroundPosition: |
| 1212 case CSSPropertyBackgroundRepeat: | 1193 case CSSPropertyBackgroundRepeat: |
| 1213 case CSSPropertyBorder: | 1194 case CSSPropertyBorder: |
| 1214 case CSSPropertyBorderBottom: | 1195 case CSSPropertyBorderBottom: |
| 1215 case CSSPropertyBorderColor: | 1196 case CSSPropertyBorderColor: |
| 1216 case CSSPropertyBorderImage: | 1197 case CSSPropertyBorderImage: |
| 1217 case CSSPropertyBorderLeft: | 1198 case CSSPropertyBorderLeft: |
| 1218 case CSSPropertyBorderRadius: | 1199 case CSSPropertyBorderRadius: |
| (...skipping 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2237 case CSSPropertyMaskType: { | 2218 case CSSPropertyMaskType: { |
| 2238 HANDLE_SVG_INHERIT_AND_INITIAL(maskType, MaskType) | 2219 HANDLE_SVG_INHERIT_AND_INITIAL(maskType, MaskType) |
| 2239 if (primitiveValue) | 2220 if (primitiveValue) |
| 2240 state.style()->accessSVGStyle()->setMaskType(*primitiveValue); | 2221 state.style()->accessSVGStyle()->setMaskType(*primitiveValue); |
| 2241 break; | 2222 break; |
| 2242 } | 2223 } |
| 2243 } | 2224 } |
| 2244 } | 2225 } |
| 2245 | 2226 |
| 2246 } // namespace WebCore | 2227 } // namespace WebCore |
| OLD | NEW |