Ticket #607: indexof_contains.patch

File indexof_contains.patch, 1.1 KB (added by mokhet, 14 years ago)
  • htmlarea.js

     
    25322532  this.updateToolbar(); 
    25332533}; 
    25342534 
    2535 if(!Array.prototype.contains) 
     2535if (!Array.prototype.contains) 
    25362536{ 
    25372537  Array.prototype.contains = function(needle) 
    25382538  { 
    2539    var haystack = this; 
    2540    for(var i = 0; i < haystack.length; i++) 
    2541     { 
    2542       if(needle == haystack[i]) return true; 
    2543     } 
    2544  
    2545     return false; 
     2539    return this.indexOf(needle) != -1; 
    25462540  }; 
    25472541} 
    25482542 
    2549 if(!Array.prototype.indexOf) 
     2543if (!Array.prototype.indexOf) 
    25502544{ 
    2551   Array.prototype.indexOf = function(needle) 
     2545  Array.prototype.indexOf = function(needle, fromIndex) 
    25522546  { 
    2553     var haystack = this; 
    2554     for(var i = 0; i < haystack.length; i++) 
     2547    if (!fromIndex) 
    25552548    { 
    2556       if(needle == haystack[i]) return i; 
     2549      fromIndex = 0; 
    25572550    } 
     2551    else if (fromIndex < 0) 
     2552    { 
     2553      fromIndex = Math.max(0, this.length + fromIndex); 
     2554    } 
    25582555 
    2559     return null; 
     2556    for (var i=fromIndex, ilen=this.length; i<ilen; i++) 
     2557    { 
     2558      if (this[i] === needle) 
     2559      { 
     2560        return i; 
     2561      } 
     2562    } 
     2563 
     2564    return -1; 
    25602565  }; 
    25612566} 
    25622567