Bug 125586

Summary: [GTK] /webkit2/WebKitWebPage/get-uri fails if run alone
Product: WebKit Reporter: Alberto Garcia <berto>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: cgarcia
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 108832    

Alberto Garcia
Reported 2013-12-11 11:02:58 PST
$ Programs/WebKit2APITests/TestLoaderClient -p /webkit2/WebKitWebPage/get-uri ERROR:../../usr/local/devel/WebKit/Source/WebKit2/UIProcess/API/gtk/tests/TestLoaderClient.cpp:344:void testWebPageURI(WebPageURITest*, gconstpointer): assertion failed (test->m_webPageURIs.size() == test->m_webViewURIs.size()): (0 == 2) m_webPageURIs is enlarged in the WebKitWebExtension::page-created callback. The problem is that this signal is emitted before its handler is registered in busAcquiredCallback(). This doesn't happen in a normal execution because there's time for the bus to be acquired before this particular test (which is almost the last one) is run.
Attachments
Alberto Garcia
Comment 1 2013-12-17 07:19:55 PST
This fails all the time if TestLoaderClient is run with the network process enabled. The reason for this is that after each test the web process is terminated: void WebProcessProxy::removeWebPage(uint64_t pageID) { [...] // If this was the last WebPage open in that web process, and we have no other reason to keep it alive, let it go. // We only allow this when using a network process, as otherwise the WebProcess needs to preserve its session state. if (m_context->usesNetworkProcess() && canTerminateChildProcess()) { abortProcessLaunchIfNeeded(); disconnect(); } } Because of this there's a new web process for each test and the bug is hit all the time.
Carlos Garcia Campos
Comment 2 2013-12-22 02:19:04 PST
This has already been fixed in r160904.
Note You need to log in before you can comment on or make changes to this bug.