RESOLVED FIXED Bug 33333
[Qt] pass plugins/open-and-close-window-with-plugin.html on Qt
https://bugs.webkit.org/show_bug.cgi?id=33333
Summary [Qt] pass plugins/open-and-close-window-with-plugin.html on Qt
Robert Hogan
Reported 2010-01-07 11:24:40 PST
This test cannot pass on platforms other than Mac because the NP plugin is a child of the page rather than the webview on those platforms. The test is intended to cater for cases where a window is closed but -[webview close] is not called by the plugin - Mac experienced a regression where you could close the window and the plugin would continue displaying because the plugin did not close the webview. When a window is closed on non-Mac platforms the page is deleted and the plugin destroyed, so the message logged by the plugin in the test reaches a deleted object. In the case of Qt, because the object is (being) deleted the log message from the plugin arrives in the QWebPage's implementation of javascriptConsoleMessage() (which does nothing by default) rather than in that of DRT's derived class WebPage (which writes to stdout). It's pure chance that the memory has not been overwritten at that point so it would not be correct to alter QWebpage to cater for it. (Note that this behaviour only occurs in the DRT anyway because the test plugin has logDestroy property).
Attachments
Patch (8.10 KB, patch)
2010-01-07 11:28 PST, Robert Hogan
no flags
Patch (3.24 KB, patch)
2010-06-13 14:19 PDT, Robert Hogan
no flags
Patch (3.48 KB, patch)
2010-06-17 14:26 PDT, Robert Hogan
kenneth: review+
Robert Hogan
Comment 1 2010-01-07 11:28:11 PST
WebKit Review Bot
Comment 2 2010-01-07 11:37:46 PST
style-queue ran check-webkit-style on attachment 46069 [details] without any errors.
Maciej Stachowiak
Comment 3 2010-01-22 02:17:42 PST
Comment on attachment 46069 [details] Patch Are you sure it can't pass on platforms other than Mac? I don't think it's been a problem on anything but Qt. I think the right fix may be to put this test in the Qt skipped list. r- to consider that option (or just reflag if you are sure this is the best approach).
Robert Hogan
Comment 4 2010-06-13 13:25:32 PDT
(In reply to comment #3) > (From update of attachment 46069 [details]) > Are you sure it can't pass on platforms other than Mac? I don't think it's been a problem on anything but Qt. I think the right fix may be to put this test in the Qt skipped list. r- to consider that option (or just reflag if you are sure this is the best approach). It's skipped by everyone except chromium: LayoutTests/platform/mac-snowleopard/Skipped:plugins/open-and-close-window-with-plugin.html LayoutTests/platform/qt/Skipped:plugins/open-and-close-window-with-plugin.html LayoutTests/platform/gtk/Skipped:plugins/open-and-close-window-with-plugin.html LayoutTests/platform/win/Skipped:plugins/open-and-close-window-with-plugin.html
Robert Hogan
Comment 5 2010-06-13 14:19:25 PDT
Robert Hogan
Comment 6 2010-06-13 14:21:04 PDT
(In reply to comment #5) > Created an attachment (id=58603) [details] > Patch Maybe it's ok/expected that QWebPage can receive the call to javasriptConsoleMessage() once DRT's WebPage is deleted. I'm not sure, so putting this up as a solution for discussion.
Simon Hausmann
Comment 7 2010-06-15 07:22:05 PDT
Comment on attachment 58603 [details] Patch scary :) r=me
Robert Hogan
Comment 8 2010-06-17 13:39:39 PDT
Robert Hogan
Comment 9 2010-06-17 13:59:36 PDT
Reverted r61346 for reason: Broke inspector tests on Qt Committed r61348: <http://trac.webkit.org/changeset/61348>
Robert Hogan
Comment 10 2010-06-17 14:26:10 PDT
Kenneth Rohde Christiansen
Comment 11 2010-06-17 16:00:35 PDT
Comment on attachment 59034 [details] Patch I dont get it. The WebPage inherits from QWebPage, and you say that the WebPage part has been destroyed but not the QWebPage one? Wouldn't it be better to fix the destruction?
Kenneth Rohde Christiansen
Comment 12 2010-06-17 16:03:21 PDT
(In reply to comment #11) > (From update of attachment 59034 [details]) > I dont get it. The WebPage inherits from QWebPage, and you say that the WebPage part has been destroyed but not the QWebPage one? Wouldn't it be better to fix the destruction? Apparently now that I am reading your original comment
Robert Hogan
Comment 13 2010-06-18 14:01:41 PDT
Note You need to log in before you can comment on or make changes to this bug.