From e05bc08aee3fbcb663758059eaeeb54199c6ba05 Mon Sep 17 00:00:00 2001 From: "alqahira%ardisson.org" Date: Wed, 25 Mar 2009 01:47:51 +0000 Subject: [PATCH] Bug 482154 - Restructure default app lookup code. Patch by Stuart Morgan , r/sr=pink git-svn-id: svn://10.0.0.236/trunk@256641 18797224-902f-48f8-a5cc-f745e15eee43 --- .../camino/src/extensions/NSWorkspace+Utils.m | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/mozilla/camino/src/extensions/NSWorkspace+Utils.m b/mozilla/camino/src/extensions/NSWorkspace+Utils.m index b09d4cfb71b..e3d052cef2a 100644 --- a/mozilla/camino/src/extensions/NSWorkspace+Utils.m +++ b/mozilla/camino/src/extensions/NSWorkspace+Utils.m @@ -67,29 +67,34 @@ } - (NSString*)defaultBrowserIdentifier -{ - return [self identifierForBundle:[self defaultBrowserURL]]; -} - -- (NSString*)defaultFeedViewerIdentifier -{ - return [self identifierForBundle:[self defaultFeedViewerURL]]; -} - -- (NSURL*)defaultBrowserURL { NSString* defaultBundleId = [(NSString*)LSCopyDefaultHandlerForURLScheme(CFSTR("http")) autorelease]; // Sometimes LaunchServices likes to pretend there's no default browser. // If that happens, we'll assume it's probably Safari. if (!defaultBundleId) defaultBundleId = @"com.apple.safari"; - return [self urlOfApplicationWithIdentifier:defaultBundleId]; + return defaultBundleId; +} + +- (NSString*)defaultFeedViewerIdentifier +{ + return [(NSString*)LSCopyDefaultHandlerForURLScheme(CFSTR("feed")) autorelease]; +} + +- (NSURL*)defaultBrowserURL +{ + NSString* defaultBundleId = [self defaultBrowserIdentifier]; + if (defaultBundleId) + return [self urlOfApplicationWithIdentifier:defaultBundleId]; + return nil; } - (NSURL*)defaultFeedViewerURL { - NSString* defaultBundleId = [(NSString*)LSCopyDefaultHandlerForURLScheme(CFSTR("feed")) autorelease]; - return [self urlOfApplicationWithIdentifier:defaultBundleId]; + NSString* defaultBundleId = [self defaultFeedViewerIdentifier]; + if (defaultBundleId) + return [self urlOfApplicationWithIdentifier:defaultBundleId]; + return nil; } - (void)setDefaultBrowserWithIdentifier:(NSString*)bundleID