STEPS TO REPRODUCE: 1. Load the sample plugin in a QGraphicsWebView 2. Observe the poor rendering
Is this bug really only for Symbian ?
(In reply to comment #1) > Is this bug really only for Symbian ? That would make sense. At the time that we implemented Netscape Plugins for Symbian, QGraphicsWebView was under development and there was no API for getting the plugin's parent. I have left a FIXME in PluginViewSymbian.cpp about that.
Please follow the QtWebKit bug reporting guidelines when reporting bugs. See http://trac.webkit.org/wiki/QtWebKitBugs Specifically: - The 'QtWebKit' component should be used for bugs/features in the QtWebKit API layer, not to signify that the bug is specific to the Qt port of WebKit http://trac.webkit.org/wiki/QtWebKitBugs#Component - Priority is set by developers when scheduling and triaging tasks, please leave this at the default priority. http://trac.webkit.org/wiki/QtWebKitBugs#Priority - Choose a descriptive summary/title for the bug and prefix the summary with "[Qt]" if the bug only applies to the Qt-port. https://trac.webkit.org/wiki/QtWebKitBugs#Summary
Yael, can you verify that this bug still exists? We don't have the plugin available for testing.
(In reply to comment #4) > Yael, can you verify that this bug still exists? > > We don't have the plugin available for testing. Yes, this is still a problem. Abhinav is working on a fix for it.
Agreed with Abhinav that I will fix this.
Created attachment 51280 [details] Patch Add a proxy widget when loading a windowed plugin in a QGraphicsWebView.
Comment on attachment 51280 [details] Patch > Index: WebCore/plugins/symbian/PluginContainerSymbian.cpp > =================================================================== > --- WebCore/plugins/symbian/PluginContainerSymbian.cpp (revision 56331) > +++ WebCore/plugins/symbian/PluginContainerSymbian.cpp (working copy) > @@ -32,12 +32,14 @@ > > using namespace WebCore; > > -PluginContainerSymbian::PluginContainerSymbian(PluginView* view, QWidget* parent) > +PluginContainerSymbian::PluginContainerSymbian(PluginView* view, QWidget* parent, QGraphicsProxyWidget* proxy) > : m_parent(parent) > , m_pluginView(view) > + , m_proxy(proxy) > , m_hasPendingGeometryChange(false) > { > - setParent(m_parent); > + if (!proxy) > + setParent(m_parent); > } m_proxy does not need to be a member of PluginContainerSymbian; same with m_parent (in already landed code). Calling setParent() in platformStart() would eliminate the need to pass in both the parent and the proxy to the PluginContainerSymbian constructor and in would - my view - make the code more readable.
Created attachment 51335 [details] Patch . Updated the tests from the previous patch This patch adds support, test results and enables the PROGRESS_TAG flag on the Mac port of Safari.
Sorry, Attachment added to the wrong browser window :-(
Created attachment 51569 [details] Patch v2 Wrap a proxy widget around PluginSymbianContainer. Some minor changes in using QPageClient API, due to the changes that were introduced in QPageClient after Symbian plugins implementation was done.
Created attachment 51571 [details] Patch Removed \n that crept into the files.
Comment on attachment 51571 [details] Patch All previous comments addressed; looks good to me. r+. Thanks.
Comment on attachment 51571 [details] Patch Clearing flags on attachment: 51571 Committed r56546: <http://trac.webkit.org/changeset/56546>
All reviewed patches have been landed. Closing bug.
Cherry-picked into qtwebkit-4.6 with commit e9151b11e974f0aa47fd40c225f88f35ced91496
Revision r56546 cherry-picked into qtwebkit-2.0 with commit 7d6d3dfe8a5828a30f5903b523d3c30a0449b915