@@ -499,7 +499,7 @@ public void setHSLColor(CssExpression exp, ApplContext ac)
499499 switch (val .getType ()) {
500500 case CssTypes .CSS_ANGLE :
501501 case CssTypes .CSS_NUMBER :
502- hsl .setHue (ac , val );
502+ hsl .setHue (ac , val );
503503 break ;
504504 default :
505505 throw new InvalidParamException ("rgb" , val , ac ); // FIXME hsl
@@ -564,11 +564,13 @@ public void setHSLAColor(CssExpression exp, ApplContext ac)
564564 if (val == null || op != COMMA ) {
565565 throw new InvalidParamException ("invalid-color" , ac );
566566 }
567- if (val .getType () == CssTypes .CSS_NUMBER ) {
568- CssNumber number = (CssNumber ) val ;
569- hsla .setHue (angleValue (number .getValue (), ac ));
570- } else {
571- throw new InvalidParamException ("rgb" , val , ac ); // FIXME hsl
567+ switch (val .getType ()) {
568+ case CssTypes .CSS_ANGLE :
569+ case CssTypes .CSS_NUMBER :
570+ hsla .setHue (ac , val );
571+ break ;
572+ default :
573+ throw new InvalidParamException ("rgb" , val , ac ); // FIXME hsl
572574 }
573575
574576 // S
@@ -580,8 +582,7 @@ public void setHSLAColor(CssExpression exp, ApplContext ac)
580582 throw new InvalidParamException ("invalid-color" , ac );
581583 }
582584 if (val .getType () == CssTypes .CSS_PERCENTAGE ) {
583- CssPercentage percent = (CssPercentage ) val ;
584- hsla .setSaturation (clippedPercentValue (percent .floatValue (), ac ));
585+ hsla .setSaturation (ac , val );
585586 } else {
586587 exp .starts ();
587588 throw new InvalidParamException ("rgb" , val , ac ); // FIXME hsl
@@ -596,8 +597,7 @@ public void setHSLAColor(CssExpression exp, ApplContext ac)
596597 throw new InvalidParamException ("invalid-color" , ac );
597598 }
598599 if (val .getType () == CssTypes .CSS_PERCENTAGE ) {
599- CssPercentage percent = (CssPercentage ) val ;
600- hsla .setLightness (clippedPercentValue (percent .floatValue (), ac ));
600+ hsla .setLightness (ac , val );
601601 } else {
602602 exp .starts ();
603603 throw new InvalidParamException ("rgb" , val , ac ); // FIXME hsl
@@ -610,12 +610,15 @@ public void setHSLAColor(CssExpression exp, ApplContext ac)
610610 exp .starts ();
611611 throw new InvalidParamException ("invalid-color" , ac );
612612 }
613- if (val .getType () == CssTypes .CSS_NUMBER ) {
614- CssNumber number = (CssNumber ) val ;
615- hsla .setAlpha (clippedAlphaValue (number .getValue (), ac ));
616- } else {
617- exp .starts ();
618- throw new InvalidParamException ("rgb" , val , ac ); // FIXME hsl
613+ switch (val .getType ()) {
614+ case CssTypes .CSS_NUMBER :
615+ // starting with CSS Color 4
616+ case CssTypes .CSS_PERCENTAGE :
617+ hsla .setAlpha (ac , val );
618+ break ;
619+ default :
620+ exp .starts ();
621+ throw new InvalidParamException ("rgb" , val , ac ); // FIXME rgba
619622 }
620623 // extra values?
621624 exp .next ();
0 commit comments