JavaScipt actions and other asynchronous events which cause a WebPage load may not be processed by the time we receive an incoming command. Ensure that these events get processed before checking if the page is loading by calling QApplication::processEvents(). Fixes spurious failures throughout the test suite.
QWebFrame::url() does not return a valid URL for iframes. We can't just look up the requested URL in m_responses because the request may have been redirected, so instead we keep track of redirects and set up the NetworkResponse when the final reply is received.
Adds a SetBlacklist command that takes a list of URLs which will be black listed by the WebKit Server. When a request is made to one these URLs webkit_server will intercept the request and return a NoOpReply which contains no content.
This reverts commit b1b3a4c.