[webkit-dev] How can Webkit support npapi plugin??

Evan Martin evan at chromium.org
Tue Jan 26 09:48:18 PST 2010


On Tue, Jan 26, 2010 at 12:33 AM, michael young <mcygogo at gmail.com> wrote:
>    I got a NPAPI plugin, and it's work well on firefox,  but it
> cannot work for Webkit(Qt). so someone can tell me how the NPAPI
> plugin work on Webkit?

This should work.  A random guess at your problem: are you using the
newer Xembed-based NPAPI or the older one?

I glanced at the QtWebKit code and found they don't support the older
one.  See below.  (Note the "notImplemented()" part.)

One quick way to check this is to try a few different WebKit-based browsers:
 - Chromium doesn't support the old API
 - QtWebKit doesn't support the old API
 - WebKitGtk browsers (Midori, Epiphany, etc.) *do* support the old API



   if (m_isWindowed) {
       QWebPageClient* client =
m_parentFrame->view()->hostWindow()->platformPageClient();
       if (m_needsXEmbed && client) {
           setPlatformWidget(new PluginContainerQt(this,
client->ownerWidget()));
           // sync our XEmbed container window creation before
sending the xid to plugins.
           QApplication::syncX();
       } else {
           notImplemented();
           m_status = PluginStatusCanNotLoadPlugin;
           return false;
       }
   } else {
       setPlatformWidget(0);
       m_pluginDisplay = getPluginDisplay();
   }


More information about the webkit-dev mailing list