-
cblu authored
Fixed: 3052731 - qt file complains about lack of active-x handler Fixed: 3025872 - Black square where lion should be on mgm.com 3052731: The page has a syntax error. Notice the missing ">"? He treat this as an OBJECT without an EMBED. khtml actually has a fallback for this. They check the classid and map a mime type to it. They currently map for realaudio and flash, but not quicktime. I added a quicktime mapping as well as a mapping for shockwave. 3025872: khtml was unable to parse the EMBED tag within the OBJECT tag (similar to 3052731). When this happens, it looks at the classid and maps it to a mime type. This part was successful because it has a classid->mime type mapping for flash. The strange thing was that it was setting the main URL of the plug-in to "dummy". The code has this comment: url = "dummy"; // Not needed, but KHTMLPart aborts the request if empty It does this even if the url is valid. It even handles the invalid url case before even calling the part. The fix is to disable this line of code. Reviewed by trey. * khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget): WebKit: Fixed: 2862385 - need to pass browser's user agent and version to plug-ins Added some more error checking to the plug-in code Reviewed by trey. * Plugins.subproj/WebBaseNetscapePluginView.h: * Plugins.subproj/WebBaseNetscapePluginView.m: (+[WebBaseNetscapePluginView setCurrentPluginView:]): new, sets a global variable for the current plug-in (+[WebBaseNetscapePluginView currentPluginView]): new, returns the current plug-in (-[WebBaseNetscapePluginView start]): check if NPP_New fails, return NO if it does, set the current plug-in view. Currently, this is the only place we need to do this. (-[WebBaseNetscapePluginView userAgent]): made instance-specific because it depends on the plug-in view's WebController * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: * Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): don't start the stream is start fails * Plugins.subproj/npapi.m: (NPN_MemAlloc): tweak (NPN_RequestRead): tweak (pluginViewForInstance): returns the instance's plug-in view if it has one, if not, return the current plug-in view (NPN_GetURLNotify): get the instance from pluginViewForInstance (NPN_GetURL): (NPN_PostURLNotify): (NPN_PostURL): (NPN_NewStream): (NPN_Write): (NPN_DestroyStream): (NPN_UserAgent): (NPN_Status): (NPN_InvalidateRect): (NPN_InvalidateRegion): (NPN_ForceRedraw): (NPN_GetValue): (NPN_SetValue): (NPN_GetJavaEnv): (NPN_GetJavaPeer): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
c7670d69