RESOLVED FIXED 111815
REGRESSION (r145169): [Mac] [WebKit2] http/tests/security/cross-frame-access-put.html fails
https://bugs.webkit.org/show_bug.cgi?id=111815
Summary REGRESSION (r145169): [Mac] [WebKit2] http/tests/security/cross-frame-access-...
Attachments
Proposed patch (9.45 KB, patch)
2013-03-09 14:04 PST, Andreas Kling
no flags
Proposed patch (6.51 KB, patch)
2013-03-14 17:06 PDT, Andreas Kling
andersca: review+
eflews.bot: commit-queue-
Ryosuke Niwa
Comment 1 2013-03-07 20:34:35 PST
Added a test expectation in https://trac.webkit.org/r145177.
Andreas Kling
Comment 2 2013-03-09 14:04:44 PST
Created attachment 192352 [details] Proposed patch First stab at solving this. Add bundle API to control whether cached window frames can be used or not.
Simon Fraser (smfr)
Comment 3 2013-03-11 08:54:31 PDT
Comment on attachment 192352 [details] Proposed patch View in context: https://bugs.webkit.org/attachment.cgi?id=192352&action=review > Source/WebKit2/ChangeLog:11 > + if there's a custom implementation of getWindowFrame() in place that returns something > + other than the "real" window frame. Could this same information be passed back in the reply to the window creation message?
Andreas Kling
Comment 4 2013-03-11 09:23:04 PDT
Comment on attachment 192352 [details] Proposed patch After discussing this with Anders we agreed that it would be better if clients overriding getWindowFrame() on the UIProcess side can also get notified when a new window frame is received from the window server, and then optionally set an override frame. This override would then be respected by WebChromeClient::windowRect().
Andreas Kling
Comment 5 2013-03-11 09:24:07 PDT
(In reply to comment #4) > (From update of attachment 192352 [details]) > After discussing this with Anders we agreed that it would be better if clients overriding getWindowFrame() on the UIProcess side can also get notified when a new window frame is received from the window server, and then optionally set an override frame. > > This override would then be respected by WebChromeClient::windowRect(). Oh, and this notification should happen on the WebProcess side, since that's where the cached frame is stored.
Andreas Kling
Comment 6 2013-03-14 17:06:44 PDT
Created attachment 193205 [details] Proposed patch Here's something way simpler. Have WebPageProxy::windowAndViewFramesChanged() call getWindowFrame() before sending the frames over to the web process. This lets the UI client override the window frame in its getWindowFrame() callback, fixing the issue. Because WindowAndViewFramesChanged happens below the PlatformWebView constructor in WTR, we need a little hack there to ensure the UI client is initialized when the message is sent.
EFL EWS Bot
Comment 7 2013-03-14 17:10:57 PDT
Early Warning System Bot
Comment 8 2013-03-14 17:13:55 PDT
Andreas Kling
Comment 9 2013-03-14 20:32:53 PDT
Note You need to log in before you can comment on or make changes to this bug.