<?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>138504</bug_id>
          
          <creation_ts>2014-11-07 07:47:15 -0800</creation_ts>
          <short_desc>[IndexedDB] array index keys are concatenated across cursor lifetime</short_desc>
          <delta_ts>2015-06-16 13:25: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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>iOS 8.1</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Anderson">jchris</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jchris</cc>
    
    <cc>jsbell</cc>
    
    <cc>nolan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1047073</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Anderson">jchris</who>
    <bug_when>2014-11-07 07:47:15 -0800</bug_when>
    <thetext>The following test passes in Firefox and Chrome but not Safari (Safari v8 Engine: WebKit v600.1.25 OS: Mac OS X v10.10 and Mobile Safari v8 Engine: WebKit v600.1.4 OS: iOS v10.10)

http://requirebin.com/?gist=fcc75007aa20e504bcd4

multiEntry works fine when the members of the multiEntry array are numbers, but when they are arrays, everything goes sideways. It looks like the arrays are being flattened and concated. My test case only uses one layer of nesting but I discovered it in an application that uses multiple layers of nesting (I&apos;m converting deep objects to nested arrays so I can have a defined collation over objects when used as keys.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047094</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Anderson">jchris</who>
    <bug_when>2014-11-07 09:26:39 -0800</bug_when>
    <thetext>Oh dear, it&apos;s much worse than I thought. Here is the same bug triggered without multiEntry: http://requirebin.com/?gist=4395a44d50f3c6dddcb8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047096</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Anderson">jchris</who>
    <bug_when>2014-11-07 09:35:40 -0800</bug_when>
    <thetext>Good news is this might be a presentation concern, as the results come back in the correct order at least.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047153</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Anderson">jchris</who>
    <bug_when>2014-11-07 12:41:02 -0800</bug_when>
    <thetext>Maybe this helps diagnose or helps others with workarounds:

In my case I know all my keys are 2 element arrays. And the cursor starts with a new correct key on the first row of every transaction.

So if your keys are big, paginate. And know how many elements are in your array keys, and then you can run key.splice(-n) where n is your array key length.

It doesn&apos;t flatten it just concats.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055195</commentid>
    <comment_count>4</comment_count>
      <attachid>243214</attachid>
    <who name="Mark Dixon">mark</who>
    <bug_when>2014-12-12 14:12:15 -0800</bug_when>
    <thetext>Created attachment 243214
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1055364</commentid>
    <comment_count>5</comment_count>
      <attachid>243238</attachid>
    <who name="Mark Dixon">mark</who>
    <bug_when>2014-12-12 17:55:36 -0800</bug_when>
    <thetext>Created attachment 243238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066118</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-02-02 09:11:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/19684902&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1100521</commentid>
    <comment_count>7</comment_count>
    <who name="Nolan Lawson">nolan</who>
    <bug_when>2015-06-08 17:29:26 -0700</bug_when>
    <thetext>Those RequireBin tests weren&apos;t working for me, so I browserified them.

You can open these two links, and if it&apos;s green, then they pass, and if it&apos;s red, they fail:

* http://bl.ocks.org/nolanlawson/b23876ee55085ebb4696
* http://bl.ocks.org/nolanlawson/fa4f74be1810d726db8a

I&apos;m seeing successes in Chrome 43 and Firefox 38, but failures in Safari 8.0.7 and Webkit nightly r185316 (all on desktop Yosemite).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1101333</commentid>
    <comment_count>8</comment_count>
      <attachid>243238</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-06-11 11:16:00 -0700</bug_when>
    <thetext>Comment on attachment 243238
Patch

It would be useful to check through any of the currently disabled IDB tests to see if this fixes them - Reenabling them would be preferable to changing this test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102319</commentid>
    <comment_count>9</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-06-16 13:21:24 -0700</bug_when>
    <thetext>Since Mark isn&apos;t around to respond, I just tried the entire suite of IDB tests and this did not change behavior on any of the skipped tests.

Therefore the included change seems appropriate to me.

r+, will prep for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1102324</commentid>
    <comment_count>10</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-06-16 13:25:49 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/185604</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243214</attachid>
            <date>2014-12-12 14:12:15 -0800</date>
            <delta_ts>2014-12-12 17:55:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138504-20141212171259.patch</filename>
            <type>text/plain</type>
            <size>5759</size>
            <attacher name="Mark Dixon">mark</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NzIzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE0LTEyLTEyICBNYXJrIERp
eG9uICA8bWFya0Bsb3dsYS5pZD4KKworICAgICAgICBbSW5kZXhlZERCXSBhcnJheSBpbmRleCBr
ZXlzIGFyZSBjb25jYXRlZCBhY3Jvc3MgY3Vyc29yIGxpZmV0aW1lCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg1MDQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0ZWQgYnk6CisgICAgICAgIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleXBhdGgtYXJyYXlzLmh0bWwKKworICAgICAgICBJREJLZXlEYXRhIGFu
ZCBJREJLZXlQYXRoIG5lZWQgdG8gY2xlYXIgYW55IGV4aXN0aW5nIGFycmF5IHZhbHVlcyBiZWZv
cmUgY2FsbGluZworICAgICAgICBkZWNvZGVPYmplY3RzIHRvIHVwZGF0ZSB0aGUgdmFsdWUgb2Yg
YW4gZXhpc3Rpbmcgb2JqZWN0LgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJLZXlEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQktleURhdGE6OmRlY29kZSk6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJREJLZXlQYXRoOjpkZWNvZGUpOgorCiAyMDE0LTEyLTEyICBSb2dlciBGb25nICA8
cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IEVYVF9ibGVuZF9taW5t
YXggYXMgYSBXZWJHTCAxIGV4dGVuc2lvbi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQktleURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuY3BwCShyZXZpc2lvbiAxNzcyMjkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjAxLDYgKzIwMSw4IEBAIGJvb2wgSURCS2V5RGF0YTo6ZGVjb2RlKEtleWVkRGVjb2Rl
ciYgZGUKICAgICBhdXRvIGFycmF5RnVuY3Rpb24gPSBbXShLZXllZERlY29kZXImIGRlY29kZXIs
IElEQktleURhdGEmIHJlc3VsdCkgewogICAgICAgICByZXR1cm4gZGVjb2RlKGRlY29kZXIsIHJl
c3VsdCk7CiAgICAgfTsKKyAgICAKKyAgICByZXN1bHQuYXJyYXlWYWx1ZS5jbGVhcigpOwogICAg
IHJldHVybiBkZWNvZGVyLmRlY29kZU9iamVjdHMoImFycmF5IiwgcmVzdWx0LmFycmF5VmFsdWUs
IGFycmF5RnVuY3Rpb24pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJLZXlQYXRoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJLZXlQYXRoLmNwcAkocmV2aXNpb24gMTc3MjI5KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMwMCw2ICszMDAsNyBAQCBib29sIElEQktleVBhdGg6OmRlY29kZShLZXllZERlY29kZXImIGRl
CiAgICAgICAgIHJldHVybiBkZWNvZGVyLmRlY29kZVN0cmluZygic3RyaW5nIiwgcmVzdWx0KTsK
ICAgICB9OwogCisgICAgcmVzdWx0Lm1fYXJyYXkuY2xlYXIoKTsKICAgICByZXR1cm4gZGVjb2Rl
ci5kZWNvZGVPYmplY3RzKCJhcnJheSIsIHJlc3VsdC5tX2FycmF5LCBhcnJheUZ1bmN0aW9uKTsK
IH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTc3MjM1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTQtMTItMTIgIE1hcmsgRGl4b24g
IDxtYXJrQGxvd2xhLmlkPgorCisgICAgICAgIFtJbmRleGVkREJdIGFycmF5IGluZGV4IGtleXMg
YXJlIGNvbmNhdGVkIGFjcm9zcyBjdXJzb3IgbGlmZXRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODUwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1h
cnJheXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy9rZXlwYXRoLWFycmF5cy5qczoKKyAgICAgICAgVmVyaWZ5IHRoYXQgaXRlcmF0aW5nIGN1cnNv
cnMgd2l0aCBhcnJheSBrZXlwYXRocyByZXR1cm5zIGNvcnJlY3Qga2V5cyBmb3IgYWxsCisgICAg
ICAgIHJlY29yZHMsIG5vdCBqdXN0IHRoZSBmaXJzdC4KKwogMjAxNC0xMi0xMiAgUm9nZXIgRm9u
ZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBFWFRfYmxlbmRf
bWlubWF4IGFzIGEgV2ViR0wgMSBleHRlbnNpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9rZXlwYXRoLWFycmF5cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1hcnJheXMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAxNzcyMjkpCisrKyBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRo
LWFycmF5cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTM1LDE1ICszNSwyMyBAQCBz
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpCiBpbmRleCA9IHN0b3JlLmlu
ZGV4KCdpbmRleCcpCiAKIHJlcXVlc3QgPSBzdG9yZS5wdXQoe2E6IDEsIGI6IDIsIGM6IDMsIGQ6
IDR9KQorcmVxdWVzdCA9IHN0b3JlLnB1dCh7YTogNSwgYjogNiwgYzogNywgZDogOH0pCiByZXF1
ZXN0ID0gc3RvcmUub3BlbkN1cnNvcigpCiBjdXJzb3IgPSByZXF1ZXN0LnJlc3VsdAogUEFTUyBj
dXJzb3IgaXMgbm9uLW51bGwuCiBQQVNTIEpTT04uc3RyaW5naWZ5KGN1cnNvci5rZXkpIGlzICJb
MSwyXSIKK2N1cnNvciA9IHJlcXVlc3QucmVzdWx0CitQQVNTIGN1cnNvciBpcyBub24tbnVsbC4K
K1BBU1MgSlNPTi5zdHJpbmdpZnkoY3Vyc29yLmtleSkgaXMgIls1LDZdIgogcmVxdWVzdCA9IGlu
ZGV4Lm9wZW5DdXJzb3IoKQogY3Vyc29yID0gcmVxdWVzdC5yZXN1bHQKIFBBU1MgY3Vyc29yIGlz
IG5vbi1udWxsLgogUEFTUyBKU09OLnN0cmluZ2lmeShjdXJzb3IucHJpbWFyeUtleSkgaXMgIlsx
LDJdIgogUEFTUyBKU09OLnN0cmluZ2lmeShjdXJzb3Iua2V5KSBpcyAiWzMsNF0iCitjdXJzb3Ig
PSByZXF1ZXN0LnJlc3VsdAorUEFTUyBjdXJzb3IgaXMgbm9uLW51bGwuCitQQVNTIEpTT04uc3Ry
aW5naWZ5KGN1cnNvci5wcmltYXJ5S2V5KSBpcyAiWzUsNl0iCitQQVNTIEpTT04uc3RyaW5naWZ5
KGN1cnNvci5rZXkpIGlzICJbNyw4XSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVz
b3VyY2VzL2tleXBhdGgtYXJyYXlzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9rZXlwYXRoLWFycmF5cy5qcwkocmV2aXNpb24gMTc3MjI5
KQorKysgTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2tleXBhdGgtYXJy
YXlzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw5IEBAIGZ1bmN0aW9uIHRlc3RLZXlQ
YXRocygpCiAgICAgZGVidWcoIiIpOwogICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBzdG9yZS5w
dXQoe2E6IDEsIGI6IDIsIGM6IDMsIGQ6IDR9KSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBzdG9yZS5w
dXQoe2E6IDUsIGI6IDYsIGM6IDcsIGQ6IDh9KSIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIGl0ZXJhdGlvbiA9IDA7CiAgICAgY2hlY2tTdG9y
ZSgpOwogCiAgICAgZnVuY3Rpb24gY2hlY2tTdG9yZSgpIHsKQEAgLTQzLDggKzQ2LDE1IEBAIGZ1
bmN0aW9uIHRlc3RLZXlQYXRocygpCiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24gKCkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiY3Vyc29yID0gcmVxdWVzdC5yZXN1bHQi
KTsKICAgICAgICAgICAgIHNob3VsZEJlTm9uTnVsbCgiY3Vyc29yIik7Ci0gICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIkpTT04uc3RyaW5naWZ5KGN1cnNvci5rZXkpIiwgIlsxLDJd
Iik7Ci0gICAgICAgICAgICBjaGVja0luZGV4KCk7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIkpTT04uc3RyaW5naWZ5KGN1cnNvci5rZXkpIiwgWyJbMSwyXSIsICJbNSw2XSJd
W2l0ZXJhdGlvbl0pOworICAgICAgICAgICAgaWYgKDAgPT09IGl0ZXJhdGlvbikgeworICAgICAg
ICAgICAgICArK2l0ZXJhdGlvbjsKKyAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgaXRlcmF0aW9u
ID0gMDsKKyAgICAgICAgICAgICAgY2hlY2tJbmRleCgpOworICAgICAgICAgICAgfQogICAgICAg
ICB9OwogICAgIH07CiAKQEAgLTU0LDggKzY0LDEyIEBAIGZ1bmN0aW9uIHRlc3RLZXlQYXRocygp
CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAg
ZXZhbEFuZExvZygiY3Vyc29yID0gcmVxdWVzdC5yZXN1bHQiKTsKICAgICAgICAgICAgIHNob3Vs
ZEJlTm9uTnVsbCgiY3Vyc29yIik7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
IkpTT04uc3RyaW5naWZ5KGN1cnNvci5wcmltYXJ5S2V5KSIsICJbMSwyXSIpOwotICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJKU09OLnN0cmluZ2lmeShjdXJzb3Iua2V5KSIsICJb
Myw0XSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJKU09OLnN0cmluZ2lm
eShjdXJzb3IucHJpbWFyeUtleSkiLCBbIlsxLDJdIiwgIls1LDZdIl1baXRlcmF0aW9uXSk7Cisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIkpTT04uc3RyaW5naWZ5KGN1cnNvci5r
ZXkpIiwgWyJbMyw0XSIsICJbNyw4XSJdW2l0ZXJhdGlvbl0pOworICAgICAgICAgICAgaWYgKDAg
PT09IGl0ZXJhdGlvbikgeworICAgICAgICAgICAgICArK2l0ZXJhdGlvbjsKKyAgICAgICAgICAg
ICAgY3Vyc29yLmNvbnRpbnVlKCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH07CiAgICAgfTsK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243238</attachid>
            <date>2014-12-12 17:55:36 -0800</date>
            <delta_ts>2015-06-11 11:16:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138504-20141212205620.patch</filename>
            <type>text/plain</type>
            <size>5759</size>
            <attacher name="Mark Dixon">mark</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NzIzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE0LTEyLTEyICBNYXJrIERp
eG9uICA8bWFya0Bsb3dsYS5pbz4KKworICAgICAgICBbSW5kZXhlZERCXSBhcnJheSBpbmRleCBr
ZXlzIGFyZSBjb25jYXRlZCBhY3Jvc3MgY3Vyc29yIGxpZmV0aW1lCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg1MDQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0ZWQgYnk6CisgICAgICAgIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleXBhdGgtYXJyYXlzLmh0bWwKKworICAgICAgICBJREJLZXlEYXRhIGFu
ZCBJREJLZXlQYXRoIG5lZWQgdG8gY2xlYXIgYW55IGV4aXN0aW5nIGFycmF5IHZhbHVlcyBiZWZv
cmUgY2FsbGluZworICAgICAgICBkZWNvZGVPYmplY3RzIHRvIHVwZGF0ZSB0aGUgdmFsdWUgb2Yg
YW4gZXhpc3Rpbmcgb2JqZWN0LgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJLZXlEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQktleURhdGE6OmRlY29kZSk6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJREJLZXlQYXRoOjpkZWNvZGUpOgorCiAyMDE0LTEyLTEyICBSb2dlciBGb25nICA8
cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IEVYVF9ibGVuZF9taW5t
YXggYXMgYSBXZWJHTCAxIGV4dGVuc2lvbi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQktleURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuY3BwCShyZXZpc2lvbiAxNzcyMjkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjAxLDYgKzIwMSw4IEBAIGJvb2wgSURCS2V5RGF0YTo6ZGVjb2RlKEtleWVkRGVjb2Rl
ciYgZGUKICAgICBhdXRvIGFycmF5RnVuY3Rpb24gPSBbXShLZXllZERlY29kZXImIGRlY29kZXIs
IElEQktleURhdGEmIHJlc3VsdCkgewogICAgICAgICByZXR1cm4gZGVjb2RlKGRlY29kZXIsIHJl
c3VsdCk7CiAgICAgfTsKKyAgICAKKyAgICByZXN1bHQuYXJyYXlWYWx1ZS5jbGVhcigpOwogICAg
IHJldHVybiBkZWNvZGVyLmRlY29kZU9iamVjdHMoImFycmF5IiwgcmVzdWx0LmFycmF5VmFsdWUs
IGFycmF5RnVuY3Rpb24pOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJLZXlQYXRoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJLZXlQYXRoLmNwcAkocmV2aXNpb24gMTc3MjI5KQorKysgU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMwMCw2ICszMDAsNyBAQCBib29sIElEQktleVBhdGg6OmRlY29kZShLZXllZERlY29kZXImIGRl
CiAgICAgICAgIHJldHVybiBkZWNvZGVyLmRlY29kZVN0cmluZygic3RyaW5nIiwgcmVzdWx0KTsK
ICAgICB9OwogCisgICAgcmVzdWx0Lm1fYXJyYXkuY2xlYXIoKTsKICAgICByZXR1cm4gZGVjb2Rl
ci5kZWNvZGVPYmplY3RzKCJhcnJheSIsIHJlc3VsdC5tX2FycmF5LCBhcnJheUZ1bmN0aW9uKTsK
IH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTc3MjM1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTQtMTItMTIgIE1hcmsgRGl4b24g
IDxtYXJrQGxvd2xhLmlvPgorCisgICAgICAgIFtJbmRleGVkREJdIGFycmF5IGluZGV4IGtleXMg
YXJlIGNvbmNhdGVkIGFjcm9zcyBjdXJzb3IgbGlmZXRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODUwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1h
cnJheXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy9rZXlwYXRoLWFycmF5cy5qczoKKyAgICAgICAgVmVyaWZ5IHRoYXQgaXRlcmF0aW5nIGN1cnNv
cnMgd2l0aCBhcnJheSBrZXlwYXRocyByZXR1cm5zIGNvcnJlY3Qga2V5cyBmb3IgYWxsCisgICAg
ICAgIHJlY29yZHMsIG5vdCBqdXN0IHRoZSBmaXJzdC4KKwogMjAxNC0xMi0xMiAgUm9nZXIgRm9u
ZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBFWFRfYmxlbmRf
bWlubWF4IGFzIGEgV2ViR0wgMSBleHRlbnNpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9rZXlwYXRoLWFycmF5cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1hcnJheXMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAxNzcyMjkpCisrKyBMYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRo
LWFycmF5cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTM1LDE1ICszNSwyMyBAQCBz
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpCiBpbmRleCA9IHN0b3JlLmlu
ZGV4KCdpbmRleCcpCiAKIHJlcXVlc3QgPSBzdG9yZS5wdXQoe2E6IDEsIGI6IDIsIGM6IDMsIGQ6
IDR9KQorcmVxdWVzdCA9IHN0b3JlLnB1dCh7YTogNSwgYjogNiwgYzogNywgZDogOH0pCiByZXF1
ZXN0ID0gc3RvcmUub3BlbkN1cnNvcigpCiBjdXJzb3IgPSByZXF1ZXN0LnJlc3VsdAogUEFTUyBj
dXJzb3IgaXMgbm9uLW51bGwuCiBQQVNTIEpTT04uc3RyaW5naWZ5KGN1cnNvci5rZXkpIGlzICJb
MSwyXSIKK2N1cnNvciA9IHJlcXVlc3QucmVzdWx0CitQQVNTIGN1cnNvciBpcyBub24tbnVsbC4K
K1BBU1MgSlNPTi5zdHJpbmdpZnkoY3Vyc29yLmtleSkgaXMgIls1LDZdIgogcmVxdWVzdCA9IGlu
ZGV4Lm9wZW5DdXJzb3IoKQogY3Vyc29yID0gcmVxdWVzdC5yZXN1bHQKIFBBU1MgY3Vyc29yIGlz
IG5vbi1udWxsLgogUEFTUyBKU09OLnN0cmluZ2lmeShjdXJzb3IucHJpbWFyeUtleSkgaXMgIlsx
LDJdIgogUEFTUyBKU09OLnN0cmluZ2lmeShjdXJzb3Iua2V5KSBpcyAiWzMsNF0iCitjdXJzb3Ig
PSByZXF1ZXN0LnJlc3VsdAorUEFTUyBjdXJzb3IgaXMgbm9uLW51bGwuCitQQVNTIEpTT04uc3Ry
aW5naWZ5KGN1cnNvci5wcmltYXJ5S2V5KSBpcyAiWzUsNl0iCitQQVNTIEpTT04uc3RyaW5naWZ5
KGN1cnNvci5rZXkpIGlzICJbNyw4XSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVz
b3VyY2VzL2tleXBhdGgtYXJyYXlzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9rZXlwYXRoLWFycmF5cy5qcwkocmV2aXNpb24gMTc3MjI5
KQorKysgTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2tleXBhdGgtYXJy
YXlzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw5IEBAIGZ1bmN0aW9uIHRlc3RLZXlQ
YXRocygpCiAgICAgZGVidWcoIiIpOwogICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBzdG9yZS5w
dXQoe2E6IDEsIGI6IDIsIGM6IDMsIGQ6IDR9KSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBzdG9yZS5w
dXQoe2E6IDUsIGI6IDYsIGM6IDcsIGQ6IDh9KSIpOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIGl0ZXJhdGlvbiA9IDA7CiAgICAgY2hlY2tTdG9y
ZSgpOwogCiAgICAgZnVuY3Rpb24gY2hlY2tTdG9yZSgpIHsKQEAgLTQzLDggKzQ2LDE1IEBAIGZ1
bmN0aW9uIHRlc3RLZXlQYXRocygpCiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24gKCkgewogICAgICAgICAgICAgZXZhbEFuZExvZygiY3Vyc29yID0gcmVxdWVzdC5yZXN1bHQi
KTsKICAgICAgICAgICAgIHNob3VsZEJlTm9uTnVsbCgiY3Vyc29yIik7Ci0gICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIkpTT04uc3RyaW5naWZ5KGN1cnNvci5rZXkpIiwgIlsxLDJd
Iik7Ci0gICAgICAgICAgICBjaGVja0luZGV4KCk7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIkpTT04uc3RyaW5naWZ5KGN1cnNvci5rZXkpIiwgWyJbMSwyXSIsICJbNSw2XSJd
W2l0ZXJhdGlvbl0pOworICAgICAgICAgICAgaWYgKDAgPT09IGl0ZXJhdGlvbikgeworICAgICAg
ICAgICAgICArK2l0ZXJhdGlvbjsKKyAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgaXRlcmF0aW9u
ID0gMDsKKyAgICAgICAgICAgICAgY2hlY2tJbmRleCgpOworICAgICAgICAgICAgfQogICAgICAg
ICB9OwogICAgIH07CiAKQEAgLTU0LDggKzY0LDEyIEBAIGZ1bmN0aW9uIHRlc3RLZXlQYXRocygp
CiAgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAg
ZXZhbEFuZExvZygiY3Vyc29yID0gcmVxdWVzdC5yZXN1bHQiKTsKICAgICAgICAgICAgIHNob3Vs
ZEJlTm9uTnVsbCgiY3Vyc29yIik7Ci0gICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
IkpTT04uc3RyaW5naWZ5KGN1cnNvci5wcmltYXJ5S2V5KSIsICJbMSwyXSIpOwotICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJKU09OLnN0cmluZ2lmeShjdXJzb3Iua2V5KSIsICJb
Myw0XSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJKU09OLnN0cmluZ2lm
eShjdXJzb3IucHJpbWFyeUtleSkiLCBbIlsxLDJdIiwgIls1LDZdIl1baXRlcmF0aW9uXSk7Cisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIkpTT04uc3RyaW5naWZ5KGN1cnNvci5r
ZXkpIiwgWyJbMyw0XSIsICJbNyw4XSJdW2l0ZXJhdGlvbl0pOworICAgICAgICAgICAgaWYgKDAg
PT09IGl0ZXJhdGlvbikgeworICAgICAgICAgICAgICArK2l0ZXJhdGlvbjsKKyAgICAgICAgICAg
ICAgY3Vyc29yLmNvbnRpbnVlKCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH07CiAgICAgfTsK
IAo=
</data>
<flag name="review"
          id="268097"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>