]> git.saurik.com Git - cydia.git/blobdiff - CyteKit/WebViewController.mm
Added Swedish.lproj from Tommy (SwirlySpace, AB).
[cydia.git] / CyteKit / WebViewController.mm
index 08839728ee15fc75734b8dc99f723b24fbe5f4a8..520faa254bfe5c4257ffa88d62dbc0a7b73c86ac 100644 (file)
@@ -25,6 +25,9 @@ extern NSString * const kCAFilterNearest;
 #include <WebKit/DOMHTMLBodyElement.h>
 #include <WebKit/DOMRGBColor.h>
 
+#include <dlfcn.h>
+#include <objc/runtime.h>
+
 #define ForSaurik 0
 #define DefaultTimeout_ 120.0
 
@@ -37,14 +40,6 @@ extern NSString * const kCAFilterNearest;
 // XXX: centralize these special class things to some file or mechanism?
 static Class $MFMailComposeViewController;
 
-template <typename Type_>
-static inline void CYRelease(Type_ &value) {
-    if (value != nil) {
-        [value release];
-        value = nil;
-    }
-}
-
 float CYScrollViewDecelerationRateNormal;
 
 @interface WebView (Apple)
@@ -146,25 +141,8 @@ float CYScrollViewDecelerationRateNormal;
     NSLog(@"[CyteWebViewController dealloc]");
 #endif
 
-    [webview_ setDelegate:nil];
-
-    [indirect_ setDelegate:nil];
-    [indirect_ release];
-
-    if (challenge_ != nil)
-        [challenge_ release];
-
-    if (title_ != nil)
-        [title_ release];
-
     if ([loading_ count] != 0)
         [delegate_ releaseNetworkActivityIndicator];
-    [loading_ release];
-
-    [reloaditem_ release];
-    [loadingitem_ release];
-
-    [indicator_ release];
 
     [super dealloc];
 }
@@ -346,7 +324,7 @@ float CYScrollViewDecelerationRateNormal;
         return;
 
     if ([[error domain] isEqualToString:WebKitErrorDomain] && [error code] == WebKitErrorFrameLoadInterruptedByPolicyChange) {
-        request_ = (id) stage2_;
+        request_ = stage2_;
         stage1_ = nil;
         stage2_ = nil;
         return;
@@ -436,7 +414,7 @@ float CYScrollViewDecelerationRateNormal;
     if ([frame parentFrame] == nil)
         if (decision == CYWebPolicyDecisionUse)
             if (!error_) {
-                stage1_ = (id) request_;
+                stage1_ = request_;
                 request_ = request;
             }
 }
@@ -529,23 +507,27 @@ float CYScrollViewDecelerationRateNormal;
     if ([frame parentFrame] != nil)
         return;
 
-    if (title_ != nil)
-        [title_ autorelease];
-    title_ = [title retain];
+    title_ = title;
 
     [[self navigationItem] setTitle:title_];
 }
 
 - (void) webView:(WebView *)view didStartProvisionalLoadForFrame:(WebFrame *)frame {
+#if LogBrowser
+    NSLog(@"didStartProvisionalLoadForFrame:%@", frame);
+#endif
+
     [loading_ addObject:[NSValue valueWithNonretainedObject:frame]];
 
     if ([frame parentFrame] == nil) {
-        CYRelease(title_);
+        title_ = nil;
         custom_ = nil;
         style_ = nil;
         function_ = nil;
 
-        stage2_ = (id) stage1_;
+        allowsNavigationAction_ = true;
+
+        stage2_ = stage1_;
         stage1_ = nil;
 
         [self setHidesNavigationBar:NO];
@@ -621,7 +603,6 @@ float CYScrollViewDecelerationRateNormal;
             _nodefault
         }
 
-        [challenge_ release];
         challenge_ = nil;
 
         [alert dismissWithClickedButtonIndex:-1 animated:YES];
@@ -754,9 +735,9 @@ float CYScrollViewDecelerationRateNormal;
         allowsNavigationAction_ = true;
 
         class_ = _class;
-        loading_ = [[NSMutableSet alloc] initWithCapacity:5];
+        loading_ = [NSMutableSet setWithCapacity:5];
 
-        indirect_ = [[IndirectDelegate alloc] initWithDelegate:self];
+        indirect_ = [[[IndirectDelegate alloc] initWithDelegate:self] autorelease];
 
         CGRect bounds([[self view] bounds]);
 
@@ -837,21 +818,21 @@ float CYScrollViewDecelerationRateNormal;
 
         [self setViewportWidth:width];
 
-        reloaditem_ = [[UIBarButtonItem alloc]
+        reloaditem_ = [[[UIBarButtonItem alloc]
             initWithTitle:UCLocalize("RELOAD")
             style:[self rightButtonStyle]
             target:self
             action:@selector(reloadButtonClicked)
-        ];
+        ] autorelease];
 
-        loadingitem_ = [[UIBarButtonItem alloc]
+        loadingitem_ = [[[UIBarButtonItem alloc]
             initWithTitle:@" "
             style:UIBarButtonItemStylePlain
             target:self
             action:@selector(reloadButtonClicked)
-        ];
+        ] autorelease];
 
-        indicator_ = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite]; 
+        indicator_ = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite] autorelease];
         [indicator_ setFrame:CGRectMake(15, 5, [indicator_ frame].size.width, [indicator_ frame].size.height)];
 
         UITableView *table([[[UITableView alloc] initWithFrame:bounds style:UITableViewStyleGrouped] autorelease]);
@@ -940,7 +921,7 @@ float CYScrollViewDecelerationRateNormal;
 }
 
 - (void) dispatchEvent:(NSString *)event {
-    [webview_ dispatchEvent:event];
+    [(CyteWebView *) webview_ dispatchEvent:event];
 }
 
 - (bool) hidesNavigationBar {