<?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>71313</bug_id>
          
          <creation_ts>2011-11-01 13:15:23 -0700</creation_ts>
          <short_desc>IndexedDB: Object stores not persisting between sessions</short_desc>
          <delta_ts>2011-12-14 10:29:45 -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>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>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>dgrogan</cc>
    
    <cc>hans</cc>
    
    <cc>jochen</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>494091</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-01 13:15:23 -0700</bug_when>
    <thetext>IndexedDB: Object stores not persisting between sessions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494093</commentid>
    <comment_count>1</comment_count>
      <attachid>113207</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-01 13:19:15 -0700</bug_when>
    <thetext>Created attachment 113207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494097</commentid>
    <comment_count>2</comment_count>
    <who name="">jochen</who>
    <bug_when>2011-11-01 13:24:47 -0700</bug_when>
    <thetext>LGTM, thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494102</commentid>
    <comment_count>3</comment_count>
      <attachid>113207</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-01 13:39:27 -0700</bug_when>
    <thetext>Comment on attachment 113207
Patch

Is it possible to write a layout test for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494106</commentid>
    <comment_count>4</comment_count>
      <attachid>113207</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2011-11-01 13:46:38 -0700</bug_when>
    <thetext>Comment on attachment 113207
Patch

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

&gt; Source/WebCore/storage/IDBDatabaseBackendImpl.cpp:112
&gt; +    ASSERT(success == (m_id != InvalidId));

Would the following work?  The only advantage is that it skips the call to loadObjectStores that I just asked you about IRL.

if (success) {
  loadObjectStores();
  return;
}
if (!m_backingStore-&gt;createIDB.....)
  ASSERT_NOT_REACHED();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494182</commentid>
    <comment_count>5</comment_count>
      <attachid>113227</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-01 14:57:49 -0700</bug_when>
    <thetext>Created attachment 113227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494196</commentid>
    <comment_count>6</comment_count>
      <attachid>113235</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-01 15:12:04 -0700</bug_when>
    <thetext>Created attachment 113235
persistence layout test (doesn&apos;t detect bug)

Logically, the attached layout test should work, but it doesn&apos;t detect the bug. The IDBDatabaseBackendImpl is apparently persisting in the IDBFactoryBackendImpl&apos;s m_databaseBackendMap across the page load. If there&apos;s a way to clear out the script execution context, we can try that. Suggestions welcome.

We should investigate why the impl isn&apos;t being torn down as promptly as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494215</commentid>
    <comment_count>7</comment_count>
    <who name="">jochen</who>
    <bug_when>2011-11-01 15:33:10 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=113235) [details]
&gt; persistence layout test (doesn&apos;t detect bug)
&gt; 
&gt; Logically, the attached layout test should work, but it doesn&apos;t detect the bug. The IDBDatabaseBackendImpl is apparently persisting in the IDBFactoryBackendImpl&apos;s m_databaseBackendMap across the page load. If there&apos;s a way to clear out the script execution context, we can try that. Suggestions welcome.

You could redirect through another security origin, but that would require an http test (localhost -&gt; 127.0.0.01 -&gt; localhost)

&gt; 
&gt; We should investigate why the impl isn&apos;t being torn down as promptly as expected.

I also wonder whether it&apos;s possible to invoke open() or createObjectStore() after calling close on the IDBDatabase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495523</commentid>
    <comment_count>8</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-03 09:20:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 113207 [details])
&gt; Is it possible to write a layout test for this?

tony@ - I believe the answer is &quot;no&quot; without further work, which we should do, but IMHO without holding up this fix. The issue was caught by a Chromium pyauto test (see http://crbug.com/102537), which is how it was detected (but missed on the webkit side).

r?/cq?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495605</commentid>
    <comment_count>9</comment_count>
      <attachid>113227</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-03 10:27:36 -0700</bug_when>
    <thetext>Comment on attachment 113227
Patch

OK, but some things to investigate.

(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Created an attachment (id=113235) [details] [details]
&gt; &gt; persistence layout test (doesn&apos;t detect bug)
&gt; &gt; 
&gt; &gt; Logically, the attached layout test should work, but it doesn&apos;t detect the bug. The IDBDatabaseBackendImpl is apparently persisting in the IDBFactoryBackendImpl&apos;s m_databaseBackendMap across the page load. If there&apos;s a way to clear out the script execution context, we can try that. Suggestions welcome.
&gt; 
&gt; You could redirect through another security origin, but that would require an http test (localhost -&gt; 127.0.0.01 -&gt; localhost)

Does it work to navigate to a different file:/// URL and back?

&gt; &gt; We should investigate why the impl isn&apos;t being torn down as promptly as expected.
&gt; 
&gt; I also wonder whether it&apos;s possible to invoke open() or createObjectStore() after calling close on the IDBDatabase

You should also feel free to add methods to layoutTestController to enable more testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495628</commentid>
    <comment_count>10</comment_count>
      <attachid>113227</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 10:46:18 -0700</bug_when>
    <thetext>Comment on attachment 113227
Patch

Clearing flags on attachment: 113227

Committed r99218: &lt;http://trac.webkit.org/changeset/99218&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495629</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 10:46:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521043</commentid>
    <comment_count>12</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-12-14 10:29:45 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=113235) [details]
&gt; persistence layout test (doesn&apos;t detect bug)
&gt; 
&gt; Logically, the attached layout test should work, but it doesn&apos;t detect the bug. The IDBDatabaseBackendImpl is apparently persisting in the IDBFactoryBackendImpl&apos;s m_databaseBackendMap across the page load. If there&apos;s a way to clear out the script execution context, we can try that. Suggestions welcome.
&gt; 
&gt; We should investigate why the impl isn&apos;t being torn down as promptly as expected.

FYI, this specific issue should be fixed with: https://bugs.webkit.org/show_bug.cgi?id=72066</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113207</attachid>
            <date>2011-11-01 13:19:15 -0700</date>
            <delta_ts>2011-11-01 14:57:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71313-20111101131914.patch</filename>
            <type>text/plain</type>
            <size>2029</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg5NjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ZWE2ZGEwOTg4ODk0ZDI3
NzZjZGNiNzU1Yjg4MTMwYmJhMTU4YTA3Li43NWU2MjM0YTk1OWQwZjM4N2I3MGZmZDc3OTVjMWZh
NjhhMWU1NjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTEtMDEgIEpvc2h1
YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IE9iamVj
dCBzdG9yZXMgbm90IHBlcnNpc3RpbmcgYmV0d2VlbiBzZXNzaW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzMTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMb2dpYyBmbGF3IGludHJvZHVjZWQgd2l0
aCByOTg4MDYgc2tpcHBlZCB0aGUgbG9hZGluZyBvZiBvYmplY3Qgc3RvcmVzCisgICAgICAgIGR1
cmluZyBzdWJzZXF1ZW50IHNlc3Npb25zLgorCisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFz
ZUJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZElt
cGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJh
c2VCYWNrZW5kSW1wbDo6b3BlbkludGVybmFsKToKKwogMjAxMS0xMS0wMSAgQW5kcmVhcyBLbGlu
ZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ1NTUnVsZTogRGV2aXJ0dWFsaXplIGFk
ZFN1YnJlc291cmNlU3R5bGVVUkxzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lE
QkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCmluZGV4IDU5ZmYxNGEzMzViYjZhZDJkNzk1YTQyM2Yw
NzdlMmMyN2ZmZjdmYjMuLjc3ZWJiODQ4YTUzZmRkOTFjMTNhMTZiMjFiMjVhMWVlNWEwNjc5NmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBs
LmNwcApAQCAtMTAzLDE2ICsxMDMsMTQgQEAgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6SURCRGF0
YWJhc2VCYWNrZW5kSW1wbChjb25zdCBTdHJpbmcmIG5hbWUsIElEQkJhY2tpbmdTdG8KICAgICAs
IG1fdHJhbnNhY3Rpb25Db29yZGluYXRvcihjb29yZGluYXRvcikKIHsKICAgICBBU1NFUlQoIW1f
bmFtZS5pc051bGwoKSk7Ci0KLSAgICBib29sIHN1Y2Nlc3MgPSBtX2JhY2tpbmdTdG9yZS0+Z2V0
SURCRGF0YWJhc2VNZXRhRGF0YShtX25hbWUsIG1fdmVyc2lvbiwgbV9pZCk7Ci0gICAgQVNTRVJU
KHN1Y2Nlc3MgPT0gKG1faWQgIT0gSW52YWxpZElkKSk7Ci0gICAgaWYgKCFzdWNjZXNzKQotICAg
ICAgICBvcGVuSW50ZXJuYWwoKTsKKyAgICBvcGVuSW50ZXJuYWwoKTsKIH0KIAogdm9pZCBJREJE
YXRhYmFzZUJhY2tlbmRJbXBsOjpvcGVuSW50ZXJuYWwoKQogewotICAgIGlmICghbV9iYWNraW5n
U3RvcmUtPmNyZWF0ZUlEQkRhdGFiYXNlTWV0YURhdGEobV9uYW1lLCBtX3ZlcnNpb24sIG1faWQp
KQorICAgIGJvb2wgc3VjY2VzcyA9IG1fYmFja2luZ1N0b3JlLT5nZXRJREJEYXRhYmFzZU1ldGFE
YXRhKG1fbmFtZSwgbV92ZXJzaW9uLCBtX2lkKTsKKyAgICBBU1NFUlQoc3VjY2VzcyA9PSAobV9p
ZCAhPSBJbnZhbGlkSWQpKTsKKyAgICBpZiAoIXN1Y2Nlc3MgJiYgIW1fYmFja2luZ1N0b3JlLT5j
cmVhdGVJREJEYXRhYmFzZU1ldGFEYXRhKG1fbmFtZSwgbV92ZXJzaW9uLCBtX2lkKSkKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIEZJWE1FOiBOZWVkIGJldHRlciBlcnJvciBoYW5k
bGluZy4KICAgICBsb2FkT2JqZWN0U3RvcmVzKCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113227</attachid>
            <date>2011-11-01 14:57:49 -0700</date>
            <delta_ts>2011-11-03 10:46:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71313-20111101145748.patch</filename>
            <type>text/plain</type>
            <size>2065</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg5NjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ZWE2ZGEwOTg4ODk0ZDI3
NzZjZGNiNzU1Yjg4MTMwYmJhMTU4YTA3Li43NWU2MjM0YTk1OWQwZjM4N2I3MGZmZDc3OTVjMWZh
NjhhMWU1NjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTEtMDEgIEpvc2h1
YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IE9iamVj
dCBzdG9yZXMgbm90IHBlcnNpc3RpbmcgYmV0d2VlbiBzZXNzaW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzMTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMb2dpYyBmbGF3IGludHJvZHVjZWQgd2l0
aCByOTg4MDYgc2tpcHBlZCB0aGUgbG9hZGluZyBvZiBvYmplY3Qgc3RvcmVzCisgICAgICAgIGR1
cmluZyBzdWJzZXF1ZW50IHNlc3Npb25zLgorCisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFz
ZUJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZElt
cGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJh
c2VCYWNrZW5kSW1wbDo6b3BlbkludGVybmFsKToKKwogMjAxMS0xMS0wMSAgQW5kcmVhcyBLbGlu
ZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ1NTUnVsZTogRGV2aXJ0dWFsaXplIGFk
ZFN1YnJlc291cmNlU3R5bGVVUkxzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lE
QkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCmluZGV4IDU5ZmYxNGEzMzViYjZhZDJkNzk1YTQyM2Yw
NzdlMmMyN2ZmZjdmYjMuLjY3MjBmZTJmOWQzMzQ3MTc1ZTA1ODgxNGVlZmFlNTMxYTllM2U4YmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2VCYWNrZW5kSW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZUJhY2tlbmRJbXBs
LmNwcApAQCAtMTAzLDE4ICsxMDMsMTkgQEAgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6SURCRGF0
YWJhc2VCYWNrZW5kSW1wbChjb25zdCBTdHJpbmcmIG5hbWUsIElEQkJhY2tpbmdTdG8KICAgICAs
IG1fdHJhbnNhY3Rpb25Db29yZGluYXRvcihjb29yZGluYXRvcikKIHsKICAgICBBU1NFUlQoIW1f
bmFtZS5pc051bGwoKSk7Ci0KLSAgICBib29sIHN1Y2Nlc3MgPSBtX2JhY2tpbmdTdG9yZS0+Z2V0
SURCRGF0YWJhc2VNZXRhRGF0YShtX25hbWUsIG1fdmVyc2lvbiwgbV9pZCk7Ci0gICAgQVNTRVJU
KHN1Y2Nlc3MgPT0gKG1faWQgIT0gSW52YWxpZElkKSk7Ci0gICAgaWYgKCFzdWNjZXNzKQotICAg
ICAgICBvcGVuSW50ZXJuYWwoKTsKKyAgICBvcGVuSW50ZXJuYWwoKTsKIH0KIAogdm9pZCBJREJE
YXRhYmFzZUJhY2tlbmRJbXBsOjpvcGVuSW50ZXJuYWwoKQogeworICAgIGJvb2wgc3VjY2VzcyA9
IG1fYmFja2luZ1N0b3JlLT5nZXRJREJEYXRhYmFzZU1ldGFEYXRhKG1fbmFtZSwgbV92ZXJzaW9u
LCBtX2lkKTsKKyAgICBBU1NFUlQoc3VjY2VzcyA9PSAobV9pZCAhPSBJbnZhbGlkSWQpKTsKKyAg
ICBpZiAoc3VjY2VzcykgeworICAgICAgICBsb2FkT2JqZWN0U3RvcmVzKCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CiAgICAgaWYgKCFtX2JhY2tpbmdTdG9yZS0+Y3JlYXRlSURCRGF0YWJhc2VN
ZXRhRGF0YShtX25hbWUsIG1fdmVyc2lvbiwgbV9pZCkpCiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOyAvLyBGSVhNRTogTmVlZCBiZXR0ZXIgZXJyb3IgaGFuZGxpbmcuCi0gICAgbG9hZE9i
amVjdFN0b3JlcygpOwogfQogCiBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjp+SURCRGF0YWJhc2VC
YWNrZW5kSW1wbCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>113235</attachid>
            <date>2011-11-01 15:12:04 -0700</date>
            <delta_ts>2011-11-01 15:12:04 -0700</delta_ts>
            <desc>persistence layout test (doesn&apos;t detect bug)</desc>
            <filename>persistence_layout_test.html</filename>
            <type>text/html</type>
            <size>2201</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9InJlc291cmNl
cy9zaGFyZWQuanMiPjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5Pgo8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CjxzY3JpcHQ+CgpkZXNjcmlwdGlvbigiVGVz
dCBwZXJzaXN0ZW5jZSBhY3Jvc3MgcGFnZSBsb2FkcyIpOwoKZnVuY3Rpb24gdGVzdCgpIHsKICAg
IGlmIChkb2N1bWVudC5sb2NhdGlvbi5zZWFyY2ggPT09ICI/MiIpIHsKICAgICAgICB0ZXN0Migp
OwogICAgfSBlbHNlIHsKICAgICAgICB0ZXN0MSgpOwogICAgfQp9CgpmdW5jdGlvbiBydW5QYXJ0
MigpIHsKICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uICsgJz8yJzsK
fQoKZnVuY3Rpb24gb3BlbkRhdGFiYXNlKGNhbGxiYWNrKSB7CiAgICBpbmRleGVkREIgPSBldmFs
QW5kTG9nKCJpbmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRl
eGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWREQjsiKTsKICAgIHNob3VsZEJlRmFsc2UoImluZGV4
ZWREQiA9PSBudWxsIik7CgogICAgdmFyIG9wZW5yZXEgPSBldmFsQW5kTG9nKCJpbmRleGVkREIu
b3BlbignZGInKSIpOwogICAgb3BlbnJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7CiAgICBvcGVucmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewogICAgICAgIGNhbGxiYWNr
KG9wZW5yZXEucmVzdWx0KTsKICAgIH07Cn0KCmZ1bmN0aW9uIHRlc3QxKGRiKSB7CiAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwogICAgfQoKICAgIGRlYnVnKCJQYXJ0IDEgLSBvcGVuIGFuZCBj
cmVhdGUgc3RvcmVzIik7CiAgICBvcGVuRGF0YWJhc2UoZnVuY3Rpb24oZGIpIHsKICAgICAgICB3
aW5kb3cuZGIgPSBkYjsKICAgICAgICB2YXIgc2V0dmVycmVxID0gZXZhbEFuZExvZygiZGIuc2V0
VmVyc2lvbignMScpIik7CiAgICAgICAgc2V0dmVycmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKICAgICAgICBzZXR2ZXJyZXEub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7CiAg
ICAgICAgICAgIHZhciB0cmFucyA9IHNldHZlcnJlcS5yZXN1bHQ7CiAgICAgICAgICAgIGV2YWxB
bmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTEnKSIpOwogICAgICAgICAgICBldmFs
QW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUyJykiKTsKICAgICAgICAgICAgZXZh
bEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMycpIik7CiAgICAgICAgICAgIGRl
YnVnKCIiKTsKICAgICAgICAgICAgdHJhbnMub25jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHsKICAg
ICAgICAgICAgICAgIHdpbmRvdy5kYi5jbG9zZSgpOwogICAgICAgICAgICAgICAgd2luZG93LmRi
ID0gbnVsbDsKICAgICAgICAgICAgICAgIHJ1blBhcnQyKCk7CiAgICAgICAgICAgIH07CiAgICAg
ICAgfTsKICAgIH0pOwp9CgpmdW5jdGlvbiB0ZXN0MihkYikgewogICAgZGVidWcoIlBhcnQgMiAt
IG9wZW4gYW5kIHZlcmlmeSBzdG9yZXMiKTsKICAgIG9wZW5EYXRhYmFzZShmdW5jdGlvbihkYikg
ewogICAgICAgIHdpbmRvdy5kYiA9IGRiOwogICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZGIudmVyc2lvbiIsICIxIik7CiAgICAgICAgc2hvdWxkQmVUcnVlKCJkYi5vYmplY3RTdG9yZU5h
bWVzLmNvbnRhaW5zKCdzdG9yZTEnKSIpOwogICAgICAgIHNob3VsZEJlVHJ1ZSgiZGIub2JqZWN0
U3RvcmVOYW1lcy5jb250YWlucygnc3RvcmUyJykiKTsKICAgICAgICBzaG91bGRCZVRydWUoImRi
Lm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoJ3N0b3JlMycpIik7CiAgICAgICAgZGVidWcoIiIp
OwoKICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKICAgICAgICB9CiAgICB9KTsKfQoK
dGVzdCgpOwoKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>