[Webkit-unassigned] [Bug 54219] Crash in WebCore::FrameLoader::continueLoadAfterNavigationPolicy

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Feb 14 15:11:27 PST 2011


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





--- Comment #6 from Mihai Parparita <mihaip at chromium.org>  2011-02-14 15:11:27 PST ---
(In reply to comment #5)
> HistoryController isn't set up to have a stack of navigations in progress.

It looks like part of the problem is this part of NavigationScheduler::scheduleLocationChange

    // If the URL we're going to navigate to is the same as the current one, except for the
    // fragment part, we don't need to schedule the location change.
    KURL parsedURL(ParsedURLString, url);
    if (parsedURL.hasFragmentIdentifier() && equalIgnoringFragmentIdentifier(m_frame->document()->url(), parsedURL)) {
        loader->changeLocation(securityOrigin, loader->completeURL(url), referrer, lockHistory, lockBackForwardList);
        return;
    }

Normally all page-initiated location changes are asynchronous, so we don't end up in this state of having more than one navigation in progress. One possible fix is to remove this special-casing of fragment changes here, and let them be handled like other navigations (which involves enqueuing a task on the NavigationScheduler queue, by the time that fires the previous navigation will be complete).

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