Changeset 61522 in webkit


Ignore:
Timestamp:
Jun 20, 2010, 7:13:00 PM (15 years ago)
Author:
andersca@apple.com
Message:

2010-06-20 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Add a MimeClassInfo Vector to WebBasePluginPackage
https://bugs.webkit.org/show_bug.cgi?id=40896

  • Plugins/WebBasePluginPackage.h:
  • Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage getPluginInfoFromPLists]): (-[WebBasePluginPackage WebCore::]):
  • Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage getPluginInfoFromResources]):
  • WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::getPluginInfo):
Location:
trunk/WebKit/mac
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/mac/ChangeLog

    r61519 r61522  
     12010-06-20  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        Add a MimeClassInfo Vector to WebBasePluginPackage
     6        https://bugs.webkit.org/show_bug.cgi?id=40896
     7
     8        * Plugins/WebBasePluginPackage.h:
     9        * Plugins/WebBasePluginPackage.mm:
     10        (-[WebBasePluginPackage getPluginInfoFromPLists]):
     11        (-[WebBasePluginPackage WebCore::]):
     12        * Plugins/WebNetscapePluginPackage.mm:
     13        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
     14        * WebCoreSupport/WebPlatformStrategies.mm:
     15        (WebPlatformStrategies::getPluginInfo):
     16
    1172010-06-20  Anders Carlsson  <andersca@apple.com>
    218
  • trunk/WebKit/mac/Plugins/WebBasePluginPackage.h

    r61519 r61522  
    6161    WebCore::String pluginDescription;
    6262
     63    Vector<WebCore::MimeClassInfo> mimeTypes;
     64
    6365    CFBundleRef cfBundle;
    6466
     
    8284- (const WebCore::String&)path;
    8385- (const WebCore::String&)pluginDescription;
     86
     87- (const Vector<WebCore::MimeClassInfo>&)mimeTypes;
    8488
    8589- (WebCore::String)bundleIdentifier;
  • trunk/WebKit/mac/Plugins/WebBasePluginPackage.mm

    r61519 r61522  
    221221            continue;
    222222
     223        MimeClassInfo mimeClassInfo;
     224       
    223225        extensions = [[MIMEDictionary objectForKey:WebPluginExtensionsKey] _web_lowercaseStrings];
     226        for (NSUInteger i = 0; i < [extensions count]; ++i)
     227            mimeClassInfo.extensions.append((NSString *)[extensions objectAtIndex:i]);
     228
    224229        if ([extensions count] == 0)
    225230            extensions = [NSArray arrayWithObject:@""];
    226231
     232        mimeClassInfo.type = String(MIME).lower();
    227233        MIME = [MIME lowercaseString];
    228234
     
    230236
    231237        description = [MIMEDictionary objectForKey:WebPluginTypeDescriptionKey];
     238        mimeClassInfo.desc = description;
     239
     240        mimeTypes.append(mimeClassInfo);
    232241        if (!description)
    233242            description = @"";
     
    307316{
    308317    return pluginDescription;
     318}
     319
     320- (const Vector<WebCore::MimeClassInfo>&)mimeTypes
     321{
     322    return mimeTypes;
    309323}
    310324
  • trunk/WebKit/mac/Plugins/WebNetscapePluginPackage.mm

    r61519 r61522  
    4444#endif
    4545
     46using namespace WebCore;
     47
    4648#ifdef SUPPORT_CFM
    4749typedef void (* FunctionPointer)(void);
     
    167169            break;
    168170
     171        MimeClassInfo mimeClassInfo;
     172        mimeClassInfo.type = String(MIME).lower();
     173
    169174        extensionsList = [[self stringForStringListID:MIMEListStringStringNumber andIndex:i+1] lowercaseString];
    170175        if (extensionsList) {
    171176            extensions = [extensionsList componentsSeparatedByString:@","];
     177            for (NSUInteger j = 0; j < [extensions count]; ++j)
     178                mimeClassInfo.extensions.append((NSString *)[extensions objectAtIndex:j]);
     179
    172180            [MIMEToExtensionsDictionary setObject:extensions forKey:MIME];
    173181        } else
     
    177185        description = [self stringForStringListID:MIMEDescriptionStringNumber
    178186                                         andIndex:[MIMEToExtensionsDictionary count]];
     187        mimeClassInfo.desc = description;
     188
    179189        if (description)
    180190            [MIMEToDescriptionDictionary setObject:description forKey:MIME];
    181191        else
    182192            [MIMEToDescriptionDictionary setObject:@"" forKey:MIME];
     193       
     194        mimeTypes.append(mimeClassInfo);
    183195    }
    184196
  • trunk/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm

    r61454 r61522  
    7272        pluginInfo.file = [plugin filename];
    7373        pluginInfo.desc = [plugin pluginDescription];
    74 
    75         NSArray *MIMETypes = [plugin MIMETypes];
    76         for (NSUInteger i = 0; i < [MIMETypes count]; ++i) {
    77             NSString *MIMEType = [MIMETypes objectAtIndex:i];
    78 
    79             MimeClassInfo mimeClassInfo;
    80 
    81             mimeClassInfo.type = String(MIMEType).lower();
    82            
    83             NSArray *extensions = [plugin extensionsForMIMEType:MIMEType];
    84             for (NSUInteger i = 0; i < [extensions count]; ++i) {
    85                 NSString *extension = [extensions objectAtIndex:i];
    86                 mimeClassInfo.extensions.append(extension);
    87             }
    88 
    89             mimeClassInfo.desc = [plugin descriptionForMIMEType:MIMEType];
    90            
    91             pluginInfo.mimes.append(mimeClassInfo);
    92         }
     74        pluginInfo.mimes = [plugin mimeTypes];
    9375
    9476        plugins.append(pluginInfo);
Note: See TracChangeset for help on using the changeset viewer.