Changeset 91188 in webkit
- Timestamp:
- Jul 18, 2011 9:43:27 AM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r91183 r91188 1 2011-07-18 Anders Carlsson <andersca@apple.com> 2 3 Make using lowercase parameter names for AppleConnect be a plug-in quirk 4 https://bugs.webkit.org/show_bug.cgi?id=64638 5 6 Reviewed by Sam Weinig. 7 8 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 9 (WebKit::NetscapePluginModule::determineQuirks): 10 Set the WantsLowercaseParameterNames quirk for the AppleConnect plug-in. 11 12 * Shared/Plugins/PluginQuirks.h: 13 Add WantsLowercaseParameterNames quirk. 14 15 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 16 (WebKit::NetscapePlugin::initialize): 17 If the plug-in has the WantsLowercaseParameterNames quirk, convert the parameter 18 names to lowercase. 19 20 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 21 (WebKit::WebFrameLoaderClient::createPlugin): 22 Remove the code that would convert the parameters here. Also remove the FIXME; plug-in quirks 23 aren't really the same thing as site-specific quirks. 24 1 25 2011-07-15 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> 2 26 -
trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm
r88819 r91188 482 482 } 483 483 484 if (plugin.bundleIdentifier == "com.apple.ist.ds.appleconnect.webplugin") { 485 // <rdar://problem/8440903>: AppleConnect has a bug where it does not 486 // understand the parameter names specified in the <object> element that 487 // embeds its plug-in. 488 m_pluginQuirks.add(PluginQuirks::WantsLowercaseParameterNames); 489 484 490 #ifndef NP_NO_QUICKDRAW 485 if (plugin.bundleIdentifier == "com.apple.ist.ds.appleconnect.webplugin") {486 491 // The AppleConnect plug-in uses QuickDraw but doesn't paint or receive events 487 492 // so we'll allow it to be instantiated even though we don't support QuickDraw. 488 493 m_pluginQuirks.add(PluginQuirks::AllowHalfBakedQuickDrawSupport); 489 } 490 494 #endif 495 } 496 497 #ifndef NP_NO_QUICKDRAW 491 498 if (plugin.bundleIdentifier == "com.microsoft.sharepoint.browserplugin") { 492 499 // The Microsoft SharePoint plug-in uses QuickDraw but doesn't paint or receive events -
trunk/Source/WebKit2/Shared/Plugins/PluginQuirks.h
r88735 r91188 64 64 ReturnsNonRetainedScriptableNPObject, 65 65 66 // Whether the plug-in wants parameter names to be lowercase. 67 // <rdar://problem/8440903>: AppleConnect has a bug where it does not 68 // understand the parameter names specified in the <object> element that 69 // embeds its plug-in. 70 WantsLowercaseParameterNames, 71 66 72 #ifndef NP_NO_QUICKDRAW 67 73 // Allow the plug-in to use the QuickDraw drawing model, since we know that the plug-in -
trunk/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
r90764 r91188 461 461 Vector<CString> paramValues; 462 462 for (size_t i = 0; i < parameters.names.size(); ++i) { 463 paramNames.append(parameters.names[i].utf8()); 463 String parameterName = parameters.names[i]; 464 465 #if PLUGIN_ARCHITECTURE(MAC) 466 if (m_pluginModule->pluginQuirks().contains(PluginQuirks::WantsLowercaseParameterNames)) 467 parameterName = parameterName.lower(); 468 #endif 469 470 paramNames.append(parameterName.utf8()); 464 471 paramValues.append(parameters.values[i].utf8()); 465 472 } … … 473 480 } 474 481 475 #if PL ATFORM(MAC)482 #if PLUGIN_ARCHITECTURE(MAC) 476 483 if (m_pluginModule->pluginQuirks().contains(PluginQuirks::MakeTransparentIfBackgroundAttributeExists)) { 477 484 for (size_t i = 0; i < parameters.names.size(); ++i) { -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
r91064 r91188 1260 1260 } 1261 1261 1262 // <rdar://problem/8440903>: AppleConnect has a bug where it does not1263 // understand the parameter names specified in the <object> element that1264 // embeds its plug-in. This hack works around the issue by converting the1265 // parameter names to lowercase before passing them to the plug-in.1266 // FIXME: This workaround should be dependent on site-specific quirks being1267 // enabled. This requires adding this setting to WebKit2's WebPreferences1268 // implementation. See <https://bugs.webkit.org/show_bug.cgi?id=46076>.1269 if (equalIgnoringCase(mimeType, "application/x-snkp")) {1270 for (size_t i = 0; i < paramNames.size(); ++i)1271 parameters.names[i] = paramNames[i].lower();1272 }1273 1274 1262 #if PLUGIN_ARCHITECTURE(X11) 1263 // FIXME: This should really be X11-specific plug-in quirks. 1275 1264 if (equalIgnoringCase(mimeType, "application/x-shockwave-flash")) { 1276 1265 // Currently we don't support transparency and windowed mode.
Note: See TracChangeset
for help on using the changeset viewer.