<?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>44221</bug_id>
          
          <creation_ts>2010-08-18 17:07:06 -0700</creation_ts>
          <short_desc>Add ability to get all the keys from a WKDictionaryRef</short_desc>
          <delta_ts>2010-08-19 08:48:24 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>266464</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-18 17:07:06 -0700</bug_when>
    <thetext>Add ability to get all the keys from a WKDictionaryRef</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266465</commentid>
    <comment_count>1</comment_count>
      <attachid>64790</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-18 17:07:53 -0700</bug_when>
    <thetext>Created attachment 64790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266537</commentid>
    <comment_count>2</comment_count>
      <attachid>64790</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-18 21:41:19 -0700</bug_when>
    <thetext>Comment on attachment 64790
Patch

&gt; +PassRefPtr&lt;ImmutableArray&gt; ImmutableDictionary::keys()

Can this be a const member function?

&gt; +    size_t size = m_map.size();
&gt; +    if (!size)

I thought we used isEmpty() for things like this.

&gt; +    APIObject** array = new APIObject*[size];

I think using OwnArrayPtr would be better. Or, if not, why not make the type APIObject*[]?

&gt; +    return ImmutableArray::adopt(array, size);

And this should take a PassOwnPtr!

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266768</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-19 08:48:24 -0700</bug_when>
    <thetext>Landed in r65675.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64790</attachid>
            <date>2010-08-18 17:07:53 -0700</date>
            <delta_ts>2010-08-18 21:41:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3805</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NTY0NSkKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDgtMTggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYWJp
bGl0eSB0byBnZXQgYWxsIHRoZSBrZXlzIGZyb20gYSBXS0RpY3Rpb25hcnlSZWYKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0MjIxCisKKyAgICAgICAg
KiBTaGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkltbXV0
YWJsZURpY3Rpb25hcnk6OmtleXMpOgorICAgICAgICAqIFNoYXJlZC9JbW11dGFibGVEaWN0aW9u
YXJ5Lmg6CisgICAgICAgIEFkZCBrZXlzIGZ1bmN0aW9uLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLRGljdGlvbmFyeS5jcHA6CisgICAgICAgIChXS0RpY3Rpb25hcnlDb3B5S2V5cyk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLRGljdGlvbmFyeS5oOgorICAgICAgICBXcmFw
IGtleXMgZnVuY3Rpb24uCisKIDIwMTAtMDgtMTggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBKb24gSG9uZXljdXR0LgpJbmRleDogV2ViS2l0Mi9T
aGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9TaGFy
ZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5jcHAJKHJldmlzaW9uIDY1NjIwKQorKysgV2ViS2l0Mi9T
aGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1
LDkgQEAKIAogI2luY2x1ZGUgIkltbXV0YWJsZURpY3Rpb25hcnkuaCIKIAorI2luY2x1ZGUgIklt
bXV0YWJsZUFycmF5LmgiCisjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCisKIG5hbWVzcGFjZSBXZWJL
aXQgewogCiBJbW11dGFibGVEaWN0aW9uYXJ5OjpJbW11dGFibGVEaWN0aW9uYXJ5KCkKQEAgLTQw
LDQgKzQzLDIwIEBAIEltbXV0YWJsZURpY3Rpb25hcnk6On5JbW11dGFibGVEaWN0aW9uYXIKIHsK
IH0KIAorUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gSW1tdXRhYmxlRGljdGlvbmFyeTo6a2V5
cygpCit7CisgICAgc2l6ZV90IHNpemUgPSBtX21hcC5zaXplKCk7CisgICAgaWYgKCFzaXplKQor
ICAgICAgICByZXR1cm4gSW1tdXRhYmxlQXJyYXk6OmNyZWF0ZSgpOworCisgICAgQVBJT2JqZWN0
KiogYXJyYXkgPSBuZXcgQVBJT2JqZWN0KltzaXplXTsKKworICAgIE1hcFR5cGU6OmNvbnN0X2l0
ZXJhdG9yOjpLZXlzIGl0ID0gbV9tYXAuYmVnaW4oKS5rZXlzKCk7CisgICAgTWFwVHlwZTo6Y29u
c3RfaXRlcmF0b3I6OktleXMgZW5kID0gbV9tYXAuZW5kKCkua2V5cygpOworICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGl0ICE9IGVuZDsgKytpdCwgKytpKQorICAgICAgICBhcnJheVtpXSA9IFdl
YlN0cmluZzo6Y3JlYXRlKCppdCkucmVsZWFzZVJlZigpOworCisgICAgcmV0dXJuIEltbXV0YWJs
ZUFycmF5OjphZG9wdChhcnJheSwgc2l6ZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJ
bmRleDogV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdDIvU2hhcmVkL0ltbXV0YWJsZURpY3Rpb25hcnkuaAkocmV2aXNpb24gNjU2MjApCisr
KyBXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVEaWN0aW9uYXJ5LmgJKHdvcmtpbmcgY29weSkKQEAg
LTM0LDYgKzM0LDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIEltbXV0YWJsZUFy
cmF5OworCiAvLyBJbW11dGFibGVEaWN0aW9uYXJ5IC0gQW4gaW1tdXRhYmxlIGRpY3Rpb25hcnkg
dHlwZSBzdWl0YWJsZSBmb3IgdmVuZGluZyB0byBhbiBBUEkuCiAKIGNsYXNzIEltbXV0YWJsZURp
Y3Rpb25hcnkgOiBwdWJsaWMgQVBJT2JqZWN0IHsKQEAgLTcwLDYgKzcyLDggQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gbV9tYXAuZ2V0KGtleSkuZ2V0KCk7CiAgICAgfQogCisgICAgUGFzc1Jl
ZlB0cjxJbW11dGFibGVBcnJheT4ga2V5cygpOworCiAgICAgc2l6ZV90IHNpemUoKSB7IHJldHVy
biBtX21hcC5zaXplKCk7IH0KIAogcHJpdmF0ZToKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLRGljdGlvbmFyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tEaWN0aW9uYXJ5LmNwcAkocmV2aXNpb24gNjU2MjApCisrKyBXZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0RpY3Rpb25hcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBA
CiAKICNpbmNsdWRlICJXS0RpY3Rpb25hcnkuaCIKIAorI2luY2x1ZGUgIkltbXV0YWJsZUFycmF5
LmgiCiAjaW5jbHVkZSAiSW1tdXRhYmxlRGljdGlvbmFyeS5oIgogI2luY2x1ZGUgIldLQVBJQ2Fz
dC5oIgogCkBAIC00NSw2ICs0NiwxMiBAQCBzaXplX3QgV0tEaWN0aW9uYXJ5R2V0U2l6ZShXS0Rp
Y3Rpb25hcnlSCiAgICAgcmV0dXJuIHRvV0soZGljdGlvbmFyeVJlZiktPnNpemUoKTsKIH0KIAor
V0tBcnJheVJlZiBXS0RpY3Rpb25hcnlDb3B5S2V5cyhXS0RpY3Rpb25hcnlSZWYgZGljdGlvbmFy
eVJlZikKK3sKKyAgICBSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGtleXMgPSB0b1dLKGRpY3Rpb25h
cnlSZWYpLT5rZXlzKCk7CisgICAgcmV0dXJuIHRvUmVmKGtleXMucmVsZWFzZSgpLnJlbGVhc2VS
ZWYoKSk7Cit9CisKIFdLRGljdGlvbmFyeVJlZiBXS0RpY3Rpb25hcnlSZXRhaW4oV0tEaWN0aW9u
YXJ5UmVmIGRpY3Rpb25hcnlSZWYpCiB7CiAgICAgdG9XSyhkaWN0aW9uYXJ5UmVmKS0+cmVmKCk7
CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0RpY3Rpb25hcnkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0RpY3Rpb25hcnkuaAkocmV2aXNpb24gNjU2
MjApCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0RpY3Rpb25hcnkuaAkod29ya2luZyBj
b3B5KQpAQCAtMzksNiArMzksOCBAQCBXS19FWFBPUlQgV0tUeXBlSUQgV0tEaWN0aW9uYXJ5R2V0
VHlwZUlECiBXS19FWFBPUlQgV0tUeXBlUmVmIFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkoV0tE
aWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnksIFdLU3RyaW5nUmVmIGtleSk7CiBXS19FWFBPUlQgc2l6
ZV90IFdLRGljdGlvbmFyeUdldFNpemUoV0tEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnkpOwogCitX
S19FWFBPUlQgV0tBcnJheVJlZiBXS0RpY3Rpb25hcnlDb3B5S2V5cyhXS0RpY3Rpb25hcnlSZWYg
ZGljdGlvbmFyeSk7CisKIFdLX0VYUE9SVCBXS0RpY3Rpb25hcnlSZWYgV0tEaWN0aW9uYXJ5UmV0
YWluKFdLRGljdGlvbmFyeVJlZiBkaWN0aW9uYXJ5KTsKIFdLX0VYUE9SVCB2b2lkIFdLRGljdGlv
bmFyeVJlbGVhc2UoV0tEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnkpOwogCg==
</data>
<flag name="review"
          id="53428"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>