- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 10 Dec 2009 14:34:40 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css21 In directory hutz:/tmp/cvs-serv17840 Modified Files: CssBackgroundCSS21.java Log Message: better fix for background parsing bug expressed earlier. Index: CssBackgroundCSS21.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css21/CssBackgroundCSS21.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- CssBackgroundCSS21.java 25 Mar 2008 18:43:10 -0000 1.4 +++ CssBackgroundCSS21.java 10 Dec 2009 14:34:38 -0000 1.5 @@ -42,6 +42,7 @@ CssValue val; char op = SPACE; boolean find = true; + CssExpression background_position_expression = null; // too many values if(check && expression.getCount() > 6) { @@ -88,11 +89,12 @@ case CssTypes.CSS_NUMBER: case CssTypes.CSS_PERCENTAGE: case CssTypes.CSS_LENGTH: - if (getPosition() == null) { - setPosition(new CssBackgroundPositionCSS21(ac,expression)); - continue; + if (background_position_expression == null) { + background_position_expression = new CssExpression(); } - find = false; + background_position_expression.addValue(val); + expression.next(); + find = true; break; case CssTypes.CSS_IDENT: // the hard part, as ident can be from different subproperties @@ -117,17 +119,20 @@ // check background-attachment ident if (CssBackgroundAttachmentCSS2.checkMatchingIdent(identval)) { if (getAttachment() == null) { - setAttachment(new CssBackgroundAttachmentCSS2(ac, expression)); + setAttachment(new CssBackgroundAttachmentCSS2(ac, + expression)); find = true; } break; } // check backgorund-position ident if (CssBackgroundPositionCSS21.checkMatchingIdent(identval)) { - if (getPosition() == null) { - setPosition(new CssBackgroundPositionCSS21(ac, expression)); - find = true; + if (background_position_expression == null) { + background_position_expression = new CssExpression(); } + background_position_expression.addValue(val); + expression.next(); + find = true; break; } @@ -156,6 +161,11 @@ ac); } } + if (background_position_expression != null) { + setPosition(new CssBackgroundPositionCSS21(ac, + background_position_expression, + check)); + } } public CssBackgroundCSS21(ApplContext ac, CssExpression expression)
Received on Thursday, 10 December 2009 14:34:41 UTC