Changeset 61510 in webkit


Ignore:
Timestamp:
Jun 20, 2010 1:53:12 PM (14 years ago)
Author:
andersca@apple.com
Message:

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

Reviewed by Sam Weinig.

Remove -[WebBasePluginPackage bundle]
https://bugs.webkit.org/show_bug.cgi?id=40892

Add -[WebBasePluginPackage bundleIdentifier] and switch clients over to it.


Move the supportsSnapshotting method over to the plug-in package.


  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::hostForPackage):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]): (-[WebBaseNetscapePluginView supportsSnapshotting]):
  • Plugins/WebBasePluginPackage.h:
  • Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage isQuickTimePlugIn]): (-[WebBasePluginPackage isJavaPlugIn]): (-[WebBasePluginPackage WebCore::]): Call bundleIdentifier directly instead of asking the bundle
  • Plugins/WebNetscapePluginPackage.h:
  • Plugins/WebNetscapePluginPackage.mm: (-[WebNetscapePluginPackage supportsSnapshotting]):
  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView setAttributeKeys:andValues:]): (-[WebNetscapePluginView _createPlugin]):
  • Plugins/WebPluginDatabase.mm: (checkCandidate):
Location:
trunk/WebKit/mac
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/mac/ChangeLog

    r61509 r61510  
     12010-06-20  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Remove -[WebBasePluginPackage bundle]
     6        https://bugs.webkit.org/show_bug.cgi?id=40892
     7
     8        Add -[WebBasePluginPackage bundleIdentifier] and switch clients over to it.
     9       
     10        Move the supportsSnapshotting method over to the plug-in package.
     11       
     12        * Plugins/Hosted/NetscapePluginHostManager.mm:
     13        (WebKit::NetscapePluginHostManager::hostForPackage):
     14        * Plugins/WebBaseNetscapePluginView.mm:
     15        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
     16        (-[WebBaseNetscapePluginView supportsSnapshotting]):
     17        * Plugins/WebBasePluginPackage.h:
     18        * Plugins/WebBasePluginPackage.mm:
     19        (-[WebBasePluginPackage isQuickTimePlugIn]):
     20        (-[WebBasePluginPackage isJavaPlugIn]):
     21        (-[WebBasePluginPackage WebCore::]):
     22        Call bundleIdentifier directly instead of asking the bundle
     23        * Plugins/WebNetscapePluginPackage.h:
     24        * Plugins/WebNetscapePluginPackage.mm:
     25        (-[WebNetscapePluginPackage supportsSnapshotting]):
     26        * Plugins/WebNetscapePluginView.mm:
     27        (-[WebNetscapePluginView setAttributeKeys:andValues:]):
     28        (-[WebNetscapePluginView _createPlugin]):
     29        * Plugins/WebPluginDatabase.mm:
     30        (checkCandidate):
     31
    1322010-06-20  Anders Carlsson  <andersca@apple.com>
    233
  • trunk/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.mm

    r61509 r61510  
    9494    // Since Flash NPObjects add methods dynamically, we don't want to cache when a property/method doesn't exist
    9595    // on an object because it could be added later.
    96     bool shouldCacheMissingPropertiesAndMethods = ![[[package bundle] bundleIdentifier] isEqualToString:@"com.macromedia.Flash Player.plugin"];
     96    bool shouldCacheMissingPropertiesAndMethods = [package bundleIdentifier] != "com.macromedia.Flash Player.plugin";
    9797   
    9898    NetscapePluginHostProxy* hostProxy = new NetscapePluginHostProxy(clientPort, pluginHostPort, pluginHostPSN, shouldCacheMissingPropertiesAndMethods);
  • trunk/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm

    r60504 r61510  
    147147    // Enable "kiosk mode" when instantiating the QT plug-in inside of Dashboard. See <rdar://problem/6878105>
    148148    if ([[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.dashboard.client"] &&
    149         [[[_pluginPackage.get() bundle] bundleIdentifier] isEqualToString:@"com.apple.QuickTime Plugin.plugin"]) {
     149        [_pluginPackage.get() bundleIdentifier] == "com.apple.QuickTime Plugin.plugin") {
    150150        RetainPtr<NSMutableArray> mutableKeys(AdoptNS, [keys mutableCopy]);
    151151        RetainPtr<NSMutableArray> mutableValues(AdoptNS, [values mutableCopy]);
     
    579579- (BOOL)supportsSnapshotting
    580580{
    581     NSBundle *pluginBundle = [_pluginPackage.get() bundle];
    582     if (![[pluginBundle bundleIdentifier] isEqualToString:@"com.macromedia.Flash Player.plugin"])
    583         return YES;
    584    
    585     // Flash has a bogus Info.plist entry for CFBundleVersionString, so use CFBundleShortVersionString.
    586     NSString *versionString = [pluginBundle objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
    587    
    588     static const NSString *flash10dotOnePrefix = @"10.1";
    589     if (![versionString hasPrefix:flash10dotOnePrefix])
    590         return YES;
    591    
    592     // Some prerelease versions of Flash 10.1 crash when sent a drawRect event using the CA drawing model: <rdar://problem/7739922>
    593     static const CFStringRef knownGoodFlash10dot1Release = CFSTR("10.1.53.60");
    594     return CFStringCompare((CFStringRef)versionString, knownGoodFlash10dot1Release, kCFCompareNumerically) != kCFCompareLessThan;
     581    return [_pluginPackage.get() supportsSnapshotting];
    595582}
    596583
  • trunk/WebKit/mac/Plugins/WebBasePluginPackage.h

    r61509 r61510  
    8383- (const WebCore::String&)path;
    8484- (const WebCore::String&)pluginDescription;
    85 - (NSBundle *)bundle;
     85
     86- (WebCore::String)bundleIdentifier;
    8687
    8788- (BOOL)supportsExtension:(NSString *)extension;
  • trunk/WebKit/mac/Plugins/WebBasePluginPackage.mm

    r61509 r61510  
    4848#import <mach-o/loader.h>
    4949
    50 #define JavaCocoaPluginIdentifier   @"com.apple.JavaPluginCocoa"
    51 #define JavaCarbonPluginIdentifier  @"com.apple.JavaAppletPlugin"
     50#define JavaCocoaPluginIdentifier   "com.apple.JavaPluginCocoa"
     51#define JavaCarbonPluginIdentifier  "com.apple.JavaAppletPlugin"
    5252#define JavaCFMPluginFilename       @"Java Applet Plugin Enabler"
    5353
    54 #define QuickTimeCarbonPluginIdentifier       @"com.apple.QuickTime Plugin.plugin"
    55 #define QuickTimeCocoaPluginIdentifier        @"com.apple.quicktime.webplugin"
     54#define QuickTimeCarbonPluginIdentifier       "com.apple.QuickTime Plugin.plugin"
     55#define QuickTimeCocoaPluginIdentifier        "com.apple.quicktime.webplugin"
    5656
    5757@interface NSArray (WebPluginExtensions)
     
    373373- (BOOL)isQuickTimePlugIn
    374374{
    375     NSString *bundleIdentifier = [[self bundle] bundleIdentifier];
    376     return [bundleIdentifier _webkit_isCaseInsensitiveEqualToString:QuickTimeCarbonPluginIdentifier] ||
    377         [bundleIdentifier _webkit_isCaseInsensitiveEqualToString:QuickTimeCocoaPluginIdentifier];
     375    const String& bundleIdentifier = [self bundleIdentifier];
     376    return bundleIdentifier == QuickTimeCocoaPluginIdentifier || bundleIdentifier == QuickTimeCocoaPluginIdentifier;
    378377}
    379378
    380379- (BOOL)isJavaPlugIn
    381380{
    382     NSString *bundleIdentifier = [[self bundle] bundleIdentifier];
    383     return [bundleIdentifier _webkit_isCaseInsensitiveEqualToString:JavaCocoaPluginIdentifier] ||
    384         [bundleIdentifier _webkit_isCaseInsensitiveEqualToString:JavaCarbonPluginIdentifier] ||
     381    const String& bundleIdentifier = [self bundleIdentifier];
     382    return bundleIdentifier == JavaCocoaPluginIdentifier || bundleIdentifier == JavaCarbonPluginIdentifier ||
    385383        [(NSString *)[self filename] _webkit_isCaseInsensitiveEqualToString:JavaCFMPluginFilename];
    386384}
     
    488486}
    489487
     488- (WebCore::String)bundleIdentifier
     489{
     490    return CFBundleGetIdentifier(cfBundle);
     491}
     492
    490493@end
    491494
  • trunk/WebKit/mac/Plugins/WebNetscapePluginPackage.h

    r58601 r61510  
    7878- (NPPluginFuncs *)pluginFuncs;
    7979
     80- (BOOL)supportsSnapshotting;
     81
    8082#if USE(PLUGIN_HOST_PROCESS)
    8183- (cpu_type_t)pluginHostArchitecture;
  • trunk/WebKit/mac/Plugins/WebNetscapePluginPackage.mm

    r61509 r61510  
    690690}
    691691
     692
     693- (BOOL)supportsSnapshotting
     694{
     695    if ([self bundleIdentifier] != "com.macromedia.Flash Player.plugin")
     696        return YES;
     697   
     698    // Flash has a bogus Info.plist entry for CFBundleVersionString, so use CFBundleShortVersionString.
     699    NSString *versionString = (NSString *)CFDictionaryGetValue(CFBundleGetInfoDictionary(cfBundle), CFSTR("CFBundleShortVersionString"));
     700   
     701    if (![versionString hasPrefix:@"10.1"])
     702        return YES;
     703   
     704    // Some prerelease versions of Flash 10.1 crash when sent a drawRect event using the CA drawing model: <rdar://problem/7739922>
     705    return CFStringCompare((CFStringRef)versionString, CFSTR("10.1.53.60"), kCFCompareNumerically) != kCFCompareLessThan;
     706}
     707
    692708@end
    693709
  • trunk/WebKit/mac/Plugins/WebNetscapePluginView.mm

    r59865 r61510  
    12351235    }
    12361236
    1237     BOOL isWMP = [[[_pluginPackage.get() bundle] bundleIdentifier] isEqualToString:@"com.microsoft.WMP.defaultplugin"];
     1237    BOOL isWMP = [_pluginPackage.get() bundleIdentifier] == "com.microsoft.WMP.defaultplugin";
    12381238   
    12391239    unsigned i;
     
    23712371
    23722372    PluginMainThreadScheduler::scheduler().registerPlugin(plugin);
    2373    
    2374     _isFlash = [[[_pluginPackage.get() bundle] bundleIdentifier] isEqualToString:@"com.macromedia.Flash Player.plugin"];
    2375     _isSilverlight = [[[_pluginPackage.get() bundle] bundleIdentifier] isEqualToString:@"com.microsoft.SilverlightPlugin"];
     2373
     2374    _isFlash = [_pluginPackage.get() bundleIdentifier] == "com.macromedia.Flash Player.plugin";
     2375    _isSilverlight = [_pluginPackage.get() bundleIdentifier] == "com.microsoft.SilverlightPlugin";
    23762376
    23772377    [[self class] setCurrentPluginView:self];
  • trunk/WebKit/mac/Plugins/WebPluginDatabase.mm

    r61454 r61510  
    8383    }
    8484
    85     if ([[[*currentPlugin bundle] bundleIdentifier] isEqualToString:[[*candidatePlugin bundle] bundleIdentifier]] && [*candidatePlugin versionNumber] > [*currentPlugin versionNumber])
     85    if ([*currentPlugin bundleIdentifier] == [*candidatePlugin bundleIdentifier] && [*candidatePlugin versionNumber] > [*currentPlugin versionNumber])
    8686        *currentPlugin = *candidatePlugin;
    8787}
Note: See TracChangeset for help on using the changeset viewer.