michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* michael@0: * Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/licenses/publicdomain/ michael@0: * Contributor: Robert Sayre michael@0: */ michael@0: michael@0: //----------------------------------------------------------------------------- michael@0: var BUGNUMBER = 449627; michael@0: var summary = 'Crash with JIT in js_FillPropertyCache'; michael@0: var actual = 'No Crash'; michael@0: var expect = 'No Crash'; michael@0: michael@0: printBugNumber(BUGNUMBER); michael@0: printStatus (summary); michael@0: michael@0: jit(true); michael@0: michael@0: /************************ BROWSER DETECT (http://www.quirksmode.org/js/detect.html) ************************/ michael@0: michael@0: if (typeof navigator == 'undefined') michael@0: { michael@0: navigator = { michael@0: userAgent: "Firefox", michael@0: vendor: "Mozilla", michael@0: platform: "Mac" michael@0: }; michael@0: } michael@0: michael@0: global = this; michael@0: michael@0: var BrowserDetect = { michael@0: init: function _init() michael@0: { michael@0: this.browser=this.searchString(this.dataBrowser) || "An unknown browser"; michael@0: michael@0: this.OS= this.searchString(this.dataOS)||"an unknown OS"; michael@0: }, michael@0: searchString: function _searchString(a) michael@0: { michael@0: for(var i=0; i < a.length; i++) michael@0: { michael@0: var b=a[i].string; michael@0: var c=a[i].prop; michael@0: this.versionSearchString=a[i].versionSearch||a[i].identity; michael@0: if(b) michael@0: { michael@0: if(b.indexOf(a[i].subString)!=-1) michael@0: return a[i].identity; michael@0: } michael@0: else if(c) michael@0: return a[i].identity; michael@0: } michael@0: }, michael@0: michael@0: searchVersion:function _searchVersion(a) michael@0: { michael@0: var b=a.indexOf(this.versionSearchString); michael@0: if(b==-1) michael@0: return; michael@0: return parseFloat(a.substring(b+this.versionSearchString.length+1)); michael@0: }, michael@0: michael@0: dataBrowser:[ michael@0: { michael@0: string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb" michael@0: }, michael@0: { michael@0: string:navigator.vendor,subString:"Apple",identity:"Safari" michael@0: }, michael@0: { michael@0: prop:global.opera,identity:"Opera" michael@0: }, michael@0: { michael@0: string:navigator.vendor,subString:"iCab",identity:"iCab" michael@0: }, michael@0: { michael@0: string:navigator.vendor,subString:"KDE",identity:"Konqueror" michael@0: }, michael@0: { michael@0: string:navigator.userAgent,subString:"Firefox",identity:"Firefox" michael@0: }, michael@0: { michael@0: string:navigator.vendor,subString:"Camino",identity:"Camino" michael@0: }, michael@0: { michael@0: string:navigator.userAgent,subString:"Netscape",identity:"Netscape" michael@0: }, michael@0: { michael@0: string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE" michael@0: }, michael@0: { michael@0: string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv" michael@0: }, michael@0: { michael@0: string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla" michael@0: } michael@0: ], michael@0: dataOS:[ michael@0: { michael@0: string:navigator.platform,subString:"Win",identity:"Windows" michael@0: }, michael@0: { michael@0: string:navigator.platform,subString:"Mac",identity:"Mac" michael@0: }, michael@0: { michael@0: string:navigator.platform,subString:"Linux",identity:"Linux" michael@0: } michael@0: ] michael@0: }; michael@0: michael@0: BrowserDetect.init(); michael@0: michael@0: jit(false); michael@0: michael@0: reportCompare(expect, actual, summary);