diff options
author | Andy Estes <aestes@apple.com> | 2014-03-10 14:30:54 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-10 15:03:01 +0100 |
commit | 170372f09df04c19eb281cecd1550d6b2d297f3b (patch) | |
tree | 255419fbed92d0d7d9dfd82f15cc6a6fad361cc2 /Source/JavaScriptCore/API/JSStringRefQt.cpp | |
parent | bb9c1f33975cd0f71a7f314fc1c0f755c1b75a32 (diff) | |
download | qtwebkit-170372f09df04c19eb281cecd1550d6b2d297f3b.tar.gz |
REGRESSION (r139343): WebKit crashes when canceling a load inside
<https://webkit.org/b/119853> webView:resource:didFinishLoadingFromDataSource:
Reviewed by Brady Eidson.
Source/WebCore:
A client implementing webView:resource:didFinishLoadingFromDataSource:
might decide to call stopLoading: for the identifier that just finished
loading. If this happens we re-enter the loader and attempt to cancel a
load that has already finished and been removed from the set of active
loaders. Prevent this by clearing DocumentLoader's
m_identifierForLoadWithoutResourceLoader before calling
dispatchDidFinishLoading().
New API test: WebKit1.StopLoadingFromDidFinishLoading.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::finishedLoading): Set
m_identifierForLoadWithoutResourceLoader to 0 before calling
dispatchDidFinishLoading().
Tools:
Wrote an API test that verifies -[WebView stopLoading:] can be called
inside webView:resource:didFinishLoadingFromDataSource: without crashing.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/StopLoadingFromDidFinishLoading.mm: Added.
(-[StopLoadingFromDidFinishLoadingDelegate webView:resource:didFinishLoadingFromDataSource:]):
(TestWebKitAPI::TEST):
Change-Id: Ib5da6cfdd74eac0e284a512ee54e74353aba783b
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154115 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/JavaScriptCore/API/JSStringRefQt.cpp')
0 files changed, 0 insertions, 0 deletions