]> git.saurik.com Git - cydia.git/commitdiff
I hate you Apple, and your tiny little iframes, too.
authorJay Freeman (saurik) <saurik@saurk.com>
Wed, 16 Sep 2009 20:46:06 +0000 (20:46 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Thu, 30 Sep 2010 07:13:59 +0000 (07:13 +0000)
Cydia.app/package.html
Cydia.app/package.js
Cydia.mm
control

index 317f41b2459ec0c2114f1bddd88879d3b51fec5e..5bd2f4c6e6c296e77a36890dbd1c678ca888b507 100644 (file)
@@ -9,6 +9,20 @@
     <script type="text/javascript" src="localize.js"></script>
     <base target="_blank"/>
 
     <script type="text/javascript" src="localize.js"></script>
     <base target="_blank"/>
 
+<script type="text/javascript">
+    var onframe = function(id, name) {
+        var node = document.getElementById(id);
+        var frame = window.frames[name];
+
+            try {
+                node.height = frame.document.body.scrollHeight;
+            } catch (e) {
+                node.height = 370;
+                node.width = 320;
+            }
+    };
+</script>
+
     <!--script type="text/javascript">
         var count = -1;
         var loaded = function() {
     <!--script type="text/javascript">
         var count = -1;
         var loaded = function() {
index 104bd8c6826273a52b57ccdf33142ec648152d3a..6ec06cf1c7a8d50f0f751f65bbd103bfef939959 100644 (file)
@@ -78,7 +78,16 @@ var special_ = function () {
             if (typeof value.notice == "undefined")
                 $(".notice").addClass("deleted");
             else
             if (typeof value.notice == "undefined")
                 $(".notice").addClass("deleted");
             else
-                $("#notice-src").src(value.notice);
+                $("#notice-src")[0].outerHTML = '<iframe' +
+                    ' class="notice"' +
+                    ' id="notice-src"' +
+                    ' frameborder="0"' +
+                    ' width="320"' +
+                    ' height="0"' +
+                    ' target="_top"' +
+                    ' src="' + $.xml(value.notice) + '"' +
+                    ' onload="onframe(' + "'notice-src', 'notice'" + ')"' +
+                '></iframe>';
 
             if (typeof value.rating == "undefined")
                 $(".rating").addClass("deleted");
 
             if (typeof value.rating == "undefined")
                 $(".rating").addClass("deleted");
@@ -201,7 +210,17 @@ var special_ = function () {
         $(".depiction").addClass("deleted");
     else {
         $(".description").addClass("deleted");
         $(".depiction").addClass("deleted");
     else {
         $(".description").addClass("deleted");
-        $("#depiction-src").src(depiction);
+
+        $("#depiction-src")[0].outerHTML = '<iframe' +
+            ' class="depiction"' +
+            ' id="depiction-src"' +
+            ' frameborder="0"' +
+            ' width="320"' +
+            ' height="0"' +
+            ' target="_top"' +
+            ' src="' + $.xml(depiction) + '"' +
+            ' onload="onframe(' + "'depiction-src', 'depiction'" + ')"' +
+        '></iframe>';
     }
 
     var description = package.longDescription;
     }
 
     var description = package.longDescription;
@@ -308,6 +327,7 @@ var special = function () {
         ' width="320"' +
         ' height="0"' +
         ' target="_top"' +
         ' width="320"' +
         ' height="0"' +
         ' target="_top"' +
+        ' onload="onframe(' + "'notice-src', 'notice'" + ')"' +
     '></iframe>';
 
     var depiction = $("#depiction-src");
     '></iframe>';
 
     var depiction = $("#depiction-src");
@@ -319,7 +339,7 @@ var special = function () {
         ' width="320"' +
         ' height="0"' +
         ' target="_top"' +
         ' width="320"' +
         ' height="0"' +
         ' target="_top"' +
-        ' onload_="loaded()"' +
+        ' onload="onframe(' + "'depiction-src', 'depiction'" + ')"' +
     '></iframe>';
 
     special_();
     '></iframe>';
 
     special_();
index 51eea376ff630c7ecbe4704f5547da5b0b238193..857819a89b445048cc3ea7c17910e9e4e13a0420 100644 (file)
--- a/Cydia.mm
+++ b/Cydia.mm
@@ -189,56 +189,6 @@ void PrintTimes() {
 
 #define _end }
 /* }}} */
 
 #define _end }
 /* }}} */
-/* Objective-C Handle<> {{{ */
-template <typename Type_>
-class _H {
-    typedef _H<Type_> This_;
-
-  private:
-    Type_ *value_;
-
-    _finline void Retain_() {
-        if (value_ != nil)
-            [value_ retain];
-    }
-
-    _finline void Clear_() {
-        if (value_ != nil)
-            [value_ release];
-    }
-
-  public:
-    _finline _H(const This_ &rhs) :
-        value_(rhs.value_ == nil ? nil : [rhs.value_ retain])
-    {
-    }
-
-    _finline _H(Type_ *value = NULL, bool mended = false) :
-        value_(value)
-    {
-        if (!mended)
-            Retain_();
-    }
-
-    _finline ~_H() {
-        Clear_();
-    }
-
-    _finline operator Type_ *() const {
-        return value_;
-    }
-
-    _finline This_ &operator =(Type_ *value) {
-        if (value_ != value) {
-            Type_ *old(value_);
-            value_ = value;
-            Retain_();
-            if (old != nil)
-                [old release];
-        } return *this;
-    }
-};
-/* }}} */
 
 #define _pooled _H<NSAutoreleasePool> _pool([[NSAutoreleasePool alloc] init], true);
 
 
 #define _pooled _H<NSAutoreleasePool> _pool([[NSAutoreleasePool alloc] init], true);
 
@@ -426,15 +376,15 @@ static const CFStringCompareFlags LaxCompareFlags_ = kCFCompareCaseInsensitive |
 #define TraceLogging (1 && !ForRelease)
 #define HistogramInsertionSort (0 && !ForRelease)
 #define ProfileTimes (0 && !ForRelease)
 #define TraceLogging (1 && !ForRelease)
 #define HistogramInsertionSort (0 && !ForRelease)
 #define ProfileTimes (0 && !ForRelease)
-#define ForSaurik (0 && !ForRelease)
+#define ForSaurik (1 && !ForRelease)
 #define LogBrowser (0 && !ForRelease)
 #define TrackResize (0 && !ForRelease)
 #define LogBrowser (0 && !ForRelease)
 #define TrackResize (0 && !ForRelease)
-#define ManualRefresh (0 && !ForRelease)
+#define ManualRefresh (1 && !ForRelease)
 #define ShowInternals (0 && !ForRelease)
 #define IgnoreInstall (0 && !ForRelease)
 #define RecycleWebViews 0
 #define ShowInternals (0 && !ForRelease)
 #define IgnoreInstall (0 && !ForRelease)
 #define RecycleWebViews 0
-#define RecyclePackageViews 1
-#define AlwaysReload (0 && !ForRelease)
+#define RecyclePackageViews (1 && ForRelease)
+#define AlwaysReload (1 && !ForRelease)
 
 #if !TraceLogging
 #undef _trace
 
 #if !TraceLogging
 #undef _trace
@@ -3680,6 +3630,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
 + (NSString *) webScriptNameForSelector:(SEL)selector {
     if (selector == @selector(close))
         return @"close";
 + (NSString *) webScriptNameForSelector:(SEL)selector {
     if (selector == @selector(close))
         return @"close";
+    else if (selector == @selector(getInstalledPackages))
+        return @"getInstalledPackages";
     else if (selector == @selector(getPackageById:))
         return @"getPackageById";
     else if (selector == @selector(setAutoPopup:))
     else if (selector == @selector(getPackageById:))
         return @"getPackageById";
     else if (selector == @selector(setAutoPopup:))
@@ -3718,6 +3670,15 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
     return [feature isEqualToString:@"window.open"];
 }
 
     return [feature isEqualToString:@"window.open"];
 }
 
+- (NSArray *) getInstalledPackages {
+    NSArray *packages([[Database sharedInstance] packages]);
+    NSMutableArray *installed([NSMutableArray arrayWithCapacity:[packages count]]);
+    for (Package *package in installed)
+        if ([package installed] != nil)
+            [installed addObject:package];
+    return installed;
+}
+
 - (Package *) getPackageById:(NSString *)id {
     Package *package([[Database sharedInstance] packageWithName:id]);
     [package parse];
 - (Package *) getPackageById:(NSString *)id {
     Package *package([[Database sharedInstance] packageWithName:id]);
     [package parse];
diff --git a/control b/control
index 30ba83c89ef6f1e4d15aec0e6216723f106b58b7..7c9a0fe9cd3afe552df5c6e152fde6b879b8d8ba 100644 (file)
--- a/control
+++ b/control
@@ -3,7 +3,7 @@ Priority: required
 Section: Packaging
 Maintainer: Jay Freeman (saurik) <saurik@saurik.com>
 Architecture: iphoneos-arm
 Section: Packaging
 Maintainer: Jay Freeman (saurik) <saurik@saurik.com>
 Architecture: iphoneos-arm
-Version: 1.0.3032-1
+Version: 1.0.3044-2
 Replaces: com.sosiphone.addcydia
 Depends: apr-lib, apt7-lib, apt7-key, darwintools, pcre, shell-cmds, system-cmds, essential
 Pre-Depends: dpkg (>= 1.14.25-8)
 Replaces: com.sosiphone.addcydia
 Depends: apr-lib, apt7-lib, apt7-key, darwintools, pcre, shell-cmds, system-cmds, essential
 Pre-Depends: dpkg (>= 1.14.25-8)