summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CyteKit/dispatchEvent.mm17
-rw-r--r--iPhonePrivate.h9
2 files changed, 26 insertions, 0 deletions
diff --git a/CyteKit/dispatchEvent.mm b/CyteKit/dispatchEvent.mm
index 277d89b..f0e79ad 100644
--- a/CyteKit/dispatchEvent.mm
+++ b/CyteKit/dispatchEvent.mm
@@ -74,3 +74,20 @@
}
@end
+
+MSHook(void, UIWebBrowserView$_webTouchEventsRecognized$, UIWebBrowserView *self, SEL _cmd, UIWebTouchEventsGestureRecognizer *recognizer) {
+ _UIWebBrowserView$_webTouchEventsRecognized$(self, _cmd, recognizer);
+
+ if ([recognizer type] == 8)
+ //if ([[recognizer _typeDescription] isEqualToString:@"WebEventTouchEnd"])
+ [self dispatchEvent:@"CydiaTouchEnd"];
+}
+
+__attribute__((__constructor__)) static void $() {
+ if (Class $UIWebBrowserView = objc_getClass("UIWebBrowserView")) {
+ if (Method method = class_getInstanceMethod($UIWebBrowserView, @selector(_webTouchEventsRecognized:))) {
+ _UIWebBrowserView$_webTouchEventsRecognized$ = reinterpret_cast<void (*)(UIWebBrowserView *, SEL, id)>(method_getImplementation(method));
+ method_setImplementation(method, reinterpret_cast<IMP>(&$UIWebBrowserView$_webTouchEventsRecognized$));
+ }
+ }
+}
diff --git a/iPhonePrivate.h b/iPhonePrivate.h
index e9df918..b5a5959 100644
--- a/iPhonePrivate.h
+++ b/iPhonePrivate.h
@@ -149,6 +149,15 @@ typedef enum {
+ (WebDefaultUIKitDelegate *) sharedUIKitDelegate;
@end
// }}}
+// @interface UIWeb* : * {{{
+@interface UIWebBrowserView : UIWebDocumentView
+@end
+
+@interface UIWebTouchEventsGestureRecognizer : UIGestureRecognizer
+- (int) type;
+- (NSString *) _typeDescription;
+@end
+// }}}
// @interface NS* (*) {{{
@interface NSMutableURLRequest (Apple)