Title: [157776] trunk/Source/WebKit2
- Revision
- 157776
- Author
- m...@apple.com
- Date
- 2013-10-21 22:16:38 -0700 (Mon, 21 Oct 2013)
Log Message
[Cocoa] Add load delegate method for didChangeBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=123136
Reviewed by Anders Carlsson.
* UIProcess/API/mac/WKBrowsingContextController.mm:
(didChangeBackForwardList): Added. Calls new delegate method.
(setUpPageLoaderClient): Hook up new client function.
* UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declare new delegate method.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (157775 => 157776)
--- trunk/Source/WebKit2/ChangeLog 2013-10-22 04:42:54 UTC (rev 157775)
+++ trunk/Source/WebKit2/ChangeLog 2013-10-22 05:16:38 UTC (rev 157776)
@@ -1,3 +1,15 @@
+2013-10-21 Dan Bernstein <m...@apple.com>
+
+ [Cocoa] Add load delegate method for didChangeBackForwardList
+ https://bugs.webkit.org/show_bug.cgi?id=123136
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/mac/WKBrowsingContextController.mm:
+ (didChangeBackForwardList): Added. Calls new delegate method.
+ (setUpPageLoaderClient): Hook up new client function.
+ * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declare new delegate method.
+
2013-10-21 Mark Rowe <mr...@apple.com>
Add a version of WebKitSystemInterface for Mavericks.
Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm (157775 => 157776)
--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm 2013-10-22 04:42:54 UTC (rev 157775)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm 2013-10-22 05:16:38 UTC (rev 157776)
@@ -30,8 +30,10 @@
#import "ObjCObjectGraph.h"
#import "WKBackForwardListInternal.h"
+#import "WKBackForwardListItemInternal.h"
#import "WKErrorCF.h"
#import "WKFrame.h"
+#import "WKNSArray.h"
#import "WKPagePrivate.h"
#import "WKRetainPtr.h"
#import "WKStringCF.h"
@@ -488,6 +490,19 @@
[browsingContext.loadDelegate browsingContextControllerDidFinishProgress:browsingContext];
}
+static void didChangeBackForwardList(WKPageRef page, WKBackForwardListItemRef addedItem, WKArrayRef removedItems, const void *clientInfo)
+{
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if (![browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidChangedBackForwardList:addedItem:removedItems:)])
+ return;
+
+ WKBackForwardListItem *added = addedItem ? [[WKBackForwardListItem alloc] _initWithItem:*toImpl(addedItem)] : nil;
+ NSArray *removed = removedItems ? [[WKNSArray alloc] web_initWithImmutableArray:*toImpl(removedItems)] : nil;
+ [browsingContext.loadDelegate browsingContextControllerDidChangedBackForwardList:browsingContext addedItem:added removedItems:removed];
+ [added release];
+ [removed release];
+}
+
static void setUpPageLoaderClient(WKBrowsingContextController *browsingContext, WKPageRef pageRef)
{
WKPageLoaderClient loaderClient;
@@ -506,6 +521,8 @@
loaderClient.didChangeProgress = didChangeProgress;
loaderClient.didFinishProgress = didFinishProgress;
+ loaderClient.didChangeBackForwardList = didChangeBackForwardList;
+
WKPageSetPageLoaderClient(pageRef, &loaderClient);
}
Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h (157775 => 157776)
--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h 2013-10-22 04:42:54 UTC (rev 157775)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h 2013-10-22 05:16:38 UTC (rev 157776)
@@ -52,4 +52,6 @@
- (void)browsingContextController:(WKBrowsingContextController *)sender estimatedProgressChangedTo:(double)estimatedProgress;
- (void)browsingContextControllerDidFinishProgress:(WKBrowsingContextController *)sender;
+- (void)browsingContextControllerDidChangedBackForwardList:(WKBrowsingContextController *)sender addedItem:(WKBackForwardListItem *)addedItem removedItems:(NSArray *)removedItems;
+
@end
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes