summaryrefslogtreecommitdiffstats
path: root/WebCore/loader/FrameLoader.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2009-06-05 14:49:32 +0100
committerBen Murdoch <benm@google.com>2009-06-05 15:24:00 +0100
commite1503159a6023b8eb39fbecadf6986c8ddd862e2 (patch)
tree2475b9c31532b452d5449c5372138ffa59675b0c /WebCore/loader/FrameLoader.cpp
parentbf22f208d6fb755dd4ddebbde1a1a3b23e597990 (diff)
downloadexternal_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.cpp11
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);