Title: [161292] trunk/Source/WebKit2
Revision
161292
Author
[email protected]
Date
2014-01-03 16:04:36 -0800 (Fri, 03 Jan 2014)

Log Message

[Cocoa] Expose session state API
https://bugs.webkit.org/show_bug.cgi?id=126463

Reviewed by Sam Weinig.

* UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new property and method.
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController sessionState]): Added. Calls WebPageProxy::sessionStateData.
(-[WKBrowsingContextController restoreFromSessionState:]): Added. Calls
WebPageProxy::restoreFromSessionState.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (161291 => 161292)


--- trunk/Source/WebKit2/ChangeLog	2014-01-04 00:03:49 UTC (rev 161291)
+++ trunk/Source/WebKit2/ChangeLog	2014-01-04 00:04:36 UTC (rev 161292)
@@ -1,3 +1,16 @@
+2014-01-03  Dan Bernstein  <[email protected]>
+
+        [Cocoa] Expose session state API
+        https://bugs.webkit.org/show_bug.cgi?id=126463
+
+        Reviewed by Sam Weinig.
+
+        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new property and method.
+        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
+        (-[WKBrowsingContextController sessionState]): Added. Calls WebPageProxy::sessionStateData.
+        (-[WKBrowsingContextController restoreFromSessionState:]): Added. Calls
+        WebPageProxy::restoreFromSessionState.
+
 2014-01-03  Gavin Barraclough  <[email protected]>
 
         Remove SPI, user default for disabling process suppression

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.h (161291 => 161292)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.h	2014-01-04 00:03:49 UTC (rev 161291)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.h	2014-01-04 00:04:36 UTC (rev 161292)
@@ -111,6 +111,9 @@
 
 @property(readonly) WKBackForwardList *backForwardList;
 
+@property (readonly) NSData *sessionState;
+- (void)restoreFromSessionState:(NSData *)sessionState;
+
 #pragma mark Active Load Introspection
 
 @property (readonly, getter=isLoading) BOOL loading;

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm (161291 => 161292)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm	2014-01-04 00:03:49 UTC (rev 161291)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm	2014-01-04 00:04:36 UTC (rev 161292)
@@ -42,6 +42,7 @@
 #import "WKFrame.h"
 #import "WKFramePolicyListener.h"
 #import "WKNSArray.h"
+#import "WKNSData.h"
 #import "WKNSError.h"
 #import "WKNSURLAuthenticationChallenge.h"
 #import "WKNSURLExtras.h"
@@ -331,6 +332,17 @@
     return wrapper(_page->backForwardList());
 }
 
+- (NSData *)sessionState
+{
+    return [wrapper(*_page->sessionStateData(nullptr, nullptr).leakRef()) autorelease];
+}
+
+- (void)restoreFromSessionState:(NSData *)sessionState
+{
+    [sessionState retain];
+    _page->restoreFromSessionStateData(API::Data::createWithoutCopying((const unsigned char*)sessionState.bytes, sessionState.length, releaseNSData, sessionState).get());
+}
+
 #pragma mark Active Load Introspection
 
 - (BOOL)isLoading
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to