<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>19859</bug_id>
          
          <creation_ts>2008-07-02 11:55:24 -0700</creation_ts>
          <short_desc>Flash plugin on WebKit GTK needs null window quirk</short_desc>
          <delta_ts>2008-10-12 16:51:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Aaron Bockover">abockover</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>84999</commentid>
    <comment_count>0</comment_count>
    <who name="Aaron Bockover">abockover</who>
    <bug_when>2008-07-02 11:55:24 -0700</bug_when>
    <thetext>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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85000</commentid>
    <comment_count>1</comment_count>
    <who name="Aaron Bockover">abockover</who>
    <bug_when>2008-07-02 12:00:35 -0700</bug_when>
    <thetext>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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85011</commentid>
    <comment_count>2</comment_count>
      <attachid>22052</attachid>
    <who name="Aaron Bockover">abockover</who>
    <bug_when>2008-07-02 14:27:15 -0700</bug_when>
    <thetext>Created attachment 22052
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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95043</commentid>
    <comment_count>3</comment_count>
      <attachid>22052</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-10-12 10:12:59 -0700</bug_when>
    <thetext>Comment on attachment 22052
Version parsing and null window on destroy quirk for Flash 10

r=me

Nice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95103</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-10-12 16:51:08 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/37535</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22052</attachid>
            <date>2008-07-02 14:27:15 -0700</date>
            <delta_ts>2008-10-12 10:12:59 -0700</delta_ts>
            <desc>Version parsing and null window on destroy quirk for Flash 10</desc>
            <filename>flash-10-crash-fix.diff</filename>
            <type>text/plain</type>
            <size>5344</size>
            <attacher name="Aaron Bockover">abockover</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGx1Z2lucy9ndGsvUGx1Z2luUGFja2FnZUd0ay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5QYWNrYWdlR3RrLmNwcAkocmV2aXNpb24g
MzQ5NTYpCisrKyBXZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdpblBhY2thZ2VHdGsuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFw
cGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29s
bGFib3JhIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBO
dWFudGkgTHRkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IE5vdmVsbCBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM2LDYgKzM3LDQ5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIFBsYXRmb3JtTW9kdWxlVmVyc2lv
biBnZXRNb2R1bGVWZXJzaW9uKGNvbnN0IGNoYXIgKmRlc2NyaXB0aW9uKQoreworICAgIC8vIEl0
J3MgYSBiaXQgbGFtZSB0byBkZXRlY3QgdGhlIHBsdWdpbiB2ZXJzaW9uIGJ5IHBhcnNpbmcgaXQK
KyAgICAvLyBmcm9tIHRoZSBwbHVnaW4gZGVzY3JpcHRpb24gc3RyaW5nLCBidXQgaXQgZG9lc24n
dCBzZWVtIHRoYXQKKyAgICAvLyB2ZXJzaW9uIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBpbiBh
bnkgc3RhbmRhcmRpemVkIHdheSBhdAorICAgIC8vIHRoZSBtb2R1bGUgbGV2ZWwsIGxpa2UgaW4g
V2luZG93cworCisgICAgUGxhdGZvcm1Nb2R1bGVWZXJzaW9uIHZlcnNpb24gPSAwOworCisgICAg
aWYgKCFkZXNjcmlwdGlvbikKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoZ19zdHJfaGFz
X3ByZWZpeChkZXNjcmlwdGlvbiwgIlNob2Nrd2F2ZSBGbGFzaCAiKSAmJiBzdHJsZW4oZGVzY3Jp
cHRpb24pID49IDE5KSB7CisgICAgICAgIC8vIFRoZSBmbGFzaCB2ZXJzaW9uIGFzIGEgUGxhdGZv
cm1Nb2R1bGVWZXJzaW9uIGRpZmZlcnMgaW4gR1RLIGZyb20gV2luZG93cworICAgICAgICAvLyBz
aW5jZSB0aGUgcmV2aXNpb24gY2FuIGJlIGxhcmdlciB0aGFuIGEgOCBiaXRzLCBzbyB3ZSBhbGxv
dyBpdCAxNiBoZXJlIGFuZAorICAgICAgICAvLyBwdXNoIHRoZSBtYWpvci9taW5vciB1cCA4IGJp
dHMuIFRodXMgaW4gR1RLLCBGbGFzaCdzIHZlcnNpb24gbWF5IGJlCisgICAgICAgIC8vIDB4MGEw
MDAwMDAgaW5zdGVhZCBvZiAweDAwMGEwMDAwLiBUaGlzIGF2b2lkcyBoYXZpbmcgdG8gbW9kaWZ5
IAorICAgICAgICAvLyBQbGF0Zm9ybU1vZHVsZVZlcnNpb24gaW4gdGhlIEdUSyBwb3J0IAorCisg
ICAgICAgIGNoYXIgKip2ZXJzaW9uX3BhcnRzID0gZ19zdHJzcGxpdChkZXNjcmlwdGlvbiArIDE2
LCAiICIsIC0xKTsKKyAgICAgICAgaWYgKCF2ZXJzaW9uX3BhcnRzKQorICAgICAgICAgICAgcmV0
dXJuIDA7CisKKyAgICAgICAgaW50IHBhcnRzX2xlbmd0aCA9IGdfc3Rydl9sZW5ndGgodmVyc2lv
bl9wYXJ0cyk7CisKKyAgICAgICAgaWYgKHBhcnRzX2xlbmd0aCA+PSAxKSB7CisgICAgICAgICAg
ICBndWludDE2IG1ham9yID0gMCwgbWlub3IgPSAwOworICAgICAgICAgICAgaWYgKHNzY2FuZih2
ZXJzaW9uX3BhcnRzWzBdLCAiJSIgR19HVUlOVDE2X0ZPUk1BVCAiLiUiIEdfR1VJTlQxNl9GT1JN
QVQsICZtYWpvciwgJm1pbm9yKSA9PSAyKQorICAgICAgICAgICAgICAgIHZlcnNpb24gPSAoKGd1
aW50OCltYWpvciA8PCAyNCkgfCAoKGd1aW50OCltaW5vciA8PCAxNik7CisgICAgICAgIH0KKwor
ICAgICAgICBpZiAocGFydHNfbGVuZ3RoID49IDIpIHsKKyAgICAgICAgICAgIGNoYXIgKnJldl9z
dHIgPSB2ZXJzaW9uX3BhcnRzWzFdOworICAgICAgICAgICAgaWYgKHN0cmxlbihyZXZfc3RyKSA+
IDEgJiYgKHJldl9zdHJbMF0gPT0gJ3InIHx8IHJldl9zdHJbMF0gPT0gJ2InKSkKKyAgICAgICAg
ICAgICAgICB2ZXJzaW9uIHw9IChndWludDE2KWF0b2kocmV2X3N0ciArIDEpOworICAgICAgICB9
CisgICAgICAgIAorICAgICAgICBnX3N0cmZyZWV2KHZlcnNpb25fcGFydHMpOworICAgIH0KKwor
ICAgIHJldHVybiB2ZXJzaW9uOworfQorCiB2b2lkIFBsdWdpblBhY2thZ2U6OmRldGVybWluZVF1
aXJrcyhjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5
Ojppc0phdmFBcHBsZXRNSU1FVHlwZShtaW1lVHlwZSkpIHsKQEAgLTQ2LDE2ICs5MCwyNCBAQAog
ICAgICAgICAvLyBTZXR0aW5nIHRoZSB3aW5kb3cgcmVnaW9uIHRvIGFuIGVtcHR5IHJlZ2lvbiBj
YXVzZXMgYmFkIHNjcm9sbGluZyByZXBhaW50IHByb2JsZW1zCiAgICAgICAgIC8vIHdpdGggdGhl
IEphdmEgcGx1Zy1pbi4KICAgICAgICAgbV9xdWlya3MuYWRkKFBsdWdpblF1aXJrRG9udENsaXBU
b1plcm9SZWN0V2hlblNjcm9sbGluZyk7CisgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCiAg
ICAgaWYgKG1pbWVUeXBlID09ICJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIpIHsKLSAg
ICAgICAgLy8gVGhlIGZsYXNoIHBsdWdpbiBvbmx5IHJlcXVlc3RzIHdpbmRvd2xlc3MgcGx1Z2lu
cyBpZiB3ZSByZXR1cm4gYSBtb3ppbGxhIHVzZXIgYWdlbnQKLSAgICAgICAgbV9xdWlya3MuYWRk
KFBsdWdpblF1aXJrV2FudHNNb3ppbGxhVXNlckFnZW50KTsKKyAgICAgICAgc3RhdGljIGNvbnN0
IFBsYXRmb3JtTW9kdWxlVmVyc2lvbiBmbGFzaFRlblZlcnNpb24oMHgwYTAwMDAwMCk7CisKKyAg
ICAgICAgaWYgKGNvbXBhcmVGaWxlVmVyc2lvbihmbGFzaFRlblZlcnNpb24pID49IDApIHsKKyAg
ICAgICAgICAgIC8vIEZsYXNoIDEwLjAgYjIxOCBkb2Vzbid0IGxpa2UgaGF2aW5nIGEgTlVMTCB3
aW5kb3cgaGFuZGxlCisgICAgICAgICAgICBtX3F1aXJrcy5hZGQoUGx1Z2luUXVpcmtEb250U2V0
TnVsbFdpbmRvd0hhbmRsZU9uRGVzdHJveSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAvLyBGbGFzaCA5IGFuZCBvbGRlciByZXF1ZXN0cyB3aW5kb3dsZXNzIHBsdWdpbnMgaWYgd2Ug
cmV0dXJuIGEgbW96aWxsYSB1c2VyIGFnZW50CisgICAgICAgICAgICBtX3F1aXJrcy5hZGQoUGx1
Z2luUXVpcmtXYW50c01vemlsbGFVc2VyQWdlbnQpOworICAgICAgICB9CisKICAgICAgICAgbV9x
dWlya3MuYWRkKFBsdWdpblF1aXJrVGhyb3R0bGVJbnZhbGlkYXRlKTsKICAgICAgICAgbV9xdWly
a3MuYWRkKFBsdWdpblF1aXJrVGhyb3R0bGVXTVVzZXJQbHVzT25lTWVzc2FnZXMpOwogICAgICAg
ICBtX3F1aXJrcy5hZGQoUGx1Z2luUXVpcmtGbGFzaFVSTE5vdGlmeUJ1Zyk7CiAgICAgfQotCiB9
CiAKIGJvb2wgUGx1Z2luUGFja2FnZTo6ZmV0Y2hJbmZvKCkKQEAgLTcwLDYgKzEyMiwxOCBAQAog
ICAgIGdfbW9kdWxlX3N5bWJvbChtX21vZHVsZSwgIk5QX0dldE1JTUVEZXNjcmlwdGlvbiIsICh2
b2lkKiopJk5QX0dldE1JTUVEZXNjcmlwdGlvbik7CiAgICAgZ19tb2R1bGVfc3ltYm9sKG1fbW9k
dWxlLCAiTlBfR2V0VmFsdWUiLCAodm9pZCoqKSZOUFBfR2V0VmFsdWUpOwogCisgICAgY2hhciog
YnVmZmVyID0gMDsKKyAgICBOUEVycm9yIGVyciA9IE5QUF9HZXRWYWx1ZSgwLCBOUFBWcGx1Z2lu
TmFtZVN0cmluZywgJmJ1ZmZlcik7CisgICAgaWYgKGVyciA9PSBOUEVSUl9OT19FUlJPUikKKyAg
ICAgICAgbV9uYW1lID0gYnVmZmVyOworCisgICAgYnVmZmVyID0gMDsKKyAgICBlcnIgPSBOUFBf
R2V0VmFsdWUoMCwgTlBQVnBsdWdpbkRlc2NyaXB0aW9uU3RyaW5nLCAmYnVmZmVyKTsKKyAgICBp
ZiAoZXJyID09IE5QRVJSX05PX0VSUk9SKSB7CisgICAgICAgIG1fZGVzY3JpcHRpb24gPSBidWZm
ZXI7CisgICAgICAgIG1fbW9kdWxlVmVyc2lvbiA9IGdldE1vZHVsZVZlcnNpb24oYnVmZmVyKTsg
CisgICAgfQorCiAgICAgY29uc3QgZ2NoYXIqIHR5cGVzID0gTlBfR2V0TUlNRURlc2NyaXB0aW9u
KCk7CiAgICAgZ2NoYXIqKiBtaW1lRGVzY3MgPSBnX3N0cnNwbGl0KHR5cGVzLCAiOyIsIC0xKTsK
ICAgICBmb3IgKGludCBpID0gMDsgbWltZURlc2NzW2ldICYmIG1pbWVEZXNjc1tpXVswXTsgaSsr
KSB7CkBAIC05MSwxNiArMTU1LDYgQEAKICAgICB9CiAgICAgZ19zdHJmcmVldihtaW1lRGVzY3Mp
OwogCi0gICAgY2hhciogYnVmZmVyID0gMDsKLSAgICBOUEVycm9yIGVyciA9IE5QUF9HZXRWYWx1
ZSgwLCBOUFBWcGx1Z2luTmFtZVN0cmluZywgJmJ1ZmZlcik7Ci0gICAgaWYgKGVyciA9PSBOUEVS
Ul9OT19FUlJPUikKLSAgICAgICAgbV9uYW1lID0gYnVmZmVyOwotCi0gICAgYnVmZmVyID0gMDsK
LSAgICBlcnIgPSBOUFBfR2V0VmFsdWUoMCwgTlBQVnBsdWdpbkRlc2NyaXB0aW9uU3RyaW5nLCAm
YnVmZmVyKTsKLSAgICBpZiAoZXJyID09IE5QRVJSX05PX0VSUk9SKQotICAgICAgICBtX2Rlc2Ny
aXB0aW9uID0gYnVmZmVyOwotCiAgICAgcmV0dXJuIHRydWU7CiAjZWxzZQogICAgIG5vdEltcGxl
bWVudGVkKCk7CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L0NoYW5nZUxvZwkocmV2aXNpb24gMzQ5NTcpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDExIEBACisyMDA4LTA3LTAyICBBYXJvbiBCb2Nrb3ZlciAgPGFi
b2Nrb3ZlckBub3ZlbGwuY29tPgorCisgICAgICAgIEFkZCB2ZXJzaW9uIHBhcnNpbmcgZm9yIEZs
YXNoLCBhbmQgdGhlIFBsdWdpblF1aXJrRG9udFNldE51bGxXaW5kb3dIYW5kbGVPbkRlc3Ryb3kg
CisgICAgICAgIHBsdWdpbiBxdWlyayBpZiBGbGFzaCAxMCBvciBuZXdlciBzaW5jZSBhdCBsZWFz
dCBpbiBiMjE4LCBzZXR0aW5nIGEgTlVMTCB3aW5kb3cgCisgICAgICAgIGhhbmRsZXIgb24gZGVz
dHJveSBjcmFzaGVzIFdlYktpdCA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5ODU5PgorCisgICAgICAgICogcGx1Z2lucy9ndGsvUGx1Z2luUGFja2FnZUd0ay5jcHA6
CisKIDIwMDgtMDctMDIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEluc3BpcmVkIGFuZCByZXZpZXdlZCBieSBNYXJrIFJvd2UuCg==
</data>
<flag name="review"
          id="11068"
          type_id="1"
          status="+"
          setter="alp"
    />
          </attachment>
      

    </bug>

</bugzilla>