The default bug view has changed. See this FAQ.

Implement mechanism for selecting which installed Firefox version will be loaded to run natively-installed webapp

RESOLVED FIXED in Firefox 14

Status

Firefox Graveyard
Web Apps
P2
enhancement
RESOLVED FIXED
5 years ago
a year ago

People

(Reporter: Michael Hanson, Assigned: Dan Walkowski)

Tracking

Trunk
Firefox 14
Bug Flags:
in-moztrap -

Details

(Whiteboard: [qa-])

(Reporter)

Description

5 years ago
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
(Assignee)

Comment 5

5 years ago
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.

Updated

5 years ago
Blocks: 731054
Component: General → Web Apps
No longer depends on: 731054
QA Contact: general → webapps

Updated

5 years ago
Severity: normal → enhancement
Whiteboard: [marketplace-beta-]
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
Last Resolved: 5 years ago
Resolution: --- → FIXED

Comment 7

5 years ago
(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?

Updated

5 years ago
No longer blocks: 731054

Updated

5 years ago
Whiteboard: [marketplace-beta-]
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?
Whiteboard: [qa?]
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.

Updated

5 years ago
Whiteboard: [qa?] → [qa-]

Updated

5 years ago
Flags: in-moztrap-

Updated

5 years ago
QA Contact: jsmith
Product: Firefox → Firefox Graveyard
You need to log in before you can comment on or make changes to this bug.