| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org) |
| 3 * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 3 * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. | 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. |
| 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> | 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> |
| 6 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> | 6 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> |
| 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
| 8 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. | 8 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. |
| 9 * Copyright (C) 2012 Intel Corporation. All rights reserved. | 9 * Copyright (C) 2012 Intel Corporation. All rights reserved. |
| 10 * | 10 * |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 DEFINE_STATIC_LOCAL(CSSParserContext, strictContext, (CSSStrictMode)); | 237 DEFINE_STATIC_LOCAL(CSSParserContext, strictContext, (CSSStrictMode)); |
| 238 return strictContext; | 238 return strictContext; |
| 239 } | 239 } |
| 240 | 240 |
| 241 CSSParserContext::CSSParserContext(CSSParserMode mode, const KURL& baseURL) | 241 CSSParserContext::CSSParserContext(CSSParserMode mode, const KURL& baseURL) |
| 242 : baseURL(baseURL) | 242 : baseURL(baseURL) |
| 243 , mode(mode) | 243 , mode(mode) |
| 244 , isHTMLDocument(false) | 244 , isHTMLDocument(false) |
| 245 , isCSSCustomFilterEnabled(false) | 245 , isCSSCustomFilterEnabled(false) |
| 246 , isCSSStickyPositionEnabled(false) | 246 , isCSSStickyPositionEnabled(false) |
| 247 , isCSSCompositingEnabled(false) | |
| 248 , isCSSGridLayoutEnabled(false) | 247 , isCSSGridLayoutEnabled(false) |
| 249 , isCSSVariablesEnabled(false) | 248 , isCSSVariablesEnabled(false) |
| 250 , needsSiteSpecificQuirks(false) | 249 , needsSiteSpecificQuirks(false) |
| 251 { | 250 { |
| 252 } | 251 } |
| 253 | 252 |
| 254 CSSParserContext::CSSParserContext(Document* document, const KURL& baseURL, cons
t String& charset) | 253 CSSParserContext::CSSParserContext(Document* document, const KURL& baseURL, cons
t String& charset) |
| 255 : baseURL(baseURL.isNull() ? document->baseURL() : baseURL) | 254 : baseURL(baseURL.isNull() ? document->baseURL() : baseURL) |
| 256 , charset(charset) | 255 , charset(charset) |
| 257 , mode(document->inQuirksMode() ? CSSQuirksMode : CSSStrictMode) | 256 , mode(document->inQuirksMode() ? CSSQuirksMode : CSSStrictMode) |
| 258 , isHTMLDocument(document->isHTMLDocument()) | 257 , isHTMLDocument(document->isHTMLDocument()) |
| 259 , isCSSCustomFilterEnabled(document->settings() ? document->settings()->isCS
SCustomFilterEnabled() : false) | 258 , isCSSCustomFilterEnabled(document->settings() ? document->settings()->isCS
SCustomFilterEnabled() : false) |
| 260 , isCSSStickyPositionEnabled(document->cssStickyPositionEnabled()) | 259 , isCSSStickyPositionEnabled(document->cssStickyPositionEnabled()) |
| 261 , isCSSCompositingEnabled(document->cssCompositingEnabled()) | |
| 262 , isCSSGridLayoutEnabled(document->cssGridLayoutEnabled()) | 260 , isCSSGridLayoutEnabled(document->cssGridLayoutEnabled()) |
| 263 , isCSSVariablesEnabled(document->settings() ? document->settings()->cssVari
ablesEnabled() : false) | 261 , isCSSVariablesEnabled(document->settings() ? document->settings()->cssVari
ablesEnabled() : false) |
| 264 , needsSiteSpecificQuirks(document->settings() ? document->settings()->needs
SiteSpecificQuirks() : false) | 262 , needsSiteSpecificQuirks(document->settings() ? document->settings()->needs
SiteSpecificQuirks() : false) |
| 265 { | 263 { |
| 266 } | 264 } |
| 267 | 265 |
| 268 bool operator==(const CSSParserContext& a, const CSSParserContext& b) | 266 bool operator==(const CSSParserContext& a, const CSSParserContext& b) |
| 269 { | 267 { |
| 270 return a.baseURL == b.baseURL | 268 return a.baseURL == b.baseURL |
| 271 && a.charset == b.charset | 269 && a.charset == b.charset |
| 272 && a.mode == b.mode | 270 && a.mode == b.mode |
| 273 && a.isHTMLDocument == b.isHTMLDocument | 271 && a.isHTMLDocument == b.isHTMLDocument |
| 274 && a.isCSSCustomFilterEnabled == b.isCSSCustomFilterEnabled | 272 && a.isCSSCustomFilterEnabled == b.isCSSCustomFilterEnabled |
| 275 && a.isCSSStickyPositionEnabled == b.isCSSStickyPositionEnabled | 273 && a.isCSSStickyPositionEnabled == b.isCSSStickyPositionEnabled |
| 276 && a.isCSSCompositingEnabled == b.isCSSCompositingEnabled | |
| 277 && a.isCSSGridLayoutEnabled == b.isCSSGridLayoutEnabled | 274 && a.isCSSGridLayoutEnabled == b.isCSSGridLayoutEnabled |
| 278 && a.isCSSVariablesEnabled == b.isCSSVariablesEnabled | 275 && a.isCSSVariablesEnabled == b.isCSSVariablesEnabled |
| 279 && a.needsSiteSpecificQuirks == b.needsSiteSpecificQuirks; | 276 && a.needsSiteSpecificQuirks == b.needsSiteSpecificQuirks; |
| 280 } | 277 } |
| 281 | 278 |
| 282 CSSParser::CSSParser(const CSSParserContext& context) | 279 CSSParser::CSSParser(const CSSParserContext& context) |
| 283 : m_context(context) | 280 : m_context(context) |
| 284 , m_important(false) | 281 , m_important(false) |
| 285 , m_id(CSSPropertyInvalid) | 282 , m_id(CSSPropertyInvalid) |
| 286 , m_styleSheet(0) | 283 , m_styleSheet(0) |
| (...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 787 return true; | 784 return true; |
| 788 break; | 785 break; |
| 789 case CSSPropertyWebkitAppearance: | 786 case CSSPropertyWebkitAppearance: |
| 790 if ((valueID >= CSSValueCheckbox && valueID <= CSSValueTextarea) || valu
eID == CSSValueNone) | 787 if ((valueID >= CSSValueCheckbox && valueID <= CSSValueTextarea) || valu
eID == CSSValueNone) |
| 791 return true; | 788 return true; |
| 792 break; | 789 break; |
| 793 case CSSPropertyWebkitBackfaceVisibility: | 790 case CSSPropertyWebkitBackfaceVisibility: |
| 794 if (valueID == CSSValueVisible || valueID == CSSValueHidden) | 791 if (valueID == CSSValueVisible || valueID == CSSValueHidden) |
| 795 return true; | 792 return true; |
| 796 break; | 793 break; |
| 797 #if ENABLE(CSS_COMPOSITING) | |
| 798 case CSSPropertyMixBlendMode: | 794 case CSSPropertyMixBlendMode: |
| 799 if (parserContext.isCSSCompositingEnabled && (valueID == CSSValueNormal
|| valueID == CSSValueMultiply || valueID == CSSValueScreen | 795 if (RuntimeEnabledFeatures::cssCompositingEnabled() && (valueID == CSSVa
lueNormal || valueID == CSSValueMultiply || valueID == CSSValueScreen |
| 800 || valueID == CSSValueOverlay || valueID == CSSValueDarken || valueI
D == CSSValueLighten || valueID == CSSValueColorDodge | 796 || valueID == CSSValueOverlay || valueID == CSSValueDarken || valueI
D == CSSValueLighten || valueID == CSSValueColorDodge |
| 801 || valueID == CSSValueColorBurn || valueID == CSSValueHardLight || v
alueID == CSSValueSoftLight || valueID == CSSValueDifference | 797 || valueID == CSSValueColorBurn || valueID == CSSValueHardLight || v
alueID == CSSValueSoftLight || valueID == CSSValueDifference |
| 802 || valueID == CSSValueExclusion || valueID == CSSValueHue || valueID
== CSSValueSaturation || valueID == CSSValueColor | 798 || valueID == CSSValueExclusion || valueID == CSSValueHue || valueID
== CSSValueSaturation || valueID == CSSValueColor |
| 803 || valueID == CSSValueLuminosity)) | 799 || valueID == CSSValueLuminosity)) |
| 804 return true; | 800 return true; |
| 805 break; | 801 break; |
| 806 #endif | |
| 807 case CSSPropertyWebkitBorderFit: | 802 case CSSPropertyWebkitBorderFit: |
| 808 if (valueID == CSSValueBorder || valueID == CSSValueLines) | 803 if (valueID == CSSValueBorder || valueID == CSSValueLines) |
| 809 return true; | 804 return true; |
| 810 break; | 805 break; |
| 811 case CSSPropertyWebkitBoxAlign: | 806 case CSSPropertyWebkitBoxAlign: |
| 812 if (valueID == CSSValueStretch || valueID == CSSValueStart || valueID ==
CSSValueEnd || valueID == CSSValueCenter || valueID == CSSValueBaseline) | 807 if (valueID == CSSValueStretch || valueID == CSSValueStart || valueID ==
CSSValueEnd || valueID == CSSValueCenter || valueID == CSSValueBaseline) |
| 813 return true; | 808 return true; |
| 814 break; | 809 break; |
| 815 case CSSPropertyWebkitBoxDecorationBreak: | 810 case CSSPropertyWebkitBoxDecorationBreak: |
| 816 if (valueID == CSSValueClone || valueID == CSSValueSlice) | 811 if (valueID == CSSValueClone || valueID == CSSValueSlice) |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1000 default: | 995 default: |
| 1001 ASSERT_NOT_REACHED(); | 996 ASSERT_NOT_REACHED(); |
| 1002 return false; | 997 return false; |
| 1003 } | 998 } |
| 1004 return false; | 999 return false; |
| 1005 } | 1000 } |
| 1006 | 1001 |
| 1007 static inline bool isKeywordPropertyID(CSSPropertyID propertyId) | 1002 static inline bool isKeywordPropertyID(CSSPropertyID propertyId) |
| 1008 { | 1003 { |
| 1009 switch (propertyId) { | 1004 switch (propertyId) { |
| 1005 case CSSPropertyMixBlendMode: |
| 1006 return RuntimeEnabledFeatures::cssCompositingEnabled(); |
| 1010 case CSSPropertyBorderBottomStyle: | 1007 case CSSPropertyBorderBottomStyle: |
| 1011 case CSSPropertyBorderCollapse: | 1008 case CSSPropertyBorderCollapse: |
| 1012 case CSSPropertyBorderLeftStyle: | 1009 case CSSPropertyBorderLeftStyle: |
| 1013 case CSSPropertyBorderRightStyle: | 1010 case CSSPropertyBorderRightStyle: |
| 1014 case CSSPropertyBorderTopStyle: | 1011 case CSSPropertyBorderTopStyle: |
| 1015 case CSSPropertyBoxSizing: | 1012 case CSSPropertyBoxSizing: |
| 1016 case CSSPropertyCaptionSide: | 1013 case CSSPropertyCaptionSide: |
| 1017 case CSSPropertyClear: | 1014 case CSSPropertyClear: |
| 1018 case CSSPropertyDirection: | 1015 case CSSPropertyDirection: |
| 1019 case CSSPropertyDisplay: | 1016 case CSSPropertyDisplay: |
| 1020 case CSSPropertyEmptyCells: | 1017 case CSSPropertyEmptyCells: |
| 1021 case CSSPropertyFloat: | 1018 case CSSPropertyFloat: |
| 1022 case CSSPropertyFontStyle: | 1019 case CSSPropertyFontStyle: |
| 1023 case CSSPropertyImageRendering: | 1020 case CSSPropertyImageRendering: |
| 1024 case CSSPropertyListStylePosition: | 1021 case CSSPropertyListStylePosition: |
| 1025 case CSSPropertyListStyleType: | 1022 case CSSPropertyListStyleType: |
| 1026 #if ENABLE(CSS_COMPOSITING) | |
| 1027 case CSSPropertyMixBlendMode: | |
| 1028 #endif | |
| 1029 case CSSPropertyOutlineStyle: | 1023 case CSSPropertyOutlineStyle: |
| 1030 case CSSPropertyOverflowWrap: | 1024 case CSSPropertyOverflowWrap: |
| 1031 case CSSPropertyOverflowX: | 1025 case CSSPropertyOverflowX: |
| 1032 case CSSPropertyOverflowY: | 1026 case CSSPropertyOverflowY: |
| 1033 case CSSPropertyPageBreakAfter: | 1027 case CSSPropertyPageBreakAfter: |
| 1034 case CSSPropertyPageBreakBefore: | 1028 case CSSPropertyPageBreakBefore: |
| 1035 case CSSPropertyPageBreakInside: | 1029 case CSSPropertyPageBreakInside: |
| 1036 case CSSPropertyPointerEvents: | 1030 case CSSPropertyPointerEvents: |
| 1037 case CSSPropertyPosition: | 1031 case CSSPropertyPosition: |
| 1038 case CSSPropertyResize: | 1032 case CSSPropertyResize: |
| (...skipping 939 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1978 validPrimitive = true; | 1972 validPrimitive = true; |
| 1979 } else if ((value->id >= CSSValueAuto && value->id <= CSSValueWebkit
Grabbing) || value->id == CSSValueCopy || value->id == CSSValueNone) | 1973 } else if ((value->id >= CSSValueAuto && value->id <= CSSValueWebkit
Grabbing) || value->id == CSSValueCopy || value->id == CSSValueNone) |
| 1980 validPrimitive = true; | 1974 validPrimitive = true; |
| 1981 } else { | 1975 } else { |
| 1982 ASSERT_NOT_REACHED(); | 1976 ASSERT_NOT_REACHED(); |
| 1983 return false; | 1977 return false; |
| 1984 } | 1978 } |
| 1985 break; | 1979 break; |
| 1986 } | 1980 } |
| 1987 | 1981 |
| 1982 case CSSPropertyBackgroundBlendMode: |
| 1988 case CSSPropertyBackgroundAttachment: | 1983 case CSSPropertyBackgroundAttachment: |
| 1989 #if ENABLE(CSS_COMPOSITING) | |
| 1990 case CSSPropertyBackgroundBlendMode: | |
| 1991 #endif | |
| 1992 case CSSPropertyBackgroundClip: | 1984 case CSSPropertyBackgroundClip: |
| 1993 case CSSPropertyWebkitBackgroundClip: | 1985 case CSSPropertyWebkitBackgroundClip: |
| 1994 case CSSPropertyWebkitBackgroundComposite: | 1986 case CSSPropertyWebkitBackgroundComposite: |
| 1995 case CSSPropertyBackgroundImage: | 1987 case CSSPropertyBackgroundImage: |
| 1996 case CSSPropertyBackgroundOrigin: | 1988 case CSSPropertyBackgroundOrigin: |
| 1997 case CSSPropertyWebkitBackgroundOrigin: | 1989 case CSSPropertyWebkitBackgroundOrigin: |
| 1998 case CSSPropertyBackgroundPosition: | 1990 case CSSPropertyBackgroundPosition: |
| 1999 case CSSPropertyBackgroundPositionX: | 1991 case CSSPropertyBackgroundPositionX: |
| 2000 case CSSPropertyBackgroundPositionY: | 1992 case CSSPropertyBackgroundPositionY: |
| 2001 case CSSPropertyBackgroundSize: | 1993 case CSSPropertyBackgroundSize: |
| (...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2345 validPrimitive = true; | 2337 validPrimitive = true; |
| 2346 else { | 2338 else { |
| 2347 RefPtr<CSSValue> val = parseFilter(); | 2339 RefPtr<CSSValue> val = parseFilter(); |
| 2348 if (val) { | 2340 if (val) { |
| 2349 addProperty(propId, val, important); | 2341 addProperty(propId, val, important); |
| 2350 return true; | 2342 return true; |
| 2351 } | 2343 } |
| 2352 return false; | 2344 return false; |
| 2353 } | 2345 } |
| 2354 break; | 2346 break; |
| 2355 #if ENABLE(CSS_COMPOSITING) | |
| 2356 case CSSPropertyMixBlendMode: | 2347 case CSSPropertyMixBlendMode: |
| 2357 if (cssCompositingEnabled()) | 2348 if (!RuntimeEnabledFeatures::cssCompositingEnabled()) |
| 2358 validPrimitive = true; | 2349 return false; |
| 2350 |
| 2351 validPrimitive = true; |
| 2359 break; | 2352 break; |
| 2360 #endif | |
| 2361 case CSSPropertyWebkitFlex: { | 2353 case CSSPropertyWebkitFlex: { |
| 2362 ShorthandScope scope(this, propId); | 2354 ShorthandScope scope(this, propId); |
| 2363 if (id == CSSValueNone) { | 2355 if (id == CSSValueNone) { |
| 2364 addProperty(CSSPropertyWebkitFlexGrow, cssValuePool().createValue(0,
CSSPrimitiveValue::CSS_NUMBER), important); | 2356 addProperty(CSSPropertyWebkitFlexGrow, cssValuePool().createValue(0,
CSSPrimitiveValue::CSS_NUMBER), important); |
| 2365 addProperty(CSSPropertyWebkitFlexShrink, cssValuePool().createValue(
0, CSSPrimitiveValue::CSS_NUMBER), important); | 2357 addProperty(CSSPropertyWebkitFlexShrink, cssValuePool().createValue(
0, CSSPrimitiveValue::CSS_NUMBER), important); |
| 2366 addProperty(CSSPropertyWebkitFlexBasis, cssValuePool().createIdentif
ierValue(CSSValueAuto), important); | 2358 addProperty(CSSPropertyWebkitFlexBasis, cssValuePool().createIdentif
ierValue(CSSValueAuto), important); |
| 2367 return true; | 2359 return true; |
| 2368 } | 2360 } |
| 2369 return parseFlex(m_valueList.get(), important); | 2361 return parseFlex(m_valueList.get(), important); |
| 2370 } | 2362 } |
| (...skipping 1805 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4176 m_valueList->next(); | 4168 m_valueList->next(); |
| 4177 break; | 4169 break; |
| 4178 } | 4170 } |
| 4179 case CSSPropertyWebkitBackgroundComposite: | 4171 case CSSPropertyWebkitBackgroundComposite: |
| 4180 case CSSPropertyWebkitMaskComposite: | 4172 case CSSPropertyWebkitMaskComposite: |
| 4181 if (val->id >= CSSValueClear && val->id <= CSSValuePlusLight
er) { | 4173 if (val->id >= CSSValueClear && val->id <= CSSValuePlusLight
er) { |
| 4182 currValue = cssValuePool().createIdentifierValue(val->id
); | 4174 currValue = cssValuePool().createIdentifierValue(val->id
); |
| 4183 m_valueList->next(); | 4175 m_valueList->next(); |
| 4184 } | 4176 } |
| 4185 break; | 4177 break; |
| 4186 #if ENABLE(CSS_COMPOSITING) | |
| 4187 case CSSPropertyBackgroundBlendMode: | 4178 case CSSPropertyBackgroundBlendMode: |
| 4188 if (cssCompositingEnabled() && (val->id == CSSValueNormal ||
val->id == CSSValueMultiply | 4179 if (RuntimeEnabledFeatures::cssCompositingEnabled() && (val-
>id == CSSValueNormal || val->id == CSSValueMultiply |
| 4189 || val->id == CSSValueScreen || val->id == CSSValueOverl
ay || val->id == CSSValueDarken | 4180 || val->id == CSSValueScreen || val->id == CSSValueOverl
ay || val->id == CSSValueDarken |
| 4190 || val->id == CSSValueLighten || val->id == CSSValueCol
orDodge || val->id == CSSValueColorBurn | 4181 || val->id == CSSValueLighten || val->id == CSSValueCol
orDodge || val->id == CSSValueColorBurn |
| 4191 || val->id == CSSValueHardLight || val->id == CSSValueSo
ftLight || val->id == CSSValueDifference | 4182 || val->id == CSSValueHardLight || val->id == CSSValueSo
ftLight || val->id == CSSValueDifference |
| 4192 || val->id == CSSValueExclusion || val->id == CSSValueHu
e || val->id == CSSValueSaturation | 4183 || val->id == CSSValueExclusion || val->id == CSSValueHu
e || val->id == CSSValueSaturation |
| 4193 || val->id == CSSValueColor || val->id == CSSValueLumino
sity)) { | 4184 || val->id == CSSValueColor || val->id == CSSValueLumino
sity)) { |
| 4194 currValue = cssValuePool().createIdentifierValue(val->id
); | 4185 currValue = cssValuePool().createIdentifierValue(val->id
); |
| 4195 m_valueList->next(); | 4186 m_valueList->next(); |
| 4196 } | 4187 } |
| 4197 break; | 4188 break; |
| 4198 #endif | |
| 4199 case CSSPropertyBackgroundRepeat: | 4189 case CSSPropertyBackgroundRepeat: |
| 4200 case CSSPropertyWebkitMaskRepeat: | 4190 case CSSPropertyWebkitMaskRepeat: |
| 4201 parseFillRepeat(currValue, currValue2); | 4191 parseFillRepeat(currValue, currValue2); |
| 4202 // parseFillRepeat advances the m_valueList pointer | 4192 // parseFillRepeat advances the m_valueList pointer |
| 4203 break; | 4193 break; |
| 4204 case CSSPropertyBackgroundSize: | 4194 case CSSPropertyBackgroundSize: |
| 4205 case CSSPropertyWebkitBackgroundSize: | 4195 case CSSPropertyWebkitBackgroundSize: |
| 4206 case CSSPropertyWebkitMaskSize: { | 4196 case CSSPropertyWebkitMaskSize: { |
| 4207 currValue = parseFillSize(propId, allowComma); | 4197 currValue = parseFillSize(propId, allowComma); |
| 4208 if (currValue) | 4198 if (currValue) |
| (...skipping 4456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8665 | 8655 |
| 8666 static bool validFlowName(const String& flowName) | 8656 static bool validFlowName(const String& flowName) |
| 8667 { | 8657 { |
| 8668 return !(equalIgnoringCase(flowName, "auto") | 8658 return !(equalIgnoringCase(flowName, "auto") |
| 8669 || equalIgnoringCase(flowName, "default") | 8659 || equalIgnoringCase(flowName, "default") |
| 8670 || equalIgnoringCase(flowName, "inherit") | 8660 || equalIgnoringCase(flowName, "inherit") |
| 8671 || equalIgnoringCase(flowName, "initial") | 8661 || equalIgnoringCase(flowName, "initial") |
| 8672 || equalIgnoringCase(flowName, "none")); | 8662 || equalIgnoringCase(flowName, "none")); |
| 8673 } | 8663 } |
| 8674 | 8664 |
| 8675 bool CSSParser::cssCompositingEnabled() const | |
| 8676 { | |
| 8677 return m_context.isCSSCompositingEnabled; | |
| 8678 } | |
| 8679 | |
| 8680 bool CSSParser::cssGridLayoutEnabled() const | 8665 bool CSSParser::cssGridLayoutEnabled() const |
| 8681 { | 8666 { |
| 8682 return m_context.isCSSGridLayoutEnabled; | 8667 return m_context.isCSSGridLayoutEnabled; |
| 8683 } | 8668 } |
| 8684 | 8669 |
| 8685 bool CSSParser::parseFlowThread(const String& flowName) | 8670 bool CSSParser::parseFlowThread(const String& flowName) |
| 8686 { | 8671 { |
| 8687 setupParser("@-internal-decls{-webkit-flow-into:", flowName, "}"); | 8672 setupParser("@-internal-decls{-webkit-flow-into:", flowName, "}"); |
| 8688 cssyyparse(this); | 8673 cssyyparse(this); |
| 8689 | 8674 |
| (...skipping 3008 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11698 { | 11683 { |
| 11699 // The tokenizer checks for the construct of an+b. | 11684 // The tokenizer checks for the construct of an+b. |
| 11700 // However, since the {ident} rule precedes the {nth} rule, some of those | 11685 // However, since the {ident} rule precedes the {nth} rule, some of those |
| 11701 // tokens are identified as string literal. Furthermore we need to accept | 11686 // tokens are identified as string literal. Furthermore we need to accept |
| 11702 // "odd" and "even" which does not match to an+b. | 11687 // "odd" and "even" which does not match to an+b. |
| 11703 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") | 11688 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") |
| 11704 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); | 11689 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); |
| 11705 } | 11690 } |
| 11706 | 11691 |
| 11707 } | 11692 } |
| OLD | NEW |