Changeset 19602 in webkit


Ignore:
Timestamp:
Feb 13, 2007 9:52:53 AM (17 years ago)
Author:
darin
Message:
  • roll out fix for <rdar://problem/4874059> REGRESSION: Painter IX:register -
Crash in WebCore
ResourceLoader::willSendRequest()

This fix was causing a crash in at least one layout test.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopAllLoaders): (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r19601 r19602  
     12007-02-13  Darin Adler  <darin@apple.com>
     2
     3        - roll out fix for <rdar://problem/4874059> REGRESSION: Painter IX:register -
     4          Crash in WebCore:: ResourceLoader::willSendRequest()
     5
     6        This fix was causing a crash in at least one layout test.
     7
     8        * loader/FrameLoader.cpp:
     9        (WebCore::FrameLoader::stopAllLoaders):
     10        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
     11
    1122007-02-13  Mitz Pettel  <mitz@webkit.org>
    213
  • trunk/WebCore/loader/FrameLoader.cpp

    r19597 r19602  
    21022102
    21032103    stopLoadingSubframes();
    2104     RefPtr<DocumentLoader> provisionalDocumentLoader = m_provisionalDocumentLoader;
    2105     RefPtr<DocumentLoader> documentLoader = m_documentLoader;
    2106     if (provisionalDocumentLoader)
    2107         provisionalDocumentLoader->stopLoading();
    2108 
    2109     // Calling stopLoading() on the provisional loader results in a delegate callback,
    2110     // which may kick off a brand new provisional load. So only nil out the provisional loader
    2111     // if we're dealing with the exact same loader.
    2112     if (provisionalDocumentLoader == m_provisionalDocumentLoader)
    2113         setProvisionalDocumentLoader(0);
    2114 
    2115     if (documentLoader)
    2116         documentLoader->stopLoading();
    2117    
     2104    if (m_provisionalDocumentLoader)
     2105        m_provisionalDocumentLoader->stopLoading();
     2106    if (m_documentLoader)
     2107        m_documentLoader->stopLoading();
     2108    setProvisionalDocumentLoader(0);
    21182109    m_client->clearArchivedResources();
     2110
    21192111    m_inStopAllLoaders = false;   
    21202112}
     
    33703362
    33713363    FrameLoadType type = m_policyLoadType;
    3372     {
    3373         RefPtr<DocumentLoader> previousProvisionalDocumentLoader = m_provisionalDocumentLoader;
    3374         stopAllLoaders();
    3375        
    3376         // stopAllLoaders cancels loads and informs the frame load delegate accordingly. The delegate however,
    3377         // may decide to kick off a new provisional load as the result of the cancel, and if it does, we need
    3378         // to bail out now and avoid prematurely destroying the new provisional load in progress.
    3379         if (m_provisionalDocumentLoader != previousProvisionalDocumentLoader)
    3380             return;
    3381     }
    3382    
     3364    stopAllLoaders();
    33833365    setProvisionalDocumentLoader(m_policyDocumentLoader.get());
    33843366    m_loadType = type;
Note: See TracChangeset for help on using the changeset viewer.