<?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>96566</bug_id>
          
          <creation_ts>2012-09-12 15:09:11 -0700</creation_ts>
          <short_desc>IndexedDB: Hidden indexing events are visible to script via bubbling/capture</short_desc>
          <delta_ts>2012-10-19 17:55:43 -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>WebCore Misc.</component>
          <version>523.x (Safari 3)</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="Joshua Bell">jsbell</reporter>
          <assigned_to name="Alec Flett">alecflett</assigned_to>
          <cc>alecflett</cc>
    
    <cc>dgrogan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>718779</commentid>
    <comment_count>0</comment_count>
      <attachid>163712</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-12 15:09:11 -0700</bug_when>
    <thetext>Created attachment 163712
Repro case for bug

Population of indexes is done using iteration of a hidden IDBCursor. The cursor iteration fires events at a hidden IDBRequest that is not visible to script. The success and error events fired at request end up being erroneously visible via capture/bubbling.

This was found via W3C test submission: http://w3c-test.org/webapps/IndexedDB/tests/submissions/Microsoft/idbobjectstore_createIndex2.htm

Short version:

db.onerror = function() { alert(&quot;UNEXPECTED&quot;); };
var store = db.createObjectStore(&apos;store&apos;);
store.put({prop: 1}, 1);
store.put({prop: 1}, 2);
store.createIndex(&quot;index&quot;, &quot;prop&quot;, {unique: true});

This results in an error when the indexing terminates due to an abort. (Aborting causes an error to be fired at all unfinished requests.). However, the issue affects success events as well (as seen in the attached hidden-events.html)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744754</commentid>
    <comment_count>1</comment_count>
      <attachid>169290</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-17 16:22:17 -0700</bug_when>
    <thetext>Created attachment 169290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744763</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-17 16:27:32 -0700</bug_when>
    <thetext>The patch is a partial fix:

It stops propagation of the events in the default/&quot;bubbling&quot; phase, but scripts could still see the events in the &quot;capture&quot; phase. A more intrusive fix would be necessary for the latter, setting a different propagation path in the guts of IDBRequest.

With this patch we pass:

http://w3c-test.org/webapps/IndexedDB/tests/submissions/Microsoft/idbobjectstore_createIndex2.htm
http://w3c-test.org/webapps/IndexedDB/tests/submissions/Opera/idbobjectstore_createIndex6-event_order.htm (mostly; the final event is incorrect in the test)
http://w3c-test.org/webapps/IndexedDB/tests/submissions/Opera/idbtransaction_abort.htm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746647</commentid>
    <comment_count>3</comment_count>
      <attachid>169696</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-19 14:31:41 -0700</bug_when>
    <thetext>Created attachment 169696
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746650</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-10-19 14:32:51 -0700</bug_when>
    <thetext>Latest patch handles both capturing and bubbling phases and tests both as well. I hate having to add more crap into IDBRequest but this seems like the best approach.

alecflett@ - can you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746755</commentid>
    <comment_count>5</comment_count>
      <attachid>169696</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-10-19 16:37:13 -0700</bug_when>
    <thetext>Comment on attachment 169696
Patch

lgtm, thanks for fixing this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746809</commentid>
    <comment_count>6</comment_count>
      <attachid>169696</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-19 17:55:40 -0700</bug_when>
    <thetext>Comment on attachment 169696
Patch

Clearing flags on attachment: 169696

Committed r131967: &lt;http://trac.webkit.org/changeset/131967&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746810</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-19 17:55:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>163712</attachid>
            <date>2012-09-12 15:09:11 -0700</date>
            <delta_ts>2012-09-12 15:09:11 -0700</delta_ts>
            <desc>Repro case for bug</desc>
            <filename>hidden-events.html</filename>
            <type>text/html</type>
            <size>1202</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxzY3JpcHQ+CndpbmRvdy5pbmRleGVkREIgPSB3aW5kb3cuaW5kZXhl
ZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREI7Cgp2YXIgZGF0YWJhc2VOYW1lID0gJ2luZGV4
ZXItdGVzdCc7CnZhciBkYXRhYmFzZVZlcnNpb24gPSAxOwp2YXIgcnFEZWwgPSBpbmRleGVkREIu
ZGVsZXRlRGF0YWJhc2UoZGF0YWJhc2VOYW1lKTsKcnFEZWwub25zdWNjZXNzID0gZnVuY3Rpb24o
KSB7CiAgdmFyIHJxT3BlbiA9IHdpbmRvdy5pbmRleGVkREIub3BlbihkYXRhYmFzZU5hbWUsIGRh
dGFiYXNlVmVyc2lvbik7CiAgcnFPcGVuLm9udXBncmFkZW5lZWRlZCA9IGZ1bmN0aW9uKGV2ZW50
KSB7CiAgICB2YXIgZGIgPSBldmVudC50YXJnZXQucmVzdWx0OwogICAgdmFyIHRyYW5zYWN0aW9u
ID0gZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uOwoKICAgIHZhciBzdG9yZSA9IGRiLmNyZWF0ZU9i
amVjdFN0b3JlKCJzdG9yZSIpOwogICAgc3RvcmUucHV0KHtwcm9wOiAxfSwgMSk7CiAgICBzdG9y
ZS5wdXQoe3Byb3A6IDF9LCAyKS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKCiAgICAgIHZhciBm
Q2FwdHVyZSA9IHRydWU7CiAgICAgIGRiLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgZnVuY3Rp
b24oZSkgewogICAgICAgIGNvbnNvbGUubG9nKCJkYiBlcnJvcjogIiwgZS50eXBlLCBlLnRhcmdl
dC53ZWJraXRFcnJvck1lc3NhZ2UpOwogICAgICB9LCBmQ2FwdHVyZSk7CiAgICAgIGRiLmFkZEV2
ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLCBmdW5jdGlvbihlKSB7CiAgICAgICAgY29uc29sZS5sb2co
ImRiIHN1Y2Nlc3MiKTsKICAgICAgfSwgZkNhcHR1cmUpOwoKICAgICAgdHJhbnNhY3Rpb24uYWRk
RXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBmdW5jdGlvbihlKSB7CiAgICAgICAgY29uc29sZS5sb2co
InRyYW5zIGVycm9yOiAiLCBlLnR5cGUsIGUudGFyZ2V0LndlYmtpdEVycm9yTWVzc2FnZSk7CiAg
ICAgIH0sIGZDYXB0dXJlKTsKICAgICAgdHJhbnNhY3Rpb24uYWRkRXZlbnRMaXN0ZW5lcigic3Vj
Y2VzcyIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICBjb25zb2xlLmxvZygidHJhbnMgc3VjY2VzcyIp
OwogICAgICB9LCBmQ2FwdHVyZSk7CgogICAgICB2YXIgaW5kZXggPSBzdG9yZS5jcmVhdGVJbmRl
eCgiaW5kZXgiLCAicHJvcCIsIHt1bmlxdWU6IHRydWV9KTsKICAgIH07CiAgfTsKfTsKCjwvc2Ny
aXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169290</attachid>
            <date>2012-10-17 16:22:17 -0700</date>
            <delta_ts>2012-10-19 14:31:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96566-20121017162103.patch</filename>
            <type>text/plain</type>
            <size>5188</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjhkNmY1MjFlZTgzODI3
MzdmZWRlYjk4YTRmNWYxZmRiZDhhYzBmOS4uNzU1ZDVhNGE4YzhkYzBkMGYyMTRhZjBkYjcxM2Uz
NzJmYmRkYzQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEwLTE3ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBIaWRk
ZW4gaW5kZXhpbmcgZXZlbnRzIGFyZSB2aXNpYmxlIHRvIHNjcmlwdCB2aWEgYnViYmxpbmcvY2Fw
dHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY1
NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9w
IHByb3BhZ2F0aW9uIG9mIGVycm9yIGV2ZW50cyBmaXJlZCBhdCBpbnRlcm5hbCBpbmRleGluZyBy
ZXF1ZXN0cyBhcyBhIHJlc3VsdCBvZgorICAgICAgICBhYm9ydGluZywgYXMgdGhleSBzaG91bGQg
bm90IGJlIHZpc2libGUgdG8gc2NyaXB0cy4KKworICAgICAgICBUZXN0OiBzdG9yYWdlL2luZGV4
ZWRkYi9pbmRleC1wb3B1bGF0aW9uLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQk9iamVjdFN0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCT2JqZWN0U3RvcmU6OmNyZWF0ZUluZGV4KToKKwogMjAxMi0xMC0xNyAgUGF0cmljayBH
YW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBCdWlsZCBmaXggZm9yIFdp
bkNFIGFmdGVyIHIxMzEzNjUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKaW5kZXggMWNlOTQ5MjVlYmU5MTk3Njc5YjBjZDI3M2U1
NjdkMDQwYmM5ZTUwMC4uMDZjZmVkZDc0YzMzOWEwMzg2YzRiM2YzMGNmOWJlMjRkY2ZjMTg3NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3Rv
cmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0
b3JlLmNwcApAQCAtMzA4LDYgKzMwOCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhh
bmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV2ZW50KiBldmVudCkK
ICAgICB7CiAgICAgICAgIEFTU0VSVChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5zdWNj
ZXNzRXZlbnQpOworICAgICAgICBldmVudC0+c3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgIEV2
ZW50VGFyZ2V0KiB0YXJnZXQgPSBldmVudC0+dGFyZ2V0KCk7CiAgICAgICAgIElEQlJlcXVlc3Qq
IHJlcXVlc3QgPSBzdGF0aWNfY2FzdDxJREJSZXF1ZXN0Kj4odGFyZ2V0KTsKIApAQCAtMzUyLDYg
KzM1MywzMSBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRl
cmZhY2U+IG1fdHJhbnNhY3Rpb247CiAgICAgSURCSW5kZXhNZXRhZGF0YSBtX2luZGV4TWV0YWRh
dGE7CiB9OworCitjbGFzcyBTdG9wUHJvcGFnYXRpb24gOiBwdWJsaWMgRXZlbnRMaXN0ZW5lciB7
CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcFByb3BhZ2F0aW9uPiBjcmVhdGUo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdG9wUHJvcGFnYXRpb24oKSk7
CisgICAgfQorCisgICAgdmlydHVhbCBib29sIG9wZXJhdG9yPT0oY29uc3QgRXZlbnRMaXN0ZW5l
ciYgb3RoZXIpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcyA9PSAmb3RoZXI7CisgICAgfQor
Citwcml2YXRlOgorICAgIFN0b3BQcm9wYWdhdGlvbigpCisgICAgICAgIDogRXZlbnRMaXN0ZW5l
cihDUFBFdmVudExpc3RlbmVyVHlwZSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lk
IGhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV2ZW50KiBldmVu
dCkKKyAgICB7CisgICAgICAgIEFTU0VSVChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5l
cnJvckV2ZW50KTsKKyAgICAgICAgZXZlbnQtPnN0b3BQcm9wYWdhdGlvbigpOworICAgIH0KK307
CiB9CiAKIFBhc3NSZWZQdHI8SURCSW5kZXg+IElEQk9iamVjdFN0b3JlOjpjcmVhdGVJbmRleChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYga2V5UGF0aCwgY29uc3QgRGljdGlvbmFyeSYgb3B0aW9ucywgRXhjZXB0aW9uQ29k
ZSYgZWMpCkBAIC00MjYsNiArNDUyLDEwIEBAIFBhc3NSZWZQdHI8SURCSW5kZXg+IElEQk9iamVj
dFN0b3JlOjpjcmVhdGVJbmRleChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0CiAgICAg
UmVmUHRyPEluZGV4UG9wdWxhdG9yPiBpbmRleFBvcHVsYXRvciA9IEluZGV4UG9wdWxhdG9yOjpj
cmVhdGUobV9iYWNrZW5kLCBtX3RyYW5zYWN0aW9uLT5iYWNrZW5kKCksIGluZGV4UmVxdWVzdCwg
bWV0YWRhdGEpOwogICAgIGluZGV4UmVxdWVzdC0+c2V0T25zdWNjZXNzKGluZGV4UG9wdWxhdG9y
KTsKIAorICAgIC8vIEVycm9yIGV2ZW50cyBzaG91bGQgbm90IHByb3BhZ2F0ZSB0byB0aGUgdHJh
bnNhY3Rpb24gb3IgY29ubmVjdGlvbiB3aGVyZSB0aGV5IGNvdWxkIGJlIG9ic2VydmVkCisgICAg
UmVmUHRyPFN0b3BQcm9wYWdhdGlvbj4gc3RvcFByb3BhZ2F0aW9uICA9IFN0b3BQcm9wYWdhdGlv
bjo6Y3JlYXRlKCk7CisgICAgaW5kZXhSZXF1ZXN0LT5zZXRPbmVycm9yKHN0b3BQcm9wYWdhdGlv
bik7CisKICAgICByZXR1cm4gaW5kZXgucmVsZWFzZSgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMThkODQ2OWY2
OWU1YTVkMjQ2ZmE5MzY5MzhlMjUxZTI4YWMzYmMxOS4uZjc3MzE4NmVmOWVhNTQzYTczZjNiMTdj
NWJmMjUwNzI5OTNmZGRkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEwLTE3ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBIaWRk
ZW4gaW5kZXhpbmcgZXZlbnRzIGFyZSB2aXNpYmxlIHRvIHNjcmlwdCB2aWEgYnViYmxpbmcvY2Fw
dHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY1
NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaXN0
ZW4gZm9yIHVuZXhwZWN0ZWQgZXJyb3IgZXZlbnRzIG9uIHRyYW5zYWN0aW9uL2Nvbm5lY3Rpb24g
dGhhdCBtaWdodCBidWJibGUgdXAuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNv
dXJjZXMvaW5kZXgtcG9wdWxhdGlvbi5qczoKKyAgICAgICAgKGRlbGV0ZVN1Y2Nlc3MpOgorICAg
ICAgICAoZG9TZXRWZXJzaW9uMSk6CisgICAgICAgIChzZXRWZXJzaW9uMik6CisKIDIwMTItMTAt
MTcgIERvbWluaWsgUsO2dHRzY2hlcyAgPGRvbWluaWsucm90dHNjaGVzQGludGVsLmNvbT4KIAog
ICAgICAgICBbRUZMXSBVbnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbmRleC1wb3B1bGF0aW9uLmpzIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2luZGV4LXBvcHVsYXRpb24uanMK
aW5kZXggNjFmNzY2NzMyZjY3MmI5MmU1OWVkMWJjMzA5ZjhmNDY0NWM0NmM4MC4uNWM2NGZlOGNi
ZTI0ZjMyY2M1MDYwOGI2ZTJkM2UwMTUwOTVkMDVkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2luZGV4LXBvcHVsYXRpb24uanMKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2luZGV4LXBvcHVsYXRpb24uanMK
QEAgLTE4LDYgKzE4LDcgQEAgZnVuY3Rpb24gZGVsZXRlU3VjY2VzcygpCiB7CiAgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCdpbmRleC1wb3B1bGF0aW9uJykiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGRvU2V0VmVyc2lvbjE7CisgICAgcmVxdWVzdC5vbmJsb2Nr
ZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogfQogCkBAIC0yOCw2ICsyOSw3IEBAIGZ1bmN0aW9uIGRv
U2V0VmVyc2lvbjEoKQogICAgIHNlbGYuZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZl
cnNpb24oJ3ZlcnNpb24gMScpIik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZXRWZXJzaW9u
MTsKKyAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CiAg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKQEAgLTY4
LDYgKzcwLDggQEAgZnVuY3Rpb24gc2V0VmVyc2lvbjIoKQogICAgIGRlYnVnKCJzZXRWZXJzaW9u
MigpOiIpOwogICAgIHRyYW5zYWN0aW9uMiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gcmVx
dWVzdC5yZXN1bHQiKTsKICAgICB0cmFuc2FjdGlvbjIub25hYm9ydCA9IHNldFZlcnNpb24yQWJv
cnQ7CisgICAgdHJhbnNhY3Rpb24yLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
KyAgICBkYi5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdHJhbnNhY3Rp
b24yLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjazsKICAgICBzdG9yZSA9
IGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMicpIik7CiAg
ICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtkYXRhOiAnYScsIGluZGV4S2V5OiAxMH0sIDEpIik7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169696</attachid>
            <date>2012-10-19 14:31:41 -0700</date>
            <delta_ts>2012-10-19 17:55:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96566-20121019143024.patch</filename>
            <type>text/plain</type>
            <size>6348</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxODMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU4M2QzY2Q2NzljNWYw
ZWU2ZmUyODg3NmIwNTBlNTRhY2JmODk2OS4uODI5Yjg4ZmQyNmQ4ZmQzYzBiNzA2NzEzMTkyNTBi
MTVkMmFlYTE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTE5ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBIaWRk
ZW4gaW5kZXhpbmcgZXZlbnRzIGFyZSB2aXNpYmxlIHRvIHNjcmlwdCB2aWEgYnViYmxpbmcvY2Fw
dHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY1
NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9w
IHByb3BhZ2F0aW9uIG9mIGVycm9yIGV2ZW50cyBmaXJlZCBhdCBpbnRlcm5hbCBpbmRleGluZyBy
ZXF1ZXN0cyBhcyBhIHJlc3VsdCBvZgorICAgICAgICBhYm9ydGluZywgYXMgdGhleSBzaG91bGQg
bm90IGJlIHZpc2libGUgdG8gc2NyaXB0cy4KKworICAgICAgICBUZXN0OiBzdG9yYWdlL2luZGV4
ZWRkYi9pbmRleC1wb3B1bGF0aW9uLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQk9iamVjdFN0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpj
cmVhdGVJbmRleCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0OjpJREJSZXF1ZXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlJlcXVlc3Q6OmRpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL0lEQlJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6OnByZXZl
bnRQcm9wYWdhdGlvbik6CisgICAgICAgIChJREJSZXF1ZXN0KToKKwogMjAxMi0xMC0xOCAgUGFu
IERlbmcgIDxwYW4uZGVuZ0BpbnRlbC5jb20+CiAKICAgICAgICAgW1Jlc291cmNlIFRpbWluZ11J
bXBsZW1lbnRhdGlvbiBvZiByZXNvdXJjZSB0aW1pbmcgYnVmZmVyIHNpemUgcmVzdHJpY3Rpb24g
ZnVuY3Rpb25hbGl0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCT2JqZWN0U3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCT2JqZWN0U3RvcmUuY3BwCmluZGV4IDJlYWNiMzE5YzY1OGQ4Zjg1OWRlNTFkNmNlNWUyMGU2
ZjY2MTQ3NTQuLmUzZWMxNWIyOWRhZjY0NDE3MzQyYWVhMjBiZjIxNDVkMmViODY0NzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5j
cHAKQEAgLTQyMiw2ICs0MjIsNyBAQCBQYXNzUmVmUHRyPElEQkluZGV4PiBJREJPYmplY3RTdG9y
ZTo6Y3JlYXRlSW5kZXgoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dAogICAgIEFTU0VS
VCghZWMpOwogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIDA7CisgICAgaW5kZXhSZXF1ZXN0
LT5wcmV2ZW50UHJvcGFnYXRpb24oKTsKIAogICAgIC8vIFRoaXMgaXMga2VwdCBhbGl2ZSBieSBi
ZWluZyB0aGUgc3VjY2VzcyBoYW5kbGVyIG9mIHRoZSByZXF1ZXN0LCB3aGljaCBpcyBpbiB0dXJu
IGtlcHQgYWxpdmUgYnkgdGhlIG93bmluZyB0cmFuc2FjdGlvbi4KICAgICBSZWZQdHI8SW5kZXhQ
b3B1bGF0b3I+IGluZGV4UG9wdWxhdG9yID0gSW5kZXhQb3B1bGF0b3I6OmNyZWF0ZShtX2JhY2tl
bmQsIG1fdHJhbnNhY3Rpb24tPmJhY2tlbmQoKSwgaW5kZXhSZXF1ZXN0LCBtZXRhZGF0YSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCmluZGV4
IDNmNmY5Y2Q4NDI5N2I4MTlkNTQxOGU1MDM5Y2JkMzgxMWFlMzRkN2YuLjBiNTAyZDc0MmM0YmFj
NmNjMTIzNDAzNmQzNzY2ZWNlY2U1YTk1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3BwCkBAIC03NSw2ICs3NSw3IEBAIElEQlJlcXVlc3Q6
OklEQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxJ
REJBbnk+IHNvdXJjCiAgICAgLCBtX2N1cnNvckZpbmlzaGVkKGZhbHNlKQogICAgICwgbV9wZW5k
aW5nQ3Vyc29yKDApCiAgICAgLCBtX2RpZEZpcmVVcGdyYWRlTmVlZGVkRXZlbnQoZmFsc2UpCisg
ICAgLCBtX3ByZXZlbnRQcm9wYWdhdGlvbihmYWxzZSkKIHsKICAgICBpZiAobV90cmFuc2FjdGlv
bikgewogICAgICAgICBtX3RyYW5zYWN0aW9uLT5yZWdpc3RlclJlcXVlc3QodGhpcyk7CkBAIC00
NTgsNyArNDU5LDcgQEAgYm9vbCBJREJSZXF1ZXN0OjpkaXNwYXRjaEV2ZW50KFBhc3NSZWZQdHI8
RXZlbnQ+IGV2ZW50KQogCiAgICAgVmVjdG9yPFJlZlB0cjxFdmVudFRhcmdldD4gPiB0YXJnZXRz
OwogICAgIHRhcmdldHMuYXBwZW5kKHRoaXMpOwotICAgIGlmIChtX3RyYW5zYWN0aW9uKSB7Cisg
ICAgaWYgKG1fdHJhbnNhY3Rpb24gJiYgIW1fcHJldmVudFByb3BhZ2F0aW9uKSB7CiAgICAgICAg
IHRhcmdldHMuYXBwZW5kKG1fdHJhbnNhY3Rpb24pOwogICAgICAgICAvLyBJZiB0aGVyZSBldmVy
IGFyZSBldmVudHMgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIGEgZGF0YWJhc2UgYnV0CiAgICAg
ICAgIC8vIHRoYXQgZG8gbm90IGhhdmUgYSB0cmFuc2FjdGlvbiwgdGhlbiB0aGlzIHdpbGwgbm90
IHdvcmsgYW5kIHdlIG5lZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQlJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QlJlcXVlc3QuaAppbmRleCBjYWIwNjUxMjAwYzQ1ZjU4YWMwMjRmMWNmZDgwYzU1NjJlOTYzNmU3
Li44OTk3ODM4NTNkOTQzYmY5MWZhZDFhMzNiNjQyMjQ1ZjJlMDU0M2MxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCkBAIC02MSw2ICs2MSw3IEBA
IHB1YmxpYzoKICAgICBTdHJpbmcgd2Via2l0RXJyb3JNZXNzYWdlKEV4Y2VwdGlvbkNvZGUmKSBj
b25zdDsKICAgICBQYXNzUmVmUHRyPElEQkFueT4gc291cmNlKCkgY29uc3Q7CiAgICAgUGFzc1Jl
ZlB0cjxJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24oKSBjb25zdDsKKyAgICB2b2lkIHByZXZl
bnRQcm9wYWdhdGlvbigpIHsgbV9wcmV2ZW50UHJvcGFnYXRpb24gPSB0cnVlOyB9CiAKICAgICAv
LyBEZWZpbmVkIGluIHRoZSBJREwKICAgICBlbnVtIFJlYWR5U3RhdGUgewpAQCAtMTUxLDYgKzE1
Miw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPElEQktleT4gbV9jdXJzb3JQcmltYXJ5S2V5Owog
ICAgIFNjcmlwdFZhbHVlIG1fY3Vyc29yVmFsdWU7CiAgICAgYm9vbCBtX2RpZEZpcmVVcGdyYWRl
TmVlZGVkRXZlbnQ7CisgICAgYm9vbCBtX3ByZXZlbnRQcm9wYWdhdGlvbjsKIAogICAgIEV2ZW50
VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGE5Y2M1YzMyZTJlM2Q1
ZThiMTM4OTZjYTUxMGRhNTEyYjNkNjFlZS4uZWRjODhlN2M1ZDA5YjgyY2ZhNjcyZTVhMzU0M2Vi
NjhjNDE2NDE5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEwLTE5ICBKb3NodWEgQmVs
bCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBIaWRkZW4gaW5k
ZXhpbmcgZXZlbnRzIGFyZSB2aXNpYmxlIHRvIHNjcmlwdCB2aWEgYnViYmxpbmcvY2FwdHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY1NjYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMaXN0ZW4gZm9y
IHVuZXhwZWN0ZWQgZXZlbnRzIGluIGJvdGggY2FwdHVyZSBhbmQgYnViYmxlIHBoYXNlcy4KKwor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbmRleC1wb3B1bGF0aW9uLmpz
OgorICAgICAgICAoZGVsZXRlU3VjY2Vzcyk6CisgICAgICAgIChkb1NldFZlcnNpb24xKToKKyAg
ICAgICAgKHNldFZlcnNpb24yKToKKwogMjAxMi0xMC0xOCAgUGFuIERlbmcgIDxwYW4uZGVuZ0Bp
bnRlbC5jb20+CiAKICAgICAgICAgW1Jlc291cmNlIFRpbWluZ11UZXN0IGNhc2VzIGZvciBzZXQg
YnVmZmVyIHNpemUgZnVuY3Rpb25hbGl0eSBhbmQgZXZlbnQgd2hlbiBidWZmZXIgZnVsbC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbmRleC1w
b3B1bGF0aW9uLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2lu
ZGV4LXBvcHVsYXRpb24uanMKaW5kZXggNjFmNzY2NzMyZjY3MmI5MmU1OWVkMWJjMzA5ZjhmNDY0
NWM0NmM4MC4uOWM2YWMyODMwYzEwNDljZmZhNjZjMzA5OGYwMjU1Yzk1Mjg2ZmVjOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2luZGV4LXBvcHVs
YXRpb24uanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2lu
ZGV4LXBvcHVsYXRpb24uanMKQEAgLTE4LDYgKzE4LDcgQEAgZnVuY3Rpb24gZGVsZXRlU3VjY2Vz
cygpCiB7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKCdpbmRleC1w
b3B1bGF0aW9uJykiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGRvU2V0VmVyc2lvbjE7Cisg
ICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwogICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogfQogCkBAIC0yOCw2ICsy
OSw3IEBAIGZ1bmN0aW9uIGRvU2V0VmVyc2lvbjEoKQogICAgIHNlbGYuZGIgPSBldmFsQW5kTG9n
KCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
cmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3ZlcnNpb24gMScpIik7CiAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBzZXRWZXJzaW9uMTsKKyAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRC
bG9ja2VkQ2FsbGJhY2s7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7CiB9CiAKQEAgLTY5LDYgKzcxLDEzIEBAIGZ1bmN0aW9uIHNldFZlcnNpb24yKCkKICAg
ICB0cmFuc2FjdGlvbjIgPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IHJlcXVlc3QucmVzdWx0
Iik7CiAgICAgdHJhbnNhY3Rpb24yLm9uYWJvcnQgPSBzZXRWZXJzaW9uMkFib3J0OwogICAgIHRy
YW5zYWN0aW9uMi5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2s7CisKKyAg
ICB2YXIgY2FwdHVyZVBoYXNlID0gdHJ1ZTsKKyAgICB0cmFuc2FjdGlvbjIuYWRkRXZlbnRMaXN0
ZW5lcigiZXJyb3IiLCB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjaywgIWNhcHR1cmVQaGFzZSk7Cisg
ICAgdHJhbnNhY3Rpb24yLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2ssIGNhcHR1cmVQaGFzZSk7CisgICAgZGIuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3Ii
LCB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjaywgIWNhcHR1cmVQaGFzZSk7CisgICAgZGIuYWRkRXZl
bnRMaXN0ZW5lcigiZXJyb3IiLCB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjaywgY2FwdHVyZVBoYXNl
KTsKKwogICAgIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9y
ZSgnc3RvcmUyJykiKTsKICAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoe2RhdGE6ICdhJywgaW5k
ZXhLZXk6IDEwfSwgMSkiKTsKICAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoe2RhdGE6ICdiJywg
aW5kZXhLZXk6IDIwfSwgMikiKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>