The Twelve Booleans of Mozilla

July 28th, 2011 by mwu

In order to switch Mozilla away from PRBools and to real boolean types, it’s necessary to first fix any code that relies on PRBool being a plain integer. This can be accomplished by ensuring every assignment to a PRBool or return from a function returning PRBool is in fact a boolean. I wrote a clang […]


Symlinks enabled on omnijar builds

July 26th, 2011 by mwu

Bug 664907 has landed on mozilla-central. This enables symlinks in chrome packaging while omnijar is enabled. So, if you are: Working on files which are in the chrome directory (listed in a jar manifest) Working on files which are not preprocessed Not on Windows Running builds out of dist/bin (or the OSX equivalent) then running […]


Killing PRBool with clang and a little bit of fire

July 23rd, 2011 by mwu

Once upon a time, there was a tool called prcheck which checked usage of PRBools and made sure only righteous 1s and 0s were assigned to PRBools. The goal was to correct all the uses of PRBool and hopefully turn PRBool into a Real Boolean. This didn’t happen, though many abuses of PRBool were corrected […]


Extensions now installed packed

September 10th, 2010 by mwu

Bug 533038 has landed. Extensions are no longer unpacked by default when installed. If an extension with an id such as {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d} is installed, it will show up in the profile extensions directory as a file named {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}.xpi instead of a directory named {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}. This was done to reduce the startup impact of having too […]


Omnijar. How does it work?

August 13th, 2010 by mwu

What is omnijar? Omnijar is a new packaging format. It’s expected to be enabled by default for Firefox 4.0b5. The difference that omnijar makes can been seen comparing the file listings of builds before and after omnijar: