summaryrefslogtreecommitdiff
path: root/Source/WebCore/plugins/PluginData.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/plugins/PluginData.h')
-rw-r--r--Source/WebCore/plugins/PluginData.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/WebCore/plugins/PluginData.h b/Source/WebCore/plugins/PluginData.h
index c6cde81ba..150273904 100644
--- a/Source/WebCore/plugins/PluginData.h
+++ b/Source/WebCore/plugins/PluginData.h
@@ -33,6 +33,16 @@ struct MimeClassInfo {
String type;
String desc;
Vector<String> extensions;
+
+ MimeClassInfo isolatedCopy() const
+ {
+ MimeClassInfo clone;
+ clone.type = type.isolatedCopy();
+ clone.desc = desc.isolatedCopy();
+ for (unsigned i = 0; i < extensions.size(); ++i)
+ clone.extensions.append(extensions[i].isolatedCopy());
+ return clone;
+ }
};
inline bool operator==(const MimeClassInfo& a, const MimeClassInfo& b)
@@ -45,6 +55,17 @@ struct PluginInfo {
String file;
String desc;
Vector<MimeClassInfo> mimes;
+
+ PluginInfo isolatedCopy() const
+ {
+ PluginInfo clone;
+ clone.name = name.isolatedCopy();
+ clone.file = file.isolatedCopy();
+ clone.desc = desc.isolatedCopy();
+ for (unsigned i = 0; i < mimes.size(); ++i)
+ clone.mimes.append(mimes[i].isolatedCopy());
+ return clone;
+ }
};
// FIXME: merge with PluginDatabase in the future