diff options
Diffstat (limited to 'Source/WebCore/plugins/PluginData.h')
-rw-r--r-- | Source/WebCore/plugins/PluginData.h | 21 |
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 |