Closed Bug 708459 Opened 10 years ago Closed 9 years ago
Implement mechanism for selecting which installed Firefox version will be loaded to run natively-installed webapp
Currently, the Mac app launcher always targets the XUL runtime contained in the application with Bundle ID "org.mozilla.firefox". There is a command-line option (-p) to the foxlauncher which allows the use of a different application, but this doesn't give a great launch experience (no menubar, no Dock icon, etc) Developers and advanced users would benefit from the ability to target an Aurora or Nightly build of Firefox, so they could use a new feature or API. It would additionally be useful to target a different build on a per-application basis. A clean implementation of this would be to place something inside the bundle that contains a "preferred web runtime" field. This could potentially have a UI to allow users to pick a different runtime. A short-term fix would be to do something like this: When the launcher starts, check whether a FIREFOX_RUNTIME_ID file exists. If it does, load it as a string, and append it to "org.mozilla.". If an application with that Bundle identifier is found (through NSWorkspace), use that application as the runner; if not, fallback on "org.mozilla.firefox" We would then advise developers to "Show Package Contents" and create a new file with this name, and place the string "aurora" or "nightly" into it. Alternatively we could make the file part of our standard .app distribution but make it empty.
This is relevant on Windows too. We should allow apps to target a specific version of Firefox, and hopefully we can do this in a cross-platform manner (eg. putting the FIREFOX_RUNTIME_ID file in XUL/?).
OS: Mac OS X → All
Hardware: x86 → All
Summary: Mac app launcher should allow targeting of Beta, Aurora, and Nightly → App launcher should allow targeting of Beta, Aurora, and Nightly
marking as P2, not a blocker but do want ASAP.
Priority: -- → P2
A Pivotal Tracker story has been created for this Bug: http://www.pivotaltracker.com/story/show/24808731
This is still relevant as we move from the extension-based implementation to the m-c-based implementation: Developers will likely want to test their natively-installed apps against multiple versions of Firefox. On Windows, the version of Firefox that will be loaded is the one whose directory is specified in the natively-installed webapp's "application.ini": [...] [WebAppRT] FirefoxDir=absolute\path\to\firefox\dir\goes\here [...] Adding Dan and Myk to weigh in about Mac.
Component: Extension → General
Depends on: 731054
Product: Web Apps → Firefox
QA Contact: extension → general
Summary: App launcher should allow targeting of Beta, Aurora, and Nightly → Implement mechanism for selecting which installed Firefox version will be loaded to run natively-installed webapp
Target Milestone: --- → Firefox 14
Version: unspecified → Trunk
I've already implemented and checked in a process for doing this. It is intended as a developer tool though, and must be changed on a per-app basis.
Severity: normal → enhancement
As Dan mentions in comment 5, he has implemented a mechanism for doing this on Mac. And as Tim mentions in comment 4, there's another mechanism for doing it in Windows. So this seems fixed. If there are aspects of those mechanisms that are suboptimal, let's open new, targeted bugs on them.
Assignee: nobody → dwalkowski
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
(In reply to Dan Walkowski from comment #5) > I've already implemented and checked in a process for doing this. It is > intended as a developer tool though, and must be changed on a per-app basis. Dan, do you mind informing me of this process so I can show app developers how to use it for testing?
How would I go about verifying this fix? Would this involve changing the application.ini file for a web application to change what firefox version to use?
Jason: you would edit the Info.plist file for an app, adding a FirefoxBinary key whose value is the ID of an installed Firefox version, f.e. (to specify a debug nightly build): <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> ... <key>FirefoxBinary</key> <string>org.mozilla.nightlydebug</string> </dict> </plist> I don't actually know what the valid values of that string are, however.
Would an end-user ever do what you've described? Sounds like they wouldn't do that, but would like to confirm (trying to figure out if this is worth verifying or not).
No, a user will never do that. It's a developer- and tester-facing feature.
You need to log in before you can comment on or make changes to this bug.