Changeset 195623 in webkit
- Timestamp:
- Jan 26, 2016 2:22:14 PM (8 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r195607 r195623 1 2016-01-26 Anders Carlsson <andersca@apple.com> 2 3 Add a private WKUIDelegate method for getting a presenting view controller for a WKWebView on iOS 4 https://bugs.webkit.org/show_bug.cgi?id=153510 5 6 Reviewed by Dan Bernstein. 7 8 * UIProcess/API/APIUIClient.h: 9 (API::UIClient::presentingViewController): 10 * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: 11 * UIProcess/Cocoa/UIDelegate.h: 12 * UIProcess/Cocoa/UIDelegate.mm: 13 (WebKit::UIDelegate::setDelegate): 14 (WebKit::UIDelegate::UIClient::presentingViewController): 15 1 16 2016-01-26 Dean Jackson <dino@apple.com> 2 17 -
trunk/Source/WebKit2/UIProcess/API/APIUIClient.h
r194470 r195623 38 38 OBJC_CLASS NSArray; 39 39 OBJC_CLASS _WKActivatedElementInfo; 40 OBJC_CLASS UIViewController; 40 41 #endif 41 42 … … 162 163 virtual RetainPtr<NSArray> actionsForElement(_WKActivatedElementInfo *, RetainPtr<NSArray> defaultActions) { return defaultActions; } 163 164 virtual void didNotHandleTapAsClick(const WebCore::IntPoint&) { } 165 virtual UIViewController *presentingViewController() { return nullptr; } 164 166 #endif 165 167 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
r195574 r195623 84 84 - (UIViewController *)_webView:(WKWebView *)webView previewingViewControllerForElement:(_WKPreviewElementInfo *)elementInfo defaultActions:(NSArray<UIPreviewActionItem *> *)previewActions WK_AVAILABLE(NA, WK_IOS_TBA); 85 85 - (void)_webView:(WKWebView *)webView commitPreviewingViewController:(UIViewController *)previewingViewController WK_AVAILABLE(NA, WK_IOS_TBA); 86 87 - (UIViewController *)_presentingViewControllerForWebView:(WKWebView *)webView WK_AVAILABLE(NA, WK_IOS_TBA); 86 88 #else 87 89 - (NSMenu *)_webView:(WKWebView *)webView contextMenu:(NSMenu *)menu forElement:(_WKContextMenuElementInfo *)element WK_AVAILABLE(WK_MAC_TBA, NA); -
trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.h
r192397 r195623 94 94 virtual RetainPtr<NSArray> actionsForElement(_WKActivatedElementInfo *, RetainPtr<NSArray> defaultActions) override; 95 95 virtual void didNotHandleTapAsClick(const WebCore::IntPoint&) override; 96 virtual UIViewController *presentingViewController() override; 96 97 #endif 97 98 virtual void imageOrMediaDocumentSizeChanged(const WebCore::IntSize&) override; … … 122 123 bool webViewActionsForElementDefaultActions : 1; 123 124 bool webViewDidNotHandleTapAsClickAtPoint : 1; 125 bool presentingViewControllerForWebView : 1; 124 126 #endif 125 127 bool webViewImageOrMediaDocumentSizeChanged : 1; -
trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm
r194470 r195623 93 93 m_delegateMethods.webViewActionsForElementDefaultActions = [delegate respondsToSelector:@selector(_webView:actionsForElement:defaultActions:)]; 94 94 m_delegateMethods.webViewDidNotHandleTapAsClickAtPoint = [delegate respondsToSelector:@selector(_webView:didNotHandleTapAsClickAtPoint:)]; 95 m_delegateMethods.presentingViewControllerForWebView = [delegate respondsToSelector:@selector(_presentingViewControllerForWebView:)]; 95 96 #endif 96 97 m_delegateMethods.webViewImageOrMediaDocumentSizeChanged = [delegate respondsToSelector:@selector(_webView:imageOrMediaDocumentSizeChanged:)]; … … 381 382 [static_cast<id <WKUIDelegatePrivate>>(delegate) _webView:m_uiDelegate.m_webView didNotHandleTapAsClickAtPoint:point]; 382 383 } 384 385 UIViewController *UIDelegate::UIClient::presentingViewController() 386 { 387 if (!m_uiDelegate.m_delegateMethods.presentingViewControllerForWebView) 388 return nullptr; 389 390 auto delegate = m_uiDelegate.m_delegate.get(); 391 if (!delegate) 392 return nullptr; 393 394 return [static_cast<id <WKUIDelegatePrivate>>(delegate) _presentingViewControllerForWebView:m_uiDelegate.m_webView]; 395 } 396 383 397 #endif 384 398
Note: See TracChangeset
for help on using the changeset viewer.