bool HTMLPlugInElement::requestObject(const String& url, const String& mimeType, const Vector<String>& paramNames, const Vector<String>& paramValues) { if (url.isEmpty() && mimeType.isEmpty()) return false; // FIXME: None of this code should use renderers! RenderEmbeddedObject* renderer = renderEmbeddedObject(); ASSERT(renderer); if (!renderer) return false; KURL completedURL = document().completeURL(url); if (!pluginIsLoadable(completedURL, mimeType)) return false; bool useFallback; bool requireRenderer = true; if (shouldUsePlugin(completedURL, mimeType, hasFallbackContent(), useFallback)) return loadPlugin(completedURL, mimeType, paramNames, paramValues, useFallback, requireRenderer); // If the plug-in element already contains a subframe, // loadOrRedirectSubframe will re-use it. Otherwise, it will create a new // frame and set it as the RenderPart's widget, causing what was previously // in the widget to be torn down. return loadOrRedirectSubframe(completedURL, getNameAttribute(), true); }
void PluginInfoStore::loadPlugin(Vector<PluginModuleInfo>& plugins, const String& pluginPath) { PluginModuleInfo plugin; if (!getPluginInfo(pluginPath, plugin)) return; if (!shouldUsePlugin(plugins, plugin)) return; plugins.append(plugin); }
void PluginInfoStore::loadPlugin(const String& pluginPath) { Plugin plugin; if (!getPluginInfo(pluginPath, plugin)) return; if (!shouldUsePlugin(plugin)) return; // Add the plug-in. m_plugins.append(plugin); }