Title: [168593] trunk/Source/WebKit2
- Revision
- 168593
- Author
- [email protected]
- Date
- 2014-05-10 20:32:29 -0700 (Sat, 10 May 2014)
Log Message
Implement -forwardingTargetForSelector on WKScrollViewDelegateForwarder
https://bugs.webkit.org/show_bug.cgi?id=132790
<rdar://problem/16877802>
Reviewed by Dan Bernstein.
* UIProcess/ios/WKScrollView.mm:
(-[WKScrollViewDelegateForwarder forwardingTargetForSelector:]):
If only one of the delegates will respond to a selector,
we can return it from forwardingTargetForSelector: to avoid
NSInvocation overhead.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (168592 => 168593)
--- trunk/Source/WebKit2/ChangeLog 2014-05-11 03:02:04 UTC (rev 168592)
+++ trunk/Source/WebKit2/ChangeLog 2014-05-11 03:32:29 UTC (rev 168593)
@@ -1,3 +1,17 @@
+2014-05-10 Tim Horton <[email protected]>
+
+ Implement -forwardingTargetForSelector on WKScrollViewDelegateForwarder
+ https://bugs.webkit.org/show_bug.cgi?id=132790
+ <rdar://problem/16877802>
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/ios/WKScrollView.mm:
+ (-[WKScrollViewDelegateForwarder forwardingTargetForSelector:]):
+ If only one of the delegates will respond to a selector,
+ we can return it from forwardingTargetForSelector: to avoid
+ NSInvocation overhead.
+
2014-05-10 Dan Bernstein <[email protected]>
[Mac] Some targets that link or soft-link WebKit.framework don't depend on it
Modified: trunk/Source/WebKit2/UIProcess/ios/WKScrollView.mm (168592 => 168593)
--- trunk/Source/WebKit2/UIProcess/ios/WKScrollView.mm 2014-05-11 03:02:04 UTC (rev 168592)
+++ trunk/Source/WebKit2/UIProcess/ios/WKScrollView.mm 2014-05-11 03:32:29 UTC (rev 168593)
@@ -85,6 +85,18 @@
[super forwardInvocation:anInvocation];
}
+- (id)forwardingTargetForSelector:(SEL)aSelector
+{
+ BOOL internalDelegateWillRespond = [_internalDelegate respondsToSelector:aSelector];
+ BOOL externalDelegateWillRespond = [_externalDelegate respondsToSelector:aSelector];
+
+ if (internalDelegateWillRespond && !externalDelegateWillRespond)
+ return _internalDelegate;
+ if (externalDelegateWillRespond && !internalDelegateWillRespond)
+ return _externalDelegate;
+ return nil;
+}
+
@end
@implementation WKScrollView {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes