Bug 48140

Summary: WebKit2 needs to pass the current event modifier flags when requesting a new window
Product: WebKit Reporter: Sam Weinig <sam>
Component: WebKit2Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, eric, webkit-ews, webkit.review.bot
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
Patch andersca: review+

Description Sam Weinig 2010-10-22 10:49:50 PDT
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.).
Comment 1 Sam Weinig 2010-10-22 10:50:00 PDT
<rdar://problem/8579145>
Comment 2 Sam Weinig 2010-10-22 11:13:56 PDT
Created attachment 71578 [details]
Patch
Comment 3 Anders Carlsson 2010-10-22 11:16:59 PDT
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.
Comment 4 Early Warning System Bot 2010-10-22 11:35:53 PDT
Attachment 71578 [details] did not build on qt:
Build output: http://queues.webkit.org/results/4716027
Comment 5 WebKit Review Bot 2010-10-22 16:30:29 PDT
http://trac.webkit.org/changeset/70333 might have broken GTK Linux 32-bit Release
Comment 6 Sam Weinig 2010-10-27 20:09:14 PDT
Fixed in http://trac.webkit.org/changeset/70333.