diff options
Diffstat (limited to 'Source/WebKit/mac/Plugins/WebBasePluginPackage.mm')
-rw-r--r-- | Source/WebKit/mac/Plugins/WebBasePluginPackage.mm | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm b/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm index 05b084a..3fb86cb 100644 --- a/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm +++ b/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm @@ -38,6 +38,7 @@ #import <wtf/Assertions.h> #import <wtf/Threading.h> #import <wtf/Vector.h> +#import <wtf/text/CString.h> #import <WebKitSystemInterface.h> @@ -222,8 +223,15 @@ static NSString *pathByResolvingSymlinksAndAliases(NSString *thePath) MimeClassInfo mimeClassInfo; extensions = [[MIMEDictionary objectForKey:WebPluginExtensionsKey] _web_lowercaseStrings]; - for (NSUInteger i = 0; i < [extensions count]; ++i) - mimeClassInfo.extensions.append((NSString *)[extensions objectAtIndex:i]); + for (NSUInteger i = 0; i < [extensions count]; ++i) { + // The DivX plug-in lists multiple extensions in a comma separated string instead of using + // multiple array elements in the property list. Work around this here by splitting the + // extension string into components. + NSArray *extensionComponents = [[extensions objectAtIndex:i] componentsSeparatedByString:@","]; + + for (NSString *extension in extensionComponents) + mimeClassInfo.extensions.append(extension); + } if ([extensions count] == 0) extensions = [NSArray arrayWithObject:@""]; |