-
andersca@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=115962 <rdar://problem/13660916> Reviewed by Andreas Kling. Source/WebKit2: Handle terminating a process that has not been fully launched. * UIProcess/Launcher/ProcessLauncher.cpp: (WebKit::ProcessLauncher::didFinishLaunchingProcess): If we have been invalidated, dispose the connection identifier. * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::ProcessLauncher::terminateProcess): If we're still launching the process, invalidate so the client won't get an unexpected didFinishLaunching callback. * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::requestTermination): Check if webConnection() is null before calling it. (It will be null if the process isn't fully launched). Tools: Add TerminateTwice, a test that terminates a page, then reloads it and terminates it again before the process has had a chance to be fully launched. * TestWebKitAPI/GNUmakefile.am: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp: Added. (TestWebKitAPI): (TestWebKitAPI::didFinishLoadForFrame): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit2/WebKit2.pro: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
d8a9a51a