[Webkit-unassigned] [Bug 29690] Application Cache event listeners can fire during script loading

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Sep 25 09:36:03 PDT 2009


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


Alexey Proskuryakov <ap at webkit.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Application Cache           |Application Cache event
                   |onchecking listeners don't  |listeners can fire during
                   |get fired if there is an    |script loading
                   |external script             |
                 CC|                            |ap at webkit.org




--- Comment #2 from Alexey Proskuryakov <ap at webkit.org>  2009-09-25 09:36:03 PDT ---
Here is what's going on:
1) As soon as body manifest attribute is processed, application cache update
begins, and a zero-timer task to dispatch a checking event is posted for later
execution.
2) <script src="THIS_FILE_DOES_NOT_EXIST"> begins to load, blocking the inline
script below that sets applicationCache.onchecking.
3) While THIS_FILE_DOES_NOT_EXIST is being requested, the task from step 1
fires, and the checking event gets dispatched, even though there is no listener
set for it yet.
4) Loading finally finishes with a failure, so main document parsing resumes.
Onchecking listener gets set, but it's too late now.

This might actually be correct behavior, I'm not sure yet. And this is not
limited to appcache - all the new events that are posted asynchronously can get
dispatched even when parsing is paused for an external script.

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



More information about the webkit-unassigned mailing list