summaryrefslogtreecommitdiffstats
path: root/WebCore/plugins/chromium/PluginDataChromium.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/plugins/chromium/PluginDataChromium.cpp')
-rw-r--r--WebCore/plugins/chromium/PluginDataChromium.cpp38
1 files changed, 9 insertions, 29 deletions
diff --git a/WebCore/plugins/chromium/PluginDataChromium.cpp b/WebCore/plugins/chromium/PluginDataChromium.cpp
index 5c28643..a106bc0 100644
--- a/WebCore/plugins/chromium/PluginDataChromium.cpp
+++ b/WebCore/plugins/chromium/PluginDataChromium.cpp
@@ -35,23 +35,6 @@
namespace WebCore {
-static PluginInfo* clone(const PluginInfo* info)
-{
- PluginInfo* result = new PluginInfo();
- result->name = info->name;
- result->desc = info->desc;
- result->file = info->file;
- for (size_t i = 0; i < info->mimes.size(); ++i) {
- MimeClassInfo* mime = new MimeClassInfo();
- mime->type = info->mimes[i]->type;
- mime->desc = info->mimes[i]->desc;
- mime->suffixes = info->mimes[i]->suffixes;
- mime->plugin = result;
- result->mimes.append(mime);
- }
- return result;
-}
-
class PluginCache {
public:
PluginCache() : m_loaded(false), m_refresh(false) {}
@@ -59,15 +42,12 @@ public:
void reset(bool refresh)
{
- for (size_t i = 0; i < m_plugins.size(); ++i)
- deleteAllValues(m_plugins[i]->mimes);
- deleteAllValues(m_plugins);
m_plugins.clear();
m_loaded = false;
m_refresh = refresh;
}
- const Vector<PluginInfo*>& plugins()
+ const Vector<PluginInfo>& plugins()
{
if (!m_loaded) {
ChromiumBridge::plugins(m_refresh, &m_plugins);
@@ -78,7 +58,7 @@ public:
}
private:
- Vector<PluginInfo*> m_plugins;
+ Vector<PluginInfo> m_plugins;
bool m_loaded;
bool m_refresh;
};
@@ -87,9 +67,9 @@ static PluginCache pluginCache;
void PluginData::initPlugins()
{
- const Vector<PluginInfo*>& plugins = pluginCache.plugins();
+ const Vector<PluginInfo>& plugins = pluginCache.plugins();
for (size_t i = 0; i < plugins.size(); ++i)
- m_plugins.append(clone(plugins[i]));
+ m_plugins.append(plugins[i]);
}
void PluginData::refresh()
@@ -100,15 +80,15 @@ void PluginData::refresh()
String getPluginMimeTypeFromExtension(const String& extension)
{
- const Vector<PluginInfo*>& plugins = pluginCache.plugins();
+ const Vector<PluginInfo>& plugins = pluginCache.plugins();
for (size_t i = 0; i < plugins.size(); ++i) {
- for (size_t j = 0; j < plugins[i]->mimes.size(); ++j) {
- MimeClassInfo* mime = plugins[i]->mimes[j];
+ for (size_t j = 0; j < plugins[i].mimes.size(); ++j) {
+ const MimeClassInfo& mime = plugins[i].mimes[j];
Vector<String> extensions;
- mime->suffixes.split(",", extensions);
+ mime.suffixes.split(",", extensions);
for (size_t k = 0; k < extensions.size(); ++k) {
if (extension == extensions[k])
- return mime->type;
+ return mime.type;
}
}
}