Title: [163997] trunk/Source/WebKit2
Revision
163997
Author
[email protected]
Date
2014-02-12 16:17:49 -0800 (Wed, 12 Feb 2014)

Log Message

Add destinationFrame property to WKNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=128700

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction destinationFrame]):
(-[WKNavigationAction setDestinationFrame:]):
* UIProcess/API/Cocoa/WKNavigationActionInternal.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (163996 => 163997)


--- trunk/Source/WebKit2/ChangeLog	2014-02-12 23:57:08 UTC (rev 163996)
+++ trunk/Source/WebKit2/ChangeLog	2014-02-13 00:17:49 UTC (rev 163997)
@@ -1,5 +1,20 @@
 2014-02-12  Anders Carlsson  <[email protected]>
 
+        Add destinationFrame property to WKNavigationAction
+        https://bugs.webkit.org/show_bug.cgi?id=128700
+
+        Reviewed by Tim Horton.
+
+        * UIProcess/API/Cocoa/WKNavigationAction.h:
+        * UIProcess/API/Cocoa/WKNavigationAction.mm:
+        (-[WKNavigationAction destinationFrame]):
+        (-[WKNavigationAction setDestinationFrame:]):
+        * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
+        * UIProcess/Cocoa/NavigationState.mm:
+        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
+
+2014-02-12  Anders Carlsson  <[email protected]>
+
         Forward declare WKNavigation in WKNavigationDelegate.h
         https://bugs.webkit.org/show_bug.cgi?id=128699
 

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationAction.h (163996 => 163997)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationAction.h	2014-02-12 23:57:08 UTC (rev 163996)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationAction.h	2014-02-13 00:17:49 UTC (rev 163997)
@@ -43,6 +43,7 @@
 @interface WKNavigationAction : NSObject
 
 @property (nonatomic, readonly) WKFrameInfo *sourceFrame;
+@property (nonatomic, readonly) WKFrameInfo *destinationFrame;
 
 @property (nonatomic, readonly) WKNavigationType navigationType;
 @property (nonatomic, readonly) NSURLRequest *request;

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationAction.mm (163996 => 163997)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationAction.mm	2014-02-12 23:57:08 UTC (rev 163996)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationAction.mm	2014-02-13 00:17:49 UTC (rev 163997)
@@ -32,6 +32,7 @@
 
 @implementation WKNavigationAction {
     RetainPtr<WKFrameInfo> _sourceFrame;
+    RetainPtr<WKFrameInfo> _destinationFrame;
     RetainPtr<NSURLRequest> _request;
 }
 
@@ -45,6 +46,16 @@
     _sourceFrame = sourceFrame;
 }
 
+- (WKFrameInfo *)destinationFrame
+{
+    return _destinationFrame.get();
+}
+
+- (void)setDestinationFrame:(WKFrameInfo *)destinationFrame
+{
+    _destinationFrame = destinationFrame;
+}
+
 - (NSURLRequest *)request
 {
     return _request.get();

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h (163996 => 163997)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h	2014-02-12 23:57:08 UTC (rev 163996)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h	2014-02-13 00:17:49 UTC (rev 163997)
@@ -30,6 +30,7 @@
 @interface WKNavigationAction ()
 
 @property (nonatomic, readwrite, strong) WKFrameInfo *sourceFrame;
+@property (nonatomic, readwrite, strong) WKFrameInfo *destinationFrame;
 
 @property (nonatomic, readwrite) WKNavigationType navigationType;
 @property (nonatomic, readwrite, copy) NSURLRequest *request;

Modified: trunk/Source/WebKit2/UIProcess/Cocoa/NavigationState.mm (163996 => 163997)


--- trunk/Source/WebKit2/UIProcess/Cocoa/NavigationState.mm	2014-02-12 23:57:08 UTC (rev 163996)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/NavigationState.mm	2014-02-13 00:17:49 UTC (rev 163997)
@@ -143,9 +143,14 @@
     // FIXME: Set up the navigation action object.
     auto navigationAction = adoptNS([[WKNavigationAction alloc] init]);
 
+    if (destinationFrame)
+        [navigationAction setDestinationFrame:adoptNS([[WKFrameInfo alloc] initWithWebFrameProxy:*destinationFrame]).get()];
+
     if (sourceFrame) {
-        auto frameInfo = adoptNS([[WKFrameInfo alloc] initWithWebFrameProxy:*sourceFrame]);
-        [navigationAction setSourceFrame:frameInfo.get()];
+        if (sourceFrame == destinationFrame)
+            [navigationAction setSourceFrame:[navigationAction destinationFrame]];
+        else
+            [navigationAction setDestinationFrame:adoptNS([[WKFrameInfo alloc] initWithWebFrameProxy:*sourceFrame]).get()];
     }
 
     [navigationAction setNavigationType:toWKNavigationType(navigationActionData.navigationType)];
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to