<?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>146446</bug_id>
          
          <creation_ts>2015-06-29 18:55:47 -0700</creation_ts>
          <short_desc>[WK2] Avoid taking a useless / blank navigation snapshot when navigating after restoring sessionState</short_desc>
          <delta_ts>2016-06-28 10:39:11 -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>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>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>159216</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1105606</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-29 18:55:47 -0700</bug_when>
    <thetext>We currently take a useless / blank navigation snapshot when navigating after restoring the back / forward list from a sessionState object. This is because we get a current HistoryItem from the sessionState which we have never really navigated to. We then take a navigation snapshot for the current HistoryItem when navigating away as we usually do. However, in this case, the HistoryItem was imported and there is nothing to snapshot.

Taking this snapshot is not only wasteful, it can also potentially overwrite the snapshot that was set by the client using WKWebView._saveBackForwardSnapshotForItem() SPI.

To address the problem, my proposal is to suppress navigation snapshotting after restoring the back / forward list from a session state until the next committed load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105607</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-29 18:56:03 -0700</bug_when>
    <thetext>rdar://problem/21584231</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105608</commentid>
    <comment_count>2</comment_count>
      <attachid>255805</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-29 19:13:45 -0700</bug_when>
    <thetext>Created attachment 255805
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105731</commentid>
    <comment_count>3</comment_count>
      <attachid>255805</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-30 11:09:13 -0700</bug_when>
    <thetext>Comment on attachment 255805
Patch

Clearing flags on attachment: 255805

Committed r186122: &lt;http://trac.webkit.org/changeset/186122&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105732</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-30 11:09:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255805</attachid>
            <date>2015-06-29 19:13:45 -0700</date>
            <delta_ts>2015-06-30 11:09:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146446-20150629191255.patch</filename>
            <type>text/plain</type>
            <size>4463</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGNkNDRlYTI0OWFlZDE4
NzcwOWE5MmE3NzAzNjJhOWRlY2JjNTQ5Ni4uNTVmODk5YmY4MmZmMzY4MzI0NDYzNGFlNjZhMTMz
YWExZWEzOWM0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1IEBACiAyMDE1LTA2LTI5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgW1dLMl0gQXZvaWQgdGFraW5n
IGEgdXNlbGVzcyAvIGJsYW5rIG5hdmlnYXRpb24gc25hcHNob3Qgd2hlbiBuYXZpZ2F0aW5nIGFm
dGVyIHJlc3RvcmluZyBzZXNzaW9uU3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0NjQ0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE1ODQy
MzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ug
Y3VycmVudGx5IHRha2UgYSB1c2VsZXNzIC8gYmxhbmsgbmF2aWdhdGlvbiBzbmFwc2hvdCB3aGVu
IG5hdmlnYXRpbmcKKyAgICAgICAgYWZ0ZXIgcmVzdG9yaW5nIHRoZSBiYWNrIC8gZm9yd2FyZCBs
aXN0IGZyb20gYSBzZXNzaW9uU3RhdGUgb2JqZWN0LgorICAgICAgICBUaGlzIGlzIGJlY2F1c2Ug
d2UgZ2V0IGEgY3VycmVudCBIaXN0b3J5SXRlbSBmcm9tIHRoZSBzZXNzaW9uU3RhdGUKKyAgICAg
ICAgd2hpY2ggd2UgaGF2ZSBuZXZlciByZWFsbHkgbmF2aWdhdGVkIHRvLiBXZSB0aGVuIHRha2Ug
YSBuYXZpZ2F0aW9uCisgICAgICAgIHNuYXBzaG90IGZvciB0aGUgY3VycmVudCBIaXN0b3J5SXRl
bSB3aGVuIG5hdmlnYXRpbmcgYXdheSBhcyB3ZSB1c3VhbGx5CisgICAgICAgIGRvLiBIb3dldmVy
LCBpbiB0aGlzIGNhc2UsIHRoZSBIaXN0b3J5SXRlbSB3YXMgaW1wb3J0ZWQgYW5kIHRoZXJlIGlz
CisgICAgICAgIG5vdGhpbmcgdG8gc25hcHNob3QuCisKKyAgICAgICAgVGFraW5nIHRoaXMgc25h
cHNob3QgaXMgbm90IG9ubHkgd2FzdGVmdWwsIGl0IGNhbiBhbHNvIHBvdGVudGlhbGx5CisgICAg
ICAgIG92ZXJ3cml0ZSB0aGUgc25hcHNob3QgdGhhdCB3YXMgc2V0IGJ5IHRoZSBjbGllbnQgdXNp
bmcKKyAgICAgICAgV0tXZWJWaWV3Ll9zYXZlQmFja0ZvcndhcmRTbmFwc2hvdEZvckl0ZW0oKSBT
UEkuCisKKyAgICAgICAgVG8gYWRkcmVzcyB0aGUgcHJvYmxlbSwgdGhpcyBwYXRjaCBzdXBwcmVz
c2VzIG5hdmlnYXRpb24gc25hcHNob3R0aW5nCisgICAgICAgIGFmdGVyIHJlc3RvcmluZyB0aGUg
YmFjayAvIGZvcndhcmQgbGlzdCBmcm9tIGEgc2Vzc2lvbiBzdGF0ZSBhbmQgdW50aWwKKyAgICAg
ICAgdGhlIG5leHQgbG9hZCBpcyBjb21taXR0ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZWNvcmROYXZp
Z2F0aW9uU25hcHNob3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlc3RvcmVG
cm9tU2Vzc2lvblN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDb21t
aXRMb2FkRm9yRnJhbWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwor
MjAxNS0wNi0yOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFtX
SzJdW2lPU10gU3dpcGUgZ2VzdHVyZSBzbmFwc2hvdCBzdGF5cyB1cCBmb3IgMyBzZWNvbmRzIHdo
ZW4gc3dpcGluZyBiYWNrIGFmdGVyIHRvcC1oaXQgbmF2aWdhdGlvbgogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NDE1CiAgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yMTU5NTgwMT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKaW5kZXggY2ViMmE3N2RlMWIxZDYxM2RiODNhYjgwMDEwZDdkYzRmYjg5OThjMi4uNTk2NzFj
YTQ0ZmU1YzgxN2RjYmEzNTY5Y2UzODc2Mjk2Mjk3MGU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEwNDksNyArMTA0OSw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpyZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoKQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6
cmVjb3JkTmF2aWdhdGlvblNuYXBzaG90KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mIGl0ZW0pCiB7
Ci0gICAgaWYgKCFtX3Nob3VsZFJlY29yZE5hdmlnYXRpb25TbmFwc2hvdHMpCisgICAgaWYgKCFt
X3Nob3VsZFJlY29yZE5hdmlnYXRpb25TbmFwc2hvdHMgfHwgbV9zdXBwcmVzc05hdmlnYXRpb25T
bmFwc2hvdHRpbmcpCiAgICAgICAgIHJldHVybjsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAt
MjE0Myw2ICsyMTQzLDEwIEBAIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+IFdlYlBhZ2VQcm94eTo6
cmVzdG9yZUZyb21TZXNzaW9uU3RhdGUoU2Vzc2lvblN0YXRlIHNlc3NpCiAgICAgICAgICAgICBw
cm9jZXNzKCkucmVnaXN0ZXJOZXdXZWJCYWNrRm9yd2FyZExpc3RJdGVtKGVudHJ5LmdldCgpKTsK
IAogICAgICAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6UmVzdG9yZVNlc3Np
b24obV9iYWNrRm9yd2FyZExpc3QtPml0ZW1TdGF0ZXMoKSksIG1fcGFnZUlEKTsKKworICAgICAg
ICAvLyBUaGUgYmFjayAvIGZvcndhcmQgbGlzdCB3YXMgcmVzdG9yZWQgZnJvbSBhIHNlc3Npb25T
dGF0ZSBzbyB3ZSBkb24ndCB3YW50IHRvIHNuYXBzaG90IHRoZSBjdXJyZW50CisgICAgICAgIC8v
IHBhZ2Ugd2hlbiBuYXZpZ2F0aW5nIGF3YXkuIFN1cHByZXNzIG5hdmlnYXRpb24gc25hcHNob3R0
aW5nIHVudGlsIHRoZSBuZXh0IGxvYWQgaGFzIGNvbW1pdHRlZC4KKyAgICAgICAgbV9zdXBwcmVz
c05hdmlnYXRpb25TbmFwc2hvdHRpbmcgPSB0cnVlOwogICAgIH0KIAogICAgIC8vIEZJWE1FOiBO
YXZpZ2F0aW5nIHNob3VsZCBiZSBzZXBhcmF0ZSBmcm9tIHN0YXRlIHJlc3RvcmF0aW9uLgpAQCAt
MjkzNiw5ICsyOTQwLDEwIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9yRnJh
bWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbmF2aWdhdGlvbklECiAgICAgYXV0byB0cmFu
c2FjdGlvbiA9IG1fcGFnZUxvYWRTdGF0ZS50cmFuc2FjdGlvbigpOwogICAgIGJvb2wgbWFya1Bh
Z2VJbnNlY3VyZSA9IG1fdHJlYXRzU0hBMUNlcnRpZmljYXRlc0FzSW5zZWN1cmUgJiYgY2VydGlm
aWNhdGVJbmZvLmNvbnRhaW5zTm9uUm9vdFNIQTFTaWduZWRDZXJ0aWZpY2F0ZSgpOwogICAgIFJl
ZjxXZWJDZXJ0aWZpY2F0ZUluZm8+IHdlYkNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRl
SW5mbzo6Y3JlYXRlKGNlcnRpZmljYXRlSW5mbyk7Ci0gICAgaWYgKGZyYW1lLT5pc01haW5GcmFt
ZSgpKQorICAgIGlmIChmcmFtZS0+aXNNYWluRnJhbWUoKSkgewogICAgICAgICBtX3BhZ2VMb2Fk
U3RhdGUuZGlkQ29tbWl0TG9hZCh0cmFuc2FjdGlvbiwgd2ViQ2VydGlmaWNhdGVJbmZvLCBtYXJr
UGFnZUluc2VjdXJlKTsKLSAgICBlbHNlIGlmIChtYXJrUGFnZUluc2VjdXJlKQorICAgICAgICBt
X3N1cHByZXNzTmF2aWdhdGlvblNuYXBzaG90dGluZyA9IGZhbHNlOworICAgIH0gZWxzZSBpZiAo
bWFya1BhZ2VJbnNlY3VyZSkKICAgICAgICAgbV9wYWdlTG9hZFN0YXRlLmRpZERpc3BsYXlPclJ1
bkluc2VjdXJlQ29udGVudCh0cmFuc2FjdGlvbik7CiAKICNpZiBVU0UoQVBQS0lUKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDAyNmE1MjAxMWQ4NThmNzFmYjRh
YjdlZTIxNmQ3NzUxZDZhNmY4MmYuLjU1YjYwYjkxNGY4MDFhZTQzYzBiY2JkODFkZmRlNTdkMmMx
OTE5MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE3MzMs
NiArMTczMyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dhaXRpbmdGb3JEaWRVcGRhdGVWaWV3
U3RhdGU7CiAKICAgICBib29sIG1fc2hvdWxkU2NhbGVWaWV3VG9GaXREb2N1bWVudCB7IGZhbHNl
IH07CisgICAgYm9vbCBtX3N1cHByZXNzTmF2aWdhdGlvblNuYXBzaG90dGluZyB7IGZhbHNlIH07
CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtX3Rl
bXBvcmFyeVBERkZpbGVzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>