summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp')
-rw-r--r--Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp47
1 files changed, 17 insertions, 30 deletions
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp b/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp
index 0dde1a093..6079068bb 100644
--- a/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp
+++ b/Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp
@@ -41,7 +41,6 @@ namespace WebKit {
PluginInfoStore::PluginInfoStore()
: m_pluginListIsUpToDate(false)
- , m_client(0)
{
}
@@ -68,7 +67,7 @@ void PluginInfoStore::loadPluginsIfNecessary()
if (m_pluginListIsUpToDate)
return;
- ListHashSet<String, 32> uniquePluginPaths;
+ ListHashSet<String> uniquePluginPaths;
// First, load plug-ins from the additional plug-ins directories specified.
for (size_t i = 0; i < m_additionalPluginsDirectories.size(); ++i)
@@ -88,9 +87,6 @@ void PluginInfoStore::loadPluginsIfNecessary()
loadPlugin(m_plugins, pluginPath);
m_pluginListIsUpToDate = true;
-
- if (m_client)
- m_client->pluginInfoStoreDidLoadPlugins(this);
}
void PluginInfoStore::loadPlugin(Vector<PluginModuleInfo>& plugins, const String& pluginPath)
@@ -115,15 +111,12 @@ Vector<PluginModuleInfo> PluginInfoStore::plugins()
PluginModuleInfo PluginInfoStore::findPluginForMIMEType(const String& mimeType, PluginData::AllowedPluginTypes allowedPluginTypes) const
{
ASSERT(!mimeType.isNull());
-
- for (size_t i = 0; i < m_plugins.size(); ++i) {
- const PluginModuleInfo& plugin = m_plugins[i];
+ for (const auto& plugin : m_plugins) {
if (allowedPluginTypes == PluginData::OnlyApplicationPlugins && !plugin.info.isApplicationPlugin)
continue;
-
- for (size_t j = 0; j < plugin.info.mimes.size(); ++j) {
- const MimeClassInfo& mimeClassInfo = plugin.info.mimes[j];
+
+ for (const auto& mimeClassInfo : plugin.info.mimes) {
if (mimeClassInfo.type == mimeType)
return plugin;
}
@@ -135,19 +128,13 @@ PluginModuleInfo PluginInfoStore::findPluginForMIMEType(const String& mimeType,
PluginModuleInfo PluginInfoStore::findPluginForExtension(const String& extension, String& mimeType, PluginData::AllowedPluginTypes allowedPluginTypes) const
{
ASSERT(!extension.isNull());
-
- for (size_t i = 0; i < m_plugins.size(); ++i) {
- const PluginModuleInfo& plugin = m_plugins[i];
+ for (const auto& plugin : m_plugins) {
if (allowedPluginTypes == PluginData::OnlyApplicationPlugins && !plugin.info.isApplicationPlugin)
continue;
- for (size_t j = 0; j < plugin.info.mimes.size(); ++j) {
- const MimeClassInfo& mimeClassInfo = plugin.info.mimes[j];
-
- const Vector<String>& extensions = mimeClassInfo.extensions;
-
- if (std::find(extensions.begin(), extensions.end(), extension) != extensions.end()) {
+ for (const auto& mimeClassInfo : plugin.info.mimes) {
+ if (mimeClassInfo.extensions.contains(extension)) {
// We found a supported extension, set the correct MIME type.
mimeType = mimeClassInfo.type;
return plugin;
@@ -163,15 +150,15 @@ static inline String pathExtension(const URL& url)
String extension;
String filename = url.lastPathComponent();
if (!filename.endsWith('/')) {
- int extensionPos = filename.reverseFind('.');
- if (extensionPos != -1)
+ size_t extensionPos = filename.reverseFind('.');
+ if (extensionPos != notFound)
extension = filename.substring(extensionPos + 1);
}
-
- return extension;
+ return extension.convertToASCIILowercase();
}
-#if !PLATFORM(MAC)
+#if !PLATFORM(COCOA)
+
PluginModuleLoadPolicy PluginInfoStore::defaultLoadPolicyForPlugin(const PluginModuleInfo&)
{
return PluginModuleLoadNormally;
@@ -197,7 +184,7 @@ PluginModuleInfo PluginInfoStore::findPlugin(String& mimeType, const URL& url, P
}
// Next, check if any plug-ins claim to support the URL extension.
- String extension = pathExtension(url).lower();
+ String extension = pathExtension(url);
if (!extension.isNull() && mimeType.isEmpty()) {
PluginModuleInfo plugin = findPluginForExtension(extension, mimeType, allowedPluginTypes);
if (!plugin.path.isNull())
@@ -219,11 +206,11 @@ PluginModuleInfo PluginInfoStore::findPlugin(String& mimeType, const URL& url, P
PluginModuleInfo PluginInfoStore::infoForPluginWithPath(const String& pluginPath) const
{
- for (size_t i = 0; i < m_plugins.size(); ++i) {
- if (m_plugins[i].path == pluginPath)
- return m_plugins[i];
+ for (const auto& plugin : m_plugins) {
+ if (plugin.path == pluginPath)
+ return plugin;
}
-
+
ASSERT_NOT_REACHED();
return PluginModuleInfo();
}