[webkit-qt] Problem with PluginStrategy::getPluginInfo()

kb at inf.u-szeged.hu kb at inf.u-szeged.hu
Sun Sep 19 14:52:11 PDT 2010


> Hey folks,
>
> Since PlatformStrategies were enabled for Qt with
> http://trac.webkit.org/changeset/67787 we've got a little problem.
>
> The global PlatformStrategies object is bound to the most recently
> created QWebPage (happens in QWebPagePrivate constructor.) This is
> problematic for PluginData::initPlugins() which calls our
> PluginStrategy::getPluginInfo() _without page context_.
>
> This is currently causing
> http://ie.microsoft.com/testdrive/Performance/BrowserHunt/Default.xhtml
> to crash.
>
> And regardless, we can't tie getPluginInfo() to a specific QWebPage
> since that breaks reimplementation of QWebPage::pluginFactory().

Having a QWebPage* member in the implementor of
WebCore::PlatformStrategies is generally wrong. I do not see any other
solution for the problem then adding a Page* argument to
PluginStrategy::getPluginInfo. This is what I do in
https://bugs.webkit.org/show_bug.cgi?id=45857. If we get that landed we
could easily fix our PlatformStrategies implementation. The
VisitedLinkStrategy already have Page* arguments in it's methods so I do
not see any layering problem with that change. I just need a reviewer...
:)

Balazs



More information about the webkit-qt mailing list