#define ShowInternals (0 && !ForRelease)
#define IgnoreInstall (0 && !ForRelease)
#define RecycleWebViews 0
+#define RecyclePackageViews 0
#define AlwaysReload (1 && !ForRelease)
#if !TraceLogging
- (Address *) author {
if (author$_ == nil) {
+_trace();
if (author_.empty())
return nil;
+_trace();
author$_ = [[Address addressWithString:author_] retain];
+_trace();
} return author$_;
}
ManageView *manage_;
SearchView *search_;
+#if RecyclePackageViews
NSMutableArray *details_;
+#endif
}
@end
- (void) setPackageView:(PackageView *)view {
WebThreadLock();
[view setPackage:nil];
+#if RecyclePackageViews
if ([details_ count] < 3)
[details_ addObject:view];
+#endif
WebThreadUnlock();
}
}
- (PackageView *) packageView {
+#if RecyclePackageViews
PackageView *view;
size_t count([details_ count]);
}
return view;
+#else
+ return [self _packageView];
+#endif
}
- (void) finish {
withClass:[ManageView class]
] retain];
+#if RecyclePackageViews
details_ = [[NSMutableArray alloc] initWithCapacity:4];
[details_ addObject:[self _packageView]];
[details_ addObject:[self _packageView]];
+#endif
PrintTimes();
}
- (void) applicationDidFinishLaunching:(id)unused {
+ [BrowserView _initialize];
+
_trace();
Font12_ = [[UIFont systemFontOfSize:12] retain];
Font12Bold_ = [[UIFont boldSystemFontOfSize:12] retain];
/*if (substrate && access("/Library/MobileSubstrate/MobileSubstrate.dylib", F_OK) == 0)
dlopen("/Library/MobileSubstrate/MobileSubstrate.dylib", RTLD_LAZY | RTLD_GLOBAL);*/
- if (access("/User", F_OK) != 0) {
+ if (access("/User", F_OK) != 0 || access("/tmp/.cydia.fw", F_OK) != 0) {
+ unlink("/tmp/.cydia.fw");
_trace();
system("/usr/libexec/cydia/firmware.sh");
_trace();
version=$(sw_vers -productVersion)
-cat /var/lib/dpkg/status | while IFS= read -r line; do
+cat /var/lib/dpkg/status | {
+
+while IFS= read -r line; do
+ #echo "#${firmware+@}/${blank+@} ${line}" 1>&2
+
+ if [[ ${line} == '' && "${blank+@}" ]]; then
+ continue
+ else
+ unset blank
+ fi
+
if [[ ${line} == 'Package: firmware' ]]; then
firmware=
elif [[ ${line} == '' ]]; then
- unset firmware
- elif [[ "${firmware+@}" ]]; then
+ blank=
+ fi
+
+ if [[ "${firmware+@}" ]]; then
+ if [[ "${blank+@}" ]]; then
+ unset firmware
+ fi
continue
fi
+ #echo "${firmware+@}/${blank+@} ${line}" 1>&2
echo "${line}"
-done >/var/lib/dpkg/status_
+done
-cat >>/var/lib/dpkg/status_ <<EOF
+#echo "#${firmware+@}/${blank+@} EOF" 1>&2
+if ! [[ "${blank+@}" || "${firmware+@}" ]]; then
+ echo
+fi
+
+cat <<EOF
Package: firmware
Essential: yes
Status: install ok installed
EOF
+} >/var/lib/dpkg/status_
+
mv -f /var/lib/dpkg/status{_,}
echo "/." >/var/lib/dpkg/info/firmware.list
Class class_;
}
++ (void) _initialize;
+
- (void) alertSheet:(UIActionSheet *)sheet buttonClicked:(int)button;
- (void) loadURL:(NSURL *)url cachePolicy:(NSURLRequestCachePolicy)policy;
extern NSString * const kCAFilterNearest;
#include <WebCore/WebCoreThread.h>
+#include <WebKit/WebPreferences-WebPrivate.h>
#include "substrate.h"
/* }}} */
#endif
+#define ShowInternals 0
+#define LogBrowser 0
+
+#define lprintf(args...) fprintf(stderr, args)
+
@implementation BrowserView
#if ShowInternals
-#include "Internals.h"
+#include "UICaboodle/UCInternal.h"
#endif
++ (void) _initialize {
+ NSLog(@"INITIALIZING");
+ [WebView enableWebThread];
+
+ WebPreferences *preferences([WebPreferences standardPreferences]);
+ [preferences setCacheModel:WebCacheModelDocumentBrowser];
+ [preferences setOfflineWebApplicationCacheEnabled:YES];
+
+ [WebPreferences _setInitialDefaultTextEncodingToSystemEncoding];
+}
+
- (void) dealloc {
#if LogBrowser
NSLog(@"[BrowserView dealloc]");
[webview setScriptDebugDelegate:nil];
[webview setPolicyDelegate:nil];
- [webview setDownloadDelegate:nil];
-
/* XXX: these are set by UIWebDocumentView
+ [webview setDownloadDelegate:nil];
[webview _setFormDelegate:nil];
[webview _setUIKitDelegate:nil];
[webview setEditingDelegate:nil];*/
return false;
}
+- (void) formAssistant:(id)sender didBeginEditingFormNode:(id)node {
+}
+
+- (void) formAssistant:(id)sender didEndEditingFormNode:(id)node {
+ [self fixScroller];
+}
+
- (void) webViewShow:(WebView *)sender {
/* XXX: this is where I cry myself to sleep */
}
[webview_ setTileSize:CGSizeMake(webrect.size.width, 500)];
+ if ([webview_ respondsToSelector:@selector(enableReachability)])
+ [webview_ enableReachability];
+
[webview_ setAllowsMessaging:YES];
+ if ([webview_ respondsToSelector:@selector(useSelectionAssistantWithMode:)])
+ [webview_ useSelectionAssistantWithMode:0];
+
[webview_ setTilingEnabled:YES];
[webview_ setDrawsGrid:NO];
[webview_ setLogsTilingChanges:NO];
[webview_ setTileMinificationFilter:kCAFilterNearest];
+
if ([webview_ respondsToSelector:@selector(setDataDetectorTypes:)])
/* XXX: abstractify */
[webview_ setDataDetectorTypes:0x80000000];
else
[webview_ setDetectsPhoneNumbers:NO];
+
[webview_ setAutoresizes:YES];
[webview_ setMinimumScale:0.25f forDocumentTypes:0x10];
[webview _setUsesLoaderCache:YES];
[webview setGroupName:@"CydiaGroup"];
+
+ WebPreferences *preferences([webview preferences]);
+
if ([webview respondsToSelector:@selector(_setLayoutInterval:)])
[webview _setLayoutInterval:0];
+ else
+ [preferences _setLayoutInterval:0];
}
[self setViewportWidth:width];
indirect_ = [[IndirectDelegate alloc] initWithDelegate:self];
[webview setFrameLoadDelegate:indirect_];
+ [webview setPolicyDelegate:indirect_];
[webview setResourceLoadDelegate:indirect_];
[webview setUIDelegate:indirect_];
- [webview setScriptDebugDelegate:indirect_];
- [webview setPolicyDelegate:indirect_];
+
+ /* XXX: do not turn this on under penalty of extreme pain */
+ [webview setScriptDebugDelegate:nil];
WebThreadUnlock();
Section: Packaging
Maintainer: Jay Freeman (saurik) <saurik@saurik.com>
Architecture: iphoneos-arm
-Version: 1.0.2936-1
+Version: 1.0.2942-1
Replaces: com.sosiphone.addcydia
Depends: apr-lib, apt7-lib, apt7-key, darwintools, pcre, shell-cmds, system-cmds
Pre-Depends: dpkg (>= 1.14.25-8)