Brand Thunder and WebSearch+

Somehow in the past few weeks, lots of sites have started repeating the same article and the same incorrect information that WebSearch+ from Brand Thunder is malware. This is patently false. WebSearch+ is simply the method Brand Thunder uses to monetize its add-ons and it is 100% configurable by the user. Every feature can simply be turned off in preferences.

Brand Thunder put up a post with more information - What is WebSearch+

Hopefully that will clear things up.

Setting Default Application Handlers

One of the questions I get asked a lot is how to set default application handlers in Firefox (the Applications page in preferences). Most companies have resorted to creating a default mimeTypes.rdf file and loading this into their default profile. I finally took the time to understand how these handlers work and can give you some code to use.

More MAJOR changes coming in Firefox 21

In my previous post, I talked about the moving of some files for Firefox 21. Due to some major bugs related to partner builds, the distribution directory was moved back. So you no longer need to move distribution files into the browser directory. So here's a summary of what has changed:

  • defaults/preferences -> browser/defaults/preferences
  • defaults/profile -> browser/defaults/profile
  • extensions -> browser/extensions
  • searchplugins -> browser/searchplugins
  • plugins -> browser/plugins

I've also been asked about the file override.ini - this file should now be placed in the browser subdirectory as well.

Remember, Firefox 21 is scheduled to be released tomorrow.

Don't Unpack and Repack omni.ja[r]

If any step in your process to customize and deploy Firefox involves unpacking and repacking omni.ja[r], you're probably doing it wrong. Any modifications you need to make to Firefox, whether it be changing the default profiles, changing the default preferences or even overriding specific files can be done WITHOUT repackaging omni.ja[r].

If you really think you have a use case for unpacking the omni.ja[r], let me know and I'll try to prove you wrong.

Now you know...

Add-on Scopes Redux

In a previous post, I talked about add-on scopes. One of the things that was most problematic about add-on scopes was where the extensions.autoDisableScopes preference could be set. In my original testing, I thought I was unable to set it in an autoconfig file. I've retested everything in the ESR 17 as well as the current Firefox, and to my surprise, this value can be set fine in an autoconfig file (although not if it is remote).

In addition, for files in the defaults/preference directory, there were issues with JS files only working if the filename started with a letter less than f. That problem appears to not be there anymore either.

So to summarize, you can set extensions.autoDisableScopes via autoconfig (and you should) and it doesn't matter what your JS file in defaults/preferences is named.

MAJOR changes coming in Firefox 21

There are some pretty major changes coming in Firefox 21 that you need to be aware of if you are going to deploy it. Here's the details.

In order to support the metro version of Firefox, most of the Firefox code was moved into a subdirectory called browser. This means that all configuration files except the autoconfig now go into the browser subdirectory:

  • browser/distribution
  • browser/defaults/preferences
  • browser/defaults/profile
  • browser/extensions
  • browser/searchplugins

So just about every blog post I've ever done on this stuff doesn't apply starting with Firefox 21. Also be aware that these changes will be in the ESR 24.

In addition, there is a new feature called Firefox Health Report that is on by default. You can see it by going to about:healthreport. This feature sends data about Firefox to Mozilla. You have two choices here. If you want to be able to see the data, and just not have it sent to Mozilla, set the preference "datareporting.healthreport.uploadEnabled" to false. If you want to turn it off completely, set the preference "datareporting.healthreport.service.enabled" to false.