edusis / ie7-js

Automatically exported from code.google.com/p/ie7-js
0 stars 0 forks source link

Bug in CSS parsing #98

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
==== What steps will reproduce the problem?
1. Add the following CSS to a stylesheet (it's a Gecko 1.8-targetting hack,
but is perfectly valid CSS):

html:not([xmlns*=""]):not(:only-child) button {
    padding-right:4px;
}

html:not([xmlns*=""]):not(:only-child) button span {
    top:-1px;
}

==== What is the expected output? What do you see instead?

The script dies on line 623 with "Expected ;". This is the line:

  eval(format(_FN, reg) + cssParser.unescape(fn) + "return s?null:r}");

The eval() call is trying to evaluate the following, notice "buttonvar"
inside the two if(0) statements, manually formatted for readability:

  var _selectorFunction = function(e0,s){
   IE7._indexed++;
   var r=[],p={},reg=[],d=document;
   var p1=0,i1,e1,n1=e0.getElementsByTagName('HTML');

   for (i1=0;(e1=n1[i1]);i1++) {
    if (0) {
     if (0) {
      buttonvar p2=0,i2,e2,n2=e1.getElementsByTagName('SPAN');
      for (i2=0;(e2=n2[i2]);i2++) {
       var g=e2.sourceIndex;
       if (!p[g]) {
        p[g]=1;
        r[r.length]=e2;
        if(s)return e2;
       }
      }
     }
    }
   }

   return s?null:r
  }

==== What version of the product are you using? On what operating system?

Latest SVN trunk copy of IE7.js in Microsoft's standalone IE6 on Windows XP
SP3.

Original issue reported on code.google.com by jake%cre...@gtempaccount.com on 28 Jul 2008 at 11:01

GoogleCodeExporter commented 8 years ago
Fixed in version 2.1.

Original comment by dean.edw...@gmail.com on 11 Feb 2010 at 2:16