bool NetscapePluginModule::getPluginInfo(const String& pluginPath, PluginModuleInfo& plugin) { RawPluginMetaData metaData; if (!PluginProcessProxy::scanPlugin(pluginPath, metaData)) return false; plugin.path = pluginPath; plugin.info.file = pathGetFileName(pluginPath); plugin.info.name = metaData.name; plugin.info.desc = metaData.description; parseMIMEDescription(metaData.mimeDescription, plugin.info.mimes); #if PLATFORM(GTK) plugin.requiresGtk2 = metaData.requiresGtk2; #endif return true; }
void NetscapePluginModule::determineQuirks() { RawPluginMetaData metaData; if (!getPluginInfoForLoadedPlugin(metaData)) return; Vector<MimeClassInfo> mimeTypes; parseMIMEDescription(metaData.mimeDescription, mimeTypes); for (size_t i = 0; i < mimeTypes.size(); ++i) { if (mimeTypes[i].type == "application/x-shockwave-flash") { #if CPU(X86_64) m_pluginQuirks.add(PluginQuirks::IgnoreRightClickInWindowlessMode); #endif #if PLATFORM(EFL) m_pluginQuirks.add(PluginQuirks::ForceFlashWindowlessMode); #endif break; } } }