Closed
Bug 715918
Opened 13 years ago
Closed 8 years ago
Too many javascript events freezes browser (exponential setTimeout/setInterval growth)
Categories
(Core :: DOM: Core & HTML, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: mcmanus, Unassigned)
References
Details
JS that creates lots of events (in the case below an ever increasing set of events) can almost completely freeze the UI - so much so that you can't even close the tab. The runaway script dialog never comes up - killing the browser is pretty much the only path. Some sort of runaway detection would be desirable.
2 examples:
function f() {
for (var i = 0; i < 32; ++i) setTimeout(f);
}
setTimeout(f);
and (derived from a real bug):
function chatRoomClass(){};
var reconnection;
var ctr = 32;
iv=function ()
{
cr.ws.close();
for(j=0;j<ctr;j++)
cr.initws();
}
chatRoomClass.prototype.initws=function()
{
self=this;
if("WebSocket"in window)
{
if(this.ws!=null)
{
this.ws.close();
}
this.ws=new WebSocket("ws://doesntreallyexist.tv:88/1");
var self=this;
reconnection=setInterval(function(){;clearInterval(reconnection);
iv();}, 1);
}
};
cr = new chatRoomClass();
cr.initws();
Updated•13 years ago
|
Component: XPConnect → DOM
QA Contact: xpconnect → general
Summary: Too many javascript events freezes browser → Too many javascript events freezes browser (exponential setTimeout/setInterval growth)
Comment 2•8 years ago
|
||
I believe this should be fixed now that bug 1300659 has landed.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•