Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: Source/core/css/CSSParser.cpp

Issue 15012010: Remove the CSS_COMPOSITING define, leaving the implementation under the runtime flag, since runtime… (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: removed bogus test Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/css/CSSParser.h ('k') | Source/core/css/CSSProperty.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « Source/core/css/CSSParser.h ('k') | Source/core/css/CSSProperty.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698