]> git.saurik.com Git - cydia.git/blobdiff - CyteKit/WebViewController.mm
Move a bunch of clearly shared logic into CyteKit.
[cydia.git] / CyteKit / WebViewController.mm
index 20838bf99ea099d5e0aaddac68dbaa0b881f313e..40b12001439dd9af3ce442dc7b89bbec7df87415 100644 (file)
@@ -19,6 +19,8 @@ extern NSString * const kCAFilterNearest;
 #include <dlfcn.h>
 #include <objc/runtime.h>
 
+#include "Substrate.hpp"
+
 #define ForSaurik 0
 #define DefaultTimeout_ 120.0
 
@@ -1297,3 +1299,29 @@ float CYScrollViewDecelerationRateNormal;
 }
 
 @end
+
+MSClassHook(WAKWindow)
+
+static CGSize $WAKWindow$screenSize(WAKWindow *self, SEL _cmd) {
+    CGSize size([[UIScreen mainScreen] bounds].size);
+    /*if ([$WAKWindow respondsToSelector:@selector(hasLandscapeOrientation)])
+        if ([$WAKWindow hasLandscapeOrientation])
+            std::swap(size.width, size.height);*/
+    return size;
+}
+
+static struct WAKWindow$screenSize { WAKWindow$screenSize() {
+    if ($WAKWindow != NULL)
+        if (Method method = class_getInstanceMethod($WAKWindow, @selector(screenSize)))
+            method_setImplementation(method, (IMP) &$WAKWindow$screenSize);
+} } WAKWindow$screenSize;;
+
+MSClassHook(NSUserDefaults)
+
+MSHook(id, NSUserDefaults$objectForKey$, NSUserDefaults *self, SEL _cmd, NSString *key) {
+    if ([key respondsToSelector:@selector(isEqualToString:)] && [key isEqualToString:@"WebKitLocalStorageDatabasePathPreferenceKey"])
+        return [NSString stringWithFormat:@"%@/%@/%@", NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject, NSBundle.mainBundle.bundleIdentifier, @"LocalStorage"];
+    return _NSUserDefaults$objectForKey$(self, _cmd, key);
+}
+
+CYHook(NSUserDefaults, objectForKey$, objectForKey:)