<?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>17825</bug_id>
          
          <creation_ts>2008-03-13 08:59:56 -0700</creation_ts>
          <short_desc>PluginDatabase implementation for GTK+</short_desc>
          <delta_ts>2008-03-17 07:51:49 -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>All</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>1</everconfirmed>
          <reporter name="Rodney Dawes">dobey</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>73570</commentid>
    <comment_count>0</comment_count>
    <who name="Rodney Dawes">dobey</who>
    <bug_when>2008-03-13 08:59:56 -0700</bug_when>
    <thetext>The attached patch implements the PluginDatabase class for GTK+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73571</commentid>
    <comment_count>1</comment_count>
      <attachid>19727</attachid>
    <who name="Rodney Dawes">dobey</who>
    <bug_when>2008-03-13 09:00:27 -0700</bug_when>
    <thetext>Created attachment 19727
PluginDatabase implementation for GTK+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73737</commentid>
    <comment_count>2</comment_count>
      <attachid>19727</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-03-14 09:30:13 -0700</bug_when>
    <thetext>Comment on attachment 19727
PluginDatabase implementation for GTK+

 42     for (Vector&lt;String&gt;::const_iterator it = m_pluginPaths.begin(); it != end; ++it) {
 43         GDir* dir = g_dir_open((it-&gt;utf8()).data(), 0, NULL);
 44         if (dir) {

You could reverse this and do

if (!dir)
    continue;

That would remove a level of nesting.

 45             const char* name;
 46             while ((name = g_dir_read_name(dir))) {

I think you can declare name right in the assignment:

while (const char* name = g_dir_read_name(dir)) {

 47                 if (g_str_has_suffix(name, &quot;.&quot; G_MODULE_SUFFIX)) {

You could reverse this as well:

if (!g_str_has_suffix(...))
    continue;

 48                     gchar* filename = g_build_filename((it-&gt;utf8()).data(), name, NULL);
 49                     PluginPackage* pluginPackage = PluginPackage::createPackage(filename, time(NULL));

Our code style guidelines say we should be using 0 instead of NULL in C++ source files (even for calling C functions).

 71 #elif defined(GDK_WINDOWING_WIN32)
 72     path = g_build_filename(g_get_home_dir(), &quot;Application Data&quot;, &quot;Mozilla&quot;, &quot;plugins&quot;, NULL);
 73     paths.append(path);
 74     g_free(path);
 75 #endif

Should you be looking at the MozillaPlugins registry key as well?

 77     const gchar* mozPath = g_getenv(&quot;MOZ_PLUGIN_PATH&quot;);
 78     if (mozPath) {
 79         gchar** pluginPaths = g_strsplit(mozPath, &quot;:&quot;, -1);

This doesn&apos;t seem quite right to do on Windows. Does Gecko really use a colon-separated MOZ_PLUGIN_PATH environment variable on Windows?

r=me even if the above issues are not addressed, but it would be nice to fix them since it&apos;d be so easy!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73770</commentid>
    <comment_count>3</comment_count>
      <attachid>19772</attachid>
    <who name="Rodney Dawes">dobey</who>
    <bug_when>2008-03-14 13:11:47 -0700</bug_when>
    <thetext>Created attachment 19772
Updated patch for adam&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74092</commentid>
    <comment_count>4</comment_count>
      <attachid>19772</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-03-17 07:37:53 -0700</bug_when>
    <thetext>Comment on attachment 19772
Updated patch for adam&apos;s comments

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74095</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-03-17 07:51:49 -0700</bug_when>
    <thetext>Committed in r31094</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19727</attachid>
            <date>2008-03-13 09:00:27 -0700</date>
            <delta_ts>2008-03-14 13:11:47 -0700</delta_ts>
            <desc>PluginDatabase implementation for GTK+</desc>
            <filename>webkit-plugindatabase-gtk.patch</filename>
            <type>text/plain</type>
            <size>6423</size>
            <attacher name="Rodney Dawes">dobey</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMTAyOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDgtMDMtMTMgIFJvZG5leSBEYXdlcyAgPGRvYmV5QHdheW9mdGhl
bW9ua2V5LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhISkKKworICAg
ICAgICBJbXBsZW1lbnQgUGx1Z2luRGF0YWJhc2UgZm9yIEdUSysgd2l0aCBQbHVnaW5EYXRhYmFz
ZUd0ay5jcHAuCisgICAgICAgIFJlbW92ZSBpbXBsZW1lbnRlZCBtZXRob2RzIGZyb20gVGVtcG9y
YXJ5TGlua1N0dWJzLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogcGx1
Z2lucy9ndGs6CisgICAgICAgICogcGx1Z2lucy9ndGsvUGx1Z2luRGF0YWJhc2VHdGsuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwOgorCiAyMDA4LTAz
LTEzICBSb2RuZXkgRGF3ZXMgIDxkb2JleUB3YXlvZnRoZW1vbmtleS5jb20+CiAKICAgICAgICAg
Rml4IGJ1aWxkcyB3aXRob3V0IFNWRyBlbmFibGVkLgpJbmRleDogV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiAzMTAy
OSkKKysrIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTg5MSw2ICs4
OTEsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcGx1Z2lucy9QbHVnaW5JbmZv
U3RvcmUuY3BwIFwKIAlXZWJDb3JlL3BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAgXAogCVdlYkNv
cmUvcGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwIFwKKwlXZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdp
bkRhdGFiYXNlR3RrLmNwcCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNw
cCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvYmlkaS5jcHAgXAogCVdlYkNvcmUvcmVuZGVyaW5nL2Jy
ZWFrX2xpbmVzLmNwcCBcCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2d0ay9UZW1wb3JhcnlMaW5r
U3R1YnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1RlbXBvcmFyeUxp
bmtTdHVicy5jcHAJKHJldmlzaW9uIDMxMDI5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ndGsvVGVt
cG9yYXJ5TGlua1N0dWJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQAogI2lu
Y2x1ZGUgIkZUUERpcmVjdG9yeURvY3VtZW50LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSAiUGx1Z2luRGF0YWJhc2UuaCIKICNpbmNs
dWRlICJQbHVnaW5QYWNrYWdlLmgiCiAjaW5jbHVkZSAiUGx1Z2luRGF0YS5oIgogI2luY2x1ZGUg
IlNoYXJlZEJ1ZmZlci5oIgpAQCAtNTgsOSArNTcsNiBAQCBWZWN0b3I8Y2hhcj4gbG9hZFJlc291
cmNlSW50b0FycmF5KGNvbnN0CiAvKiBDb21wbGV0ZWx5IGVtcHR5IHN0dWJzIChtb3N0bHkgdG8g
YWxsb3cgRFJUIHRvIHJ1bik6ICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKiovCiAKLVBsdWdpblNldCBQbHVnaW5EYXRhYmFzZTo6Z2V0
UGx1Z2luc0luUGF0aHMoKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiBQbHVnaW5T
ZXQoKTsgfQotVmVjdG9yPFN0cmluZz4gUGx1Z2luRGF0YWJhc2U6OmRlZmF1bHRQbHVnaW5QYXRo
cygpIHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7IH0KLWJvb2wg
UGx1Z2luRGF0YWJhc2U6OmlzUHJlZmVycmVkUGx1Z2luUGF0aChjb25zdCBTdHJpbmcmKSB7IG5v
dEltcGxlbWVudGVkKCk7IHJldHVybiBmYWxzZTsgfQogaW50IFBsdWdpblBhY2thZ2U6OmNvbXBh
cmUoY29uc3QgUGx1Z2luUGFja2FnZSYpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJu
IDA7IH0KIGJvb2wgUGx1Z2luUGFja2FnZTo6ZmV0Y2hJbmZvKCkgeyBub3RJbXBsZW1lbnRlZCgp
OyByZXR1cm4gZmFsc2U7IH0KIHVuc2lnbmVkIFBsdWdpblBhY2thZ2U6Omhhc2goKSBjb25zdCB7
IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiAwOyB9CkluZGV4OiBXZWJDb3JlL3BsdWdpbnMvZ3Rr
L1BsdWdpbkRhdGFiYXNlR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsdWdpbnMvZ3Rr
L1BsdWdpbkRhdGFiYXNlR3RrLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGx1Z2lucy9n
dGsvUGx1Z2luRGF0YWJhc2VHdGsuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwNyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IENvbGxhYm9yYSwgTHRkLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGx1Z2lu
RGF0YWJhc2UuaCIKKworI2luY2x1ZGUgIkNTdHJpbmcuaCIKKyNpbmNsdWRlICJQbHVnaW5QYWNr
YWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGx1Z2luU2V0IFBsdWdpbkRhdGFiYXNl
OjpnZXRQbHVnaW5zSW5QYXRocygpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxk
IGJlIGEgY2FzZSBpbnNlbnNpdGl2ZSBzZXQuCisgICAgSGFzaFNldDxTdHJpbmc+IHVuaXF1ZUZp
bGVuYW1lczsKKyAgICBQbHVnaW5TZXQgcGx1Z2luczsKKworICAgIFZlY3RvcjxTdHJpbmc+Ojpj
b25zdF9pdGVyYXRvciBlbmQgPSBtX3BsdWdpblBhdGhzLmVuZCgpOworICAgIGZvciAoVmVjdG9y
PFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9wbHVnaW5QYXRocy5iZWdpbigpOyBpdCAh
PSBlbmQ7ICsraXQpIHsKKyAgICAgICAgR0RpciogZGlyID0gZ19kaXJfb3BlbigoaXQtPnV0Zjgo
KSkuZGF0YSgpLCAwLCBOVUxMKTsKKyAgICAgICAgaWYgKGRpcikgeworICAgICAgICAgICAgY29u
c3QgY2hhciogbmFtZTsKKyAgICAgICAgICAgIHdoaWxlICgobmFtZSA9IGdfZGlyX3JlYWRfbmFt
ZShkaXIpKSkgeworICAgICAgICAgICAgICAgIGlmIChnX3N0cl9oYXNfc3VmZml4KG5hbWUsICIu
IiBHX01PRFVMRV9TVUZGSVgpKSB7CisgICAgICAgICAgICAgICAgICAgIGdjaGFyKiBmaWxlbmFt
ZSA9IGdfYnVpbGRfZmlsZW5hbWUoKGl0LT51dGY4KCkpLmRhdGEoKSwgbmFtZSwgTlVMTCk7Cisg
ICAgICAgICAgICAgICAgICAgIFBsdWdpblBhY2thZ2UqIHBsdWdpblBhY2thZ2UgPSBQbHVnaW5Q
YWNrYWdlOjpjcmVhdGVQYWNrYWdlKGZpbGVuYW1lLCB0aW1lKE5VTEwpKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHBsdWdpblBhY2thZ2UpCisgICAgICAgICAgICAgICAgICAgICAgICBwbHVn
aW5zLmFkZChwbHVnaW5QYWNrYWdlKTsKKyAgICAgICAgICAgICAgICAgICAgZ19mcmVlKGZpbGVu
YW1lKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBnX2Rp
cl9jbG9zZShkaXIpOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHBsdWdpbnM7Cit9
CisKK1ZlY3RvcjxTdHJpbmc+IFBsdWdpbkRhdGFiYXNlOjpkZWZhdWx0UGx1Z2luUGF0aHMoKQor
eworICAgIFZlY3RvcjxTdHJpbmc+IHBhdGhzOworICAgIGdjaGFyKiBwYXRoOworCisjaWYgZGVm
aW5lZChHREtfV0lORE9XSU5HX1gxMSkKKyAgICBwYXRoID0gZ19idWlsZF9maWxlbmFtZShnX2dl
dF9ob21lX2RpcigpLCAiLm1vemlsbGEiLCAicGx1Z2lucyIsIE5VTEwpOworICAgIHBhdGhzLmFw
cGVuZChwYXRoKTsKKyAgICBnX2ZyZWUocGF0aCk7CisjZWxpZiBkZWZpbmVkKEdES19XSU5ET1dJ
TkdfV0lOMzIpCisgICAgcGF0aCA9IGdfYnVpbGRfZmlsZW5hbWUoZ19nZXRfaG9tZV9kaXIoKSwg
IkFwcGxpY2F0aW9uIERhdGEiLCAiTW96aWxsYSIsICJwbHVnaW5zIiwgTlVMTCk7CisgICAgcGF0
aHMuYXBwZW5kKHBhdGgpOworICAgIGdfZnJlZShwYXRoKTsKKyNlbmRpZgorCisgICAgY29uc3Qg
Z2NoYXIqIG1velBhdGggPSBnX2dldGVudigiTU9aX1BMVUdJTl9QQVRIIik7CisgICAgaWYgKG1v
elBhdGgpIHsKKyAgICAgICAgZ2NoYXIqKiBwbHVnaW5QYXRocyA9IGdfc3Ryc3BsaXQobW96UGF0
aCwgIjoiLCAtMSk7CisKKyAgICAgICAgZm9yIChnaW50IGkgPSAwOyBwbHVnaW5QYXRoc1tpXTsg
aSsrKQorICAgICAgICAgICAgcGF0aHMuYXBwZW5kKHBsdWdpblBhdGhzW2ldKTsKKworICAgICAg
ICBnX3N0cmZyZWV2KHBsdWdpblBhdGhzKTsKKyAgICB9CisKKyNpZiBkZWZpbmVkKEdES19XSU5E
T1dJTkdfWDExKQorICAgIHBhdGggPSBnX2J1aWxkX2ZpbGVuYW1lKEdfRElSX1NFUEFSQVRPUl9T
ICJ1c3IiLCAibGliIiwgImJyb3dzZXIiLCAicGx1Z2lucyIsIE5VTEwpOworICAgIHBhdGhzLmFw
cGVuZChwYXRoKTsKKyAgICBnX2ZyZWUocGF0aCk7CisgICAgcGF0aCA9IGdfYnVpbGRfZmlsZW5h
bWUoR19ESVJfU0VQQVJBVE9SX1MgInVzciIsICJsb2NhbCIsICJsaWIiLCAibW96aWxsYSIsICJw
bHVnaW5zIiwgTlVMTCk7CisgICAgcGF0aHMuYXBwZW5kKHBhdGgpOworICAgIGdfZnJlZSAocGF0
aCk7CisgICAgcGF0aCA9IGdfYnVpbGRfZmlsZW5hbWUoR19ESVJfU0VQQVJBVE9SX1MgInVzciIs
ICJsaWIiLCAibW96aWxsYSIsICJwbHVnaW5zIiwgTlVMTCk7CisgICAgcGF0aHMuYXBwZW5kKHBh
dGgpOworICAgIGdfZnJlZSAocGF0aCk7CisjZW5kaWYKKworICAgIHJldHVybiBwYXRoczsKK30K
KworYm9vbCBQbHVnaW5EYXRhYmFzZTo6aXNQcmVmZXJyZWRQbHVnaW5QYXRoKGNvbnN0IFN0cmlu
ZyYgcGF0aCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30K
</data>
<flag name="review"
          id="8642"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19772</attachid>
            <date>2008-03-14 13:11:47 -0700</date>
            <delta_ts>2008-03-17 07:37:53 -0700</delta_ts>
            <desc>Updated patch for adam&apos;s comments</desc>
            <filename>webkit-plugindatabase-gtk.patch</filename>
            <type>text/plain</type>
            <size>6302</size>
            <attacher name="Rodney Dawes">dobey</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMTAyOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDgtMDMtMTQgIFJvZG5leSBEYXdlcyAgPGRvYmV5QHdheW9mdGhl
bW9ua2V5LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgorCisgICAgICAg
IEltcGxlbWVudCBQbHVnaW5EYXRhYmFzZSBmb3IgR1RLKyB3aXRoIFBsdWdpbkRhdGFiYXNlR3Rr
LmNwcC4KKyAgICAgICAgUmVtb3ZlIGltcGxlbWVudGVkIG1ldGhvZHMgZnJvbSBUZW1wb3JhcnlM
aW5rU3R1YnMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBwbHVnaW5z
L2d0azoKKyAgICAgICAgKiBwbHVnaW5zL2d0ay9QbHVnaW5EYXRhYmFzZUd0ay5jcHA6CisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL1RlbXBvcmFyeUxpbmtTdHVicy5jcHA6CisKIDIwMDgtMDMtMTMg
IFJvZG5leSBEYXdlcyAgPGRvYmV5QHdheW9mdGhlbW9ua2V5LmNvbT4KIAogICAgICAgICBGaXgg
YnVpbGRzIHdpdGhvdXQgU1ZHIGVuYWJsZWQuCkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDMxMDI5KQor
KysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtODkxLDYgKzg5MSw3
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkluZm9TdG9y
ZS5jcHAgXAogCVdlYkNvcmUvcGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcCBcCiAJV2ViQ29yZS9w
bHVnaW5zL1BsdWdpblN0cmVhbS5jcHAgXAorCVdlYkNvcmUvcGx1Z2lucy9ndGsvUGx1Z2luRGF0
YWJhc2VHdGsuY3BwIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwIFwK
IAlXZWJDb3JlL3JlbmRlcmluZy9iaWRpLmNwcCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvYnJlYWtf
bGluZXMuY3BwIFwKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1RlbXBvcmFyeUxpbmtTdHVi
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ndGsvVGVtcG9yYXJ5TGlua1N0
dWJzLmNwcAkocmV2aXNpb24gMzEwMjkpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2d0ay9UZW1wb3Jh
cnlMaW5rU3R1YnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVk
ZSAiRlRQRGlyZWN0b3J5RG9jdW1lbnQuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgogI2luY2x1ZGUg
IlBsdWdpblBhY2thZ2UuaCIKICNpbmNsdWRlICJQbHVnaW5EYXRhLmgiCiAjaW5jbHVkZSAiU2hh
cmVkQnVmZmVyLmgiCkBAIC01OCw5ICs1Nyw2IEBAIFZlY3RvcjxjaGFyPiBsb2FkUmVzb3VyY2VJ
bnRvQXJyYXkoY29uc3QKIC8qIENvbXBsZXRlbHkgZW1wdHkgc3R1YnMgKG1vc3RseSB0byBhbGxv
dyBEUlQgdG8gcnVuKTogKi8KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKi8KIAotUGx1Z2luU2V0IFBsdWdpbkRhdGFiYXNlOjpnZXRQbHVn
aW5zSW5QYXRocygpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIFBsdWdpblNldCgp
OyB9Ci1WZWN0b3I8U3RyaW5nPiBQbHVnaW5EYXRhYmFzZTo6ZGVmYXVsdFBsdWdpblBhdGhzKCkg
eyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsgfQotYm9vbCBQbHVn
aW5EYXRhYmFzZTo6aXNQcmVmZXJyZWRQbHVnaW5QYXRoKGNvbnN0IFN0cmluZyYpIHsgbm90SW1w
bGVtZW50ZWQoKTsgcmV0dXJuIGZhbHNlOyB9CiBpbnQgUGx1Z2luUGFja2FnZTo6Y29tcGFyZShj
b25zdCBQbHVnaW5QYWNrYWdlJikgY29uc3QgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gMDsg
fQogYm9vbCBQbHVnaW5QYWNrYWdlOjpmZXRjaEluZm8oKSB7IG5vdEltcGxlbWVudGVkKCk7IHJl
dHVybiBmYWxzZTsgfQogdW5zaWduZWQgUGx1Z2luUGFja2FnZTo6aGFzaCgpIGNvbnN0IHsgbm90
SW1wbGVtZW50ZWQoKTsgcmV0dXJuIDA7IH0KSW5kZXg6IFdlYkNvcmUvcGx1Z2lucy9ndGsvUGx1
Z2luRGF0YWJhc2VHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGx1Z2lucy9ndGsvUGx1
Z2luRGF0YWJhc2VHdGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9wbHVnaW5zL2d0ay9Q
bHVnaW5EYXRhYmFzZUd0ay5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTA2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ29sbGFib3JhLCBMdGQuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbHVnaW5EYXRh
YmFzZS5oIgorCisjaW5jbHVkZSAiQ1N0cmluZy5oIgorI2luY2x1ZGUgIlBsdWdpblBhY2thZ2Uu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQbHVnaW5TZXQgUGx1Z2luRGF0YWJhc2U6Omdl
dFBsdWdpbnNJblBhdGhzKCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUg
YSBjYXNlIGluc2Vuc2l0aXZlIHNldC4KKyAgICBIYXNoU2V0PFN0cmluZz4gdW5pcXVlRmlsZW5h
bWVzOworICAgIFBsdWdpblNldCBwbHVnaW5zOworCisgICAgVmVjdG9yPFN0cmluZz46OmNvbnN0
X2l0ZXJhdG9yIGVuZCA9IG1fcGx1Z2luUGF0aHMuZW5kKCk7CisgICAgZm9yIChWZWN0b3I8U3Ry
aW5nPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX3BsdWdpblBhdGhzLmJlZ2luKCk7IGl0ICE9IGVu
ZDsgKytpdCkgeworICAgICAgICBHRGlyKiBkaXIgPSBnX2Rpcl9vcGVuKChpdC0+dXRmOCgpKS5k
YXRhKCksIDAsIDApOworICAgICAgICBpZiAoIWRpcikKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
CisgICAgICAgIHdoaWxlICgoY29uc3QgY2hhciogbmFtZSA9IGdfZGlyX3JlYWRfbmFtZShkaXIp
KSkgeworICAgICAgICAgICAgaWYgKCFnX3N0cl9oYXNfc3VmZml4KG5hbWUsICIuIiBHX01PRFVM
RV9TVUZGSVgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBnY2hh
ciogZmlsZW5hbWUgPSBnX2J1aWxkX2ZpbGVuYW1lKChpdC0+dXRmOCgpKS5kYXRhKCksIG5hbWUs
IDApOworICAgICAgICAgICAgUGx1Z2luUGFja2FnZSogcGx1Z2luUGFja2FnZSA9IFBsdWdpblBh
Y2thZ2U6OmNyZWF0ZVBhY2thZ2UoZmlsZW5hbWUsIHRpbWUoMCkpOworICAgICAgICAgICAgaWYg
KHBsdWdpblBhY2thZ2UpCisgICAgICAgICAgICAgICAgcGx1Z2lucy5hZGQocGx1Z2luUGFja2Fn
ZSk7CisgICAgICAgICAgICBnX2ZyZWUoZmlsZW5hbWUpOworICAgICAgICB9CisgICAgICAgIGdf
ZGlyX2Nsb3NlKGRpcik7CisgICAgfQorCisgICAgcmV0dXJuIHBsdWdpbnM7Cit9CisKK1ZlY3Rv
cjxTdHJpbmc+IFBsdWdpbkRhdGFiYXNlOjpkZWZhdWx0UGx1Z2luUGF0aHMoKQoreworICAgIFZl
Y3RvcjxTdHJpbmc+IHBhdGhzOworICAgIGdjaGFyKiBwYXRoOworCisjaWYgZGVmaW5lZChHREtf
V0lORE9XSU5HX1gxMSkKKyAgICBwYXRoID0gZ19idWlsZF9maWxlbmFtZShnX2dldF9ob21lX2Rp
cigpLCAiLm1vemlsbGEiLCAicGx1Z2lucyIsIDApOworICAgIHBhdGhzLmFwcGVuZChwYXRoKTsK
KyAgICBnX2ZyZWUocGF0aCk7CisKKyAgICBjb25zdCBnY2hhciogbW96UGF0aCA9IGdfZ2V0ZW52
KCJNT1pfUExVR0lOX1BBVEgiKTsKKyAgICBpZiAobW96UGF0aCkgeworICAgICAgICBnY2hhcioq
IHBsdWdpblBhdGhzID0gZ19zdHJzcGxpdChtb3pQYXRoLCAiOiIsIC0xKTsKKworICAgICAgICBm
b3IgKGdpbnQgaSA9IDA7IHBsdWdpblBhdGhzW2ldOyBpKyspCisgICAgICAgICAgICBwYXRocy5h
cHBlbmQocGx1Z2luUGF0aHNbaV0pOworCisgICAgICAgIGdfc3RyZnJlZXYocGx1Z2luUGF0aHMp
OworICAgIH0KKworICAgIHBhdGggPSBnX2J1aWxkX2ZpbGVuYW1lKEdfRElSX1NFUEFSQVRPUl9T
ICJ1c3IiLCAibGliIiwgImJyb3dzZXIiLCAicGx1Z2lucyIsIDApOworICAgIHBhdGhzLmFwcGVu
ZChwYXRoKTsKKyAgICBnX2ZyZWUocGF0aCk7CisgICAgcGF0aCA9IGdfYnVpbGRfZmlsZW5hbWUo
R19ESVJfU0VQQVJBVE9SX1MgInVzciIsICJsb2NhbCIsICJsaWIiLCAibW96aWxsYSIsICJwbHVn
aW5zIiwgMCk7CisgICAgcGF0aHMuYXBwZW5kKHBhdGgpOworICAgIGdfZnJlZSAocGF0aCk7Cisg
ICAgcGF0aCA9IGdfYnVpbGRfZmlsZW5hbWUoR19ESVJfU0VQQVJBVE9SX1MgInVzciIsICJsaWIi
LCAibW96aWxsYSIsICJwbHVnaW5zIiwgMCk7CisgICAgcGF0aHMuYXBwZW5kKHBhdGgpOworICAg
IGdfZnJlZSAocGF0aCk7CisjZWxpZiBkZWZpbmVkKEdES19XSU5ET1dJTkdfV0lOMzIpCisgICAg
cGF0aCA9IGdfYnVpbGRfZmlsZW5hbWUoZ19nZXRfaG9tZV9kaXIoKSwgIkFwcGxpY2F0aW9uIERh
dGEiLCAiTW96aWxsYSIsICJwbHVnaW5zIiwgMCk7CisgICAgcGF0aHMuYXBwZW5kKHBhdGgpOwor
ICAgIGdfZnJlZShwYXRoKTsKKyNlbmRpZgorCisgICAgcmV0dXJuIHBhdGhzOworfQorCitib29s
IFBsdWdpbkRhdGFiYXNlOjppc1ByZWZlcnJlZFBsdWdpblBhdGgoY29uc3QgU3RyaW5nJiBwYXRo
KQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworfQo=
</data>
<flag name="review"
          id="8658"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>