Closed Bug 412449 Opened 15 years ago Closed 15 years ago

Add standard install locations for OSX


(Toolkit :: Add-ons Manager, enhancement)

Not set





(Reporter: mossop, Assigned: mossop)


(Keywords: platform-parity)


(1 file, 2 obsolete files)

Bug 311008 added some standard install locations for Linux. We should add matching directories for windows and OSX.
Severity: normal → enhancement
Keywords: pp
FWIW, I disagree that we should add these on Windows... Windows typically doesn't use the concept of well-known filesystem locations, in preference for the registry, which is easier for Windows admins to lock down.
I would be fine with that, though Mark seemed to prefer having the directories available.
I won't fight too hard for it, but places like "Common Files" seem appropriate for extensions. The registry is easier to lock down, but is harder to "manage" when you compare it to putting files in a folder.

The registry allows extensions to be scattered, while the folder location provides a nice way to keep them together.
Please do correct me if I am totally wrong, but isn't there the variable path %AllUsersProfile% under Windows which has been created for this very purpose?

Under Windows XP this points to C:\Documents and Settings\All Users\Application Data\
Under Windows Vista this points to C:\ProgramData

IMHO Mozilla should use this location for storing data common to all users.
Assignee: nobody → dtownsend
Attached patch patch rev 1 (obsolete) — Splinter Review
This is basically it, still need to test on windows though.
Comment on attachment 301914 [details] [diff] [review]
patch rev 1

This adds the following directories as extension install locations in the app-system-local install location.

Windows: C:\Program Files\Common\Mozilla\Extensions\<appid>
OSX: /Library/Application Support/Mozilla/Extensions/<appid>

I've just split out the code dealing with that file key in the xredirprovider into its own method that only exists on the platforms it works for.

In the EM I just removed the linux defines, the code will already handle those directory keys not existing on the dir provider for other platforms so I see no need to complicate the EM with the ifdefs it'd need to work.
Attachment #301914 - Flags: review?(benjamin)
Whiteboard: [has patch]
Comment on attachment 301914 [details] [diff] [review]
patch rev 1

Something's wrong about appending 'Mozilla/Extensions' too many times or not enough.
Attachment #301914 - Flags: review?(benjamin) → review-
Whiteboard: [has patch]
Attached patch patch rev 2 (obsolete) — Splinter Review
This should be better
Attachment #301914 - Attachment is obsolete: true
Attachment #302568 - Flags: review?
Attachment #302568 - Flags: review? → review?(benjamin)
Whiteboard: [has patch]
Comment on attachment 302568 [details] [diff] [review]
patch rev 2

I'm happy to take this for mac. I don't think I want to do magic directories on Windows, so can I get a patch without Windows changes?
Attachment #302568 - Flags: review?(benjamin)
Whiteboard: [has patch]
Attached patch sans windowsSplinter Review
Same just without the windows magic directories.
Attachment #302568 - Attachment is obsolete: true
Attachment #307706 - Flags: review?(benjamin)
Attachment #307706 - Flags: review?(benjamin) → review+
Comment on attachment 307706 [details] [diff] [review]
sans windows

This brings us platform parity on OSX to that on Linux allowing third party applications to easily add extensions to the application without hacking themselves into the profile or app dir.
Attachment #307706 - Flags: approval1.9?
Whiteboard: [has patch]
Comment on attachment 307706 [details] [diff] [review]
sans windows

Attachment #307706 - Flags: approval1.9? → approval1.9+
Whiteboard: [has patch]
Checking in toolkit/mozapps/extensions/src/;
/cvsroot/mozilla/toolkit/mozapps/extensions/src/,v  <--
new revision: 1.277; previous revision: 1.276
Checking in toolkit/xre/nsXREDirProvider.cpp;
/cvsroot/mozilla/toolkit/xre/nsXREDirProvider.cpp,v  <--  nsXREDirProvider.cpp
new revision: 1.68; previous revision: 1.67
Checking in toolkit/xre/nsXREDirProvider.h;
/cvsroot/mozilla/toolkit/xre/nsXREDirProvider.h,v  <--  nsXREDirProvider.h
new revision: 1.19; previous revision: 1.18
Closed: 15 years ago
Resolution: --- → FIXED
Summary: Add standard install locations for windows and OSX → Add standard install locations for OSX
Target Milestone: --- → Firefox 3 beta5
Removing doc-needed; this doc is covered by another bug.
Keywords: dev-doc-needed
Product: Firefox → Toolkit
You need to log in before you can comment on or make changes to this bug.