summaryrefslogtreecommitdiff
path: root/src/cssparser.cc
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2013-09-22 12:30:22 +0200
committerSebastian Geerken <devnull@localhost>2013-09-22 12:30:22 +0200
commit7947111ed07f65821435d9e323fba8754f308202 (patch)
tree9afcd8b6b789fb2bbc6ab3196efef3e9233e4264 /src/cssparser.cc
parentc2eb8db9a1a7f98d228dc4402f234525621b4e8e (diff)
CSS type <uri> implemented; applied to 'background-image'.
Diffstat (limited to 'src/cssparser.cc')
-rw-r--r--src/cssparser.cc18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/cssparser.cc b/src/cssparser.cc
index b60f49d1..d5840f07 100644
--- a/src/cssparser.cc
+++ b/src/cssparser.cc
@@ -141,8 +141,7 @@ static const char *const Css_word_spacing_enum_vals[] = {
const CssPropertyInfo Css_property_info[CSS_PROPERTY_LAST] = {
{"background-attachment", {CSS_TYPE_UNUSED}, NULL},
{"background-color", {CSS_TYPE_COLOR, CSS_TYPE_UNUSED}, NULL},
- /** todo 'background-image' os of type <uri>, which is not yet defined. */
- {"background-image", {CSS_TYPE_STRING, CSS_TYPE_UNUSED}, NULL},
+ {"background-image", {CSS_TYPE_URI, CSS_TYPE_UNUSED}, NULL},
{"background-position", {CSS_TYPE_UNUSED}, NULL},
{"background-repeat", {CSS_TYPE_UNUSED}, NULL},
{"border-bottom-color", {CSS_TYPE_ENUM, CSS_TYPE_COLOR, CSS_TYPE_UNUSED},
@@ -735,6 +734,12 @@ bool CssParser::tokenMatchesProperty(CssPropertyName prop, CssValueType *type)
}
break;
+ case CSS_TYPE_URI:
+ if (ttype == CSS_TK_SYMBOL &&
+ dStrAsciiCasecmp(tval, "url") == 0)
+ return true;
+ break;
+
case CSS_TYPE_UNUSED:
case CSS_TYPE_INTEGER:
/* Not used for parser values. */
@@ -1005,6 +1010,15 @@ bool CssParser::parseValue(CssPropertyName prop,
}
break;
+ case CSS_TYPE_URI:
+ if (ttype == CSS_TK_SYMBOL &&
+ dStrAsciiCasecmp(tval, "url") == 0) {
+ val->strVal = parseUrl();
+ ret = true;
+ nextToken();
+ }
+ break;
+
case CSS_TYPE_UNUSED:
/* nothing */
break;