Hixie asked for a concrete example of page that breaks if click()
limit is removed so here is one:
1. Go to http://forums.whirlpool.net.au/
2. Under Whirlpool (righthand side) go to 'Feedback Forum'
3. Click on any Forum
4. Click reply to this post (righthand) side
5. Login (you need to create an account)
6. Click 'Show quoted' box
Without click() protection the last step hangs the browser (at least
until javascript time limit kicks in). Script is sufficiently complex
and slow to execute that it won't hit javascript stack limit. I tried
having a minimum nesting limit that passes Acid3 (10 iterations) and
that too produces a noticeable ~1s pause. On mobile class hardware
that would be a complete hang.
antti
On 14.3.2008, at 11:04, Erik Arvidsson wrote:
To me it just seems wrong to prevent this. This is in theory no
different than a recursive call and just like recursion it can end up
in an infinite loop. Having a limit seems OK since most JavaScript
engines already have a limit on the size of the call stack.
On Mon, Mar 10, 2008 at 11:54, Anne van Kesteren <[EMAIL PROTECTED]>
wrote:
On Mon, 10 Mar 2008 19:49:21 +0100, Antti Koivisto
<[EMAIL PROTECTED]> wrote:
WebKit, Firefox and IE all implement a protection mechanism against
re-entering click() on the same element:
<input type="checkbox" onclick="this.click()">
Opera had the same restriction. We now limit it at 50 or so... I
think
we're fine either way though.
--
Anne van Kesteren
<http://annevankesteren.nl/>
<http://www.opera.com/>
--
erik