diff options
author | Ben Murdoch <benm@google.com> | 2009-06-05 14:49:32 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2009-06-05 15:24:00 +0100 |
commit | e1503159a6023b8eb39fbecadf6986c8ddd862e2 (patch) | |
tree | 2475b9c31532b452d5449c5372138ffa59675b0c /WebCore/loader/FrameLoader.cpp | |
parent | bf22f208d6fb755dd4ddebbde1a1a3b23e597990 (diff) | |
download | external_webkit-e1503159a6023b8eb39fbecadf6986c8ddd862e2.zip external_webkit-e1503159a6023b8eb39fbecadf6986c8ddd862e2.tar.gz external_webkit-e1503159a6023b8eb39fbecadf6986c8ddd862e2.tar.bz2 |
Check in patch for webkit bug 25710. History navigation by fragement breaks database transactions.
https://bugs.webkit.org/show_bug.cgi?id=25710, landed to webkit in r44468
Diffstat (limited to 'WebCore/loader/FrameLoader.cpp')
-rw-r--r-- | WebCore/loader/FrameLoader.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/WebCore/loader/FrameLoader.cpp b/WebCore/loader/FrameLoader.cpp index bfc2686..e5ce94a 100644 --- a/WebCore/loader/FrameLoader.cpp +++ b/WebCore/loader/FrameLoader.cpp @@ -619,7 +619,7 @@ void FrameLoader::submitForm(const char* action, const String& url, PassRefPtr<F submitForm(frameRequest, event, lockHistory, lockBackForwardList); } -void FrameLoader::stopLoading(bool sendUnload) +void FrameLoader::stopLoading(bool sendUnload, DatabasePolicy databasePolicy) { if (m_frame->document() && m_frame->document()->tokenizer()) m_frame->document()->tokenizer()->stopParsing(); @@ -660,7 +660,8 @@ void FrameLoader::stopLoading(bool sendUnload) cache()->loader()->cancelRequests(docLoader); #if ENABLE(DATABASE) - doc->stopDatabases(); + if (databasePolicy == DatabasePolicyStop) + doc->stopDatabases(); #endif } @@ -2713,7 +2714,7 @@ void FrameLoader::stopLoadingSubframes() child->loader()->stopAllLoaders(); } -void FrameLoader::stopAllLoaders() +void FrameLoader::stopAllLoaders(DatabasePolicy databasePolicy) { // If this method is called from within this method, infinite recursion can occur (3442218). Avoid this. if (m_inStopAllLoaders) @@ -2725,9 +2726,9 @@ void FrameLoader::stopAllLoaders() stopLoadingSubframes(); if (m_provisionalDocumentLoader) - m_provisionalDocumentLoader->stopLoading(); + m_provisionalDocumentLoader->stopLoading(databasePolicy); if (m_documentLoader) - m_documentLoader->stopLoading(); + m_documentLoader->stopLoading(databasePolicy); setProvisionalDocumentLoader(0); |