Title: [166606] trunk/Source/WebKit2
- Revision
- 166606
- Author
- ander...@apple.com
- Date
- 2014-04-01 13:35:47 -0700 (Tue, 01 Apr 2014)
Log Message
Pass a WKNavigationAction to the create UIDelegate method
https://bugs.webkit.org/show_bug.cgi?id=131053
Reviewed by Sam Weinig.
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/Cocoa/UIClient.h:
* UIProcess/Cocoa/UIClient.mm:
(WebKit::UIClient::setDelegate):
(WebKit::UIClient::createNewPage):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (166605 => 166606)
--- trunk/Source/WebKit2/ChangeLog 2014-04-01 20:33:13 UTC (rev 166605)
+++ trunk/Source/WebKit2/ChangeLog 2014-04-01 20:35:47 UTC (rev 166606)
@@ -1,3 +1,16 @@
+2014-04-01 Anders Carlsson <ander...@apple.com>
+
+ Pass a WKNavigationAction to the create UIDelegate method
+ https://bugs.webkit.org/show_bug.cgi?id=131053
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/API/Cocoa/WKUIDelegate.h:
+ * UIProcess/Cocoa/UIClient.h:
+ * UIProcess/Cocoa/UIClient.mm:
+ (WebKit::UIClient::setDelegate):
+ (WebKit::UIClient::createNewPage):
+
2014-04-01 Benjamin Poulain <bpoul...@apple.com>
[iOS][WK2] Remove the two finger pan gesture recognizer until it is actually implemented
Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegate.h (166605 => 166606)
--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegate.h 2014-04-01 20:33:13 UTC (rev 166605)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegate.h 2014-04-01 20:35:47 UTC (rev 166606)
@@ -36,9 +36,7 @@
@optional
-// FIXME: Maybe we should pass a WKNavigationAction instead of request and frame.
-// The C SPI has the key modifiers and mouse button as well.
-- (WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration request:(NSURLRequest *)request windowFeatures:(WKWindowFeatures *)windowFeatures initiatedByFrame:(WKFrameInfo *)frame;
+- (WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures;
- (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)())completionHandler;
Modified: trunk/Source/WebKit2/UIProcess/Cocoa/UIClient.h (166605 => 166606)
--- trunk/Source/WebKit2/UIProcess/Cocoa/UIClient.h 2014-04-01 20:33:13 UTC (rev 166605)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/UIClient.h 2014-04-01 20:35:47 UTC (rev 166606)
@@ -61,7 +61,7 @@
WeakObjCPtr<id <WKUIDelegate> > m_delegate;
struct {
- bool webViewCreateWebViewWithConfigurationRequestWindowFeaturesInitiatedByFrame : 1;
+ bool webViewCreateWebViewWithConfigurationForNavigationActionWindowFeatures : 1;
bool webViewRunJavaScriptAlertPanelWithMessageInitiatedByFrameCompletionHandler : 1;
bool webViewRunJavaScriptConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1;
bool webViewRunJavaScriptTextInputPanelWithPromptDefaultTextInitiatedByFrameCompletionHandler : 1;
Modified: trunk/Source/WebKit2/UIProcess/Cocoa/UIClient.mm (166605 => 166606)
--- trunk/Source/WebKit2/UIProcess/Cocoa/UIClient.mm 2014-04-01 20:33:13 UTC (rev 166605)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/UIClient.mm 2014-04-01 20:35:47 UTC (rev 166606)
@@ -29,6 +29,7 @@
#if WK_API_ENABLED
#import "WKFrameInfoInternal.h"
+#import "WKNavigationActionInternal.h"
#import "WKWebViewConfigurationInternal.h"
#import "WKWebViewInternal.h"
#import "WKWindowFeaturesInternal.h"
@@ -54,7 +55,7 @@
{
m_delegate = delegate;
- m_delegateMethods.webViewCreateWebViewWithConfigurationRequestWindowFeaturesInitiatedByFrame = [delegate respondsToSelector:@selector(webView:createWebViewWithConfiguration:request:windowFeatures:initiatedByFrame:)];
+ m_delegateMethods.webViewCreateWebViewWithConfigurationForNavigationActionWindowFeatures = [delegate respondsToSelector:@selector(webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:)];
m_delegateMethods.webViewRunJavaScriptAlertPanelWithMessageInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:)];
m_delegateMethods.webViewRunJavaScriptConfirmPanelWithMessageInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:)];
m_delegateMethods.webViewRunJavaScriptTextInputPanelWithPromptDefaultTextInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:)];
@@ -80,7 +81,7 @@
PassRefPtr<WebKit::WebPageProxy> UIClient::createNewPage(WebKit::WebPageProxy*, WebKit::WebFrameProxy* initiatingFrame, const WebCore::ResourceRequest& request, const WebCore::WindowFeatures& windowFeatures, WebKit::WebEvent::Modifiers, WebKit::WebMouseEvent::Button)
{
- if (!m_delegateMethods.webViewCreateWebViewWithConfigurationRequestWindowFeaturesInitiatedByFrame)
+ if (!m_delegateMethods.webViewCreateWebViewWithConfigurationForNavigationActionWindowFeatures)
return nullptr;
auto delegate = m_delegate.get();
@@ -90,8 +91,15 @@
auto configuration = adoptNS([m_webView->_configuration copy]);
[configuration _setRelatedWebView:m_webView];
- WKWebView *webView = [delegate webView:m_webView createWebViewWithConfiguration:configuration.get() request:request.nsURLRequest(WebCore::DoNotUpdateHTTPBody) windowFeatures:adoptNS([[WKWindowFeatures alloc] _initWithWindowFeatures:windowFeatures]).get() initiatedByFrame:adoptNS([[WKFrameInfo alloc] initWithWebFrameProxy:*initiatingFrame]).get()];
+ auto navigationAction = adoptNS([[WKNavigationAction alloc] init]);
+ // FIXME: Set a real navigation type.
+ [navigationAction setSourceFrame:adoptNS([[WKFrameInfo alloc] initWithWebFrameProxy:*initiatingFrame]).get()];
+ [navigationAction setNavigationType:WKNavigationTypeOther];
+ [navigationAction setRequest:request.nsURLRequest(WebCore::DoNotUpdateHTTPBody)];
+
+ RetainPtr<WKWebView> webView = [delegate.get() webView:m_webView createWebViewWithConfiguration:configuration.get() forNavigationAction:navigationAction.get() windowFeatures:adoptNS([[WKWindowFeatures alloc] _initWithWindowFeatures:windowFeatures]).get()];
+
if (!webView)
return nullptr;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes