[Webkit-unassigned] [Bug 48077] New: HTMLParserScheduler should be suspended when page loading is deferred

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Oct 21 10:39:09 PDT 2010


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

           Summary: HTMLParserScheduler should be suspended when page
                    loading is deferred
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P3
         Component: Page Loading
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: yong.li.webkit at gmail.com
                CC: staikos at kde.org


Created an attachment (id=71456)
 --> (https://bugs.webkit.org/attachment.cgi?id=71456&action=review)
Test case part 1

HTMLParserScheduler should also be suspended when page load is deferred. Otherwise, when a script is executed in the ways other than by html parser (by async script runner for example) and runs a nested event loop (like showing a dialog to user), the html parser can continue parsing contents and execute JS in the same context, which can result JS errors and bad layout behaviors.

The problem is hard to reproduce without code changes, because it is hard to trigger the m_continueNextChunkTimer.

To reproduce the problem, we can try this settings:
    page->setCustomHTMLTokenizerChunkSize(10);
    page->setCustomHTMLTokenizerTimeDelay(0.001);

and then load the attached test case. After the alert "test" shows up, wait a few seconds and click "ok", then "error detected" will show up which indicates JS re-entrancy is detected.

-- 
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