// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "webkit/glue/plugins/plugin_lib.h" #include "base/file_version_info.h" #include "base/path_service.h" #include "webkit/glue/plugins/plugin_constants_win.h" #include "webkit/glue/plugins/plugin_list.h" namespace NPAPI { bool PluginLib::ReadWebPluginInfo(const FilePath &filename, WebPluginInfo* info) { // On windows, the way we get the mime types for the library is // to check the version information in the DLL itself. This // will be a string of the format: |||... // For example: // video/quicktime|audio/aiff|image/jpeg scoped_ptr version_info( FileVersionInfo::CreateFileVersionInfo(filename.value())); if (!version_info.get()) return false; PluginVersionInfo pvi; pvi.mime_types = version_info->GetStringValue(L"MIMEType"); pvi.file_extensions = version_info->GetStringValue(L"FileExtents"); pvi.type_descriptions = version_info->GetStringValue(L"FileOpenName"); pvi.product_name = version_info->product_name(); pvi.file_description = version_info->file_description(); pvi.file_version = version_info->file_version(); pvi.path = filename; return PluginList::CreateWebPluginInfo(pvi, info); } } // namespace NPAPI