Bug 19859

Summary: Flash plugin on WebKit GTK needs null window quirk
Product: WebKit Reporter: Aaron Bockover <abockover>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: alp
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
Version parsing and null window on destroy quirk for Flash 10 alp: review+

Description Aaron Bockover 2008-07-02 11:55:24 PDT
Testing WebKit GTK from trunk, I noticed that WebKit would crash if the flash plugin was unloaded.

It appears the PluginQuirkDontSetNullWindowHandleOnDestroy needs to be set for the plugin so the window does not get unset when destroying the plugin. Setting this quirk flag fixes the crash for me. 

I was testing the Flash 10 beta.
Comment 1 Aaron Bockover 2008-07-02 12:00:35 PDT
I just tested Flash 9, and it is ok with having a NULL window set, so this crash is specific to Flash 10 from what I can tell.
Comment 2 Aaron Bockover 2008-07-02 14:27:15 PDT
Created attachment 22052 [details]
Version parsing and null window on destroy quirk for Flash 10

This patch adds version parsing for the Flash plugin. I am not aware of a standardized way to read plugin version information, so parsing it from the description string on a per-plugin basis is unfortunately the best I could come up with.

On Windows, there is a standard API to read version and other metadata from a DLL, which WebKit uses in that port.

If Flash 10 is detected, the PluginQuirkDontSetNullWindowHandleOnDestroy is applied to the plugin. Additionally, since now the Flash version is detected, the PluginQuirkWantsMozillaUserAgent quirk is only applied if Flash 9 or older is detected, like in the Windows port.
Comment 3 Alp Toker 2008-10-12 10:12:59 PDT
Comment on attachment 22052 [details]
Version parsing and null window on destroy quirk for Flash 10

r=me

Nice
Comment 4 Darin Adler 2008-10-12 16:51:08 PDT
http://trac.webkit.org/changeset/37535