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 1184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1195 | 1195 |
1196 bool BisonCSSParser::parseColor(const String& string) | 1196 bool BisonCSSParser::parseColor(const String& string) |
1197 { | 1197 { |
1198 setupParser("@-internal-decls color:", string, ""); | 1198 setupParser("@-internal-decls color:", string, ""); |
1199 cssyyparse(this); | 1199 cssyyparse(this); |
1200 m_rule = nullptr; | 1200 m_rule = nullptr; |
1201 | 1201 |
1202 return !m_parsedProperties.isEmpty() && m_parsedProperties.first().id() == C
SSPropertyColor; | 1202 return !m_parsedProperties.isEmpty() && m_parsedProperties.first().id() == C
SSPropertyColor; |
1203 } | 1203 } |
1204 | 1204 |
1205 // FIXME: This is copied from SVGCSSParser.cpp | |
1206 static bool isSystemColor(int id) | |
1207 { | |
1208 return (id >= CSSValueActiveborder && id <= CSSValueWindowtext) || id == CSS
ValueMenu; | |
1209 } | |
1210 | |
1211 bool BisonCSSParser::parseSystemColor(RGBA32& color, const String& string, Docum
ent* document) | 1205 bool BisonCSSParser::parseSystemColor(RGBA32& color, const String& string, Docum
ent* document) |
1212 { | 1206 { |
1213 if (!document) | 1207 if (!document) |
1214 return false; | 1208 return false; |
1215 | 1209 |
1216 CSSParserString cssColor; | 1210 CSSParserString cssColor; |
1217 cssColor.init(string); | 1211 cssColor.init(string); |
1218 CSSValueID id = cssValueKeywordID(cssColor); | 1212 CSSValueID id = cssValueKeywordID(cssColor); |
1219 if (!isSystemColor(id)) | 1213 if (!CSSPropertyParser::isSystemColor(id)) |
1220 return false; | 1214 return false; |
1221 | 1215 |
1222 Color parsedColor = RenderTheme::theme().systemColor(id); | 1216 Color parsedColor = RenderTheme::theme().systemColor(id); |
1223 color = parsedColor.rgb(); | 1217 color = parsedColor.rgb(); |
1224 return true; | 1218 return true; |
1225 } | 1219 } |
1226 | 1220 |
1227 void BisonCSSParser::parseSelector(const String& string, CSSSelectorList& select
orList) | 1221 void BisonCSSParser::parseSelector(const String& string, CSSSelectorList& select
orList) |
1228 { | 1222 { |
1229 m_selectorListForParseSelector = &selectorList; | 1223 m_selectorListForParseSelector = &selectorList; |
(...skipping 8938 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10168 { | 10162 { |
10169 // The tokenizer checks for the construct of an+b. | 10163 // The tokenizer checks for the construct of an+b. |
10170 // However, since the {ident} rule precedes the {nth} rule, some of those | 10164 // However, since the {ident} rule precedes the {nth} rule, some of those |
10171 // tokens are identified as string literal. Furthermore we need to accept | 10165 // tokens are identified as string literal. Furthermore we need to accept |
10172 // "odd" and "even" which does not match to an+b. | 10166 // "odd" and "even" which does not match to an+b. |
10173 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") | 10167 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") |
10174 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); | 10168 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); |
10175 } | 10169 } |
10176 | 10170 |
10177 } | 10171 } |
OLD | NEW |