Changeset 166606 in webkit
- Timestamp:
- Apr 1, 2014 1:35:47 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r166605 r166606 1 2014-04-01 Anders Carlsson <andersca@apple.com> 2 3 Pass a WKNavigationAction to the create UIDelegate method 4 https://bugs.webkit.org/show_bug.cgi?id=131053 5 6 Reviewed by Sam Weinig. 7 8 * UIProcess/API/Cocoa/WKUIDelegate.h: 9 * UIProcess/Cocoa/UIClient.h: 10 * UIProcess/Cocoa/UIClient.mm: 11 (WebKit::UIClient::setDelegate): 12 (WebKit::UIClient::createNewPage): 13 1 14 2014-04-01 Benjamin Poulain <bpoulain@apple.com> 2 15 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegate.h
r166270 r166606 37 37 @optional 38 38 39 // FIXME: Maybe we should pass a WKNavigationAction instead of request and frame. 40 // The C SPI has the key modifiers and mouse button as well. 41 - (WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration request:(NSURLRequest *)request windowFeatures:(WKWindowFeatures *)windowFeatures initiatedByFrame:(WKFrameInfo *)frame; 39 - (WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures; 42 40 43 41 - (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)())completionHandler; -
trunk/Source/WebKit2/UIProcess/Cocoa/UIClient.h
r166270 r166606 62 62 63 63 struct { 64 bool webViewCreateWebViewWithConfiguration RequestWindowFeaturesInitiatedByFrame: 1;64 bool webViewCreateWebViewWithConfigurationForNavigationActionWindowFeatures : 1; 65 65 bool webViewRunJavaScriptAlertPanelWithMessageInitiatedByFrameCompletionHandler : 1; 66 66 bool webViewRunJavaScriptConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1; -
trunk/Source/WebKit2/UIProcess/Cocoa/UIClient.mm
r166270 r166606 30 30 31 31 #import "WKFrameInfoInternal.h" 32 #import "WKNavigationActionInternal.h" 32 33 #import "WKWebViewConfigurationInternal.h" 33 34 #import "WKWebViewInternal.h" … … 55 56 m_delegate = delegate; 56 57 57 m_delegateMethods.webViewCreateWebViewWithConfiguration RequestWindowFeaturesInitiatedByFrame = [delegate respondsToSelector:@selector(webView:createWebViewWithConfiguration:request:windowFeatures:initiatedByFrame:)];58 m_delegateMethods.webViewCreateWebViewWithConfigurationForNavigationActionWindowFeatures = [delegate respondsToSelector:@selector(webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:)]; 58 59 m_delegateMethods.webViewRunJavaScriptAlertPanelWithMessageInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:)]; 59 60 m_delegateMethods.webViewRunJavaScriptConfirmPanelWithMessageInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:)]; … … 81 82 PassRefPtr<WebKit::WebPageProxy> UIClient::createNewPage(WebKit::WebPageProxy*, WebKit::WebFrameProxy* initiatingFrame, const WebCore::ResourceRequest& request, const WebCore::WindowFeatures& windowFeatures, WebKit::WebEvent::Modifiers, WebKit::WebMouseEvent::Button) 82 83 { 83 if (!m_delegateMethods.webViewCreateWebViewWithConfiguration RequestWindowFeaturesInitiatedByFrame)84 if (!m_delegateMethods.webViewCreateWebViewWithConfigurationForNavigationActionWindowFeatures) 84 85 return nullptr; 85 86 … … 91 92 [configuration _setRelatedWebView:m_webView]; 92 93 93 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()]; 94 auto navigationAction = adoptNS([[WKNavigationAction alloc] init]); 95 96 // FIXME: Set a real navigation type. 97 [navigationAction setSourceFrame:adoptNS([[WKFrameInfo alloc] initWithWebFrameProxy:*initiatingFrame]).get()]; 98 [navigationAction setNavigationType:WKNavigationTypeOther]; 99 [navigationAction setRequest:request.nsURLRequest(WebCore::DoNotUpdateHTTPBody)]; 100 101 RetainPtr<WKWebView> webView = [delegate.get() webView:m_webView createWebViewWithConfiguration:configuration.get() forNavigationAction:navigationAction.get() windowFeatures:adoptNS([[WKWindowFeatures alloc] _initWithWindowFeatures:windowFeatures]).get()]; 94 102 95 103 if (!webView)
Note: See TracChangeset
for help on using the changeset viewer.