Skip to Content

Ehsan Akhgari's blog

Bugzilla Tweaks now available as an extension

Some of you might remember reading my blog post on my experience about porting the Bugzilla Tweaks jetpack to the Jetpack SDK.  I talked about almost everything in that post except where you can find the actual extension!  That was intentional, because there were quite a few bugs in the early versions, and I didn't want to release something which is basically broken.  But those issues have been mostly solved now, and I'm releasing the jetpack as a Firefox extension.

My experience with the Jetpack SDK

Recently, I decided to convert my Bugzilla Tweaks jetpack to an extension based on the Jetpack SDK, which is still under development.  This post is meant to be a document of my experience with the Jetpack SDK for creating a real-world and useful extension for Firefox.

Making sense of Firefox startup time

One of the things that we at Mozilla would like to do better at is the amount of time it takes between when you launch Firefox, and when it starts up and is usable.  We've been tackling this problem for quite a while, and have already made tremendous improvements.  But we think we can still do better.

Assisted starring of oranges

As a good citizen in the Mozilla developer community, you need to watch the tree, and star any random oranges with bug numbers, and put a comment inside the relevant bugs with a link to the log of the orange in order to help debugging the problem.  That's too much work, and worse, it's repetitive and boring.  Last weekend, I got sick of it, and decided to hack Tinderboxpushlog to make this a bit easier.  That work is now deployed on Markus' instance of Tinderboxpushlog for you all to enjoy.

Text field lazy initialization

I just landed a set of patches on mozilla-central which makes the initialization of the editor for text fields (input type="text" and input type="password" in HTML terms) lazy.  What we used to do was to initialize the editor component for text fields as soon as we created frames for those elements.  This was not ideal, because users don't usually use all of those fields on web pages (think about the "search" text fields you see on every website nowadays, for example.)  It also made Gecko significantly slow for pages which included a lot of those elements.

User name autocomplete in Bugzilla

Atul Varma has built an user name autocomplete tool for Bugzilla.  This reminded me that it's been a long time since I wanted to add this functionality to the Bugzilla Tweaks jetpack.  Last week I added this feature, but I didn't get the time to blog about it!

Here is how it looks on a a sample bug:

User name autocomplete for the Assignee field

It is also smart enough to handle multiple users for fields which accept it.

Jetpack Prototype with trunk support

If you use Firefox nightly builds, and you had the Jetpack Prototype installed, you might have noticed that about two weeks ago, your jetpacks had started to get disabled a short while after you had opened your browser.  This issue was really frustrating, since some of us run jetpacks which are very important in our daily work.

C++ AutoComplete feature in VIM

I really needed a context-sensitive C++ autocomplete feature for Vim, which would allow me to do crazy things like autocompleting class member names.  As it turns out, there is a way to do that, and it works pretty well.  I decided to write up how I set things up myself, in hopes that this will help others as well.

Here is what you need in order to set things up:

Thoughts on the future of web-based HTML editors

The ability of editing HTML content on the web is nothing new, we've all used it to write emails in Web-based email clients, post content on our blogs, adding content to web sites, etc.  Web sites usually do this using the execCommand API, with either iframes put into designMode, or contentEditable elements, and occasionally utilize things such as the DOM Range API and -->

Help build a tool for checking Private Browsing compatility in extensions

As I wrote before, there are plans in motion to require Private Browsing mode compatibility in Firefox extensions.  In order to make the lives of our reviewers easier, we need a tool to help them review extensions for Private Browsing compatibility.

Syndicate content