Bug 25771

Summary: Webkit fails to load plugins if the embed tag within the object tag is specified without a mime type.
Product: WebKit Reporter: Ananta Iyengar <ananta>
Component: Plug-insAssignee: Ananta Iyengar <ananta>
Status: RESOLVED WONTFIX    
Severity: Normal CC: ap, hongxu, playmobil
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows XP   
Attachments:
Description Flags
Test case for this issue
none
Proposed patch for this issue.
eric: review-
automated test which almost works
none
square flash file thanks to Carlos McEvilly
none
Perl script carlos used to make the file none

Description Ananta Iyengar 2009-05-13 17:26:22 PDT
Launch Safari and navigate to the attached test file.
Expect the Flash plugin to be instantiated.
An error message shows up indicating that the plugin for application/x-oleobject could not be found.

Basically if the object embed tag combination is specified as below:- it fails to load the plugin.

<object width='425' height='350' type="application/x-oleobject" classid="CLSID:D27CDB6E-AE6D-11CF-96B8-444553540000">
	<param name='movie' value='http://www.youtube.com/v/zpHBPQyoYXQ'>	</param>
	<param name='wmode' value='transparent'></param>

	<embed src='http://www.youtube.com/v/zpHBPQyoYXQ&#038;rel=0' 		wmode='transparent' width='425' height='350'>
	</embed>
</object>
Comment 1 Ananta Iyengar 2009-05-13 17:26:58 PDT
Created attachment 30304 [details]
Test case for this issue
Comment 2 Ananta Iyengar 2009-05-13 17:48:58 PDT
Created attachment 30305 [details]
Proposed patch for this issue.
Comment 3 Eric Seidel (no email) 2009-05-21 21:20:20 PDT
Comment on attachment 30305 [details]
Proposed patch for this issue.

Looks good to me.  I've re-written the test case as a test case in fast/replaced/ (because there is a resources/test.swf there).

<object type="application/x-oleobject" classid="CLSID:D27CDB6E-AE6D-11CF-96B8-444553540000">
    <param name='movie' value='resources/test.swf'></param>
    <embed src='resources/test.swf'></embed>
</object> 

We really need a better test swf file.  This one, although hysterical, isn't really the best simple test case. :)

Looks sane to me.  I'll test and land this.
Comment 4 Eric Seidel (no email) 2009-05-23 00:53:38 PDT
Comment on attachment 30305 [details]
Proposed patch for this issue.

Changing to r-.  We need a test case for this.  I've failed to make one and am about to get on a plane for vacation for a week.  If someone can turn my partial test case into a working test case, then we can land this.
Comment 5 Eric Seidel (no email) 2009-05-23 00:55:08 PDT
Created attachment 30609 [details]
automated test which almost works

I think we can make this test work w/ a timeout.  It would be nice to make it work w/o one though.  We need some sort of notification after flash has painted for the first time.

Test flash files can be found in LayoutTests/, find . | grep swf.  There is also another one in WebCore/manual-tests/

I will also attach a flash file I have which is a single green square.
Comment 6 Eric Seidel (no email) 2009-05-23 00:56:46 PDT
Created attachment 30610 [details]
square flash file thanks to Carlos McEvilly
Comment 7 Eric Seidel (no email) 2009-05-23 00:57:20 PDT
Created attachment 30611 [details]
Perl script carlos used to make the file
Comment 8 Cody Cai 2009-10-19 22:28:13 PDT
Hi, I am Cody and I am also interested in the issue here. Here is some comments of mine.

Ananta made a good point that we should respect classid if type is application/x-oleobject. But there seems to be some more cases that this patch does not cover. i.e. when type is not recognizable but classid is valid. We probably should respect the classid under this case too (in fact, there are quite some cases of this on the internet. i'm collecting some of them actually. ).

One step further, I am proposing that we always respect classid as long as it is valid, no matter the type is, i.e. looking at the type information only when classid is not available.

How do you think of this? Thanks.
Comment 9 Alexey Proskuryakov 2022-07-01 11:35:26 PDT
Mass closing plug-in bugs, as plug-in support has been removed from WebKit.

Please comment and/or reopen if this still affects WebKit in some way.