Closed
Bug 362685
Opened 18 years ago
Closed 18 years ago
Growl Integration for Mac OS X (nsIAlertsService)
Categories
(Firefox :: Shell Integration, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: sdwilsh, Assigned: sdwilsh)
References
()
Details
Attachments
(2 files, 18 obsolete files)
37.97 KB,
patch
|
Details | Diff | Splinter Review | |
127.82 KB,
patch
|
Details | Diff | Splinter Review |
Implement nsIAlertsService for Mac OS X using Growl, a third-party notification system for Mac OS X.
This will be using the sdk without the installer (as per discussions with mconnor).
Comment 1•18 years ago
|
||
nsIAlertsService sounds like something that has to do with dialogs. How about nsINotificationService or something like that? Also, is it supposed to be eventually implemented by other platforms or will stay strictly OS X?
Comment 2•18 years ago
|
||
Grr, right after comitting the comment, I saw the the service already exists. Ignore me...
Assignee | ||
Comment 3•18 years ago
|
||
So, I need to convert an nsAString to an NSString, and I found a nice file that provides a function to do that for me, but I have no idea how to include it for building purposes. The file is here:
http://landfill.mozilla.org/mxr-test/seamonkey/source/embedding/browser/cocoa/src/NSString+Utils.h
Suggestions? (either how to not use the file, or how to include it in the build process)
Comment 4•18 years ago
|
||
(In reply to comment #3)
Until we have helper methods for this in xpcom (there's a bug filed, though I can't find it), you can simply do [NSString stringWithCharacters:aString.BeginReading() length:aString.Length()]
Assignee | ||
Comment 5•18 years ago
|
||
(In reply to comment #4)
> (In reply to comment #3)
>
> Until we have helper methods for this in xpcom (there's a bug filed, though I
> can't find it), you can simply do [NSString
> stringWithCharacters:aString.BeginReading() length:aString.Length()]
That was the first thing I tried actually, but BeginReading() and/or (can't recall) .Length don't seem to be defined for nsAString. I saw your code in which you used nsAutoString and it worked though. Perhaps I'm missing a header or something.
Assignee | ||
Comment 6•18 years ago
|
||
Initial work.
This only uses the title and text of the alert, but it shows it can work. The best way to test this is to make sure "browser.download.manager.showAlertOnComplete" is set to true, then download a file that takes a little while to complete.
Requirements:
You must have the growl framework installed, and located in "/Library/Frameworks/Growl.framework". You can get it here:
http://growl.info/downloads_developers.php
I can only test this on 10.4.
Comments are welcomed.
Assignee | ||
Comment 7•18 years ago
|
||
Alright, so this adds support for images, but it crashes the browser. I'm not really sure why at the moment, but I threw in some printf statements (in patch), and I get the following output before the crash:
Registered with Growl
Send to the Loader
Dispatching With Image
So, it looks to me like I might not be doing something correct with Growl, but I'm not really sure. Any thoughts?
Attachment #247921 -
Attachment is obsolete: true
Comment 8•18 years ago
|
||
Comment on attachment 248178 [details] [diff] [review]
v0.2
>+- (id) initWithTitle:(NSString*)aTitle
>+ text:(NSString*)aText
>+ clickable:(BOOL)aClickable
>+ cookie:(NSString*)aCookie
>+ observer:(nsIObserver*)aListener
>+{
>+ mAlertTitle = aTitle;
>+ mAlertText = aText;
>+ mAlertClickable = aClickable;
>+ mAlertCookie = aCookie;
>+ mAlertListener = aClickable ? aListener : nil;
You're most likely crashing because you're not retaining these. The objects are since long gone (and the pointers are bogus) when they are passed to Growl.
Also, while I'm commenting this method, I'd advice to use the standard init pattern:
if ((self = [super init])) {
// init stuff here
}
return self;
Assignee | ||
Comment 9•18 years ago
|
||
...almost
I've got an issue with the observers still not working. I'm discussing this on the growl discussion list (the functions are not being called for some strange reason).
I also know I should be weak_linking the framework, which I don't do and I'm not really sure how to go about doing that with our build system. My include hack probably isn't correct though.
Other that those issues, this patch is basically done, so if someone wants to do a pseudo-review, that'd be greatly appreciated.
Attachment #248178 -
Attachment is obsolete: true
Assignee | ||
Comment 10•18 years ago
|
||
h'ok
So, this now adds the framework (which you have to supply for now in toolkit/components/alerts/src/mac/) into the application bundle like we have to.
Still have an issue with growl telling me I don't supply a registration dictionary, even though I do. I'm still working on resolving that with the growl people.
We'll also be building a custom framework of growl that only includes the stuff we need to reduce file size. I've already discussed this with the Growl people, and we'll be keeping a repository over there for it (which I think I volunteered myself to maintain).
I would really like to start getting some review-like feedback on what I have, as I'm sure what I'm doing isn't quite ideal everywhere.
Attachment #248670 -
Attachment is obsolete: true
Assignee | ||
Comment 11•18 years ago
|
||
Hey, it works! Well, click and timed out listeners don't, but I'm not really sure why. Looking into with the Growl people (looks like my code is right, they just aren't being called).
Turns out GrowlDelegate is used inside the framework, so I changed my class to mozGrowlDelegate.
Attachment #250538 -
Attachment is obsolete: true
Assignee | ||
Comment 12•18 years ago
|
||
mconnor told me to get a review from josh for this, and bsmedberg for the build stuff.
bsmedberg - I'm fairly certain you won't like how I did some of the build stuff (notably the Frameworks directory in the application package). Please provide a suggestion if you don't like how I did it, because that was my best guess at what to do :)
This registers itself with growl, and dispatches the notification like it should. It will also does what nsAlertsService does on windows/linux with the observers passed to it.
Attachment #250551 -
Attachment is obsolete: true
Attachment #250647 -
Flags: review?(joshmoz)
Assignee | ||
Updated•18 years ago
|
Attachment #250647 -
Flags: review?(benjamin)
Comment 13•18 years ago
|
||
Comment on attachment 250647 [details] [diff] [review]
1.0
Does this involve putting the growl framework into our tree and shipping it in our app bundle?
Assignee | ||
Comment 14•18 years ago
|
||
(In reply to comment #13)
> (From update of attachment 250647 [details] [diff] [review])
> Does this involve putting the growl framework into our tree and shipping it in
> our app bundle?
yes, and sadly we do not have a choice currently (long winded discussion on irc).
Status: NEW → ASSIGNED
Comment 15•18 years ago
|
||
(In reply to comment #14)
> (In reply to comment #13)
> > (From update of attachment 250647 [details] [diff] [review] [details])
> > Does this involve putting the growl framework into our tree and shipping it in
> > our app bundle?
>
> yes, and sadly we do not have a choice currently (long winded discussion on
> irc).
>
The question (that hopefully has been asked before) is, is that possible to do without growl being tri-licensed?
Assignee | ||
Comment 16•18 years ago
|
||
(In reply to comment #15)
> The question (that hopefully has been asked before) is, is that possible to do
> without growl being tri-licensed?
Type in 'about:license' into the URL bar and you'll see we ship stuff that isn't tri-licensed already.
Assignee | ||
Comment 17•18 years ago
|
||
So, I was lying in bed last night, and I realized that I leak observers if Growl isn't installed. :(
That's a known issue with the current patch, but I'd like the rest of the code reviewed still.
Assignee | ||
Updated•18 years ago
|
Attachment #250647 -
Flags: review?(joshmoz)
Attachment #250647 -
Flags: review?(benjamin)
Assignee | ||
Comment 18•18 years ago
|
||
Ok, fixes leak and we are back to the framework. My efforts of using a statically linked version of the growl application bridge resulted in a the browser crashing, and since nobody could determine what was going on, I went back with this.
This fixes that memory leak I talked about too.
Attachment #250647 -
Attachment is obsolete: true
Attachment #253799 -
Flags: review?(joshmoz)
Assignee | ||
Updated•18 years ago
|
Attachment #253799 -
Flags: review?(benjamin)
Comment 19•18 years ago
|
||
Comment on attachment 253799 [details] [diff] [review]
v1.1
I am firmly against supporting growl via this approach. I do not want another third-party bundle in our tree/apps (the other being JEP).
I don't think supporting growl is important enough to warrant the pain that this is going to cause. If I am told that we must support growl somehow then I will review with an eye towards alternative solutions first.
Sorry!
Attachment #253799 -
Flags: review?(joshmoz)
Comment 20•18 years ago
|
||
(In reply to comment #19)
> (From update of attachment 253799 [details] [diff] [review])
> the pain that this is going to cause.
What pain?
Comment 21•18 years ago
|
||
- we have to drop new code every time growl updates
- we have to coordinate with your OS support schedule (what happens when growl drops 10.3 support and we don't?)
- we have to release updates every time something goes majorly wrong in the third party code
- we have no idea what the growl project's standards are for code quality and support
The Mozilla project and the Growl project basically have nothing in common in terms of our needs, desires, or organization. I see this potentially becoming a problem in the future when we need the growl project to do things to keep our story clean and straight and growl doesn't want to do it.
This is less of a problem with JEP since we are the only major consumer of JEP and we work closely with the sole developer. Also, JEP is absolutely necessary while the need for growl is very debatable.
Comment 22•18 years ago
|
||
Forgive me if my question is naive, but couldn't you add all the necessary hooks to just utilize Growl without including Growl in your distribution? If Growl isn't installed just pop up a window and say "You need to download and install Growl first, go here and get it."
This wouldn't be terribly different from most of the other apps that use Growl (e.g. Adium). Adium ships Growl with its distribution (or so I recall) but doesn't actually install it, that requires user intervention. Growl notifications in Adium are also not enabled by default. The GUI just tells you to install it when you go to enable a feature that requires it, if you don't already have it installed. You could even just link to the website instead of shipping their image.
"The Mozilla project and the Growl project basically have nothing in common in
terms of our needs, desires, or organization."
Only the large (and growing) number of Mac users who would really like to see the two interoperate. You have those in common, they should count for something.
Personally, I would really, really like to see Growl support in Fx and Tb. There are probably tons of other Mac users who love Growl and Mozilla and want to see the two play nice also. This sounds like more of a policy problem than a technological one. Please (pretty please?) find a way to implement this that works for you, don't just give up on it.
Assignee | ||
Updated•18 years ago
|
Attachment #253799 -
Flags: review?(benjamin)
Assignee | ||
Comment 23•18 years ago
|
||
static build - this crashes however, but sayrer is going to take a look.
Attachment #253799 -
Attachment is obsolete: true
Assignee | ||
Comment 24•18 years ago
|
||
Assignee | ||
Comment 25•18 years ago
|
||
whoops, bad patch
Attachment #256861 -
Attachment is obsolete: true
Comment 26•18 years ago
|
||
looks like something in growl misbehaving to me... in this stack the JS frame's script name was overwritten as "NSModalPanelRunLoopMode".
Date/Time: 2007-03-01 20:53:40.077 -0500
OS Version: 10.4.8 (Build 8L2127)
Report Version: 4
Command: firefox-bin
Path: /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/firefox-bin
Parent: launchd [1]
Version: 3.0a3pre (3.0a3pre)
PID: 9157
Thread: 0
Exception: EXC_BREAKPOINT (0x0006)
Code[0]: 0x00000002
Code[1]: 0x00000000
Thread 0 Crashed:
0 libmozjs.dylib 0x010d2cd3 JS_Assert + 66 (jsutil.c:63)
1 libmozjs.dylib 0x0105ba7a js_AllocStack + 354 (jsinterp.c:346)
2 libxpconnect.dylib 0x2c981fd9 nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS*, unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) + 1905 (xpcwrappedjsclass.cpp:1176)
3 libxpconnect.dylib 0x2c97b809 nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) + 97 (xpcwrappedjs.cpp:571)
4 libxpcom_core.dylib 0x0135c2a0 PrepareAndDispatch(nsXPTCStubBase*, unsigned, unsigned*) + 662 (xptcstubs_unixish_x86.cpp:93)
5 libxpcom_core.dylib 0x0135c2fe nsXPTCStubBase::Stub3() + 52 (xptcstubsdef.inc:5)
6 libxpcom_core.dylib 0x0134e813 nsTimerImpl::Fire() + 925 (nsTimerImpl.cpp:387)
7 libxpcom_core.dylib 0x0134e99f nsTimerEvent::Run() + 191 (nsTimerImpl.cpp:458)
8 libxpcom_core.dylib 0x0134aa56 nsThread::ProcessNextEvent(int, int*) + 556 (nsThread.cpp:483)
9 libxpcom_core.dylib 0x012f34ef NS_ProcessPendingEvents_P(nsIThread*, unsigned) + 145 (nsThreadUtils.cpp:179)
10 libwidget_mac.dylib 0x2be57ae9 nsBaseAppShell::NativeEventCallback() + 83 (nsBaseAppShell.cpp:115)
11 libwidget_mac.dylib 0x2be3c6bf nsAppShell::ProcessGeckoEvents() + 253 (nsAppShell.mm:209)
12 libwidget_mac.dylib 0x2be3c801 -[AppShellDelegate handlePortMessage:] + 107 (nsAppShell.mm:420)
13 com.apple.Foundation 0x92646a4c __NSFireMachPort + 307
14 com.apple.CoreFoundation 0x90839773 __CFMachPortPerform + 136
15 com.apple.CoreFoundation 0x90829a14 CFRunLoopRunSpecific + 2904
16 com.apple.CoreFoundation 0x90828eb5 CFRunLoopRunInMode + 61
17 com.apple.HIToolbox 0x92dcdb90 RunCurrentEventLoopInMode + 285
18 com.apple.HIToolbox 0x92dcd1ce ReceiveNextEventCommon + 184
19 com.apple.HIToolbox 0x92dcd0ee BlockUntilNextEventMatchingListInMode + 81
20 com.apple.AppKit 0x9326f465 _DPSNextEvent + 572
21 com.apple.AppKit 0x9326f056 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 137
22 com.apple.AppKit 0x93268ddb -[NSApplication run] + 512
23 libwidget_mac.dylib 0x2be3bd2e nsAppShell::Run() + 146 (nsAppShell.mm:327)
24 libtoolkitcomps.dylib 0x2a62f709 nsAppStartup::Run() + 147 (nsAppStartup.cpp:171)
25 XUL 0x0020fe68 XRE_main + 9632 (nsAppRunner.cpp:2846)
26 org.mozilla.firefox 0x00002eec main + 40 (nsBrowserApp.cpp:62)
27 org.mozilla.firefox 0x00002852 _start + 216
28 org.mozilla.firefox 0x00002779 start + 41
Thread 1:
0 libSystem.B.dylib 0x90019d3c select + 12
1 libnspr4.dylib 0x005cd154 _pr_poll_with_poll + 1333 (ptio.c:3882)
2 libnspr4.dylib 0x005cd3c2 PR_Poll + 31 (ptio.c:4286)
3 libnecko.dylib 0x26274877 nsSocketTransportService::Poll(int, unsigned*) + 223 (nsSocketTransportService2.cpp:329)
4 libnecko.dylib 0x26275669 nsSocketTransportService::DoPollIteration(int) + 803 (nsSocketTransportService2.cpp:604)
5 libnecko.dylib 0x262758b5 nsSocketTransportService::OnProcessNextEvent(nsIThreadInternal*, int, unsigned) + 61 (nsSocketTransportService2.cpp:483)
6 libxpcom_core.dylib 0x0134a952 nsThread::ProcessNextEvent(int, int*) + 296 (nsThread.cpp:472)
7 libxpcom_core.dylib 0x012f338e NS_ProcessNextEvent_P(nsIThread*, int) + 130 (nsThreadUtils.cpp:225)
8 libnecko.dylib 0x262751bf nsSocketTransportService::Run() + 281 (nsSocketTransportService2.cpp:513)
9 libxpcom_core.dylib 0x0134aa56 nsThread::ProcessNextEvent(int, int*) + 556 (nsThread.cpp:483)
10 libxpcom_core.dylib 0x012f338e NS_ProcessNextEvent_P(nsIThread*, int) + 130 (nsThreadUtils.cpp:225)
11 libxpcom_core.dylib 0x0134ac24 nsThread::ThreadFunc(void*) + 262 (nsThread.cpp:250)
12 libnspr4.dylib 0x005ce943 _pt_root + 313 (ptthread.c:223)
13 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 2:
0 libSystem.B.dylib 0x90048a47 semaphore_timedwait_signal_trap + 7
1 libnspr4.dylib 0x005c78f2 pt_TimedWait + 338 (ptsynch.c:280)
2 libnspr4.dylib 0x005c7e0a PR_WaitCondVar + 369 (ptsynch.c:407)
3 libxpcom_core.dylib 0x0134f8e2 TimerThread::Run() + 616 (TimerThread.cpp:322)
4 libxpcom_core.dylib 0x0134aa56 nsThread::ProcessNextEvent(int, int*) + 556 (nsThread.cpp:483)
5 libxpcom_core.dylib 0x012f338e NS_ProcessNextEvent_P(nsIThread*, int) + 130 (nsThreadUtils.cpp:225)
6 libxpcom_core.dylib 0x0134ac24 nsThread::ThreadFunc(void*) + 262 (nsThread.cpp:250)
7 libnspr4.dylib 0x005ce943 _pt_root + 313 (ptthread.c:223)
8 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 3:
0 libSystem.B.dylib 0x90024427 semaphore_wait_signal_trap + 7
1 libnspr4.dylib 0x005c7de5 PR_WaitCondVar + 332 (ptsynch.c:405)
2 libstoragecomps.dylib 0x2a2904a4 ProcessAsyncMessages() + 172 (mozStorageAsyncIO.cpp:1513)
3 libstoragecomps.dylib 0x2a2f0182 AsyncWriteThread::Run() + 80 (mozStorageAsyncIO.cpp:475)
4 libxpcom_core.dylib 0x0134aa56 nsThread::ProcessNextEvent(int, int*) + 556 (nsThread.cpp:483)
5 libxpcom_core.dylib 0x012f338e NS_ProcessNextEvent_P(nsIThread*, int) + 130 (nsThreadUtils.cpp:225)
6 libxpcom_core.dylib 0x0134ac24 nsThread::ThreadFunc(void*) + 262 (nsThread.cpp:250)
7 libnspr4.dylib 0x005ce943 _pt_root + 313 (ptthread.c:223)
8 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 4:
0 libSystem.B.dylib 0x90048a47 semaphore_timedwait_signal_trap + 7
1 libnspr4.dylib 0x005c78f2 pt_TimedWait + 338 (ptsynch.c:280)
2 libnspr4.dylib 0x005c7e0a PR_WaitCondVar + 369 (ptsynch.c:407)
3 libpipnss.dylib 0x281ccd57 nsSSLThread::Run() + 293 (nsSSLThread.cpp:925)
4 libpipnss.dylib 0x281cb17f nsPSMBackgroundThread::nsThreadRunner(void*) + 27 (nsPSMBackgroundThread.cpp:45)
5 libnspr4.dylib 0x005ce943 _pt_root + 313 (ptthread.c:223)
6 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 5:
0 libSystem.B.dylib 0x90048a47 semaphore_timedwait_signal_trap + 7
1 libnspr4.dylib 0x005c78f2 pt_TimedWait + 338 (ptsynch.c:280)
2 libnspr4.dylib 0x005c7e0a PR_WaitCondVar + 369 (ptsynch.c:407)
3 libpipnss.dylib 0x281cd68b nsCertVerificationThread::Run() + 81 (nsCertVerificationThread.cpp:139)
4 libpipnss.dylib 0x281cb17f nsPSMBackgroundThread::nsThreadRunner(void*) + 27 (nsPSMBackgroundThread.cpp:45)
5 libnspr4.dylib 0x005ce943 _pt_root + 313 (ptthread.c:223)
6 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 6:
0 libSystem.B.dylib 0x90024427 semaphore_wait_signal_trap + 7
1 libnspr4.dylib 0x005c7de5 PR_WaitCondVar + 332 (ptsynch.c:405)
2 libnspr4.dylib 0x005c851f PR_Wait + 264 (ptsynch.c:584)
3 libxpcom_core.dylib 0x013a5aaf nsAutoMonitor::Wait(unsigned) + 27 (nsAutoLock.h:322)
4 libxpcom_core.dylib 0x01349189 nsEventQueue::GetEvent(int, nsIRunnable**) + 133 (nsEventQueue.cpp:86)
5 libxpcom_core.dylib 0x013b36d2 nsThread::nsChainedEventQueue::GetEvent(int, nsIRunnable**) + 34 (nsThread.h:110)
6 libxpcom_core.dylib 0x0134a9bc nsThread::ProcessNextEvent(int, int*) + 402 (nsThread.cpp:473)
7 libxpcom_core.dylib 0x012f338e NS_ProcessNextEvent_P(nsIThread*, int) + 130 (nsThreadUtils.cpp:225)
8 libxpcom_core.dylib 0x0134ac24 nsThread::ThreadFunc(void*) + 262 (nsThread.cpp:250)
9 libnspr4.dylib 0x005ce943 _pt_root + 313 (ptthread.c:223)
10 libSystem.B.dylib 0x90023d87 _pthread_body + 84
Thread 0 crashed with X86 Thread State (32-bit):
eax: 0x00000078 ebx: 0x010d2c9d ecx: 0xa0001e60 edx: 0x00000000
edi: 0x2c97b7a8 esi: 0x2c981868 ebp: 0xbfffd558 esp: 0xbfffd530
ss: 0x0000001f efl: 0x00000282 eip: 0x010d2cd3 cs: 0x00000017
ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
Binary Images Description:
0x1000 - 0x2fff org.mozilla.firefox 3.0a3pre /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/firefox-bin
0x6000 - 0x7fff libxpcom.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libxpcom.dylib
0x10000 - 0x15fff libplds4.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libplds4.dylib
0x1f000 - 0x25fff libplc4.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libplc4.dylib
0x205000 - 0x253fff XUL /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/XUL
0x5a6000 - 0x5ddfff libnspr4.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libnspr4.dylib
0x6ee000 - 0x6f3fff libauth.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libauth.dylib
0x769000 - 0x77cfff libmozz.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libmozz.dylib
0x798000 - 0x79dfff libcommandlines.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libcommandlines.dylib
0x1008000 - 0x10fdfff libmozjs.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libmozjs.dylib
0x12e6000 - 0x13c4fff libxpcom_core.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libxpcom_core.dylib
0x204d000 - 0x205dfff libbrowserdirprovider.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libbrowserdirprovider.dylib
0x2205000 - 0x2218fff libappcomps.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libappcomps.dylib
0x2380000 - 0x238bfff libautoconfig.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libautoconfig.dylib
0x246f000 - 0x248cfff libcaps.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libcaps.dylib
0x2637000 - 0x2648fff libchardet.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libchardet.dylib
0x275e000 - 0x276bfff libintlapp.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libintlapp.dylib
0xb008000 - 0xb04bfff libbrowsercomps.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libbrowsercomps.dylib
0xb3cd000 - 0xb3e6fff libchrome.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libchrome.dylib
0xb55d000 - 0xb57afff libcomposer.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libcomposer.dylib
0xb811000 - 0xb81efff libcookie.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libcookie.dylib
0xb90b000 - 0xb98cfff libdocshell.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libdocshell.dylib
0xc2a0000 - 0xc38cfff libeditor.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libeditor.dylib
0xd91e000 - 0xd930fff libgkgfx.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libgkgfx.dylib
0xda1b000 - 0xda6bfff libembedcomponents.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libembedcomponents.dylib
0xe07a000 - 0xe093fff libgkgfxthebes.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libgkgfxthebes.dylib
0xe340000 - 0xe3aafff libthebes.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libthebes.dylib
0xe63a000 - 0xee5bfff libgklayout.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libgklayout.dylib
0x24f08000 - 0x24f45fff libgkplugin.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libgkplugin.dylib
0x25348000 - 0x253b1fff libhtmlpars.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libhtmlpars.dylib
0x25837000 - 0x2586afff libi18n.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libi18n.dylib
0x25ae0000 - 0x25aeafff libimgicon.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libimgicon.dylib
0x25bb4000 - 0x25c04fff libimglib2.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libimglib2.dylib
0x25f58000 - 0x25f71fff libjar50.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libjar50.dylib
0x26114000 - 0x2612cfff libjsd.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libjsd.dylib
0x261e1000 - 0x261e2fff libmozfind.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libmozfind.dylib
0x2620d000 - 0x26212fff libMyService.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libMyService.dylib
0x26242000 - 0x26357fff libnecko.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libnecko.dylib
0x2787a000 - 0x278a3fff libnsappshell.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libnsappshell.dylib
0x27caf000 - 0x27cc8fff liboji.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/liboji.dylib
0x27f65000 - 0x27f7efff libjsj.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libjsj.dylib
0x28056000 - 0x2805afff libpermissions.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libpermissions.dylib
0x280d8000 - 0x280e4fff libpipboot.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libpipboot.dylib
0x281c9000 - 0x28245fff libpipnss.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libpipnss.dylib
0x289b3000 - 0x289d7fff libsmime3.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libsmime3.dylib
0x28aeb000 - 0x28b21fff libssl3.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libssl3.dylib
0x28bef000 - 0x28c72fff libnss3.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libnss3.dylib
0x28e6a000 - 0x28eccfff libsoftokn3.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libsoftokn3.dylib
0x28fcf000 - 0x28fd8fff libpippki.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libpippki.dylib
0x29099000 - 0x29109fff libplaces.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libplaces.dylib
0x29897000 - 0x298aafff libpref.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libpref.dylib
0x299c4000 - 0x299fefff librdf.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/librdf.dylib
0x29d73000 - 0x29d9bfff libsatchel.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libsatchel.dylib
0x2a073000 - 0x2a08ffff libspellchecker.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libspellchecker.dylib
0x2a28d000 - 0x2a2f4fff libstoragecomps.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libstoragecomps.dylib
0x2a505000 - 0x2a50afff libtestdynamic.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libtestdynamic.dylib
0x2a53a000 - 0x2a545fff libtkautocomplete.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libtkautocomplete.dylib
0x2a62d000 - 0x2a667fff libtoolkitcomps.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libtoolkitcomps.dylib
0x2aa98000 - 0x2aa9efff libtxmgr.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libtxmgr.dylib
0x2aad4000 - 0x2ab97fff libuconv.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libuconv.dylib
0x2ae80000 - 0x2ae8afff libucvmath.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libucvmath.dylib
0x2af21000 - 0x2af33fff libuniversalchardet.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libuniversalchardet.dylib
0x2af86000 - 0x2afacfff libwebbrwsr.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libwebbrwsr.dylib
0x2b39f000 - 0x2b444fff libwebsrvcs.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libwebsrvcs.dylib
0x2be28000 - 0x2be8cfff libwidget_mac.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libwidget_mac.dylib
0x2c75a000 - 0x2c760fff libwindowds.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libwindowds.dylib
0x2c7bd000 - 0x2c7d1fff libwsproxytest.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libwsproxytest.dylib
0x2c86c000 - 0x2c874fff libxmlextras.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libxmlextras.dylib
0x2c8fc000 - 0x2c903fff libxpcomsample.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libxpcomsample.dylib
0x2c949000 - 0x2c9c1fff libxpconnect.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libxpconnect.dylib
0x2d481000 - 0x2d492fff libxpctest.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libxpctest.dylib
0x2d576000 - 0x2d5c6fff libxpinstall.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/components/libxpinstall.dylib
0x31cd3000 - 0x31cd4fff com.apple.textencoding.unicode 2.1 /System/Library/TextEncodings/Unicode Encodings.bundle/Contents/MacOS/Unicode Encodings
0x3448e000 - 0x344c2fff libnssckbi.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libnssckbi.dylib
0x34895000 - 0x348fefff libfreebl3.dylib /Users/sayrer/firefox/mozilla/fb-debug/dist/MinefieldDebug.app/Contents/MacOS/libfreebl3.dylib
0x8fe00000 - 0x8fe49fff dyld 46.9 /usr/lib/dyld
0x90000000 - 0x9016ffff libSystem.B.dylib /usr/lib/libSystem.B.dylib
0x901bf000 - 0x901c1fff libmathCommon.A.dylib /usr/lib/system/libmathCommon.A.dylib
0x901c3000 - 0x901fffff com.apple.CoreText 1.1.1 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText
0x90226000 - 0x902fcfff ATS /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
0x9031c000 - 0x90770fff com.apple.CoreGraphics 1.258.38 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x90807000 - 0x908cffff com.apple.CoreFoundation 6.4.6 (368.27) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x9090d000 - 0x9090dfff com.apple.CoreServices 10.4 (???) /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x9090f000 - 0x90a02fff libicucore.A.dylib /usr/lib/libicucore.A.dylib
0x90a52000 - 0x90ad1fff libobjc.A.dylib /usr/lib/libobjc.A.dylib
0x90afa000 - 0x90b5efff libstdc++.6.dylib /usr/lib/libstdc++.6.dylib
0x90bcd000 - 0x90bd4fff libgcc_s.1.dylib /usr/lib/libgcc_s.1.dylib
0x90bd9000 - 0x90c4cfff com.apple.framework.IOKit 1.4.6 (???) /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x90c61000 - 0x90c73fff libauto.dylib /usr/lib/libauto.dylib
0x90c79000 - 0x90f1ffff com.apple.CoreServices.CarbonCore 682.15 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
0x90f62000 - 0x90fcafff com.apple.CoreServices.OSServices 4.1 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
0x91002000 - 0x91040fff com.apple.CFNetwork 129.19 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x91053000 - 0x91063fff com.apple.WebServices 1.1.3 (1.1.0) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/WebServicesCore.framework/Versions/A/WebServicesCore
0x9106e000 - 0x910ecfff com.apple.SearchKit 1.0.5 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
0x91121000 - 0x9113ffff com.apple.Metadata 10.4.4 (121.36) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
0x9114b000 - 0x91159fff libz.1.dylib /usr/lib/libz.1.dylib
0x9115c000 - 0x912fbfff com.apple.security 4.5.2 (29774) /System/Library/Frameworks/Security.framework/Versions/A/Security
0x913f9000 - 0x91401fff com.apple.DiskArbitration 2.1.1 /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x91408000 - 0x9142efff com.apple.SystemConfiguration 1.8.6 /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
0x91440000 - 0x91447fff libbsm.dylib /usr/lib/libbsm.dylib
0x9144b000 - 0x914c4fff com.apple.audio.CoreAudio 3.0.4 /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x91512000 - 0x91512fff com.apple.ApplicationServices 10.4 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
0x91514000 - 0x9153ffff com.apple.AE 314 (313) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x91552000 - 0x91626fff com.apple.ColorSync 4.4.8 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
0x91661000 - 0x916defff com.apple.print.framework.PrintCore 4.6 (177.13) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0x9170b000 - 0x917b4fff com.apple.QD 3.10.21 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
0x917da000 - 0x91825fff com.apple.HIServices 1.5.2 (???) /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
0x91844000 - 0x9185afff com.apple.LangAnalysis 1.6.3 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
0x91866000 - 0x91880fff com.apple.FindByContent 1.5 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/FindByContent.framework/Versions/A/FindByContent
0x9188a000 - 0x918c7fff com.apple.LaunchServices 181 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x918db000 - 0x918e7fff com.apple.speech.synthesis.framework 3.5 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
0x918ee000 - 0x91929fff com.apple.ImageIO.framework 1.5.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
0x9193b000 - 0x919edfff libcrypto.0.9.7.dylib /usr/lib/libcrypto.0.9.7.dylib
0x91a33000 - 0x91a49fff libcups.2.dylib /usr/lib/libcups.2.dylib
0x91a4e000 - 0x91a6cfff libJPEG.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
0x91a71000 - 0x91acffff libJP2.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
0x91ae1000 - 0x91ae5fff libGIF.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
0x91ae7000 - 0x91b64fff libRaw.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRaw.dylib
0x91b68000 - 0x91ba5fff libTIFF.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x91bab000 - 0x91bc5fff libPng.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
0x91bca000 - 0x91bccfff libRadiance.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
0x91bce000 - 0x91bcefff com.apple.Accelerate 1.3.1 (Accelerate 1.3.1) /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
0x91bd0000 - 0x91c5efff com.apple.vImage 2.5 /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
0x91c65000 - 0x91c65fff com.apple.Accelerate.vecLib 3.3.1 (vecLib 3.3.1) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
0x91c67000 - 0x91cc0fff libvMisc.dylib /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
0x91cc9000 - 0x91cedfff libvDSP.dylib /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
0x91cf5000 - 0x920fefff libBLAS.dylib /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
0x92138000 - 0x924ecfff libLAPACK.dylib /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
0x92519000 - 0x92597fff com.apple.DesktopServices 1.3.5 /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
0x925d8000 - 0x92808fff com.apple.Foundation 6.4.7 (567.28) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x92914000 - 0x929f2fff libxml2.2.dylib /usr/lib/libxml2.2.dylib
0x92a0f000 - 0x92afcfff libiconv.2.dylib /usr/lib/libiconv.2.dylib
0x92b0c000 - 0x92b23fff libGL.dylib /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
0x92b2e000 - 0x92b86fff libGLU.dylib /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
0x92b9a000 - 0x92b9afff com.apple.Carbon 10.4 (???) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
0x92b9c000 - 0x92bacfff com.apple.ImageCapture 3.0.4 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
0x92bba000 - 0x92bc2fff com.apple.speech.recognition.framework 3.6 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
0x92bc8000 - 0x92bcdfff com.apple.securityhi 2.0.1 (24742) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
0x92bd3000 - 0x92c64fff com.apple.ink.framework 101.2.1 (71) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
0x92c78000 - 0x92c7bfff com.apple.help 1.0.3 (32.1) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
0x92c7e000 - 0x92c9bfff com.apple.openscripting 1.2.5 (???) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
0x92cab000 - 0x92cb1fff com.apple.print.framework.Print 5.2 (192.4) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
0x92cb7000 - 0x92d1afff com.apple.htmlrendering 66.1 (1.1.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering
0x92d3e000 - 0x92d7ffff com.apple.NavigationServices 3.4.4 (3.4.3) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/NavigationServices.framework/Versions/A/NavigationServices
0x92da6000 - 0x92db3fff com.apple.audio.SoundManager 3.9.1 /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound
0x92dba000 - 0x92dbffff com.apple.CommonPanels 1.2.3 (73) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
0x92dc4000 - 0x930b6fff com.apple.HIToolbox 1.4.8 (???) /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x931bb000 - 0x931c6fff com.apple.opengl 1.4.12 /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
0x93256000 - 0x93256fff com.apple.Cocoa 6.4 (???) /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
0x93258000 - 0x9390efff com.apple.AppKit 6.4.8 (824.42) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x93c8f000 - 0x93d09fff com.apple.CoreData 90 /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
0x93d42000 - 0x93e03fff com.apple.audio.toolbox.AudioToolbox 1.4.3 /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x93e43000 - 0x93e43fff com.apple.audio.units.AudioUnit 1.4.2 /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
0x93e45000 - 0x94017fff com.apple.QuartzCore 1.4.9 /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x94068000 - 0x940a9fff libsqlite3.0.dylib /usr/lib/libsqlite3.0.dylib
0x940b1000 - 0x940ebfff libGLImage.dylib /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
0x94271000 - 0x94280fff libCGATS.A.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGATS.A.dylib
0x94287000 - 0x94292fff libCSync.A.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib
0x942de000 - 0x942f8fff libRIP.A.dylib /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
0x942fe000 - 0x945b7fff com.apple.QuickTime 7.1.3 /System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime
0x9707b000 - 0x97080fff com.apple.agl 2.5.9 (AGL-2.5.9) /System/Library/Frameworks/AGL.framework/Versions/A/AGL
0x9aaee000 - 0x9aaf0fff libgmalloc.B.dylib /usr/lib/libgmalloc.B.dylib
Model: MacBookPro1,1, BootROM MBP11.0055.B08, 2 processors, Intel Core Duo, 2 GHz, 2 GB
Graphics: ATI Radeon X1600, ATY,RadeonX1600, PCIe, 128 MB
Memory Module: BANK 0/DIMM0, 1 GB, DDR2 SDRAM, 667 MHz
Memory Module: BANK 1/DIMM1, 1 GB, DDR2 SDRAM, 667 MHz
AirPort: spairport_wireless_card_type_airport_extreme (0x168C, 0x86), 0.1.27
Bluetooth: Version 1.7.9f12, 2 service, 0 devices, 1 incoming serial ports
Network Service: Built-in Ethernet, Ethernet, en0
Serial ATA Device: ST910021AS, 93.16 GB
USB Device: Built-in iSight, Micron, Up to 480 Mb/sec, 500 mA
USB Device: Apple Internal Keyboard / Trackpad, Apple Computer, Up to 12 Mb/sec, 500 mA
USB Device: Bluetooth HCI, Up to 12 Mb/sec, 500 mA
USB Device: IR Receiver, Apple Computer, Inc., Up to 12 Mb/sec, 500 mA
Assignee | ||
Comment 27•18 years ago
|
||
Alright, turns out I wasn't compiling a .m file that I should have been compiling.
I also realized that I didn't handle a case where the uri fails to resolve. That's taken care of in this code, but I'm not sure if I quite like how I do it (I have very similar code in two different places - problem being I'm not sure where I could stick it to have both places use it). Suggestions welcome on that.
Attachment #256867 -
Attachment is obsolete: true
Attachment #256875 -
Attachment is obsolete: true
Attachment #257037 -
Flags: review?(joshmoz)
Assignee | ||
Comment 28•18 years ago
|
||
(In reply to comment #27)
oh yeah - I didn't include any of the growl code in this patch - just my code. The growl code that we build is taken directly to their repo, and once this gets r+ and sr+, I'll attach a patch with the growl code as well.
Assignee | ||
Updated•18 years ago
|
Attachment #257037 -
Flags: review?(cbarrett)
Assignee | ||
Updated•18 years ago
|
Attachment #257037 -
Flags: review?(joshmoz)
Attachment #257037 -
Flags: review?(cbarrett)
Assignee | ||
Comment 29•18 years ago
|
||
After talking with Mano a bit today, I decided I wanted to refactor a small part of this code. I've added a static method to mozGrowlDelegate that dispatches the notification to Growl.
Attachment #257037 -
Attachment is obsolete: true
Attachment #258063 -
Flags: review?(cbarrett)
Assignee | ||
Comment 30•18 years ago
|
||
Comment on attachment 258063 [details] [diff] [review]
v2.3
There are at least two things I don't like in this patch that I want to change before getting this reviewed. I might get to that today, but that's iffy. This weekend for sure.
Attachment #258063 -
Flags: review?(cbarrett)
Assignee | ||
Comment 31•18 years ago
|
||
Ok, I'm pretty happy with this. I do not have the notification name localized yet, but I'd like to do that in a follow up bug if possible (or after this lands, but in this bug).
Attachment #258063 -
Attachment is obsolete: true
Attachment #259473 -
Flags: review?(cbarrett)
Comment 32•18 years ago
|
||
Comment on attachment 259473 [details] [diff] [review]
v2.4
>++ (void) title:(const nsAString&)aTitle
>+ text:(const nsAString&)aText
>+ image:(NSData*)aImage
>+ key:(PRUint32)aKey
>+ cookie:(const nsAString&)aCookie;
>+
Can you change this, and it's callers, to notifyWithTitle:description:iconData:key:cookie:, to keep as many of the Growl terms around as possible? No need to invent our own vocabulary.
>+ if (aKey)
You should also check the value of aCookie here. I'd suggest using assertions instead, but that's up to the actual toolkit reviewer.
>+- (PRUint32) addObserver:(nsIObserver*)aObserver
>+{
>+ NS_ADDREF(aObserver); // We now own a reference to this!
>+
>+ mKey++;
>+ [mDict setObject: [NSValue valueWithPointer: aObserver]
>+ forKey: [NSNumber numberWithUnsignedInt: mKey]];
>+ return mKey;
>+}
>+
>+- (NSDictionary *) registrationDictionaryForGrowl
>+{
>+ return [NSDictionary dictionaryWaithObjectsAndKeys:
>+ [NSArray arrayWithObjects: NOTIFICATION_NAME, nil],
>+ GROWL_NOTIFICATIONS_ALL,
>+ [NSArray arrayWithObjects: NOTIFICATION_NAME, nil],
>+ GROWL_NOTIFICATIONS_DEFAULT,
>+ nil];
>+}
>+
>+- (NSString*) applicationNameForGrowl
>+{
>+ if (NS_FAILED(rv)) return nil;
How does Growl react to getting a nil from applicationNameForGrowl? I'd expect gracefully, but it'd be nice to make sure.
>+- (void) growlNotificationTimedOut:(id)clickContext
>+ if (observer) {
>+ nsString tmp;
>+ tmp.SetLength([cookie length]);
>+ [cookie getCharacters:tmp.BeginWriting()];
>+
>+ observer->Observe(nsnull, "alertfinished", tmp.get());
What happens if cookie is a 0 length string?
I'm not sure this addresses the issue that was brought up earlier, that we don't register with Growl until we send a notification. This is incorrect -- Growl-supporting apps are supposed to register when they start up. I think observing XPCOM startup would be a good place to do this? I know the WebLock example component has code that loads on startup.
Looks good so far! This is getting closer and closer.
Comment 33•18 years ago
|
||
maybe you could take a shortcut by basing your code of of the firefox extension on mozilla addons that adds growl support
Assignee | ||
Comment 34•18 years ago
|
||
Addresses your concerns - some of the stuff you asked about we talked about on irc.
Attachment #259473 -
Attachment is obsolete: true
Attachment #260712 -
Flags: review?(cbarrett)
Attachment #259473 -
Flags: review?(cbarrett)
Assignee | ||
Comment 35•18 years ago
|
||
(In reply to comment #32)
> >+ if (aKey)
>
> You should also check the value of aCookie here. I'd suggest using assertions
> instead, but that's up to the actual toolkit reviewer.
Actually, that last patch doesn't address this. I need to test for this because it indicates if we have an observer stored or not. I do need to check for aCookie though, and I will use an assertion for that. I'll do that after your review however.
Comment 36•18 years ago
|
||
Finally got around to finishing looking at it.
r=me with the aCookie assertion.
Updated•18 years ago
|
Attachment #260712 -
Flags: review?(cbarrett) → review+
Assignee | ||
Updated•18 years ago
|
Attachment #260712 -
Flags: review?(mano)
Assignee | ||
Comment 37•18 years ago
|
||
Addressed concerns by Mano on irc.
No need for assertion checking on aCookie as per conversation with cbarrett on irc.
Attachment #260712 -
Attachment is obsolete: true
Attachment #262541 -
Flags: review?(mano)
Attachment #260712 -
Flags: review?(mano)
Comment 38•18 years ago
|
||
Comment on attachment 262541 [details] [diff] [review]
v2.6
>Index: toolkit/components/build/Makefile.in
>===================================================================
>RCS file: /cvsroot/mozilla/toolkit/components/build/Makefile.in,v
>retrieving revision 1.41
>diff -u -8 -p -r1.41 Makefile.in
>--- toolkit/components/build/Makefile.in 8 Feb 2007 19:23:25 -0000 1.41
>+++ toolkit/components/build/Makefile.in 23 Apr 2007 19:56:45 -0000
>@@ -49,16 +49,20 @@ EXPORT_LIBRARY = 1
> IS_COMPONENT = 1
> MODULE_NAME = nsToolkitCompsModule
> LIBXUL_LIBRARY = 1
>
> ifneq (,$(filter $(MOZ_WIDGET_TOOLKIT),windows gtk gtk2))
> ALERTS_SERVICE=1
> DEFINES += -DALERTS_SERVICE
> endif
>+ifneq (,$(filter mac cocoa, $(MOZ_WIDGET_TOOLKIT)))
mac widget is deprecated for real by now.
> $(NULL)
>
>+ifdef ALERTS_SERVICE
hrm, maybe rename this to XP_ALERTS_SERVICE or such?
>Index: toolkit/components/build/nsToolkitCompsModule.cpp
>===================================================================
> #ifdef ALERTS_SERVICE
> NS_GENERIC_FACTORY_CONSTRUCTOR(nsAlertsService)
> #endif
>
>+#ifdef ALERTS_SERVICE_MAC
nit: else if.
>Index: toolkit/components/alerts/src/mac/nsAlertsService.h
>===================================================================
>+#include "nsToolkitCompsCID.h"
what's this for?
>+#include "nsCOMPtr.h"
>+#include "nsIServiceManager.h"
>+#include "nsICategoryManager.h"
>+#include "nsMemory.h"
those should go to the .mm file.
>Index: toolkit/components/alerts/src/mac/nsAlertsService.mm
>===================================================================
>+#include "nsAlertsService.h"
>+#include "nsStringGlue.h"
nsStringAPI.h
>+
>+NS_IMETHODIMP
>+nsAlertsService::ShowAlertNotification(const nsAString &aImageUrl,
>+ const nsAString &aAlertTitle,
>+ const nsAString &aAlertText,
general nit: s/const nsAString &/const nsAString& /
>+ NS_ASSERTION(mDelegate->delegate == [GrowlApplicationBridge growlDelegate],
>+ "Growl Delegate was not registered properly.");
>+
>+ nsresult rv;
>+
>+ PRUint32 ind = 0;
>+ if (aAlertListener)
>+ ind = [mDelegate->delegate addObserver: aAlertListener];
>+
>+ nsCOMPtr<nsIURI> uri;
>+ rv = NS_NewURI(getter_AddRefs(uri), aImageUrl, nsnull, nsnull);
the second and third arguments are optional.
>+ if (NS_FAILED(rv)) {
>+ // image uri failed to resolve, so dispatch to growl with no image
>+ [mozGrowlDelegate notifyWithTitle: aAlertTitle
>+ description: aAlertText
>+ iconData: [NSData data]
>+ key: ind
>+ cookie: aAlertCookie];
>+
>+ return NS_OK;
>+ }
>+
>+ nsCOMPtr<nsAlertsImageLoadListener> listener =
>+ new nsAlertsImageLoadListener(aAlertTitle, aAlertText, aAlertClickable,
>+ aAlertCookie, ind);
>+
>+ nsCOMPtr<nsIStreamLoader> loader;
>+ rv = NS_NewStreamLoader(getter_AddRefs(loader), uri, listener);
rather declare rv here.
>+
>+NS_IMETHODIMP
>+nsAlertsService::Observe(nsISupports* aSubject, const char* aTopic,
>+ const PRUnichar* aData)
>+{
>+ if ([GrowlApplicationBridge isGrowlInstalled] == YES &&
>+ nsCRT::strcmp(aTopic, "app-startup") == 0)
>+ [GrowlApplicationBridge setGrowlDelegate: mDelegate->delegate];
>+
>+ return NS_OK;
>+}
>+
>+NS_METHOD
>+nsAlertsServiceRegister(nsIComponentManager* aCompMgr,
>+ nsIFile* aPath,
>+ const char* registryLocation,
>+ const char* componentType,
>+ const nsModuleComponentInfo* info)
>+{
>+ nsresult rv;
>+
>+ nsCOMPtr<nsICategoryManager> catman =
>+ do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv);
>+ if (NS_FAILED(rv)) return rv;
prefer NS_ENSURE_SUCCESS
>Index: toolkit/components/alerts/src/mac/mozGrowlDelegate.h
>===================================================================
>+// XXX should this be localized? probably :(
>+#define NOTIFICATION_NAME @"Application Notice"
File a bug?
>+
>+/**
>+ * Informs us that a Growl notification was clicked. It is only called when
>+ * Growl when the notification sent to Growl is sent with a non-nil
you may want to rephrase that.
>Index: toolkit/components/alerts/src/mac/mozGrowlDelegate.mm
>===================================================================
>+
>+ nsCOMPtr<nsIXULAppInfo> appInfo =
>+ do_GetService("@mozilla.org/xre/app-info;1", &rv);
>+ if (NS_FAILED(rv)) return nil;
>+
>+ nsCString appName;
>+ rv = appInfo->GetName(appName);
>+ if (NS_FAILED(rv)) return nil;
>+
NS_ENSURE_SUCCESS(rv, nil);
>+
>+ if (observer) {
>+ nsString tmp;
here you want nsAutoString.
looks good otherwise, r=mano.
Attachment #262541 -
Flags: review?(mano) → review+
Comment 39•18 years ago
|
||
(And I don't think you need to check whether growl is installed in the Observe method, as discussed).
Assignee | ||
Comment 40•18 years ago
|
||
I do believe I've addressed everything insofar as much as I can. I just recently filed Bug 378527 regarding the localization issue, and I updated the comment in mozGrowlDelegate.h accordingly.
The growl code will be attached in a bit.
Attachment #262541 -
Attachment is obsolete: true
Assignee | ||
Comment 41•18 years ago
|
||
Pending license header discussion, this is the code that needs to be checked in for everything to compile and be happy. This is exactly what is part of the Growl 0.7 branch - no modifications on my end.
Assignee | ||
Comment 42•18 years ago
|
||
This adds the license.txt to the toolkit/components/alerts/src/mac/growl/ folder, as well as the changes necessary in toolkit/content/license.html
Attachment #262572 -
Attachment is obsolete: true
Assignee | ||
Comment 43•18 years ago
|
||
I managed to miss an ns[C]String->ns[C]AutoString. All fixed.
Attachment #262570 -
Attachment is obsolete: true
Comment 44•18 years ago
|
||
A couple of comments on the licensing changes:
"BSD License" is the wrong title for this license; this is not code from the BSD Unix distribution. Almost every license in that list is a "BSD License" in the same sense that this one is. Please change the title to "Growl License", and move it to the appropriate new place in the alphabetical order.
Please also change the text after that to the following (assuming it's factually correct):
<p class="correctme">This license applies to certain files in the directory <span class="path">toolkit/components/alers/src/mac/growl/</span>. (This code only ships in the Mac OS X version of this product.)
</p>
(This matches the line for the Java Embedding Plugin License, which is also Mac-only.) If you need me again, please CC me and I will appear like the proverbial genie :-)
Thanks,
Gerv
Assignee | ||
Comment 45•18 years ago
|
||
Alright, this should make everyone happy.
Attachment #262575 -
Attachment is obsolete: true
Assignee | ||
Updated•18 years ago
|
Whiteboard: [checkin needed]
Assignee | ||
Comment 46•18 years ago
|
||
Checking in toolkit/components/build/Makefile.in;
/cvsroot/mozilla/toolkit/components/build/Makefile.in,v <-- Makefile.in
new revision: 1.42; previous revision: 1.41
done
Checking in toolkit/components/build/nsToolkitCompsModule.cpp;
/cvsroot/mozilla/toolkit/components/build/nsToolkitCompsModule.cpp,v <-- nsToolkitCompsModule.cpp
new revision: 1.40; previous revision: 1.39
done
Checking in toolkit/components/alerts/Makefile.in;
/cvsroot/mozilla/toolkit/components/alerts/Makefile.in,v <-- Makefile.in
new revision: 1.6; previous revision: 1.5
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/Makefile.in,v
done
Checking in toolkit/components/alerts/src/mac/Makefile.in;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/Makefile.in,v <-- Makefile.in
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/mozGrowlDelegate.h,v
done
Checking in toolkit/components/alerts/src/mac/mozGrowlDelegate.h;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/mozGrowlDelegate.h,v <-- mozGrowlDelegate.h
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/mozGrowlDelegate.mm,v
done
Checking in toolkit/components/alerts/src/mac/mozGrowlDelegate.mm;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/mozGrowlDelegate.mm,v <-- mozGrowlDelegate.mm
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/nsAlertsImageLoadListener.h,v
done
Checking in toolkit/components/alerts/src/mac/nsAlertsImageLoadListener.h;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/nsAlertsImageLoadListener.h,v <-- nsAlertsImageLoadListener.h
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/nsAlertsImageLoadListener.mm,v
done
Checking in toolkit/components/alerts/src/mac/nsAlertsImageLoadListener.mm;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/nsAlertsImageLoadListener.mm,v <-- nsAlertsImageLoadListener.mm
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/nsAlertsService.h,v
done
Checking in toolkit/components/alerts/src/mac/nsAlertsService.h;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/nsAlertsService.h,v <-- nsAlertsService.h
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/nsAlertsService.mm,v
done
Checking in toolkit/components/alerts/src/mac/nsAlertsService.mm;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/nsAlertsService.mm,v <-- nsAlertsService.mm
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/CFGrowlAdditions.c,v
done
Checking in toolkit/components/alerts/src/mac/growl/CFGrowlAdditions.c;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/CFGrowlAdditions.c,v <-- CFGrowlAdditions.c
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/CFGrowlAdditions.h,v
done
Checking in toolkit/components/alerts/src/mac/growl/CFGrowlAdditions.h;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/CFGrowlAdditions.h,v <-- CFGrowlAdditions.h
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlApplicationBridge.h,v
done
Checking in toolkit/components/alerts/src/mac/growl/GrowlApplicationBridge.h;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlApplicationBridge.h,v <-- GrowlApplicationBridge.h
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlApplicationBridge.m,v
done
Checking in toolkit/components/alerts/src/mac/growl/GrowlApplicationBridge.m;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlApplicationBridge.m,v <-- GrowlApplicationBridge.m
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlDefines.h,v
done
Checking in toolkit/components/alerts/src/mac/growl/GrowlDefines.h;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlDefines.h,v <-- GrowlDefines.h
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlDefinesInternal.h,v
done
Checking in toolkit/components/alerts/src/mac/growl/GrowlDefinesInternal.h;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlDefinesInternal.h,v <-- GrowlDefinesInternal.h
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlPathUtil.h,v
done
Checking in toolkit/components/alerts/src/mac/growl/GrowlPathUtil.h;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlPathUtil.h,v <-- GrowlPathUtil.h
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlPathUtil.m,v
done
Checking in toolkit/components/alerts/src/mac/growl/GrowlPathUtil.m;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlPathUtil.m,v <-- GrowlPathUtil.m
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlPathway.h,v
done
Checking in toolkit/components/alerts/src/mac/growl/GrowlPathway.h;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/GrowlPathway.h,v <-- GrowlPathway.h
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/Makefile.in,v
done
Checking in toolkit/components/alerts/src/mac/growl/Makefile.in;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/Makefile.in,v <-- Makefile.in
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/NSURLAdditions.h,v
done
Checking in toolkit/components/alerts/src/mac/growl/NSURLAdditions.h;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/NSURLAdditions.h,v <-- NSURLAdditions.h
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/NSURLAdditions.m,v
done
Checking in toolkit/components/alerts/src/mac/growl/NSURLAdditions.m;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/NSURLAdditions.m,v <-- NSURLAdditions.m
initial revision: 1.1
done
RCS file: /cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/license.txt,v
done
Checking in toolkit/components/alerts/src/mac/growl/license.txt;
/cvsroot/mozilla/toolkit/components/alerts/src/mac/growl/license.txt,v <-- license.txt
initial revision: 1.1
done
Checking in toolkit/content/license.html;
/cvsroot/mozilla/toolkit/content/license.html,v <-- license.html
new revision: 1.9; previous revision: 1.8
done
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Whiteboard: [checkin needed]
Comment 47•18 years ago
|
||
I think we should back Growl out until we figure out what we want to do about bug 378785. The freeze is today, it's crashing static builds on launch.
Comment 48•17 years ago
|
||
Has Growl been re-enabled now that bug 378785 is fixed?
Assignee | ||
Comment 49•17 years ago
|
||
Yes, Growl should be working on trunk now (assuming you have it installed)
You need to log in
before you can comment on or make changes to this bug.
Description
•