[Webkit-unassigned] [Bug 11622] New: Quicktime plugin getting returned for flash content
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Nov 16 16:40:55 PST 2006
http://bugs.webkit.org/show_bug.cgi?id=11622
Summary: Quicktime plugin getting returned for flash content
Product: WebKit
Version: 420+ (nightly)
Platform: Macintosh
OS/Version: Mac OS X 10.4
Status: UNCONFIRMED
Severity: Blocker
Priority: P1
Component: New Bugs
AssignedTo: webkit-unassigned at opendarwin.org
ReportedBy: steve at cocoatech.com
WebPluginDatabase.m
WebKit randomly returns Quicktime plugin for flash content (could effect any
plugin, but flash for sure)
Depending on which order the plugins are found, Quicktime can be returned
instead of Flash Player.
See the // ## lines below for the additions I added. The problem is if
Quicktime is found first, flash isn't used.
- (WebBasePluginPackage *)pluginForKey:(NSString *)key
withEnumeratorSelector:(SEL)enumeratorSelector
{
WebBasePluginPackage *plugin, *CFMPlugin=nil, *machoPlugin=nil,
*webPlugin=nil;
NSEnumerator *pluginEnumerator = [plugins objectEnumerator];
key = [key lowercaseString];
while ((plugin = [pluginEnumerator nextObject]) != nil) {
if ([[[plugin performSelector:enumeratorSelector] allObjects]
containsObject:key]) {
if ([plugin isKindOfClass:[WebPluginPackage class]]) {
// ### added the || [webPlugin isQuickTimePlugIn]
if (!webPlugin || [webPlugin isQuickTimePlugIn])
webPlugin = plugin;
} else if([plugin isKindOfClass:[WebNetscapePluginPackage class]])
{
WebExecutableType executableType = [(WebNetscapePluginPackage
*)plugin executableType];
if (executableType == WebCFMExecutableType) {
// ### added the || [CFMPlugin isQuickTimePlugIn]
if (!CFMPlugin || [CFMPlugin isQuickTimePlugIn])
CFMPlugin = plugin;
} else if (executableType == WebMachOExecutableType) {
// ### added the || [machoPlugin isQuickTimePlugIn]
if (!machoPlugin || [machoPlugin isQuickTimePlugIn])
machoPlugin = plugin;
} else {
ASSERT_NOT_REACHED();
}
} else {
ASSERT_NOT_REACHED();
}
}
}
// Allow other plug-ins to win over QT because if the user has installed a
plug-in that can handle a type
// that the QT plug-in can handle, they probably intended to override QT.
if (webPlugin && ![webPlugin isQuickTimePlugIn])
return webPlugin;
else if (machoPlugin && ![machoPlugin isQuickTimePlugIn])
return machoPlugin;
else if (CFMPlugin && ![CFMPlugin isQuickTimePlugIn])
return CFMPlugin;
else if (webPlugin)
return webPlugin;
else if (machoPlugin)
return machoPlugin;
else if (CFMPlugin)
return CFMPlugin;
return nil;
}
--
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list