<?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>49497</bug_id>
          
          <creation_ts>2010-11-13 12:23:15 -0800</creation_ts>
          <short_desc>getMIMEType(s)ForExtension should consult system mapping</short_desc>
          <delta_ts>2010-11-16 10:47:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit-ews</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>309003</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2010-11-13 12:23:15 -0800</bug_when>
    <thetext>MIMETypeRegistry::getMediaMIMETypeForExtension and MIMETypeRegistry::getMediaMIMETypesForExtension only look in the hard coded mapping table, but should also include the type returned by the system specific function MIMETypeRegistry::getMIMETypeForExtension.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309005</commentid>
    <comment_count>1</comment_count>
      <attachid>73831</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2010-11-13 12:39:14 -0800</bug_when>
    <thetext>Created attachment 73831
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309348</commentid>
    <comment_count>2</comment_count>
      <attachid>73831</attachid>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2010-11-15 10:42:22 -0800</bug_when>
    <thetext>Comment on attachment 73831
Proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=73831&amp;action=review

If the system-specific registry has priority, shouldn&apos;t it be consulted first in getMediaMIMETypesForExtension()?

&gt; WebCore/platform/MIMETypeRegistry.cpp:364
&gt; +        typeList.append(*mediaMIMETypeMap().get(ext));

Would it be faster to put the result of mediaMIMETypeMap().get() in a local variable and then test it for null, rather than calling both contains() and get()? (I realize this pattern already existed in this function.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309405</commentid>
    <comment_count>3</comment_count>
      <attachid>73831</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-15 13:11:23 -0800</bug_when>
    <thetext>Comment on attachment 73831
Proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=73831&amp;action=review

&gt; WebCore/platform/MIMETypeRegistry.cpp:349
&gt; +    String type = MIMETypeRegistry::getMIMETypeForExtension(ext);

No need to explicitly qualify with MIMETypeRegistry since we are already in a function member of MIMETypeRegistry.

&gt; WebCore/platform/MIMETypeRegistry.cpp:366
&gt; +    String type = MIMETypeRegistry::getMIMETypeForExtension(ext);

No need to explicitly qualify with MIMETypeRegistry since we are already in a function member of MIMETypeRegistry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309509</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2010-11-15 16:49:23 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 73831 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=73831&amp;action=review
&gt; 
&gt; If the system-specific registry has priority, shouldn&apos;t it be consulted first in
&gt; getMediaMIMETypesForExtension()?
&gt; 
The first type in the vector returned by mediaMIMETypeMap() is the system-specific type (if there is one). I will update the patch to return immediately if the type map entry exists.

&gt; &gt; WebCore/platform/MIMETypeRegistry.cpp:364
&gt; &gt; +        typeList.append(*mediaMIMETypeMap().get(ext));
&gt; 
&gt; Would it be faster to put the result of mediaMIMETypeMap().get() in a local variable and then test 
&gt; it for null, rather than calling both contains() and get()? (I realize this pattern already existed in 
&gt; this function.)
&gt;
Good point, thanks.

(In reply to comment #3)
&gt; (From update of attachment 73831 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=73831&amp;action=review
&gt; 
&gt; &gt; WebCore/platform/MIMETypeRegistry.cpp:349
&gt; &gt; +    String type = MIMETypeRegistry::getMIMETypeForExtension(ext);
&gt; 
&gt; No need to explicitly qualify with MIMETypeRegistry since we are already in a function member 
&gt; of MIMETypeRegistry.
&gt; 
&gt; &gt; WebCore/platform/MIMETypeRegistry.cpp:366
&gt; &gt; +    String type = MIMETypeRegistry::getMIMETypeForExtension(ext);
&gt; 
&gt; No need to explicitly qualify with MIMETypeRegistry since we are already in a function member 
&gt; of MIMETypeRegistry.
&gt;
Indeed, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309581</commentid>
    <comment_count>5</comment_count>
      <attachid>73961</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2010-11-15 21:53:29 -0800</bug_when>
    <thetext>Created attachment 73961
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309583</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-15 21:58:01 -0800</bug_when>
    <thetext>Attachment 73961 did not build on mac:
Build output: http://queues.webkit.org/results/5985077</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309584</commentid>
    <comment_count>7</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-11-15 22:04:12 -0800</bug_when>
    <thetext>Attachment 73961 did not build on qt:
Build output: http://queues.webkit.org/results/5938081</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309586</commentid>
    <comment_count>8</comment_count>
      <attachid>73962</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2010-11-15 22:07:22 -0800</bug_when>
    <thetext>Created attachment 73962
Updated patch (and it compiles!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309813</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2010-11-16 10:47:12 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/72119</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73831</attachid>
            <date>2010-11-13 12:39:14 -0800</date>
            <delta_ts>2010-11-15 21:53:29 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch_2.txt</filename>
            <type>text/plain</type>
            <size>2027</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTk3MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMTEtMTMgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgZ2V0TUlNRVR5cGUocylGb3JFeHRlbnNpb24gc2hvdWxkIGNvbnN1bHQgc3lzdGVtIG1hcHBp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5NDk3
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHBvc3NpYmxlLgorCisgICAgICAgICogcGxhdGZvcm0v
TUlNRVR5cGVSZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5
OjpnZXRNZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKTogQWRkIHRoZSB0eXBlIHJldHVybmVkIGJ5
IE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uLgorICAgICAgICAoV2Vi
Q29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TWVkaWFNSU1FVHlwZXNGb3JFeHRlbnNpb24pOiBE
aXR0by4KKwogMjAxMC0xMS0xMyAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5NDk2CkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAJKHJldmlzaW9uIDcxOTE3KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzQ1LDYgKzM0NSwxMSBAQCBzdGF0aWMgTWVkaWFNSU1FVHlwZU1hcCYgbWVkaWFNSU1FVHlwZU1h
CiAKIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9u
KGNvbnN0IFN0cmluZyYgZXh0KQogeworICAgIC8vIExvb2sgaW4gdGhlIHN5c3RlbSBzcGVjaWZp
YyByZWdpc3RyeSBmaXJzdC4KKyAgICBTdHJpbmcgdHlwZSA9IE1JTUVUeXBlUmVnaXN0cnk6Omdl
dE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGV4dCk7CisgICAgaWYgKCF0eXBlLmlzRW1wdHkoKSkKKyAg
ICAgICAgcmV0dXJuIHR5cGU7CisKICAgICBpZiAobWVkaWFNSU1FVHlwZU1hcCgpLmNvbnRhaW5z
KGV4dCkpCiAgICAgICAgIHJldHVybiAoKm1lZGlhTUlNRVR5cGVNYXAoKS5nZXQoZXh0KSlbMF07
CiAgICAgCkBAIC0zNTMsMTAgKzM1OCwxNiBAQCBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0
TWVkaWFNSU1FVHlwCiAgICAgCiBWZWN0b3I8U3RyaW5nPiBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRN
ZWRpYU1JTUVUeXBlc0ZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dCkKIHsKKyAgICBWZWN0
b3I8U3RyaW5nPiB0eXBlTGlzdDsKKwogICAgIGlmIChtZWRpYU1JTUVUeXBlTWFwKCkuY29udGFp
bnMoZXh0KSkKLSAgICAgICAgcmV0dXJuICptZWRpYU1JTUVUeXBlTWFwKCkuZ2V0KGV4dCk7Cisg
ICAgICAgIHR5cGVMaXN0LmFwcGVuZCgqbWVkaWFNSU1FVHlwZU1hcCgpLmdldChleHQpKTsKIAot
ICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOworICAgIFN0cmluZyB0eXBlID0gTUlNRVR5cGVS
ZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oZXh0KTsKKyAgICBpZiAoIXR5cGUuaXNF
bXB0eSgpICYmICF0eXBlTGlzdC5maW5kKHR5cGUpKQorICAgICAgICB0eXBlTGlzdC5hcHBlbmQo
dHlwZSk7CisgICAgCisgICAgcmV0dXJuIHR5cGVMaXN0OwogfQogCiBzdGF0aWMgdm9pZCBpbml0
aWFsaXplU3VwcG9ydGVkTWVkaWFNSU1FVHlwZXMoKQo=
</data>
<flag name="review"
          id="64344"
          type_id="1"
          status="-"
          setter="sullivan"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73961</attachid>
            <date>2010-11-15 21:53:29 -0800</date>
            <delta_ts>2010-11-15 22:07:22 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>patch_4.txt</filename>
            <type>text/plain</type>
            <size>2997</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTk3MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMTEtMTUgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgZ2V0TUlNRVR5cGUocylGb3JFeHRlbnNpb24gc2hvdWxkIGNvbnN1bHQgc3lzdGVtIG1hcHBp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5NDk3
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHBvc3NpYmxlLgorCisgICAgICAgICogcGxhdGZvcm0v
TUlNRVR5cGVSZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5
OjpnZXRNZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKTogQWRkIHRoZSB0eXBlIHJldHVybmVkIGJ5
IGdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uLiAKKyAgICAgICAgUHV0IHRoZSByZXN1bHQgb2YgbWVk
aWFNSU1FVHlwZU1hcCgpLmdldCgpIGluIGEgbG9jYWwgdmFyaWFibGUgYW5kIHRlc3QgaW5zdGVh
ZCBvZiBjYWxsaW5nCisgICAgICAgIGNvbnN0YWlucygpIGFuZCB0aGVuIGdldCgpLgorICAgICAg
ICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TWVkaWFNSU1FVHlwZXNGb3JFeHRlbnNp
b24pOiBEaXR0by4KKwogMjAxMC0xMS0xMyAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+
CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5NDk2
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAJKHJldmlzaW9uIDcxOTE3
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzMyLDcgKzMzMiw3IEBAIHN0YXRpYyBNZWRpYU1JTUVUeXBlTWFwJiBtZWRpYU1JTUVU
eXBlTWEKIAogICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBzeXN0ZW0gc3BlY2lmaWMgdHlw
ZSBmb3IgdGhpcyBleHRlbnNpb24sIGFkZCBpdCBhcyB0aGUgZmlyc3QgdHlwZSBzbwogICAgICAg
ICAgICAgLy8gZ2V0TWVkaWFNSU1FVHlwZUZvckV4dGVuc2lvbiB3aWxsIGFsd2F5cyByZXR1cm4g
aXQuCi0gICAgICAgICAgICBTdHJpbmcgc3lzdGVtVHlwZSA9IE1JTUVUeXBlUmVnaXN0cnk6Omdl
dE1JTUVUeXBlRm9yRXh0ZW5zaW9uKHBhaXJzW25keF0uZXh0ZW5zaW9uKTsKKyAgICAgICAgICAg
IFN0cmluZyBzeXN0ZW1UeXBlID0gZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb24ocGFpcnNbbmR4XS5l
eHRlbnNpb24pOwogICAgICAgICAgICAgaWYgKCFzeXN0ZW1UeXBlLmlzRW1wdHkoKSAmJiBwYWly
c1tuZHhdLnR5cGUgIT0gc3lzdGVtVHlwZSkKICAgICAgICAgICAgICAgICBzeW5vbnltcy0+YXBw
ZW5kKHN5c3RlbVR5cGUpOwogICAgICAgICAgICAgc3lub255bXMtPmFwcGVuZChwYWlyc1tuZHhd
LnR5cGUpOwpAQCAtMzQ1LDE3ICszNDUsMzQgQEAgc3RhdGljIE1lZGlhTUlNRVR5cGVNYXAmIG1l
ZGlhTUlNRVR5cGVNYQogCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TWVkaWFNSU1FVHlw
ZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dCkKIHsKLSAgICBpZiAobWVkaWFNSU1FVHlw
ZU1hcCgpLmNvbnRhaW5zKGV4dCkpCi0gICAgICAgIHJldHVybiAoKm1lZGlhTUlNRVR5cGVNYXAo
KS5nZXQoZXh0KSlbMF07CisgICAgLy8gTG9vayBpbiB0aGUgc3lzdGVtLXNwZWNpZmljIHJlZ2lz
dHJ5IGZpcnN0LgorICAgIFN0cmluZyB0eXBlID0gZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oZXh0
KTsKKyAgICBpZiAoIXR5cGUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdHlwZTsKKworICAg
IFZlY3RvcjxTdHJpbmc+KiB0eXBlTGlzdCA9IG1lZGlhTUlNRVR5cGVNYXAoKS5nZXQoZXh0KTsK
KyAgICBpZiAodHlwZUxpc3QpCisgICAgICAgIHJldHVybiAoKnR5cGVMaXN0KVswXTsKICAgICAK
ICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAgICAgCiBWZWN0b3I8U3RyaW5nPiBNSU1FVHlwZVJl
Z2lzdHJ5OjpnZXRNZWRpYU1JTUVUeXBlc0ZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dCkK
IHsKLSAgICBpZiAobWVkaWFNSU1FVHlwZU1hcCgpLmNvbnRhaW5zKGV4dCkpCi0gICAgICAgIHJl
dHVybiAqbWVkaWFNSU1FVHlwZU1hcCgpLmdldChleHQpOwotCisgICAgVmVjdG9yPFN0cmluZz4q
IHR5cGVMaXN0ID0gbWVkaWFNSU1FVHlwZU1hcCgpLmdldChleHQpOworICAgIGlmICh0eXBlTGlz
dCkKKyAgICAgICAgcmV0dXJuICp0eXBlTGlzdDsKKworICAgIC8vIE9ubHkgbmVlZCB0byBsb29r
IGluIHRoZSBzeXN0ZW0tc3BlY2lmaWMgcmVnaXN0cnkgaWYgbWVkaWFNSU1FVHlwZU1hcCgpIGRv
ZXNuJ3QgY29udGFpbgorICAgIC8vIHRoZSBleHRlbnNpb24gYXQgYWxsLCBiZWNhdXNlIGl0IGFs
d2F5cyBjb250YWlucyB0aGUgc3lzdGVtLXNwZWNpZmljIGV4dGVuc2lvbiBpZiB0aGUKKyAgICAv
LyBNSU1FIHR5cGUgaXMgaW4gdGhlIHN0YXRpYyBtYXBwaW5nIHRhYmxlLgorICAgIFN0cmluZyB0
eXBlID0gZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oZXh0KTsKKyAgICBpZiAoIXR5cGUuaXNFbXB0
eSgpKSB7CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IHR5cGVMaXN0OworICAgICAgICB0eXBlTGlz
dC5hcHBlbmQodHlwZSk7CisgICAgICAgIHJldHVybiB0eXBlTGlzdDsKKyAgICB9CisgICAgCiAg
ICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73962</attachid>
            <date>2010-11-15 22:07:22 -0800</date>
            <delta_ts>2010-11-16 10:14:36 -0800</delta_ts>
            <desc>Updated patch (and it compiles!)</desc>
            <filename>patch_5.txt</filename>
            <type>text/plain</type>
            <size>2421</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTk3MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMTEtMTUgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgZ2V0TUlNRVR5cGUocylGb3JFeHRlbnNpb24gc2hvdWxkIGNvbnN1bHQgc3lzdGVtIG1hcHBp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5NDk3
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHBvc3NpYmxlLgorCisgICAgICAgICogcGxhdGZvcm0v
TUlNRVR5cGVSZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5
OjpnZXRNZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKTogQWRkIHRoZSB0eXBlIHJldHVybmVkIGJ5
IGdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uLiAKKyAgICAgICAgUHV0IHRoZSByZXN1bHQgb2YgbWVk
aWFNSU1FVHlwZU1hcCgpLmdldCgpIGluIGEgbG9jYWwgdmFyaWFibGUgYW5kIHRlc3QgaW5zdGVh
ZCBvZiBjYWxsaW5nCisgICAgICAgIGNvbnN0YWlucygpIGFuZCB0aGVuIGdldCgpLgorICAgICAg
ICAoV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0TWVkaWFNSU1FVHlwZXNGb3JFeHRlbnNp
b24pOiBEaXR0by4KKwogMjAxMC0xMS0xMyAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+
CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5NDk2
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5jcHAJKHJldmlzaW9uIDcxOTE3
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzQ1LDE3ICszNDUsMzQgQEAgc3RhdGljIE1lZGlhTUlNRVR5cGVNYXAmIG1lZGlhTUlN
RVR5cGVNYQogCiBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TWVkaWFNSU1FVHlwZUZvckV4
dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dCkKIHsKLSAgICBpZiAobWVkaWFNSU1FVHlwZU1hcCgp
LmNvbnRhaW5zKGV4dCkpCi0gICAgICAgIHJldHVybiAoKm1lZGlhTUlNRVR5cGVNYXAoKS5nZXQo
ZXh0KSlbMF07CisgICAgLy8gTG9vayBpbiB0aGUgc3lzdGVtLXNwZWNpZmljIHJlZ2lzdHJ5IGZp
cnN0LgorICAgIFN0cmluZyB0eXBlID0gZ2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oZXh0KTsKKyAg
ICBpZiAoIXR5cGUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdHlwZTsKKworICAgIFZlY3Rv
cjxTdHJpbmc+KiB0eXBlTGlzdCA9IG1lZGlhTUlNRVR5cGVNYXAoKS5nZXQoZXh0KTsKKyAgICBp
ZiAodHlwZUxpc3QpCisgICAgICAgIHJldHVybiAoKnR5cGVMaXN0KVswXTsKICAgICAKICAgICBy
ZXR1cm4gU3RyaW5nKCk7CiB9CiAgICAgCiBWZWN0b3I8U3RyaW5nPiBNSU1FVHlwZVJlZ2lzdHJ5
OjpnZXRNZWRpYU1JTUVUeXBlc0ZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dCkKIHsKLSAg
ICBpZiAobWVkaWFNSU1FVHlwZU1hcCgpLmNvbnRhaW5zKGV4dCkpCi0gICAgICAgIHJldHVybiAq
bWVkaWFNSU1FVHlwZU1hcCgpLmdldChleHQpOwotCisgICAgVmVjdG9yPFN0cmluZz4qIHR5cGVM
aXN0ID0gbWVkaWFNSU1FVHlwZU1hcCgpLmdldChleHQpOworICAgIGlmICh0eXBlTGlzdCkKKyAg
ICAgICAgcmV0dXJuICp0eXBlTGlzdDsKKworICAgIC8vIE9ubHkgbmVlZCB0byBsb29rIGluIHRo
ZSBzeXN0ZW0tc3BlY2lmaWMgcmVnaXN0cnkgaWYgbWVkaWFNSU1FVHlwZU1hcCgpIGRvZXNuJ3Qg
Y29udGFpbgorICAgIC8vIHRoZSBleHRlbnNpb24gYXQgYWxsLCBiZWNhdXNlIGl0IGFsd2F5cyBj
b250YWlucyB0aGUgc3lzdGVtLXNwZWNpZmljIGV4dGVuc2lvbiBpZiB0aGUKKyAgICAvLyBNSU1F
IHR5cGUgaXMgaW4gdGhlIHN0YXRpYyBtYXBwaW5nIHRhYmxlLgorICAgIFN0cmluZyB0eXBlID0g
Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oZXh0KTsKKyAgICBpZiAoIXR5cGUuaXNFbXB0eSgpKSB7
CisgICAgICAgIFZlY3RvcjxTdHJpbmc+IHR5cGVMaXN0OworICAgICAgICB0eXBlTGlzdC5hcHBl
bmQodHlwZSk7CisgICAgICAgIHJldHVybiB0eXBlTGlzdDsKKyAgICB9CisgICAgCiAgICAgcmV0
dXJuIFZlY3RvcjxTdHJpbmc+KCk7CiB9CiAK
</data>
<flag name="review"
          id="64496"
          type_id="1"
          status="+"
          setter="sullivan"
    />
          </attachment>
      

    </bug>

</bugzilla>