File tree Expand file tree Collapse file tree 1 file changed +24
-10
lines changed
Expand file tree Collapse file tree 1 file changed +24
-10
lines changed Original file line number Diff line number Diff line change @@ -219,16 +219,29 @@ CSSOM.parse = function parse(token) {
219219 break ;
220220
221221 case '(' :
222- if ( state === 'value' ) {
223- index = token . indexOf ( ')' , i + 1 ) ;
224- if ( index === - 1 ) {
225- parseError ( 'Unmatched "("' ) ;
226- }
227- buffer += token . slice ( i , index + 1 ) ;
228- i = index ;
229- } else {
230- buffer += character ;
231- }
222+ if ( state === 'value' ) {
223+ // ie css expression mode
224+ if ( buffer . trim ( ) == 'expression' ) {
225+ var info = new CSSOM . CSSValueExpression ( token , i ) . parse ( ) ;
226+
227+ if ( info . error ) {
228+ parseError ( info . error ) ;
229+ } else {
230+ buffer += info . expression ;
231+ i = info . idx ;
232+ }
233+ } else {
234+ index = token . indexOf ( ')' , i + 1 ) ;
235+ if ( index === - 1 ) {
236+ parseError ( 'Unmatched "("' ) ;
237+ }
238+ buffer += token . slice ( i , index + 1 ) ;
239+ i = index ;
240+ }
241+ } else {
242+ buffer += character ;
243+ }
244+
232245 break ;
233246
234247 case "!" :
@@ -341,4 +354,5 @@ CSSOM.CSSFontFaceRule = require("./CSSFontFaceRule").CSSFontFaceRule;
341354CSSOM . CSSStyleDeclaration = require ( './CSSStyleDeclaration' ) . CSSStyleDeclaration ;
342355CSSOM . CSSKeyframeRule = require ( './CSSKeyframeRule' ) . CSSKeyframeRule ;
343356CSSOM . CSSKeyframesRule = require ( './CSSKeyframesRule' ) . CSSKeyframesRule ;
357+ CSSOM . CSSValueExpression = require ( './CSSValueExpression' ) . CSSValueExpression ;
344358///CommonJS
You can’t perform that action at this time.
0 commit comments