<?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>100237</bug_id>
          
          <creation_ts>2012-10-24 05:20:21 -0700</creation_ts>
          <short_desc>IconDatabase: Properly clean up on destruction</short_desc>
          <delta_ts>2012-11-01 08:18:10 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Jocelyn Turcotte">jturcotte</reporter>
          <assigned_to name="Jocelyn Turcotte">jturcotte</assigned_to>
          <cc>beidson</cc>
    
    <cc>japhet</cc>
    
    <cc>jturcotte</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>749571</commentid>
    <comment_count>0</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-24 05:20:21 -0700</bug_when>
    <thetext>IconDatabase: Properly cleanup on destruction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749575</commentid>
    <comment_count>1</comment_count>
      <attachid>170373</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-24 05:27:39 -0700</bug_when>
    <thetext>Created attachment 170373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749713</commentid>
    <comment_count>2</comment_count>
      <attachid>170373</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-24 08:50:27 -0700</bug_when>
    <thetext>Comment on attachment 170373
Patch

We don&apos;t clean up C++ objects on termination in WebCore/WebKit.

The IconDatabase should be explicitly closed by each port in a way that makes sense for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749715</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-24 08:52:52 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 170373 [details])
&gt; We don&apos;t clean up C++ objects on termination in WebCore/WebKit.
&gt; 
&gt; The IconDatabase should be explicitly closed by each port in a way that makes sense for them.

To further elaborate, the WKIconDatabaseClose() API exists to explicitly do this from the embedding application.  On Mac, we want this to be explicit and not automatic.

If you want it to be automatic in your port then you should put an explicit ::close() call in your port&apos;s shutdown code (assuming there is any, which there probably is...!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749813</commentid>
    <comment_count>4</comment_count>
      <attachid>170427</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-24 10:42:51 -0700</bug_when>
    <thetext>Created attachment 170427
Patch

Ok, good to know.
Tell me how this looks now, I&apos;ll do the close() in WebContext::platformInvalidateContext in another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749826</commentid>
    <comment_count>5</comment_count>
      <attachid>170427</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-24 10:56:41 -0700</bug_when>
    <thetext>Comment on attachment 170427
Patch

You should only explicitly call ::close() on the WebCore::IconDatabase.  You should not actually cause it to be destroyed.

We don&apos;t run destructors at exit time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749827</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-24 10:57:31 -0700</bug_when>
    <thetext>I would suggest that in your platform specific code that is run at shut down, you simply call WebIconDatabase::close()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750615</commentid>
    <comment_count>7</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-25 03:26:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; We don&apos;t run destructors at exit time.

The thing is that I want to allow the WebContext to be destroyed after the application destroys the last page and continues running. It&apos;s most likely not a full web browser in that case, but we still allow using the icon database.

Since WebIconDatabase is refcounted and keeps the WebCore::IconDatabase in an OwnPtr, it will be destroyed with the WebContext which usually owns the last reference to the WebIconDatabase.
I might be wrong somewhere so please correct me, but the only way I can see the IconDatabase not being destroyed is if the client code is expected to keep a reference outside WebKit to the WebIconDatabase or the WebContext until shutdown, and I can&apos;t enforce this.

Another example is in WebIconDatabase::setDatabasePath where m_iconDatabaseImpl.clear() is called. This will also destroy the WebCore::IconDatabase and the assert will be hit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750887</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-25 08:58:41 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #5)
&gt; &gt; We don&apos;t run destructors at exit time.
&gt; 
&gt; The thing is that I want to allow the WebContext to be destroyed after the application destroys the last page and continues running. It&apos;s most likely not a full web browser in that case, but we still allow using the icon database.
&gt; 
&gt; Since WebIconDatabase is refcounted and keeps the WebCore::IconDatabase in an OwnPtr, it will be destroyed with the WebContext which usually owns the last reference to the WebIconDatabase.
&gt; I might be wrong somewhere so please correct me, but the only way I can see the IconDatabase not being destroyed is if the client code is expected to keep a reference outside WebKit to the WebIconDatabase or the WebContext until shutdown, and I can&apos;t enforce this.
&gt; 
&gt; Another example is in WebIconDatabase::setDatabasePath where m_iconDatabaseImpl.clear() is called. This will also destroy the WebCore::IconDatabase and the assert will be hit.

I see...  interesting.

In that case, the existing ASSERT is definitely invalid.  But then we want to more explicitly enforce the &quot;destruction shouldn&apos;t do meaningful cleanup&quot; rule.

Could you change the ASSERT in the IconDatabase destructor to be:
ASSERT(!isOpen())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750936</commentid>
    <comment_count>9</comment_count>
      <attachid>170676</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-10-25 09:47:24 -0700</bug_when>
    <thetext>Created attachment 170676
Patch

Sounds good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756184</commentid>
    <comment_count>10</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-11-01 07:00:03 -0700</bug_when>
    <thetext>Brady, would you have a minute to check the last patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756261</commentid>
    <comment_count>11</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-11-01 08:18:10 -0700</bug_when>
    <thetext>Committed r133175: &lt;http://trac.webkit.org/changeset/133175&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170373</attachid>
            <date>2012-10-24 05:27:39 -0700</date>
            <delta_ts>2012-10-24 10:42:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100237-20121024142614.patch</filename>
            <type>text/plain</type>
            <size>2801</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZlN2RiNzI1YTk0ZjY2
YmY3N2Q3NDkzYTA1YzQzNjg4ODIyM2NjNy4uZjc2MDk4ZGIxYWI0ZTY4NTk2Y2RmNTdjYjk1Njgw
MjYyMGIwMTkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEwLTI0ICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CisKKyAgICAgICAgSWNv
bkRhdGFiYXNlOiBQcm9wZXJseSBjbGVhbiB1cCBvbiBkZXN0cnVjdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMjM3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2xvc2UgdGhlIGRhdGFiYXNlIGFu
ZCB0ZXJtaW5hdGUgaXRzIHRocmVhZCBvbiBkZXN0cnVjdGlvbiBzaW5jZQorICAgICAgICBXZWJL
aXQyIGlzbid0IHVzaW5nIHRoZSBzaW5nbGV0b24gYW5kIHdpbGwgdGFrZSB0aGUgSWNvbkRhdGFi
YXNlCisgICAgICAgIGRvd24gYWxvbmcgd2l0aCBhIFdlYkNvbnRleHQncyBkZXN0cnVjdGlvbi4K
KworICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJY29uRGF0YWJhc2U6On5JY29uRGF0YWJhc2UpOgorCiAyMDEyLTEwLTE5ICBBbGV4YW5k
ZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogSW52YWxpZCBSZWdleCBpbiBTQVNTU291cmNlTWFwcGluZy9kaWRSZXF1ZXN0Q29udGVudCwg
YnJlYWtzIFN1cHBvcnQgZm9yIFNhc3MgZXhwZXJpbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGEzYjExYTZi
MDMyNjI5OTk4MzEyMmM5ZGRkMzYzNWY0OTg5ZjFlMmQuLjg4MDYwNzk4NTAyZjMwYjhlMzkwNjEz
MDkyYWU4ZThlZTdmZjQyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNiBAQAogMjAxMi0xMC0y
NCAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGlnaWEuY29tPgogCisgICAg
ICAgIEljb25EYXRhYmFzZTogUHJvcGVybHkgY2xlYW4gdXAgb24gZGVzdHJ1Y3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDIzNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dl
Ykljb25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkljb25EYXRhYmFzZTo6fldl
Ykljb25EYXRhYmFzZSk6CisgICAgICAgIE1ha2Ugc3VyZSB0aGF0IEljb25EYXRhYmFzZUJhc2U6
Omljb25EYXRhYmFzZSgpIGNhbid0IHJldHVybiBhIGRhbmdsaW5nIHBvaW50ZXIuCisKKzIwMTIt
MTAtMjQgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNvbT4KKwog
ICAgICAgICBbUXRdIERldGFjaCBXZWJDb250ZXh0J3MgY2xpZW50cyBmcm9tIFF0V2ViQ29udGV4
dAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMjI0
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IDE2
M2Y2YmQ1MzVlYWJkNWFkNTY0Yzg4ZjA1OTA5MjdiYzhlMTMwMzYuLjVhMGZlOTlmMmMzNzhhMmVl
ZGM5M2U3YmUzNWNlZmIzMmNhYzRlNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlLmNwcApAQCAtODExLDcgKzgxMSw3IEBAIEljb25EYXRhYmFzZTo6SWNvbkRh
dGFiYXNlKCkKIAogSWNvbkRhdGFiYXNlOjp+SWNvbkRhdGFiYXNlKCkKIHsKLSAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICBjbG9zZSgpOwogfQogCiB2b2lkIEljb25EYXRhYmFzZTo6bm90
aWZ5UGVuZGluZ0xvYWREZWNpc2lvbnNPbk1haW5UaHJlYWQodm9pZCogY29udGV4dCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25EYXRhYmFzZS5jcHAKaW5kZXggMTA5MmI5YWM1
MTEyODBiYzE2NDVhNzM1YjY2NGFlYjFhNTk0N2VmZC4uMjFkMTcyMzgyNTRjNTU0NjU1YzRjYzNj
ZTU0ZTNmZTA5M2Y0MWNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Ykljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25E
YXRhYmFzZS5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAgUGFzc1JlZlB0cjxXZWJJY29uRGF0YWJhc2U+
IFdlYkljb25EYXRhYmFzZTo6Y3JlYXRlKFdlYkNvbnRleHQqIGNvbnRleHQpCiAKIFdlYkljb25E
YXRhYmFzZTo6fldlYkljb25EYXRhYmFzZSgpCiB7CisgICAgc2V0R2xvYmFsSWNvbkRhdGFiYXNl
KDApOwogfQogCiBXZWJJY29uRGF0YWJhc2U6OldlYkljb25EYXRhYmFzZShXZWJDb250ZXh0KiBj
b250ZXh0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170427</attachid>
            <date>2012-10-24 10:42:51 -0700</date>
            <delta_ts>2012-10-25 09:47:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100237-20121024194125.patch</filename>
            <type>text/plain</type>
            <size>2668</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTllOGQ0MTY0OGE5NTVl
MWUwYjJjYzE4Y2U2Y2JkNTEzYzJhMGM5MS4uZDNiMDFiZDllZmRmZTdiMjc0ODE1ODk0ZThiNTE2
MjBjNGEwY2IxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTI0ICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CisKKyAgICAgICAgV2Vi
SWNvbkRhdGFiYXNlOiBQcm9wZXJseSBjbGVhbiB1cCBvbiBkZXN0cnVjdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMjM3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2luY2UgV2ViS2l0MiBpc24n
dCB1c2luZyBJY29uRGF0YWJhc2UgYXMgYSBzaW5nbGV0b24sIHJlbW92ZQorICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQgZnJvbSBpdHMgZGVzdHJ1Y3Rvci4KKworICAgICAgICAqIGxvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJY29uRGF0YWJhc2U6On5J
Y29uRGF0YWJhc2UpOgorCiAyMDEyLTEwLTI0ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBOTUkgYWRkIGluc3RydW1lbnRh
dGlvbiBmb3IgUmVzb3VyY2VCdWZmZXIuIEl0IGdpdmVzIHVzIDEwbWIgb24gZ21haWwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCA1YWVlZTg1YzQwMjA4ZmUzZDg4ZDZjOGVlZDMyM2ZiNjk4MTA5ZGZjLi5mNDllZDIy
MWNmNjU2MzU2ZDkyMmYyOGQwMGQ3ODdkN2IwNmQ0M2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs
MTYgQEAKIDIwMTItMTAtMjQgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRp
Z2lhLmNvbT4KIAorICAgICAgICBXZWJJY29uRGF0YWJhc2U6IFByb3Blcmx5IGNsZWFuIHVwIG9u
IGRlc3RydWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDAyMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJJY29uRGF0YWJhc2U6OmludmFsaWRhdGUpOgorICAgICAgICBNYWtlIHN1cmUgdGhhdCBJY29u
RGF0YWJhc2VCYXNlOjppY29uRGF0YWJhc2Ugd29uJ3QgcmV0dXJuIGEgZGFuZ2xpbmcgcG9pbnRl
ci4KKworMjAxMi0xMC0yNCAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGln
aWEuY29tPgorCiAgICAgICAgIFtRdF0gRGV0YWNoIFdlYkNvbnRleHQncyBjbGllbnRzIGZyb20g
UXRXZWJDb250ZXh0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDAyMjQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNv
bkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5j
cHAKaW5kZXggMTYzZjZiZDUzNWVhYmQ1YWQ1NjRjODhmMDU5MDkyN2JjOGUxMzAzNi4uMjUwOGY4
Y2FmMDI1NTgxZWZjZTkwN2I5N2IwNjI4NTg5MTFmMmNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCkBAIC04MTEsNyArODExLDYgQEAgSWNvbkRhdGFi
YXNlOjpJY29uRGF0YWJhc2UoKQogCiBJY29uRGF0YWJhc2U6On5JY29uRGF0YWJhc2UoKQogewot
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiB2b2lkIEljb25EYXRhYmFzZTo6bm90aWZ5
UGVuZGluZ0xvYWREZWNpc2lvbnNPbk1haW5UaHJlYWQodm9pZCogY29udGV4dCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25EYXRhYmFzZS5jcHAKaW5kZXggNDAxNThmNGEwYzcx
NzdkNDQ0MjA1MTBhZGI3ZjgyOTQ0OGFkYWVjMi4uNjU1OTIxMDg0NWViYWEyZGI3ZGIzOGU4NTc4
MDNkOWJmODhiZjZmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYklj
b25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25EYXRh
YmFzZS5jcHAKQEAgLTYwLDYgKzYwLDcgQEAgV2ViSWNvbkRhdGFiYXNlOjpXZWJJY29uRGF0YWJh
c2UoV2ViQ29udGV4dCogY29udGV4dCkKIAogdm9pZCBXZWJJY29uRGF0YWJhc2U6OmludmFsaWRh
dGUoKQogeworICAgIHNldEdsb2JhbEljb25EYXRhYmFzZSgwKTsKIH0KIAogdm9pZCBXZWJJY29u
RGF0YWJhc2U6OnNldERhdGFiYXNlUGF0aChjb25zdCBTdHJpbmcmIHBhdGgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170676</attachid>
            <date>2012-10-25 09:47:24 -0700</date>
            <delta_ts>2012-11-01 07:08:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100237-20121025184557.patch</filename>
            <type>text/plain</type>
            <size>2813</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmJmMDc1NDQyY2I5OWZm
ODI5NTZlNmM1YTVhNjQzMzFmMjMxNGIyYS4uMjdiNzIxMGY2YTRkOWM4ODZlZDNhNzVjMDBhOWUz
M2I2ZGYzZjM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEwLTI0ICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CisKKyAgICAgICAgV2Vi
SWNvbkRhdGFiYXNlOiBQcm9wZXJseSBjbGVhbiB1cCBvbiBkZXN0cnVjdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMjM3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQncyBub3cgcG9zc2libGUg
dGhhdCB0aGUgSWNvbkRhdGFiYXNlIGdldHMgZGVzdHJveWVkIHNpbmNlIFdlYktpdDIKKyAgICAg
ICAgaXNuJ3QgdXNpbmcgaXQgYXMgYSBzaW5nbGV0b24uCisKKyAgICAgICAgQ2hlY2sgdGhhdCB0
aGUgZGF0YWJhc2Ugd2FzIHByb3Blcmx5IGNsb3NlZCByYXRoZXIgdGhhbiBhc3NlcnRpbmcgdGhh
dAorICAgICAgICBpdCB3b24ndCBnZXQgZGVsZXRlZC4KKworICAgICAgICAqIGxvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJY29uRGF0YWJhc2U6On5JY29u
RGF0YWJhc2UpOgorCiAyMDEyLTEwLTI1ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBOTUkgaW5zdHJ1bWVudCBJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50LiBJdCB1c2VzIGEgbG90IG9mIG1lbW9yeSBvbiBoZWF2eSBqcyBzaXRl
cyBiZWNhdXNlIGl0IGtlZXBzIGFsbCB0aGUgc2NyaXB0cyBpbiBhIG1hcC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBkZWNiOGQzNDI5NWQ1OTliNjkzMjNmOTVkZGEwMDc5YmY0YTU1ODhkLi45OTI1MjkyZDhmZjJk
ODkyMGYyNGNlZTMzYjdiNjJiMGY2ODI5OTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTItMTAtMjQgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNv
bT4KKworICAgICAgICBXZWJJY29uRGF0YWJhc2U6IFByb3Blcmx5IGNsZWFuIHVwIG9uIGRlc3Ry
dWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDAyMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJY29u
RGF0YWJhc2U6OmludmFsaWRhdGUpOgorICAgICAgICBNYWtlIHN1cmUgdGhhdCBJY29uRGF0YWJh
c2VCYXNlOjppY29uRGF0YWJhc2Ugd29uJ3QgcmV0dXJuIGEgZGFuZ2xpbmcgcG9pbnRlci4KKwog
MjAxMi0xMC0yNSAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGlnaWEuY29t
PgogCiAgICAgICAgIFtRdF0gQ2xvc2UgdGhlIEljb25EYXRhYmFzZSBiZWZvcmUgdGhlIFdlYkNv
bnRleHQgZ2V0cyBkZXN0cm95ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwCmluZGV4IDE2M2Y2YmQ1MzVlYWJkNWFkNTY0Yzg4ZjA1OTA5MjdiYzhlMTMwMzYu
LmIzYjY3YmZlYjUxMGE1ZDg0ZDdmOGM4YjBmZTBmZTY3YjQ1MWRjOTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtODExLDcgKzgxMSw3IEBAIElj
b25EYXRhYmFzZTo6SWNvbkRhdGFiYXNlKCkKIAogSWNvbkRhdGFiYXNlOjp+SWNvbkRhdGFiYXNl
KCkKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBBU1NFUlQoIWlzT3BlbigpKTsK
IH0KIAogdm9pZCBJY29uRGF0YWJhc2U6Om5vdGlmeVBlbmRpbmdMb2FkRGVjaXNpb25zT25NYWlu
VGhyZWFkKHZvaWQqIGNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViSWNvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29u
RGF0YWJhc2UuY3BwCmluZGV4IDQwMTU4ZjRhMGM3MTc3ZDQ0NDIwNTEwYWRiN2Y4Mjk0NDhhZGFl
YzIuLjY1NTkyMTA4NDVlYmFhMmRiN2RiMzhlODU3ODAzZDliZjg4YmY2ZjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UuY3BwCkBAIC02MCw2ICs2MCw3IEBA
IFdlYkljb25EYXRhYmFzZTo6V2ViSWNvbkRhdGFiYXNlKFdlYkNvbnRleHQqIGNvbnRleHQpCiAK
IHZvaWQgV2ViSWNvbkRhdGFiYXNlOjppbnZhbGlkYXRlKCkKIHsKKyAgICBzZXRHbG9iYWxJY29u
RGF0YWJhc2UoMCk7CiB9CiAKIHZvaWQgV2ViSWNvbkRhdGFiYXNlOjpzZXREYXRhYmFzZVBhdGgo
Y29uc3QgU3RyaW5nJiBwYXRoKQo=
</data>
<flag name="review"
          id="184350"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>