<?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>138753</bug_id>
          
          <creation_ts>2014-11-14 12:52:18 -0800</creation_ts>
          <short_desc>Wrong (off-by-1) navigation snapshots shown after a mix of gesture and button back/forward navigation</short_desc>
          <delta_ts>2014-11-14 13:29:05 -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>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1048842</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-11-14 12:52:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/18978497&gt;

* STEPS TO REPRODUCE
1. In a new tab, navigate to &lt;data:text/html,1&gt;
2. In the same tab, navigate to &lt;data:text/html,2&gt;
3. In the same tab, navigate to &lt;data:text/html,3&gt;
4. Swipe to navigate back to 2
5. Swipe to navigate back to 1
6. Click or tap the Forward button to navigate forward to 2
7. Click or tap the Forward button to navigate forward to 3
8. Swipe back to 2

* RESULTS
In step 8, the 1 snapshot is revealed, instead of the 2 snapshot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048843</commentid>
    <comment_count>1</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-11-14 12:54:25 -0800</bug_when>
    <thetext>It looks like when using the button to navigate, by the time WebPageProxy::willChangeCurrentHistoryItemForMainFrame() is called, the current item has already changed. In particular, WebPageProxy::backForwardGoToItem() is called before WebPageProxy::willChangeCurrentHistoryItemForMainFrame().

This call ordering happens not only in the button navigation case, but also in the navigation gesture case, but in the latter we are protected by the early return in ViewSnapshotStore::recordSnapshot() as we are still showing a snapshot.

I think we can simply make it WebBackForwardList’s job to record a snapshot right before it changes what currentItem() would return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048848</commentid>
    <comment_count>2</comment_count>
      <attachid>241616</attachid>
    <who name="">mitz</who>
    <bug_when>2014-11-14 13:08:47 -0800</bug_when>
    <thetext>Created attachment 241616
Record a a navigation snapshot before the current item changes in WebBackForwardList</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048855</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-11-14 13:29:05 -0800</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r176136&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241616</attachid>
            <date>2014-11-14 13:08:47 -0800</date>
            <delta_ts>2014-11-14 13:25:27 -0800</delta_ts>
            <desc>Record a a navigation snapshot before the current item changes in WebBackForwardList</desc>
            <filename>bug-138753-20141114130855.patch</filename>
            <type>text/plain</type>
            <size>10502</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjEzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTExLTE0ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE4OTc4
NDk3PiBXcm9uZyAob2ZmLWJ5LTEpIG5hdmlnYXRpb24gc25hcHNob3RzIHNob3duIGFmdGVyIGEg
bWl4IG9mIGdlc3R1cmUgYW5kIGJ1dHRvbiBiYWNrL2ZvcndhcmQgbmF2aWdhdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NzUzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBhIEZyYW1l
TG9hZGVyQ2xpZW50IGZ1bmN0aW9uIHRoYXQgbm8gb25lIG92ZXJyaWRlcyBhbnltb3JlLgorCisg
ICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlckNsaWVudDo6d2lsbENoYW5nZUN1cnJlbnRIaXN0b3J5SXRlbSk6IERlbGV0ZWQu
CisgICAgICAgICogbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okhpc3RvcnlDb250cm9sbGVyOjpzZXRDdXJyZW50SXRlbSk6IFJlbW92ZWQgY2FsbCB0byB3
aWxsQ2hhbmdlQ3VycmVudEhpc3RvcnlJdGVtLgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUNv
bnRyb2xsZXI6OnJlcGxhY2VDdXJyZW50SXRlbSk6IERpdHRvLgorCiAyMDE0LTExLTE0ICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAogICAgICAgICBEbyBwcm9wZXIgdGVhcmRv
d24gZm9yIG9wdGltaXplZCBmdWxsc2NyZWVuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXJDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXJDbGllbnQuaAkocmV2aXNpb24gMTc2MTMyKQorKysgU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwOCw4ICsyMDgs
NiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRHb1Rv
SGlzdG9yeUl0ZW0oSGlzdG9yeUl0ZW0qKSBjb25zdCA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB1cGRhdGVHbG9iYWxIaXN0b3J5SXRlbUZvclBhZ2UoKSB7IH0KIAotICAgICAgICB2aXJ0dWFs
IHZvaWQgd2lsbENoYW5nZUN1cnJlbnRIaXN0b3J5SXRlbSgpIHsgfQotCiAgICAgICAgIC8vIFRo
aXMgZnJhbWUgaGFzIHNldCBpdHMgb3BlbmVyIHRvIG51bGwsIGRpc293bmluZyBpdCBmb3IgdGhl
IGxpZmV0aW1lIG9mIHRoZSBmcmFtZS4KICAgICAgICAgLy8gU2VlIGh0dHA6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy8jZG9tLW9wZW5lci4KICAgICAgICAgLy8gRklYTUU6IEpTQyBzaG91bGQgYWxs
b3cgZGlzb3duaW5nIG9wZW5lci4gLSA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMzkxMz4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRy
b2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29u
dHJvbGxlci5jcHAJKHJldmlzaW9uIDE3NjEzMikKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9I
aXN0b3J5Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3NCw4ICs1NzQsNiBAQCB2
b2lkIEhpc3RvcnlDb250cm9sbGVyOjp1cGRhdGVGb3JGcmFtZUxvCiAKIHZvaWQgSGlzdG9yeUNv
bnRyb2xsZXI6OnNldEN1cnJlbnRJdGVtKEhpc3RvcnlJdGVtKiBpdGVtKQogewotICAgIG1fZnJh
bWUubG9hZGVyKCkuY2xpZW50KCkud2lsbENoYW5nZUN1cnJlbnRIaXN0b3J5SXRlbSgpOwotCiAg
ICAgbV9mcmFtZUxvYWRDb21wbGV0ZSA9IGZhbHNlOwogICAgIG1fcHJldmlvdXNJdGVtID0gbV9j
dXJyZW50SXRlbTsKICAgICBtX2N1cnJlbnRJdGVtID0gaXRlbTsKQEAgLTg4OSwxMCArODg3LDgg
QEAgdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6cmVwbGFjZUN1cnJlbnRJdAogICAgIG1fcHJldmlv
dXNJdGVtID0gbnVsbHB0cjsKICAgICBpZiAobV9wcm92aXNpb25hbEl0ZW0pCiAgICAgICAgIG1f
cHJvdmlzaW9uYWxJdGVtID0gaXRlbTsKLSAgICBlbHNlIHsKLSAgICAgICAgbV9mcmFtZS5sb2Fk
ZXIoKS5jbGllbnQoKS53aWxsQ2hhbmdlQ3VycmVudEhpc3RvcnlJdGVtKCk7CisgICAgZWxzZQog
ICAgICAgICBtX2N1cnJlbnRJdGVtID0gaXRlbTsKLSAgICB9CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjEzNSkKKysrIFNvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE0LTExLTE0
ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzE4OTc4NDk3PiBXcm9uZyAob2ZmLWJ5LTEpIG5hdmlnYXRpb24gc25hcHNob3RzIHNob3du
IGFmdGVyIGEgbWl4IG9mIGdlc3R1cmUgYW5kIGJ1dHRvbiBiYWNrL2ZvcndhcmQgbmF2aWdhdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NzUz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmF0aGVy
IHRoYW4gaGF2aW5nIHRoZSBVSSBwcm9jZXNzIHJlY29yZCBhIHNuYXBzaG90IGp1dCBiZWZvcmUg
dGhlIFdlYiBDb250ZW50IHByb2Nlc3PigJlzCisgICAgICAgIG5vdGlvbiBvZiBpdHMgY3VycmVu
dCBiYWNrL2ZvcndhcmQgbGlzdCBpdGVtIGNoYW5nZXMsIGhhdmUgdGhlIFVJIHByb2Nlc3MgcmVj
b3JkIGEgc25hcHNob3QKKyAgICAgICAgcmlnaHQgYmVmb3JlIGl0cyBvd24gY3VycmVudCBiYWNr
L2ZvcndhcmQgbGlzdCBpdGVtIGNoYW5nZXMuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSByaWdodAor
ICAgICAgICBzbmFwc2hvdCBnZXRzIGF0dGFjaGVkIHRvIHRoZSByaWdodCBpdGVtIGluIHRoZSBV
SSBwcm9jZXNzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdDo6YWRkSXRlbSk6IElmIHRoZXJl
IGlzIGEgY3VycmVudCBpdGVtLCByZWNvcmQgYSBuYXZpZ2F0aW9uCisgICAgICAgIHNuYXBzaG90
IG9mIGl0IGJlZm9yZSBtYWtpbmcgdGhlIG5ldyBpdGVtIGN1cnJlbnQuCisgICAgICAgIChXZWJL
aXQ6OldlYkJhY2tGb3J3YXJkTGlzdDo6Z29Ub0l0ZW0pOiBJZiB0aGVyZSBpcyBhIGN1cnJlbnQg
aXRlbSwgcmVjb3JkIGEgbmF2aWdhdGlvbgorICAgICAgICBzbmFwc2hvdCBvZiBpdCBiZWZvcmUg
bWFraW5nIGFub3RoZXIgaXRlbSBjdXJyZW50LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6d2lsbENoYW5nZUN1
cnJlbnRIaXN0b3J5SXRlbUZvck1haW5GcmFtZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oOgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbjogUmVtb3ZlZCB3aWxsQ2hhbmdlQ3VycmVudEhpc3RvcnlJdGVtRm9yTWFpbkZy
YW1lCisgICAgICAgIG1lc3NhZ2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVM
b2FkZXJDbGllbnQ6OndpbGxDaGFuZ2VDdXJyZW50SGlzdG9yeUl0ZW0pOiBEZWxldGVkLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDog
UmVtb3ZlZCBkZWNsYXJhdGlvbiBvZgorICAgICAgICB3aWxsQ2hhbmdlQ3VycmVudEhpc3RvcnlJ
dGVtIG92ZXJyaWRlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp3aWxsQ2hhbmdlQ3VycmVudEhpc3RvcnlJdGVt
Rm9yTWFpbkZyYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oOgorCiAyMDE0LTExLTE0ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIHNvbWUgdHJhY2luZyB0byBoZWxwIGludmVzdGlnYXRpbmcgPHJkYXI6Ly9w
cm9ibGVtLzE4OTA1MzgzPiBbaU9TXSBDcmFzaCBkdWUgdG8gbnVsbCBtX3dlYlBhZ2VQcm94eUZv
ckJhY2tGb3J3YXJkTGlzdEZvckN1cnJlbnRTd2lwZSBpbiBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6
OmVuZFN3aXBlR2VzdHVyZQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tG
b3J3YXJkTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkJhY2tGb3J3YXJkTGlzdC5jcHAJKHJldmlzaW9uIDE3NjEzMikKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Miw2
ICs5Miw4IEBAIHZvaWQgV2ViQmFja0ZvcndhcmRMaXN0OjphZGRJdGVtKFdlYkJhY2sKICAgICBW
ZWN0b3I8UmVmUHRyPFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0+PiByZW1vdmVkSXRlbXM7CiAgICAg
CiAgICAgaWYgKG1faGFzQ3VycmVudEluZGV4KSB7CisgICAgICAgIG1fcGFnZS0+cmVjb3JkTmF2
aWdhdGlvblNuYXBzaG90KCk7CisKICAgICAgICAgLy8gVG9zcyBldmVyeXRoaW5nIGluIHRoZSBm
b3J3YXJkIGxpc3QuCiAgICAgICAgIHVuc2lnbmVkIHRhcmdldFNpemUgPSBtX2N1cnJlbnRJbmRl
eCArIDE7CiAgICAgICAgIHJlbW92ZWRJdGVtcy5yZXNlcnZlQ2FwYWNpdHkobV9lbnRyaWVzLnNp
emUoKSAtIHRhcmdldFNpemUpOwpAQCAtMTc3LDggKzE3OSwxMCBAQCB2b2lkIFdlYkJhY2tGb3J3
YXJkTGlzdDo6Z29Ub0l0ZW0oV2ViQmFjCiAgICAgLy8gaXRlbSBzaG91bGQgcmVtYWluIGluIHRo
ZSBsaXN0LgogICAgIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGN1cnJlbnRJdGVtID0gbV9lbnRy
aWVzW21fY3VycmVudEluZGV4XS5nZXQoKTsKICAgICBib29sIHNob3VsZEtlZXBDdXJyZW50SXRl
bSA9IHRydWU7Ci0gICAgaWYgKGN1cnJlbnRJdGVtICE9IGl0ZW0pCisgICAgaWYgKGN1cnJlbnRJ
dGVtICE9IGl0ZW0pIHsKKyAgICAgICAgbV9wYWdlLT5yZWNvcmROYXZpZ2F0aW9uU25hcHNob3Qo
KTsKICAgICAgICAgc2hvdWxkS2VlcEN1cnJlbnRJdGVtID0gbV9wYWdlLT5zaG91bGRLZWVwQ3Vy
cmVudEJhY2tGb3J3YXJkTGlzdEl0ZW1Jbkxpc3QobV9lbnRyaWVzW21fY3VycmVudEluZGV4XS5n
ZXQoKSk7CisgICAgfQogCiAgICAgLy8gSWYgdGhlIGNsaWVudCBzYWlkIHRvIHJlbW92ZSB0aGUg
Y3VycmVudCBpdGVtLCByZW1vdmUgaXQgYW5kIHRoZW4gdXBkYXRlIHRoZSB0YXJnZXQgaW5kZXgu
CiAgICAgVmVjdG9yPFJlZlB0cjxXZWJCYWNrRm9yd2FyZExpc3RJdGVtPj4gcmVtb3ZlZEl0ZW1z
OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlz
aW9uIDE3NjEzMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01Mjk4LDExICs1Mjk4LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6
Om5hdmlnYXRpb25HZXN0dXJlU25hcAogICAgIG1faXNTaG93aW5nTmF2aWdhdGlvbkdlc3R1cmVT
bmFwc2hvdCA9IGZhbHNlOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6d2lsbENoYW5nZUN1cnJl
bnRIaXN0b3J5SXRlbUZvck1haW5GcmFtZSgpCi17Ci0gICAgcmVjb3JkTmF2aWdhdGlvblNuYXBz
aG90KCk7Ci19Ci0KIHZvaWQgV2ViUGFnZVByb3h5Ojppc1BsYXlpbmdBdWRpb0RpZENoYW5nZShi
b29sIG5ld0lzUGxheWluZ0F1ZGlvKQogewogICAgIGlmIChtX2lzUGxheWluZ0F1ZGlvID09IG5l
d0lzUGxheWluZ0F1ZGlvKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAkocmV2aXNpb24gMTc2MTMyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDc3LDcgKzEwNzcsNiBAQCBwcml2YXRlOgog
ICAgIHZvaWQgZGlkQmxvY2tJbnNlY3VyZVBsdWdpblZlcnNpb24oY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSwgY29uc3QgU3RyaW5nJiBwbHVnaW5VUkxTdHJpbmcsIGNvbnN0IFN0cmluZyYgZnJhbWVV
UkxTdHJpbmcsIGNvbnN0IFN0cmluZyYgcGFnZVVSTFN0cmluZywgYm9vbCByZXBsYWNlbWVudE9i
c2N1cmVkKTsKICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICB2b2lk
IHNldENhblNob3J0Q2lyY3VpdEhvcml6b250YWxXaGVlbEV2ZW50cyhib29sIGNhblNob3J0Q2ly
Y3VpdEhvcml6b250YWxXaGVlbEV2ZW50cykgeyBtX2NhblNob3J0Q2lyY3VpdEhvcml6b250YWxX
aGVlbEV2ZW50cyA9IGNhblNob3J0Q2lyY3VpdEhvcml6b250YWxXaGVlbEV2ZW50czsgfQotICAg
IHZvaWQgd2lsbENoYW5nZUN1cnJlbnRIaXN0b3J5SXRlbUZvck1haW5GcmFtZSgpOwogCiAgICAg
dm9pZCByZWF0dGFjaFRvV2ViUHJvY2VzcygpOwogICAgIHVpbnQ2NF90IHJlYXR0YWNoVG9XZWJQ
cm9jZXNzV2l0aEl0ZW0oV2ViQmFja0ZvcndhcmRMaXN0SXRlbSopOwpJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lv
biAxNzYxMzIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC00MDgsOCArNDA4LDYgQEAgbWVzc2FnZXMgLT4gV2Vi
UGFnZVByb3h5IHsKICAgICBEaWRGaW5pc2hMb2FkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1haW5G
cmFtZShXZWJLaXQ6OlF1aWNrTG9va0RvY3VtZW50RGF0YSBkYXRhKQogI2VuZGlmCiAKLSAgICBX
aWxsQ2hhbmdlQ3VycmVudEhpc3RvcnlJdGVtRm9yTWFpbkZyYW1lKCkKLQogI2lmIEVOQUJMRShD
T05URU5UX0ZJTFRFUklORykKICAgICBDb250ZW50RmlsdGVyRGlkQmxvY2tMb2FkRm9yRnJhbWUo
V2ViQ29yZTo6Q29udGVudEZpbHRlciBjb250ZW50RmlsdGVyLCB1aW50NjRfdCBmcmFtZUlEKQog
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAkocmV2aXNpb24g
MTc2MTMyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MzAsMTcgKzE2MzAsNiBA
QCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+IFdlYkZyCiAgICAgcmV0dXJuIGNv
bnRleHQucmVsZWFzZSgpOwogfQogCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp3aWxsQ2hh
bmdlQ3VycmVudEhpc3RvcnlJdGVtKCkKLXsKLSAgICBXZWJQYWdlKiB3ZWJQYWdlID0gbV9mcmFt
ZS0+cGFnZSgpOwotICAgIGlmICghd2ViUGFnZSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICgh
bV9mcmFtZS0+aXNNYWluRnJhbWUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgd2ViUGFnZS0+
d2lsbENoYW5nZUN1cnJlbnRIaXN0b3J5SXRlbUZvck1haW5GcmFtZSgpOwotfQotCiAjaWYgRU5B
QkxFKENPTlRFTlRfRklMVEVSSU5HKQogdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6Y29udGVu
dEZpbHRlckRpZEJsb2NrTG9hZChzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6Q29udGVudEZpbHRl
cj4gY29udGVudEZpbHRlcikKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgJ
KHJldmlzaW9uIDE3NjEzMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTMwLDcgKzEz
MCw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUdsb2JhbEhpc3RvcnlSZWRp
cmVjdExpbmtzKCkgb3ZlcnJpZGU7CiAgICAgCiAgICAgdmlydHVhbCBib29sIHNob3VsZEdvVG9I
aXN0b3J5SXRlbShXZWJDb3JlOjpIaXN0b3J5SXRlbSopIGNvbnN0IG92ZXJyaWRlOwotICAgIHZp
cnR1YWwgdm9pZCB3aWxsQ2hhbmdlQ3VycmVudEhpc3RvcnlJdGVtKCkgb3ZlcnJpZGU7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkRGlzcGxheUluc2VjdXJlQ29udGVudCgpIG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRSdW5JbnNlY3VyZUNvbnRlbnQoV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4qLCBjb25zdCBXZWJDb3JlOjpVUkwmKSBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDE3NjEzMikKKysr
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDgxMSw5ICs0ODExLDQgQEAgdm9pZCBXZWJQYWdlOjpkaWRDaGFuZ2VTY3JvbGxP
ZmZzZXRGb3JGcgogICAgIHVwZGF0ZU1haW5GcmFtZVNjcm9sbE9mZnNldFBpbm5pbmcoKTsKIH0K
IAotdm9pZCBXZWJQYWdlOjp3aWxsQ2hhbmdlQ3VycmVudEhpc3RvcnlJdGVtRm9yTWFpbkZyYW1l
KCkKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OldpbGxDaGFuZ2VDdXJyZW50
SGlzdG9yeUl0ZW1Gb3JNYWluRnJhbWUoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZp
c2lvbiAxNzYxMzIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04NDQsOCArODQ0LDYgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBkaWRDaGFuZ2VTY3JvbGxPZmZzZXRGb3JGcmFtZShXZWJDb3JlOjpGcmFtZSopOwogCi0gICAg
dm9pZCB3aWxsQ2hhbmdlQ3VycmVudEhpc3RvcnlJdGVtRm9yTWFpbkZyYW1lKCk7Ci0KIHByaXZh
dGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMmKTsKIAo=
</data>
<flag name="review"
          id="266474"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>