diff options
author | Steve Block <steveblock@google.com> | 2011-05-25 19:08:45 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-06-08 13:51:31 +0100 |
commit | 2bde8e466a4451c7319e3a072d118917957d6554 (patch) | |
tree | 28f4a1b869a513e565c7760d0e6a06e7cf1fe95a /Source/WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp | |
parent | 6939c99b71d9372d14a0c74a772108052e8c48c8 (diff) | |
download | external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.zip external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.gz external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.bz2 |
Merge WebKit at r82507: Initial merge by git
Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
Diffstat (limited to 'Source/WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp | 34 |
1 files changed, 7 insertions, 27 deletions
diff --git a/Source/WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp b/Source/WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp index 2138131..f695969 100644 --- a/Source/WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp +++ b/Source/WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp @@ -27,6 +27,7 @@ #include "PluginInfoStore.h" #include "NetscapePluginModule.h" +#include <WebCore/PathWalker.h> #include <shlwapi.h> using namespace WebCore; @@ -254,37 +255,11 @@ Vector<String> PluginInfoStore::pluginsDirectories() return directories; } -class PathWalker { - WTF_MAKE_NONCOPYABLE(PathWalker); -public: - PathWalker(const String& directory) - { - String pattern = directory + "\\*"; - m_handle = ::FindFirstFileW(pattern.charactersWithNullTermination(), &m_data); - } - - ~PathWalker() - { - if (!isValid()) - return; - ::FindClose(m_handle); - } - - bool isValid() const { return m_handle != INVALID_HANDLE_VALUE; } - const WIN32_FIND_DATAW& data() const { return m_data; } - - bool step() { return ::FindNextFileW(m_handle, &m_data); } - -private: - HANDLE m_handle; - WIN32_FIND_DATAW m_data; -}; - Vector<String> PluginInfoStore::pluginPathsInDirectory(const String& directory) { Vector<String> paths; - PathWalker walker(directory); + PathWalker walker(directory, "*"); if (!walker.isValid()) return paths; @@ -385,6 +360,11 @@ bool PluginInfoStore::shouldUsePlugin(const Plugin& plugin) return false; } + if (equalIgnoringCase(plugin.info.file, "npwpf.dll")) { + // Bug 57119: Microsoft Windows Presentation Foundation (WPF) plug-in complains about missing xpcom.dll + return false; + } + if (plugin.info.name == "Yahoo Application State Plugin") { // https://bugs.webkit.org/show_bug.cgi?id=26860 // Bug in Yahoo Application State plug-in earlier than 1.0.0.6 leads to heap corruption. |