<?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>146398</bug_id>
          
          <creation_ts>2015-06-28 13:02:34 -0700</creation_ts>
          <short_desc>[WK2][iOS] Add WKWebView private API to save a back/forward snapshot</short_desc>
          <delta_ts>2015-06-29 12:09:19 -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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1105297</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-28 13:02:34 -0700</bug_when>
    <thetext>Add WKWebView private API to save a back/forward snapshot so that the client can make sure a back/forward snapshot is available even when swapping WKWebView upon navigation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105298</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-28 13:02:47 -0700</bug_when>
    <thetext>rdar://problem/21584231</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105299</commentid>
    <comment_count>2</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-06-28 13:08:08 -0700</bug_when>
    <thetext>Is this something the existing session state API can do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105300</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-28 13:09:19 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Is this something the existing session state API can do?

I will check. I was trying to match the way we currently do this on Mac:

in WKViewPrivate.h
- (void)saveBackForwardSnapshotForItem:(WKBackForwardListItemRef)item;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105301</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-28 13:22:44 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Is this something the existing session state API can do?

Please see comment on radar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105302</commentid>
    <comment_count>5</comment_count>
      <attachid>255729</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-28 13:23:13 -0700</bug_when>
    <thetext>Created attachment 255729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105303</commentid>
    <comment_count>6</comment_count>
      <attachid>255729</attachid>
    <who name="">mitz</who>
    <bug_when>2015-06-28 13:26:28 -0700</bug_when>
    <thetext>Comment on attachment 255729
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=255729&amp;action=review

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:212
&gt; +- (void)_saveBackForwardSnapshotForItem:(WKBackForwardListItem *)item WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);

Can this be used on an item that isn’t the current item? What does it do in that case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105304</commentid>
    <comment_count>7</comment_count>
      <attachid>255729</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-06-28 13:30:44 -0700</bug_when>
    <thetext>Comment on attachment 255729
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=255729&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:212
&gt;&gt; +- (void)_saveBackForwardSnapshotForItem:(WKBackForwardListItem *)item WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
&gt; 
&gt; Can this be used on an item that isn’t the current item? What does it do in that case?

Yes, it can and it is the intended use. On Mac, we have both saveBackForwardSnapshotForItem(item) and saveBackForwardSnapshotForCurrentItem().

What it does in this case is take a snapshot of the current view and save it on the WKBackForwardListItem that is given. The WKBackForwardListItem being given in this case would be from another WKWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105452</commentid>
    <comment_count>8</comment_count>
      <attachid>255729</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-29 12:09:15 -0700</bug_when>
    <thetext>Comment on attachment 255729
Patch

Clearing flags on attachment: 255729

Committed r186077: &lt;http://trac.webkit.org/changeset/186077&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105454</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-29 12:09:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255729</attachid>
            <date>2015-06-28 13:23:13 -0700</date>
            <delta_ts>2015-06-29 12:09:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146398-20150628132224.patch</filename>
            <type>text/plain</type>
            <size>2396</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzEyZmZkNGMwMzA2ODkw
YzA5NDhiOGIxZTQxNjNiZjVlOGYxYzAxZC4uYmFiZTg3Njg1YTEzYTc3NDAxNWE4Y2VlNDRmY2Nl
OGY5YTA4M2QyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA2LTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl1baU9TXSBBZGQgV0tX
ZWJWaWV3IHByaXZhdGUgQVBJIHRvIHNhdmUgYSBiYWNrL2ZvcndhcmQgc25hcHNob3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjM5OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjE1ODQyMzE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIFdLV2ViVmlldyBwcml2YXRlIEFQSSB0byBzYXZlIGEg
YmFjay9mb3J3YXJkIHNuYXBzaG90IHNvIHRoYXQgdGhlCisgICAgICAgIGNsaWVudCBjYW4gbWFr
ZSBzdXJlIGEgYmFjay9mb3J3YXJkIHNuYXBzaG90IGlzIGF2YWlsYWJsZSBldmVuIHdoZW4KKyAg
ICAgICAgc3dhcHBpbmcgV0tXZWJWaWV3IHVwb24gbmF2aWdhdGlvbi4KKworICAgICAgICBUaGlz
IG1hdGNoZXMgdGhlIFdLVmlldy5zYXZlQmFja0ZvcndhcmRTbmFwc2hvdEZvckl0ZW0gQVBJIHdl
IGhhdmUgb24KKyAgICAgICAgTWFjLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBzYXZlQmFja0ZvcndhcmRTbmFwc2hv
dEZvckl0ZW06XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2
YXRlLmg6CisKIDIwMTUtMDYtMjYgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIE1ha2UgTmV0d29ya0NhY2hlOjp0cmF2ZXJzZSBmYXN0ZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggZWNlODk0ZGQy
MjFjNWY3YWU2NjE3MjRmOTJkNjlmOTI3NjU3OGY2Yy4uYjJjMWU3ODg3Y2QxZDcxOTM5MDQwYzIy
Y2NhNmVmY2JhNWM3N2E2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KQEAgLTIzMzksNiArMjMzOSwxMSBAQCAtICh2b2lkKV9oaWRlRmlu
ZFVJCiAgICAgX3BhZ2UtPmhpZGVGaW5kVUkoKTsKIH0KIAorLSAodm9pZClfc2F2ZUJhY2tGb3J3
YXJkU25hcHNob3RGb3JJdGVtOihXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKilpdGVtCit7CisgICAg
X3BhZ2UtPnJlY29yZE5hdmlnYXRpb25TbmFwc2hvdChpdGVtLl9pdGVtKTsKK30KKwogLSAoaWQg
PF9XS0Zvcm1EZWxlZ2F0ZT4pX2Zvcm1EZWxlZ2F0ZQogewogICAgIHJldHVybiBfZm9ybURlbGVn
YXRlLmdldEF1dG9yZWxlYXNlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCAzMmM1MzNkOGYyN2I1YmZiZjc0
ZDRiZTQ0ZmQ5NWY1YTYzMGNlZjNlLi5kMjE5MWQyMzNlNWNmOThlN2RmMzE2YTM1MDc4MmU4ZDdl
N2NiZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld1ByaXZhdGUuaApAQCAtMjA5LDYgKzIwOSw3IEBAIFdLX0VYVEVSTiBOU1N0cmlu
ZyAqIGNvbnN0IF9XS1Nob3VsZE9wZW5FeHRlcm5hbFVSTHNLZXkgV0tfQVZBSUxBQkxFKFdLX01B
Q19UQkEsCiAKIC0gKFdLTmF2aWdhdGlvbiAqKV9sb2FkUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICop
cmVxdWVzdCB3aXRoT3B0aW9uczooV0tfRElDVElPTkFSWShOU1N0cmluZyAqLCBpZCkgKilsb2Fk
T3B0aW9ucyBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CiAKKy0gKHZvaWQp
X3NhdmVCYWNrRm9yd2FyZFNuYXBzaG90Rm9ySXRlbTooV0tCYWNrRm9yd2FyZExpc3RJdGVtICop
aXRlbSBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RCQSk7CiBAZW5kCiAKICNlbmRp
Zgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>