Bug 48140 - WebKit2 needs to pass the current event modifier flags when requesting a new window
: WebKit2 needs to pass the current event modifier flags when requesting a new ...
Status: RESOLVED FIXED
: WebKit
WebKit2
: 528+ (Nightly build)
: PC Mac OS X 10.5
: P2 Normal
Assigned To:
:
: InRadar
:
:
  Show dependency treegraph
 
Reported: 2010-10-22 10:49 PST by
Modified: 2010-10-27 20:09 PST (History)


Attachments
Patch (68.70 KB, patch)
2010-10-22 11:13 PST, Sam Weinig
andersca: review+
Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-10-22 10:49:50 PST
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 From 2010-10-22 10:50:00 PST -------
<rdar://problem/8579145>
------- Comment #2 From 2010-10-22 11:13:56 PST -------
Created an attachment (id=71578) [details]
Patch
------- Comment #3 From 2010-10-22 11:16:59 PST -------
(From update of attachment 71578 [details])
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 From 2010-10-22 11:35:53 PST -------
Attachment 71578 [details] did not build on qt:
Build output: http://queues.webkit.org/results/4716027
------- Comment #5 From 2010-10-22 16:30:29 PST -------
http://trac.webkit.org/changeset/70333 might have broken GTK Linux 32-bit Release
------- Comment #6 From 2010-10-27 20:09:14 PST -------
Fixed in http://trac.webkit.org/changeset/70333.