<?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>33160</bug_id>
          
          <creation_ts>2010-01-04 10:52:24 -0800</creation_ts>
          <short_desc>history.pushState should clear the entire forward history</short_desc>
          <delta_ts>2010-01-15 00:20:55 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Darin Fisher (:fishd, Google)">fishd</assigned_to>
          <cc>beidson</cc>
    
    <cc>ian</cc>
    
    <cc>mjs</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>176750</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-04 10:52:24 -0800</bug_when>
    <thetext>history.pushState should clear the entire forward history

see http://www.w3.org/Bugs/Public/show_bug.cgi?id=8629

i believe it would be better if history.pushState cleared
the entire forward history regardless of which documents
are involved.  this way the forward browser button will
become disabled in response to pushState, which seems
desirable to allow pushState to be used to simulate a
page load.  (reference fragment navigations clear the
entire forward session history.)

also, firefox has implemented pushState by clearing the
entire forward history.  when i mentioned this on the whatwg
mailing list, they were surprised to find that the feature
was spec&apos;d differently, and Jonas said that he preferred how
they had implemented pushState.

i think webkit should change to match firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178420</commentid>
    <comment_count>1</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-01-07 15:47:49 -0800</bug_when>
    <thetext>With no one having shipped an implementation and therefore compatibility not yet being an issue, I would personally r- any patch that changes our behavior without the spec being changed.

Why did mozilla disregard the spec for their implementation (or did their implementation predate the spec)?

In your w3.org bug, you state &quot;There is also support in the WebKit
community for changing WebKit to match Firefox instead of what
is currently spec&apos;d.&quot;

I&apos;m curious - I don&apos;t feel strongly about this one way or the other - but what support in the WebKit community are you referencing?  Besides this bugzilla, I haven&apos;t heard about this yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179857</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-12 09:44:13 -0800</bug_when>
    <thetext>&gt; I&apos;m curious - I don&apos;t feel strongly about this one way or the other - but what
&gt; support in the WebKit community are you referencing?  Besides this bugzilla, I
&gt; haven&apos;t heard about this yet.

Maciej gave his support for this change.  (Sorry that doesn&apos;t necessarily equate to WebKit community support.)  I think that might have been private email :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179859</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-12 09:45:59 -0800</bug_when>
    <thetext>Also, I should have included this link to the whatwg discussion on this topic:
http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19615.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179887</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-01-12 10:54:31 -0800</bug_when>
    <thetext>This is an easy change and it makes sense to align with &quot;the other implementor&quot; on this.

That said, we really need to keep lobbying on the spec...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179895</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-12 11:11:39 -0800</bug_when>
    <thetext>&gt; That said, we really need to keep lobbying on the spec...

I&apos;ve already spoken with Ian Hickson, and he is also supportive of changing the spec.  I believe that changing our implementation to match Firefox will help support the case of having the spec corrected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180934</commentid>
    <comment_count>6</comment_count>
      <attachid>46608</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-14 14:44:39 -0800</bug_when>
    <thetext>Created attachment 46608
v1 patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181102</commentid>
    <comment_count>7</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2010-01-14 22:36:47 -0800</bug_when>
    <thetext>Spec is updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181103</commentid>
    <comment_count>8</comment_count>
      <attachid>46608</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-01-14 22:45:07 -0800</bug_when>
    <thetext>Comment on attachment 46608
v1 patch

The indirection of insertItemAfterCurrent() is no longer necessary.

The only reason the private insertItemAfterCurrent() was added in the first place was to differentiate between a pushState() and an addItem().  Now that the distinction is removed, I&apos;d rather see the body of insertItemAfterCurrent() moved back into addItem(), and have pushState() call addItem().

(Otherwise, looks good)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181113</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-14 23:45:52 -0800</bug_when>
    <thetext>&gt; The indirection of insertItemAfterCurrent() is no longer necessary.

Yeah, sounds good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181116</commentid>
    <comment_count>10</comment_count>
      <attachid>46646</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-14 23:55:07 -0800</bug_when>
    <thetext>Created attachment 46646
v2 patch: insertItemAfterCurrent removed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181123</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-01-15 00:20:55 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/53324</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46608</attachid>
            <date>2010-01-14 14:44:39 -0800</date>
            <delta_ts>2010-01-14 23:55:07 -0800</delta_ts>
            <desc>v1 patch</desc>
            <filename>clear_1.txt</filename>
            <type>text/plain</type>
            <size>5560</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzI3OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMDEtMTQgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBo
aXN0b3J5LnB1c2hTdGF0ZSBzaG91bGQgY2xlYXIgdGhlIGVudGlyZSBmb3J3YXJkIGhpc3RvcnkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMTYwCisK
KyAgICAgICAgVGVzdDogZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL3B1c2hzdGF0ZS1jbGVhcnMt
Zm9yd2FyZC1oaXN0b3J5Lmh0bWwKKworICAgICAgICAqIGhpc3RvcnkvQmFja0ZvcndhcmRMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdDo6YWRkSXRlbSk6CisgICAg
ICAgIChXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3Q6Omluc2VydEl0ZW1BZnRlckN1cnJlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0OjpwdXNoU3RhdGVJdGVtKToKKyAgICAg
ICAgKiBoaXN0b3J5L0JhY2tGb3J3YXJkTGlzdC5oOgorCiAyMDEwLTAxLTE0ICBBZGFtIFJvYmVu
ICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBUcmVhdCBhbGwgc3luY2hyb25vdXMgbG9h
ZHMgZXF1YWxseSBpbiBGcmFtZUxvYWRlcjo6bG9hZFN1YmZyYW1lCkluZGV4OiBXZWJDb3JlL2hp
c3RvcnkvQmFja0ZvcndhcmRMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2hpc3Rvcnkv
QmFja0ZvcndhcmRMaXN0LmNwcAkocmV2aXNpb24gNTMxOTMpCisrKyBXZWJDb3JlL2hpc3Rvcnkv
QmFja0ZvcndhcmRMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksMTcgKzU5LDE3IEBAIEJh
Y2tGb3J3YXJkTGlzdDo6fkJhY2tGb3J3YXJkTGlzdCgpCiAKIHZvaWQgQmFja0ZvcndhcmRMaXN0
OjphZGRJdGVtKFBhc3NSZWZQdHI8SGlzdG9yeUl0ZW0+IHBycEl0ZW0pCiB7Ci0gICAgaW5zZXJ0
SXRlbUFmdGVyQ3VycmVudChwcnBJdGVtLCB0cnVlKTsKKyAgICBpbnNlcnRJdGVtQWZ0ZXJDdXJy
ZW50KHBycEl0ZW0pOwogfQogCi12b2lkIEJhY2tGb3J3YXJkTGlzdDo6aW5zZXJ0SXRlbUFmdGVy
Q3VycmVudChQYXNzUmVmUHRyPEhpc3RvcnlJdGVtPiBwcnBJdGVtLCBib29sIHJlbW92ZUZvcndh
cmRMaXN0KQordm9pZCBCYWNrRm9yd2FyZExpc3Q6Omluc2VydEl0ZW1BZnRlckN1cnJlbnQoUGFz
c1JlZlB0cjxIaXN0b3J5SXRlbT4gcHJwSXRlbSkKIHsKICAgICBBU1NFUlQocHJwSXRlbSk7CiAg
ICAgaWYgKG1fY2FwYWNpdHkgPT0gMCB8fCAhbV9lbmFibGVkKQogICAgICAgICByZXR1cm47CiAg
ICAgCiAgICAgLy8gVG9zcyBhbnl0aGluZyBpbiB0aGUgZm9yd2FyZCBsaXN0ICAgIAotICAgIGlm
IChyZW1vdmVGb3J3YXJkTGlzdCAmJiBtX2N1cnJlbnQgIT0gTm9DdXJyZW50SXRlbUluZGV4KSB7
CisgICAgaWYgKG1fY3VycmVudCAhPSBOb0N1cnJlbnRJdGVtSW5kZXgpIHsKICAgICAgICAgdW5z
aWduZWQgdGFyZ2V0U2l6ZSA9IG1fY3VycmVudCArIDE7CiAgICAgICAgIHdoaWxlIChtX2VudHJp
ZXMuc2l6ZSgpID4gdGFyZ2V0U2l6ZSkgewogICAgICAgICAgICAgUmVmUHRyPEhpc3RvcnlJdGVt
PiBpdGVtID0gbV9lbnRyaWVzLmxhc3QoKTsKQEAgLTI1MSwxMyArMjUxLDggQEAgdm9pZCBCYWNr
Rm9yd2FyZExpc3Q6OnB1c2hTdGF0ZUl0ZW0oUGFzcwogICAgIEFTU0VSVChjdXJyZW50KTsKIAog
ICAgIERvY3VtZW50KiBuZXdJdGVtRG9jdW1lbnQgPSBuZXdJdGVtLT5kb2N1bWVudCgpOwotICAg
IHdoaWxlIChIaXN0b3J5SXRlbSogaXRlbSA9IGZvcndhcmRJdGVtKCkpIHsKLSAgICAgICAgaWYg
KGl0ZW0tPmRvY3VtZW50KCkgIT0gbmV3SXRlbURvY3VtZW50KQotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIHJlbW92ZUl0ZW0oaXRlbSk7Ci0gICAgfQogCi0gICAgaW5zZXJ0SXRlbUFmdGVy
Q3VycmVudChuZXdJdGVtLCBmYWxzZSk7CisgICAgaW5zZXJ0SXRlbUFmdGVyQ3VycmVudChuZXdJ
dGVtKTsKICAgICAKICAgICBpZiAoIWN1cnJlbnQtPmRvY3VtZW50KCkpIHsKICAgICAgICAgY3Vy
cmVudC0+c2V0RG9jdW1lbnQobmV3SXRlbURvY3VtZW50KTsKSW5kZXg6IFdlYkNvcmUvaGlzdG9y
eS9CYWNrRm9yd2FyZExpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2hpc3RvcnkvQmFja0Zv
cndhcmRMaXN0LmgJKHJldmlzaW9uIDUzMTkzKQorKysgV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3
YXJkTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAgcHVibGljOiAKIHBy
aXZhdGU6CiAgICAgQmFja0ZvcndhcmRMaXN0KFBhZ2UqKTsKICAgICAKLSAgICB2b2lkIGluc2Vy
dEl0ZW1BZnRlckN1cnJlbnQoUGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4sIGJvb2wgcmVtb3ZlRm9y
d2FyZExpc3QpOworICAgIHZvaWQgaW5zZXJ0SXRlbUFmdGVyQ3VycmVudChQYXNzUmVmUHRyPEhp
c3RvcnlJdGVtPik7CiAKICAgICBQYWdlKiBtX3BhZ2U7CiAjaWYgUExBVEZPUk0oQ0hST01JVU0p
IApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gNTMyNzkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wMS0xNCAgRGFyaW4gRmlzaGVyICA8
ZGFyaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGhpc3RvcnkucHVzaFN0YXRlIHNob3VsZCBjbGVhciB0aGUgZW50aXJlIGZv
cndhcmQgaGlzdG9yeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzMxNjAKKworICAgICAgICAqIGZhc3QvbG9hZGVyL3N0YXRlb2JqZWN0cy9wdXNoc3Rh
dGUtY2xlYXJzLWZvcndhcmQtaGlzdG9yeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvbG9hZGVyL3N0YXRlb2JqZWN0cy9wdXNoc3RhdGUtY2xlYXJzLWZvcndhcmQtaGlzdG9y
eS5odG1sOiBBZGRlZC4KKwogMjAxMC0wMS0xMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRzb24uCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvcHVzaHN0YXRlLWNsZWFycy1mb3J3YXJk
LWhpc3RvcnktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvbG9h
ZGVyL3N0YXRlb2JqZWN0cy9wdXNoc3RhdGUtY2xlYXJzLWZvcndhcmQtaGlzdG9yeS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9iamVj
dHMvcHVzaHN0YXRlLWNsZWFycy1mb3J3YXJkLWhpc3RvcnktZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDExIEBACittYWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxl
cihzKQorbWFpbiBmcmFtZSAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK21haW4gZnJhbWUg
LSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCittYWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQg
aGFuZGxlcihzKQorWW91IHNob3VsZCBOT1Qgc2VlIGFuIGFjdGl2ZSBmb3J3YXJkIGJ1dHRvbi4K
KworPT09PT09PT09PT09PT0gQmFjayBGb3J3YXJkIExpc3QgPT09PT09PT09PT09PT0KKyAgICAg
ICAgKGZpbGUgdGVzdCk6ZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL3B1c2hzdGF0ZS1jbGVhcnMt
Zm9yd2FyZC1oaXN0b3J5Lmh0bWwgICoqbmF2IHRhcmdldCoqCisgICAgICAgIChmaWxlIHRlc3Qp
OmZhc3QvbG9hZGVyL3N0YXRlb2JqZWN0cy9wdXNoc3RhdGUtY2xlYXJzLWZvcndhcmQtaGlzdG9y
eS5odG1sP2EgICoqbmF2IHRhcmdldCoqCitjdXJyLT4gIChmaWxlIHRlc3QpOmZhc3QvbG9hZGVy
L3N0YXRlb2JqZWN0cy9wdXNoc3RhdGUtY2xlYXJzLWZvcndhcmQtaGlzdG9yeS5odG1sP2EgICoq
bmF2IHRhcmdldCoqCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL3B1c2hzdGF0
ZS1jbGVhcnMtZm9yd2FyZC1oaXN0b3J5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL3B1c2hzdGF0ZS1jbGVhcnMtZm9yd2FyZC1oaXN0b3J5
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9iamVj
dHMvcHVzaHN0YXRlLWNsZWFycy1mb3J3YXJkLWhpc3RvcnkuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwzNCBAQAorPHNjcmlwdD4KK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICBpZiAobG9j
YXRpb24uc2VhcmNoLnN1YnN0cmluZygxKS5sZW5ndGggPT0gMCkgeworICAgIHNlc3Npb25TdG9y
YWdlLnRlc3RTdGFnZSA9IDA7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEJhY2tGb3J3YXJkTGlzdCgpOworICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgfQorICBzd2l0Y2ggKHNlc3Npb25T
dG9yYWdlLnRlc3RTdGFnZSsrKSB7CisgIGNhc2UgMDoKKyAgICBsb2NhdGlvbiA9ICI/YSI7Cisg
ICAgYnJlYWs7CisgIGNhc2UgMToKKyAgICBsb2NhdGlvbiA9ICI/YiI7CisgICAgYnJlYWs7Cisg
IGNhc2UgMjoKKyAgICBoaXN0b3J5LmJhY2soKTsKKyAgICBicmVhazsKKyAgY2FzZSAzOgorICAg
IGhpc3RvcnkucHVzaFN0YXRlKG51bGwsIG51bGwpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cisg
ICAgYnJlYWs7CisgIH0KK30KK29udW5sb2FkID0gZnVuY3Rpb24oKSB7CisgIC8vIGRpc2FibGUg
cGFnZSBjYWNoZQorfQorPC9zY3JpcHQ+Cis8Ym9keT4KK1lvdSBzaG91bGQgTk9UIHNlZSBhbiBh
Y3RpdmUgZm9yd2FyZCBidXR0b24uCis8L2JvZHk+Cg==
</data>
<flag name="review"
          id="28904"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46646</attachid>
            <date>2010-01-14 23:55:07 -0800</date>
            <delta_ts>2010-01-15 00:03:58 -0800</delta_ts>
            <desc>v2 patch: insertItemAfterCurrent removed</desc>
            <filename>clear_2.txt</filename>
            <type>text/plain</type>
            <size>5323</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzMyMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEtMTQgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBo
aXN0b3J5LnB1c2hTdGF0ZSBzaG91bGQgY2xlYXIgdGhlIGVudGlyZSBmb3J3YXJkIGhpc3RvcnkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMTYwCisK
KyAgICAgICAgVGVzdDogZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL3B1c2hzdGF0ZS1jbGVhcnMt
Zm9yd2FyZC1oaXN0b3J5Lmh0bWwKKworICAgICAgICAqIGhpc3RvcnkvQmFja0ZvcndhcmRMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdDo6YWRkSXRlbSk6CisgICAg
ICAgIChXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3Q6OnB1c2hTdGF0ZUl0ZW0pOgorICAgICAgICAq
IGhpc3RvcnkvQmFja0ZvcndhcmRMaXN0Lmg6CisKIDIwMTAtMDEtMTQgIEdhdmluIEJhcnJhY2xv
dWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlciBzdGFtcGVkIGJ5
IFNhbSBXZWluaWcuCkluZGV4OiBXZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRMaXN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRMaXN0LmNwcAkocmV2aXNp
b24gNTMxOTMpCisrKyBXZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRMaXN0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTksMTcgKzU5LDEyIEBAIEJhY2tGb3J3YXJkTGlzdDo6fkJhY2tGb3J3YXJk
TGlzdCgpCiAKIHZvaWQgQmFja0ZvcndhcmRMaXN0OjphZGRJdGVtKFBhc3NSZWZQdHI8SGlzdG9y
eUl0ZW0+IHBycEl0ZW0pCiB7Ci0gICAgaW5zZXJ0SXRlbUFmdGVyQ3VycmVudChwcnBJdGVtLCB0
cnVlKTsKLX0KLQotdm9pZCBCYWNrRm9yd2FyZExpc3Q6Omluc2VydEl0ZW1BZnRlckN1cnJlbnQo
UGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4gcHJwSXRlbSwgYm9vbCByZW1vdmVGb3J3YXJkTGlzdCkK
LXsKICAgICBBU1NFUlQocHJwSXRlbSk7CiAgICAgaWYgKG1fY2FwYWNpdHkgPT0gMCB8fCAhbV9l
bmFibGVkKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgLy8gVG9zcyBhbnl0aGluZyBpbiB0
aGUgZm9yd2FyZCBsaXN0ICAgIAotICAgIGlmIChyZW1vdmVGb3J3YXJkTGlzdCAmJiBtX2N1cnJl
bnQgIT0gTm9DdXJyZW50SXRlbUluZGV4KSB7CisgICAgaWYgKG1fY3VycmVudCAhPSBOb0N1cnJl
bnRJdGVtSW5kZXgpIHsKICAgICAgICAgdW5zaWduZWQgdGFyZ2V0U2l6ZSA9IG1fY3VycmVudCAr
IDE7CiAgICAgICAgIHdoaWxlIChtX2VudHJpZXMuc2l6ZSgpID4gdGFyZ2V0U2l6ZSkgewogICAg
ICAgICAgICAgUmVmUHRyPEhpc3RvcnlJdGVtPiBpdGVtID0gbV9lbnRyaWVzLmxhc3QoKTsKQEAg
LTI1MSwxMyArMjQ2LDggQEAgdm9pZCBCYWNrRm9yd2FyZExpc3Q6OnB1c2hTdGF0ZUl0ZW0oUGFz
cwogICAgIEFTU0VSVChjdXJyZW50KTsKIAogICAgIERvY3VtZW50KiBuZXdJdGVtRG9jdW1lbnQg
PSBuZXdJdGVtLT5kb2N1bWVudCgpOwotICAgIHdoaWxlIChIaXN0b3J5SXRlbSogaXRlbSA9IGZv
cndhcmRJdGVtKCkpIHsKLSAgICAgICAgaWYgKGl0ZW0tPmRvY3VtZW50KCkgIT0gbmV3SXRlbURv
Y3VtZW50KQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIHJlbW92ZUl0ZW0oaXRlbSk7Ci0g
ICAgfQogCi0gICAgaW5zZXJ0SXRlbUFmdGVyQ3VycmVudChuZXdJdGVtLCBmYWxzZSk7CisgICAg
YWRkSXRlbShuZXdJdGVtKTsKICAgICAKICAgICBpZiAoIWN1cnJlbnQtPmRvY3VtZW50KCkpIHsK
ICAgICAgICAgY3VycmVudC0+c2V0RG9jdW1lbnQobmV3SXRlbURvY3VtZW50KTsKSW5kZXg6IFdl
YkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZExpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2hp
c3RvcnkvQmFja0ZvcndhcmRMaXN0LmgJKHJldmlzaW9uIDUzMTkzKQorKysgV2ViQ29yZS9oaXN0
b3J5L0JhY2tGb3J3YXJkTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsOCArMTA4LDYgQEAg
cHVibGljOiAKIHByaXZhdGU6CiAgICAgQmFja0ZvcndhcmRMaXN0KFBhZ2UqKTsKICAgICAKLSAg
ICB2b2lkIGluc2VydEl0ZW1BZnRlckN1cnJlbnQoUGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4sIGJv
b2wgcmVtb3ZlRm9yd2FyZExpc3QpOwotCiAgICAgUGFnZSogbV9wYWdlOwogI2lmIFBMQVRGT1JN
KENIUk9NSVVNKSAKICAgICBCYWNrRm9yd2FyZExpc3RDbGllbnQqIG1fY2xpZW50OwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNTMyNzkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wMS0xNCAgRGFyaW4gRmlzaGVyICA8ZGFyaW5AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGhpc3RvcnkucHVzaFN0YXRlIHNob3VsZCBjbGVhciB0aGUgZW50aXJlIGZvcndhcmQgaGlz
dG9yeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMx
NjAKKworICAgICAgICAqIGZhc3QvbG9hZGVyL3N0YXRlb2JqZWN0cy9wdXNoc3RhdGUtY2xlYXJz
LWZvcndhcmQtaGlzdG9yeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbG9h
ZGVyL3N0YXRlb2JqZWN0cy9wdXNoc3RhdGUtY2xlYXJzLWZvcndhcmQtaGlzdG9yeS5odG1sOiBB
ZGRlZC4KKwogMjAxMC0wMS0xMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRzb24uCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvcHVzaHN0YXRlLWNsZWFycy1mb3J3YXJkLWhpc3Rvcnkt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3N0YXRl
b2JqZWN0cy9wdXNoc3RhdGUtY2xlYXJzLWZvcndhcmQtaGlzdG9yeS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvcHVzaHN0
YXRlLWNsZWFycy1mb3J3YXJkLWhpc3RvcnktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDExIEBACittYWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihzKQorbWFp
biBmcmFtZSAtIGhhcyAxIG9udW5sb2FkIGhhbmRsZXIocykKK21haW4gZnJhbWUgLSBoYXMgMSBv
bnVubG9hZCBoYW5kbGVyKHMpCittYWluIGZyYW1lIC0gaGFzIDEgb251bmxvYWQgaGFuZGxlcihz
KQorWW91IHNob3VsZCBOT1Qgc2VlIGFuIGFjdGl2ZSBmb3J3YXJkIGJ1dHRvbi4KKworPT09PT09
PT09PT09PT0gQmFjayBGb3J3YXJkIExpc3QgPT09PT09PT09PT09PT0KKyAgICAgICAgKGZpbGUg
dGVzdCk6ZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL3B1c2hzdGF0ZS1jbGVhcnMtZm9yd2FyZC1o
aXN0b3J5Lmh0bWwgICoqbmF2IHRhcmdldCoqCisgICAgICAgIChmaWxlIHRlc3QpOmZhc3QvbG9h
ZGVyL3N0YXRlb2JqZWN0cy9wdXNoc3RhdGUtY2xlYXJzLWZvcndhcmQtaGlzdG9yeS5odG1sP2Eg
ICoqbmF2IHRhcmdldCoqCitjdXJyLT4gIChmaWxlIHRlc3QpOmZhc3QvbG9hZGVyL3N0YXRlb2Jq
ZWN0cy9wdXNoc3RhdGUtY2xlYXJzLWZvcndhcmQtaGlzdG9yeS5odG1sP2EgICoqbmF2IHRhcmdl
dCoqCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvc3RhdGVvYmplY3RzL3B1c2hzdGF0ZS1jbGVhcnMt
Zm9yd2FyZC1oaXN0b3J5Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
ZXIvc3RhdGVvYmplY3RzL3B1c2hzdGF0ZS1jbGVhcnMtZm9yd2FyZC1oaXN0b3J5Lmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9zdGF0ZW9iamVjdHMvcHVzaHN0
YXRlLWNsZWFycy1mb3J3YXJkLWhpc3RvcnkuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwz
NCBAQAorPHNjcmlwdD4KK29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICBpZiAobG9jYXRpb24uc2Vh
cmNoLnN1YnN0cmluZygxKS5sZW5ndGggPT0gMCkgeworICAgIHNlc3Npb25TdG9yYWdlLnRlc3RT
dGFnZSA9IDA7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEJhY2tGb3J3YXJkTGlzdCgpOworICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgfQorICBzd2l0Y2ggKHNlc3Npb25TdG9yYWdlLnRl
c3RTdGFnZSsrKSB7CisgIGNhc2UgMDoKKyAgICBsb2NhdGlvbiA9ICI/YSI7CisgICAgYnJlYWs7
CisgIGNhc2UgMToKKyAgICBsb2NhdGlvbiA9ICI/YiI7CisgICAgYnJlYWs7CisgIGNhc2UgMjoK
KyAgICBoaXN0b3J5LmJhY2soKTsKKyAgICBicmVhazsKKyAgY2FzZSAzOgorICAgIGhpc3Rvcnku
cHVzaFN0YXRlKG51bGwsIG51bGwpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgYnJlYWs7
CisgIH0KK30KK29udW5sb2FkID0gZnVuY3Rpb24oKSB7CisgIC8vIGRpc2FibGUgcGFnZSBjYWNo
ZQorfQorPC9zY3JpcHQ+Cis8Ym9keT4KK1lvdSBzaG91bGQgTk9UIHNlZSBhbiBhY3RpdmUgZm9y
d2FyZCBidXR0b24uCis8L2JvZHk+Cg==
</data>
<flag name="review"
          id="28948"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>