| // |reftest| skip-if(!xulRuntime.shell) slow |
| /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| |
| //----------------------------------------------------------------------------- |
| var BUGNUMBER = 407720; |
| var summary = 'js_FindClassObject causes crashes with getter/setter - Browser only'; |
| var actual = 'No Crash'; |
| var expect = 'No Crash'; |
| |
| printBugNumber(BUGNUMBER); |
| printStatus (summary); |
| |
| // stop the test after 60 seconds |
| var start = new Date(); |
| |
| if (typeof document != 'undefined') |
| { |
| // delay test driver end |
| gDelayTestDriverEnd = true; |
| document.write('<iframe onload="onLoad()"><\/iframe>'); |
| } |
| else |
| { |
| actual = 'No Crash'; |
| reportCompare(expect, actual, summary); |
| } |
| |
| function onLoad() |
| { |
| |
| if ( (new Date() - start) < 60*1000) |
| { |
| var x = frames[0].Window.prototype; |
| x.a = x.b = x.c = 1; |
| x.__defineGetter__("HTML document.all class", function() {}); |
| frames[0].document.all; |
| |
| // retry |
| frames[0].location = "about:blank"; |
| } |
| else |
| { |
| actual = 'No Crash'; |
| |
| reportCompare(expect, actual, summary); |
| gDelayTestDriverEnd = false; |
| jsTestDriverEnd(); |
| } |
| } |