]> git.saurik.com Git - cydia.git/commitdiff
Correctly handle layout updates of background tabs.
authorJay Freeman (saurik) <saurik@saurik.com>
Thu, 24 Mar 2011 16:44:57 +0000 (09:44 -0700)
committerJay Freeman (saurik) <saurik@saurik.com>
Thu, 24 Mar 2011 16:44:57 +0000 (09:44 -0700)
CyteKit/WebView.mm
CyteKit/WebViewController.mm
iPhonePrivate.h

index a71e5c27b138da6a1737f2577e4e03ce507f3168..09c9c4082dd2d320de36744cf9542c24e6c1d4e7 100644 (file)
@@ -369,6 +369,14 @@ static void $UIWebViewWebViewDelegate$webViewClose$(UIWebViewWebViewDelegate *se
     else return nil;
 }
 
+- (void) setNeedsLayout {
+    [super setNeedsLayout];
+
+    WebFrame *frame([[[self _documentView] webView] mainFrame]);
+    if ([frame respondsToSelector:@selector(setNeedsLayout)])
+        [frame setNeedsLayout];
+}
+
 @end
 
 static void $UIWebViewWebViewDelegate$_clearUIWebView(UIWebViewWebViewDelegate *self, SEL sel) {
index 36c8177d417c94523227310bf287c724ce12c071..4d4d250ebf2359d5515efa6b0e7ecb8eac078e42 100644 (file)
@@ -1060,6 +1060,9 @@ float CYScrollViewDecelerationRateNormal;
     if ([self hidesNavigationBar])
         [self _setHidesNavigationBar:YES animated:animated];
 
+    // XXX: why isn't this evern called automatically?
+    [[self webView] setNeedsLayout];
+
     [self dispatchEvent:@"CydiaViewWillAppear"];
     [super viewWillAppear:animated];
 }
index fc85776df7fb1b438b2ba26e7fd363274e6cc9df..98f86b4e0160b78a68455b083aead077122274bf 100644 (file)
@@ -6,6 +6,7 @@
 #include <UIKit/UIKit.h>
 // }}}
 // #import <*> {{{
+#import <WebKit/WebFrame.h>
 #import <WebKit/WebPreferences.h>
 // }}}
 // typedef enum {*} *; {{{
@@ -341,6 +342,10 @@ typedef enum {
 @end
 // }}}
 // @interface Web* (*) {{{
+@interface WebFrame (Apple)
+- (void) setNeedsLayout;
+@end
+
 @interface WebPreferences (Apple)
 + (void) _setInitialDefaultTextEncodingToSystemEncoding;
 - (void) _setLayoutInterval:(NSInteger)interval;