Now that the policy delegates are really being handle asynchronously, we need to pass more information (such as the event that caused the new window) to ChromeClient::createWindow about how the window was requested (this is necessary because by the time the decidePolicyForNewWindowAction returns, the event will no longer be on the stack.).
<rdar://problem/8579145>
Created attachment 71578 [details] Patch
Comment on attachment 71578 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=71578&action=review > WebCore/page/ContextMenuController.cpp:144 > + if (Page* newPage = oldPage->chrome()->createWindow(frame, FrameLoadRequest(ResourceRequest(urlToLoad, frame->loader()->outgoingReferrer())), features, action)) You can just pass NavigationAction as a temporary here.
Attachment 71578 [details] did not build on qt: Build output: http://queues.webkit.org/results/4716027
http://trac.webkit.org/changeset/70333 might have broken GTK Linux 32-bit Release
Fixed in http://trac.webkit.org/changeset/70333.