| Index: webkit/glue/plugins/plugin_lib.cc
|
| ===================================================================
|
| --- webkit/glue/plugins/plugin_lib.cc (revision 66680)
|
| +++ webkit/glue/plugins/plugin_lib.cc (working copy)
|
| @@ -165,7 +165,22 @@
|
| base::NativeLibrary library = 0;
|
|
|
| if (!internal_) {
|
| +#if defined(OS_WIN)
|
| + // This is to work around a bug in the Real player recorder plugin which
|
| + // intercepts LoadLibrary calls from chrome.dll and wraps NPAPI functions
|
| + // provided by the plugin. It crashes if the media player plugin is being
|
| + // loaded. Workaround is to load the dll dynamically by getting the
|
| + // LoadLibrary API address from kernel32.dll which bypasses the recorder
|
| + // plugin.
|
| + if (web_plugin_info_.name.find(L"Windows Media Player") !=
|
| + std::wstring::npos) {
|
| + library = base::LoadNativeLibraryDynamically(web_plugin_info_.path);
|
| + } else {
|
| + library = base::LoadNativeLibrary(web_plugin_info_.path);
|
| + }
|
| +#else // OS_WIN
|
| library = base::LoadNativeLibrary(web_plugin_info_.path);
|
| +#endif // OS_WIN
|
| if (library == 0) {
|
| LOG_IF(ERROR, PluginList::DebugPluginLoading())
|
| << "Couldn't load plugin " << web_plugin_info_.path.value();
|
|
|