<?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>92012</bug_id>
          
          <creation_ts>2012-07-23 11:30:09 -0700</creation_ts>
          <short_desc>IndexedDB: Temporarily continue generating backend keys for empty key lists</short_desc>
          <delta_ts>2012-07-24 10:11:39 -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="Alec Flett">alecflett</reporter>
          <assigned_to name="Alec Flett">alecflett</assigned_to>
          <cc>dgrogan</cc>
    
    <cc>jsbell</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>675842</commentid>
    <comment_count>0</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-07-23 11:30:09 -0700</bug_when>
    <thetext>IndexedDB: Temporarily continue generating backend keys for empty key lists</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675849</commentid>
    <comment_count>1</comment_count>
      <attachid>153822</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-07-23 11:33:17 -0700</bug_when>
    <thetext>Created attachment 153822
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675856</commentid>
    <comment_count>2</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-07-23 11:44:07 -0700</bug_when>
    <thetext>I was trying to land the chromium side of things, which I thought worked, until I realized it was the chromium browser tests of idb that were failing.

the problem I was having was that to move from put() to putWithIndexKeys(), I need to pass NULL rather than an empty array to trigger the old (backend) key generation - but from inside the proxy, there isn&apos;t really a way to pass &apos;null&apos; - which meant that all the calls through the chromium proxy code were telling the webkit code not to generate any keys.

I tried to fix this on the chromium side, but it was going to involve a whole complicated dance adding a further boolean &apos;generateIndexKeys&apos; boolean to the IPC, picking it up again on the chromium side, etc.

The somewhat hacky, but definitely temporary fix is to just always try to generate keys on the backend if there are no index keys passed. This won&apos;t actually cause any problems - previously this meant &quot;for the zero indexes you need to fill, here are the values&quot; and then it would go generate keys for 0 indexes, essentially a no-op. Now, it means &quot;there are no key index values, so go generate them&quot; - this means we will briefly generate duplicate index keys while I land both sides of this, but in terms of correctness, there is no change.

As soon as *this* patch lands and webkit rolls, I can check the &quot;commit&quot; checkbox in http://codereview.chromium.org/10786043/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675857</commentid>
    <comment_count>3</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-07-23 11:44:42 -0700</bug_when>
    <thetext>jsbell@ mind taking a quick look before I get a r+?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676161</commentid>
    <comment_count>4</comment_count>
      <attachid>153822</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-07-23 16:40:22 -0700</bug_when>
    <thetext>Comment on attachment 153822
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676916</commentid>
    <comment_count>5</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-07-24 09:36:17 -0700</bug_when>
    <thetext>tony@ - a quick one. r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676948</commentid>
    <comment_count>6</comment_count>
      <attachid>153822</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-24 10:11:36 -0700</bug_when>
    <thetext>Comment on attachment 153822
Patch

Clearing flags on attachment: 153822

Committed r123489: &lt;http://trac.webkit.org/changeset/123489&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676949</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-24 10:11:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153822</attachid>
            <date>2012-07-23 11:33:17 -0700</date>
            <delta_ts>2012-07-24 10:11:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92012-20120723113309.patch</filename>
            <type>text/plain</type>
            <size>2553</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWNlN2IyNzZjYjhlMThi
ZGYzOGI2YTBmY2NhZDc0NmViZjY1NzA1Zi4uY2RmNzgxODU3MzU2ZjEyMTg0MjRlNzlkY2JlNWI0
NzAxMjIxNzFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA3LTIzICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IFRl
bXBvcmFyaWx5IGNvbnRpbnVlIGdlbmVyYXRpbmcgYmFja2VuZCBrZXlzIGZvciBlbXB0eSBrZXkg
bGlzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTky
MDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVt
cG9yYXJpbHkgY2hhbmdlIGtleSBiZWhhdmlvciB0byBhbGxvdyBjaHJvbWl1bSBpbl9wcm9jZXNz
X3dlYmtpdAorICAgICAgICB0byBjYWxsIHB1dFdpdGhJbmRleEtleXMgd2l0aG91dCBpbmFkdmVy
dGVudGx5IHByZXZlbnRpbmcgaW5kZXgKKyAgICAgICAga2V5IGdlbmVyYXRpb24uIE5vdGUgdGhp
cyBpcyB0ZW1wb3JhcnkgdW50aWwgZnJvbnRlbmQga2V5IGdlbmVyYXRpb24KKyAgICAgICAgcGF0
Y2ggbGFuZHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB0aGlzIGlzIHBhcnQgb2YgYSByZWZh
Y3RvciB0aGF0IGRvZXNuJ3QgY2hhbmdlIGJlaGF2aW9yLgorCisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpwdXRJbnRlcm5hbCk6CisKIDIwMTItMDctMjAg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmFtZSBFTkFC
TEVfREFUQUxJU1QgdG8gRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5k
SW1wbC5jcHAKaW5kZXggOGQzYjgwM2NiOTRkMTBlZmY4ZDE1ZjViMTUyNWIzZTk0OTUyZTgxMy4u
Yjk2MmU5NDg3YTIxNmZhYzU4OThlMGEwNzJlYjA2NWIzNjhmYjU0NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVC
YWNrZW5kSW1wbC5jcHAKQEAgLTMyNSw3ICszMjUsOSBAQCB2b2lkIElEQk9iamVjdFN0b3JlQmFj
a2VuZEltcGw6OnB1dEludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRy
PAogCiAgICAgVmVjdG9yPE93blB0cjxJbmRleFdyaXRlcj4gPiBpbmRleFdyaXRlcnM7CiAgICAg
SGFzaE1hcDxTdHJpbmcsIEluZGV4S2V5cz4gaW5kZXhLZXlNYXA7Ci0gICAgaWYgKGluZGV4S2V5
cykgeworICAgIC8vIEZJWE1FOiBUdXJuIHRoaXMgaW50byBhbiBBU1NFUlQoaW5kZXhLZXlzKSB3
aGVuIGdldC1zaWRlIGtleSBpbmplY3Rpb24gaXMgdGhlIG5vcm0uCisgICAgYm9vbCBoYXZlSW5k
ZXhLZXlzID0gaW5kZXhLZXlzICYmICFpbmRleEtleXMtPmlzRW1wdHkoKTsKKyAgICBpZiAoaGF2
ZUluZGV4S2V5cykgewogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGluZGV4TmFtZXMt
PnNpemUoKTsgKytpKQogICAgICAgICAgICAgaW5kZXhLZXlNYXAuYWRkKGluZGV4TmFtZXMtPmF0
KGkpLCBpbmRleEtleXMtPmF0KGkpKTsKICAgICB9CkBAIC0zMzcsOCArMzM5LDcgQEAgdm9pZCBJ
REJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpwdXRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgUGFzc1JlZlB0cjwKICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBUaGUgaW5kZXggb2Jq
ZWN0IGhhcyBiZWVuIGNyZWF0ZWQsIGJ1dCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgZGF0YWJhc2Ug
eWV0LgogCiAgICAgICAgIE93blB0cjxJbmRleFdyaXRlcj4gaW5kZXhXcml0ZXI7Ci0gICAgICAg
IC8vIEZJWE1FOiBUdXJuIHRoaXMgaW50byBhbiBBU1NFUlQoaW5kZXhLZXlzKSB3aGVuIGdldC1z
aWRlIGtleSBpbmplY3Rpb24gaXMgdGhlIG5vcm0uCi0gICAgICAgIGlmIChpbmRleEtleXMpCisg
ICAgICAgIGlmIChoYXZlSW5kZXhLZXlzKQogICAgICAgICAgICAgaW5kZXhXcml0ZXIgPSBhZG9w
dFB0cihuZXcgSW5kZXhXcml0ZXIoaW5kZXgtPm1ldGFkYXRhKCksIGluZGV4S2V5TWFwLmdldChp
dC0+Zmlyc3QpKSk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgaW5kZXhXcml0ZXIgPSBh
ZG9wdFB0cihuZXcgSW5kZXhXcml0ZXIoaW5kZXgtPm1ldGFkYXRhKCkpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>