<?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>118466</bug_id>
          
          <creation_ts>2013-07-08 05:22:07 -0700</creation_ts>
          <short_desc>Add Deque::removeLast</short_desc>
          <delta_ts>2013-07-08 06:23:48 -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>Platform</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>906740</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-07-08 05:22:07 -0700</bug_when>
    <thetext>Deque can remove both the first and the last element efficiently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906741</commentid>
    <comment_count>1</comment_count>
      <attachid>206231</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-07-08 05:25:12 -0700</bug_when>
    <thetext>Created attachment 206231
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906743</commentid>
    <comment_count>2</comment_count>
      <attachid>206231</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-07-08 05:27:35 -0700</bug_when>
    <thetext>Comment on attachment 206231
patch

wrong patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906744</commentid>
    <comment_count>3</comment_count>
      <attachid>206233</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-07-08 05:28:09 -0700</bug_when>
    <thetext>Created attachment 206233
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906746</commentid>
    <comment_count>4</comment_count>
      <attachid>206233</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-07-08 05:36:03 -0700</bug_when>
    <thetext>Comment on attachment 206233
patch

r=me, though we should also improve remove() some day..

Also, this could use an API test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906762</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-07-08 06:23:48 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/152449 (with API test)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206231</attachid>
            <date>2013-07-08 05:25:12 -0700</date>
            <delta_ts>2013-07-08 05:27:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>deque-remove-last.patch</filename>
            <type>text/plain</type>
            <size>2411</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTI0NDcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEzLTA3LTA4ICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgRGVxdWU6OnJlbW92ZUxhc3QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODQ2NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRGVxdWUgY2Fu
IHJlbW92ZSBib3RoIHRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgZWxlbWVudCBlZmZpY2llbnRseS4K
KworICAgICAgICAqIHd0Zi9EZXF1ZS5oOgorICAgICAgICAoV1RGOjo6OnRha2VMYXN0KToKKyAg
ICAgICAgKFdURjo6OjpyZW1vdmVMYXN0KToKKwogMjAxMy0wNy0wOCAgWm9sdGFuIEFydmFpICA8
emFydmFpQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdW1dpbmRvd3NdIEJ1aWxkZml4
IGFmdGVyIHIxNTI0MjYuCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9EZXF1ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvd3RmL0RlcXVlLmgJKHJldmlzaW9uIDE1MjQwMCkKKysrIFNvdXJjZS9X
VEYvd3RmL0RlcXVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDEwICs3OSwxMiBAQCBuYW1lc3Bh
Y2UgV1RGIHsKIAogICAgICAgICBUJiBsYXN0KCkgeyBBU1NFUlQobV9zdGFydCAhPSBtX2VuZCk7
IHJldHVybiAqKC0tZW5kKCkpOyB9CiAgICAgICAgIGNvbnN0IFQmIGxhc3QoKSBjb25zdCB7IEFT
U0VSVChtX3N0YXJ0ICE9IG1fZW5kKTsgcmV0dXJuICooLS1lbmQoKSk7IH0KKyAgICAgICAgUGFz
c1R5cGUgdGFrZUxhc3QoKTsKIAogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiB2b2lkIGFw
cGVuZChjb25zdCBVJik7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IHZvaWQgcHJlcGVu
ZChjb25zdCBVJik7CiAgICAgICAgIHZvaWQgcmVtb3ZlRmlyc3QoKTsKKyAgICAgICAgdm9pZCBy
ZW1vdmVMYXN0KCk7CiAgICAgICAgIHZvaWQgcmVtb3ZlKGl0ZXJhdG9yJik7CiAgICAgICAgIHZv
aWQgcmVtb3ZlKGNvbnN0X2l0ZXJhdG9yJik7CiAKQEAgLTQwNiw2ICs0MDgsMTQgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgICAgIHJldHVybiBQYXNzOjp0cmFuc2ZlcihvbGRGaXJzdCk7CiAgICAg
fQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAg
IGlubGluZSB0eXBlbmFtZSBEZXF1ZTxULCBpbmxpbmVDYXBhY2l0eT46OlBhc3NUeXBlIERlcXVl
PFQsIGlubGluZUNhcGFjaXR5Pjo6dGFrZUxhc3QoKQorICAgIHsKKyAgICAgICAgVCBvbGRMYXN0
ID0gUGFzczo6dHJhbnNmZXIobGFzdCgpKTsKKyAgICAgICAgcmVtb3ZlTGFzdCgpOworICAgICAg
ICByZXR1cm4gUGFzczo6dHJhbnNmZXIob2xkTGFzdCk7CisgICAgfQorCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgog
ICAgIGlubGluZSB2b2lkIERlcXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6YXBwZW5kKGNvbnN0IFUm
IHZhbHVlKQogICAgIHsKQEAgLTQ0Nyw2ICs0NTcsMjAgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
fQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAg
IGlubGluZSB2b2lkIERlcXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6cmVtb3ZlTGFzdCgpCisgICAg
eworICAgICAgICBjaGVja1ZhbGlkaXR5KCk7CisgICAgICAgIGludmFsaWRhdGVJdGVyYXRvcnMo
KTsKKyAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOworICAgICAgICBpZiAoIW1fZW5kKQorICAg
ICAgICAgICAgbV9lbmQgPSBtX2J1ZmZlci5jYXBhY2l0eSgpIC0gMTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgLS1tX2VuZDsKKyAgICAgICAgVHlwZU9wZXJhdGlvbnM6OmRlc3RydWN0KCZt
X2J1ZmZlci5idWZmZXIoKVttX2VuZCArIDFdLCAmbV9idWZmZXIuYnVmZmVyKClbbV9lbmQgKyAy
XSk7CisgICAgICAgIGNoZWNrVmFsaWRpdHkoKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+CiAgICAgaW5saW5lIHZvaWQgRGVxdWU8VCwg
aW5saW5lQ2FwYWNpdHk+OjpyZW1vdmUoaXRlcmF0b3ImIGl0KQogICAgIHsKICAgICAgICAgaXQu
Y2hlY2tWYWxpZGl0eSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206233</attachid>
            <date>2013-07-08 05:28:09 -0700</date>
            <delta_ts>2013-07-08 05:36:02 -0700</delta_ts>
            <desc>patch</desc>
            <filename>deque-remove-last-2.patch</filename>
            <type>text/plain</type>
            <size>2407</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTI0NDcpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEzLTA3LTA4ICBBbnR0aSBLb2l2aXN0byAgPGFu
dHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgRGVxdWU6OnJlbW92ZUxhc3QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODQ2NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgRGVxdWUgY2Fu
IHJlbW92ZSBib3RoIHRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgZWxlbWVudCBlZmZpY2llbnRseS4K
KworICAgICAgICAqIHd0Zi9EZXF1ZS5oOgorICAgICAgICAoV1RGOjo6OnRha2VMYXN0KToKKyAg
ICAgICAgKFdURjo6OjpyZW1vdmVMYXN0KToKKwogMjAxMy0wNy0wOCAgWm9sdGFuIEFydmFpICA8
emFydmFpQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdW1dpbmRvd3NdIEJ1aWxkZml4
IGFmdGVyIHIxNTI0MjYuCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9EZXF1ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvd3RmL0RlcXVlLmgJKHJldmlzaW9uIDE1MjQwMCkKKysrIFNvdXJjZS9X
VEYvd3RmL0RlcXVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDEwICs3OSwxMiBAQCBuYW1lc3Bh
Y2UgV1RGIHsKIAogICAgICAgICBUJiBsYXN0KCkgeyBBU1NFUlQobV9zdGFydCAhPSBtX2VuZCk7
IHJldHVybiAqKC0tZW5kKCkpOyB9CiAgICAgICAgIGNvbnN0IFQmIGxhc3QoKSBjb25zdCB7IEFT
U0VSVChtX3N0YXJ0ICE9IG1fZW5kKTsgcmV0dXJuICooLS1lbmQoKSk7IH0KKyAgICAgICAgUGFz
c1R5cGUgdGFrZUxhc3QoKTsKIAogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiB2b2lkIGFw
cGVuZChjb25zdCBVJik7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IHZvaWQgcHJlcGVu
ZChjb25zdCBVJik7CiAgICAgICAgIHZvaWQgcmVtb3ZlRmlyc3QoKTsKKyAgICAgICAgdm9pZCBy
ZW1vdmVMYXN0KCk7CiAgICAgICAgIHZvaWQgcmVtb3ZlKGl0ZXJhdG9yJik7CiAgICAgICAgIHZv
aWQgcmVtb3ZlKGNvbnN0X2l0ZXJhdG9yJik7CiAKQEAgLTQwNiw2ICs0MDgsMTQgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgICAgIHJldHVybiBQYXNzOjp0cmFuc2ZlcihvbGRGaXJzdCk7CiAgICAg
fQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAg
IGlubGluZSB0eXBlbmFtZSBEZXF1ZTxULCBpbmxpbmVDYXBhY2l0eT46OlBhc3NUeXBlIERlcXVl
PFQsIGlubGluZUNhcGFjaXR5Pjo6dGFrZUxhc3QoKQorICAgIHsKKyAgICAgICAgVCBvbGRMYXN0
ID0gUGFzczo6dHJhbnNmZXIobGFzdCgpKTsKKyAgICAgICAgcmVtb3ZlTGFzdCgpOworICAgICAg
ICByZXR1cm4gUGFzczo6dHJhbnNmZXIob2xkTGFzdCk7CisgICAgfQorCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgog
ICAgIGlubGluZSB2b2lkIERlcXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6YXBwZW5kKGNvbnN0IFUm
IHZhbHVlKQogICAgIHsKQEAgLTQ0Nyw2ICs0NTcsMjAgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
fQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgorICAg
IGlubGluZSB2b2lkIERlcXVlPFQsIGlubGluZUNhcGFjaXR5Pjo6cmVtb3ZlTGFzdCgpCisgICAg
eworICAgICAgICBjaGVja1ZhbGlkaXR5KCk7CisgICAgICAgIGludmFsaWRhdGVJdGVyYXRvcnMo
KTsKKyAgICAgICAgQVNTRVJUKCFpc0VtcHR5KCkpOworICAgICAgICBpZiAoIW1fZW5kKQorICAg
ICAgICAgICAgbV9lbmQgPSBtX2J1ZmZlci5jYXBhY2l0eSgpIC0gMTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgLS1tX2VuZDsKKyAgICAgICAgVHlwZU9wZXJhdGlvbnM6OmRlc3RydWN0KCZt
X2J1ZmZlci5idWZmZXIoKVttX2VuZF0sICZtX2J1ZmZlci5idWZmZXIoKVttX2VuZCArIDFdKTsK
KyAgICAgICAgY2hlY2tWYWxpZGl0eSgpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KICAgICBpbmxpbmUgdm9pZCBEZXF1ZTxULCBpbmxp
bmVDYXBhY2l0eT46OnJlbW92ZShpdGVyYXRvciYgaXQpCiAgICAgewogICAgICAgICBpdC5jaGVj
a1ZhbGlkaXR5KCk7Cg==
</data>
<flag name="review"
          id="227892"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>