[Webkit-unassigned] [Bug 18941] WebView fails to load if opened from a blocking JS call in a timer.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Sep 19 11:49:46 PDT 2008


https://bugs.webkit.org/show_bug.cgi?id=18941


playmobil at google.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #21681|0                           |1
        is obsolete|                            |
  Attachment #23576|                            |review?
               Flag|                            |




------- Comment #10 from playmobil at google.com  2008-09-19 11:49 PDT -------
Created an attachment (id=23576)
 --> (https://bugs.webkit.org/attachment.cgi?id=23576&action=view)
Adds mask to fix recursive JS timer invocations in previous patch.

The previous patch had the problem that once fireTimersInNestedEventLoops() had
been called, JS timers where enabled along with all other timers causing a
situation in which JS timers could fire recursively.

Adding code to fireTimersInNestedEventLoops() to mask certain types of timers
isn't feasible because you have no way of knowing when to remove the mask.

This patch tags each timer with a type (currently just DOMTimers & generic
timers for everything else) and allows a timer to signify exclusion of other
timer types while it's firing.

If we encounter a fire that's excluded by the mask then we defer it to fire at
a later time.

This means that you can call fireTimersInNestedEventLoop() at any point without
worrying about the recursive behavior.


-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list