Skip navigation

Category Archives: Firefox

All things dealing with Firefox.

Erik Dahlström felt compeled to respond to limi’s post about why Firefox will not pass the ACID3 test. Erik’s post claims to bust two myths:

  1. You need to implement the whole SVG 1.1 Fonts chapter to pass Acid3
  2. SVG Fonts and foreignObject support are both required to pass Acid3

Let’s be clear here: these two statements were never made by limi, or by bz, whose quote is used in both posts. Erik used only parts of bz’s quote that helped his argument, and conveniently left out this bit:

We don’t particularly want to do that small subset in Gecko, since it gives no benefits to authors or users over the existing downloadable font support (beyond the brownie points on Acid3).

On the other hand, support for the full specification in a UA that also supports HTML is… very difficult. SVG fonts are just not designed with integration with HTML in mind. Once you put an <iframe> in a glyph, all sorts of issues arise — both in terms of the spec being underdefined and in terms of the behavior being very difficult to implement, no matter what the spec said.

The astute reader might notice that Erik used a straw man argument to disprove limi’s post. Luckily, it looks like not everybody on the Internet has fallen for this logical fallacy.

So, I’m sitting here at the office because my apartment has no power. I’m bored out of my mind, so I wrote up a handy little tid-bit of information for those of you using Gmail.

For those of your who use GMail (and if you don’t, why not?!), I’m going to strongly suggest you protect yourself from man-in-the-middle attacks by setting the https only mode in Gmail. A MITM attack can steal your login credentials, as well as anything else you transmit in the clear over the Internet (which is pretty much everything) and is easier than you might think.

To do this, open your gmail settings (found at the top right of the page).

Ensure that you have the general tab selected (it’s the leftmost tab).

Scroll down to the bottom to the browser connections section, and make sure you select “always use https”. Feel free to click on the link as well to learn more.

Firefox 3 will always let you know that a page is being transmitted over https by turning the area to the left of the location bar (called the identity button) blue like so:

This is a serious issue. If you have any questions about this, or this type of attack, feel free to ask and I’ll be happy to answer (or find out the answer if I don’t know). Security is serious business, and I want you to be as safe as you can be.

That asynchronous storage API I’ve been working on for a while has finally been pushed to mozilla-central. That means you can now run database queries off the main thread without blocking the UI. This includes both read and write statements.

This may not seem like a big deal, but there is a big benefit to using this API over the existing synchronous API. SQLite performs a file system operation called fsync which pushes the data in the file system’s cache to the disk. This operation is inherently synchronous, and on some file systems (like ext3), can take substantial amount of time given the right circumstances. If this is ran on the main thread, the UI is locked up the whole time. By using this new asynchronous API, you won’t have to worry about that fsync holding up the main thread at all!

Perhaps the best part about this new API is that it doesn’t require many code changes. You still create SQL statements the same way, but instead of calling execute or executeStep on the prepared statement, you just have to call executeAsync. The method takes one parameter – a callback that notifies on completion, error, and results. The callback is optional on the off chance that consumers don’t care if something finishes successfully or not.

Iterating through results is not much different from before either. The only difference is that results may be chunked, so the callback may get notified about results several times (with only the new data). Some good example code can be found in the tests that landed with this new API.

I’d really like people to try it out and see if they have any issues with the API. There are already a few refinements with bugs filed, and a few more up in my head that we might want if the need arises.

[I use a Mac, so all the images in this post are of the Mac user interface. The UI for other platforms will differ slightly. Click on pictures to view other sizes.]

Firefox 3 brings a brand new download manager to the scene. There were lots of issues that existed with the old download manager both in terms of the UI and in the code that made it work. So for Firefox 3, we redid the whole thing to provide a better experience all around. It’s one of my favorite features in Firefox 3, but then I’m a bit biased. This post discusses the new features of the UI.

Old Meets New – a UI Comparison


The Firefox 2 download manager (above) would display the download’s icon (but not on Linux), its name, its status, and two text links to open and remove the download. In contrast, the Firefox 3 download manager (below) displays the download’s icon (even on Linux now), it’s name, the time of the download, the download size, and where it was downloaded from. For an active download, the size of the download changes to the amount downloaded so far. The main goal was to provide more useful information to the user.


You might notice, however, that there is now primary UI to open or remove the download. The idea here was to provide a less cluttered UI. However, just like before with Firefox 2, you can open your download by selecting it and pressing enter, double clicking it, or selecting open from the context menu. In fact, the context menu has grown a lot too!


The middle two options provide functionality that was once available from the old properties dialog. That dialog was removed because it was out of place. One of the new features of the new download manager is the ability to select more than one download (as hinted to by the “Select All” entry in the context menu). You can select multiple downloads (below) to perform an action on them such as remove, pause, or resume.



The new download manager also adds the ability to search through your download history. Let’s say that you recently downloaded a bunch of pdf documentation from and want to open it. The folder where all your downloads go is hopelessly cluttered, so you open up the download manager, and search for “pdf threading”. In a matter of moments, you are presented with the documents you wanted so you can now open them, or if they were deleted, you can re-download them.


Status Bar Indication

Perhaps the most useful feature that has been added in Firefox 3 is a little status indicator that can be found at the bottom right of your browser window:


Firefox will now let you know how much time is left for your active downloads. When you click on the indicator, it will open up so you can see more detailed information about your active downloads.

That wraps up the changes to the UI. Stay tuned for a post about what new features have been added to the download manager in Firefox 3!

So, Firefox 3 will have this totally awesome new location bar, that shaver has coined the Awesomebar. It really is pure awesome on so many levels because of how it works. Other people can explain this better than me, so go read this post and this post. OK, now brace yourself, because the Awesomebar is about to get awesomer!

Enter Edward. He’s a member of the community and a former intern for the Mozilla Corporation, and he’s gonna make the Awesomebar adaptively learn how to sort the results. He’s got a really cool post about his work here that you should go read right now. It has pictures even! Pictures!

Firefox 3 is gonna rock with these features, and many more. I can’t even use Firefox 2 anymore without feeling like I’m using some ancient, dumb, and slow piece of software. :(