PluginPackage* PluginDatabase::findPlugin(const KURL& url, String& mimeType) { PluginPackage* plugin = pluginForMIMEType(mimeType); String filename = url.string(); if (!plugin) { String filename = url.lastPathComponent(); if (!filename.endsWith("/")) { int extensionPos = filename.reverseFind('.'); if (extensionPos != -1) { String extension = filename.substring(extensionPos + 1); mimeType = MIMETypeForExtension(extension); plugin = pluginForMIMEType(mimeType); } } } // FIXME: if no plugin could be found, query Windows for the mime type // corresponding to the extension. return plugin; }
PluginPackage* PluginDatabase::findPlugin(const KURL& url, String& mimeType) { if (!mimeType.isEmpty()) return pluginForMIMEType(mimeType); String filename = url.lastPathComponent(); if (filename.endsWith('/')) return 0; int extensionPos = filename.reverseFind('.'); if (extensionPos == -1) return 0; String mimeTypeForExtension = MIMETypeForExtension(filename.substring(extensionPos + 1)); PluginPackage* plugin = pluginForMIMEType(mimeTypeForExtension); if (!plugin) { // FIXME: if no plugin could be found, query Windows for the mime type // corresponding to the extension. return 0; } mimeType = mimeTypeForExtension; return plugin; }