Closed Bug 388854 Opened 12 years ago Closed 12 years ago
Add scripts to tinderbox to allow Firefox to exit cleanly on Mac
Firefox stays open on Mac even when the last window is closed. This has been a longstanding Mac testing problem. There are scripts in the Mozilla src (quit.js)that allow the app to exit cleanly, even on Mac. I propose adding these scripts to the performance/startup hierarchy, and adding some code to Tinderbox so it will know where to look for and how to call these scripts. This is specifically related to the tinderbox BloatTest, but other tests may benefit from having these scripts handy. Patches forthcoming.
12 years ago
Status: NEW → ASSIGNED
Priority: -- → P2
There is also an update to install-links to generate the necessary symlinks automatically for new installs. Again, I consider this hacky, but it works. If we'd rather have these scripts live on a server somewhere rather than manipulate them inside tinderbox, I would be cool with that.
If the quit script doesn't exist, e.g. on an existing Mac tinderbox without the necessary symlinks, we're no worse off then we were before.
Comment on attachment 273030 [details] [diff] [review] Update bloatcycle.html to add the quit URL on Mac. Does this require quit.html to be in /tmp ? Don't we want it to be in some known location in the checkout?
Comment on attachment 273029 [details] [diff] [review] Tinderbox patch to put quit files in place (if found) for bloat testing. Does this need to be in /tmp? Can't we just use it from mozilla/tools/performance/startup/ ?
(In reply to comment #4) > (From update of attachment 273029 [details] [diff] [review]) > Does this need to be in /tmp? Can't we just use it from > mozilla/tools/performance/startup/ ? I did it this way because /tmp is a known location that we can call simply from the JS in bloatcycle.html on any platform, although since Mac is the only problem platform, you're probably right. Let me roll a new patch for this.
Rather than worry about copying/linking files around and making sure everything is checked out of CVS, I've opted to take the simplest approach here, adding the functions from quit.js directly to bloatcycle.html. This removes the need for any tinderbox changes at all. We'll obviously need a similar patch for the 1.8 branch.
I should note that the code I had originally added to build-seamonkey-util.pl to set the codebase prefs (required to allow the JS script to automatically close the browser on Mac) did not actually work, i.e. despite setting the relevant prefs using set_pref(), I had to manually accept (and remember) when the elevated privileges dialog appeared. I then had to set $CleanProfile=0 in tinder-config.pl so that the existing profile values would be used, otherwise it still prompted everytime. These are the target prefs that appear in prefs.js that I am apparently unable to set from within the tinderbox client code: user_pref("capability.principal.codebase.p0.granted", "UniversalXPConnect"); user_pref("capability.principal.codebase.p0.id", "resource://"); user_pref("capability.principal.codebase.p0.subjectName", "");
Attachment #274796 - Flags: review?(rhelmer) → review+
Checking in bloatcycle.html; /cvsroot/mozilla/build/bloatcycle.html,v <-- bloatcycle.html new revision: 1.4; previous revision: 1.3 done Patch for 1.8 coming up.
Attachment #277432 - Flags: review?(rhelmer) → review+
Checking in bloatcycle.html; /cvsroot/mozilla/build/bloatcycle.html,v <-- bloatcycle.html new revision: 184.108.40.206; previous revision: 1.1 done
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.