Posts Tagged ‘Firebug’
Weekly Meeting Recap, October 21, 2008 October 23rd, 2008
Just a quick blurb about what we covered in this week’s meeting:
- Firebug 1.3.0b2 is available on getfirebug.com
- Discussed Honza’s awesome improvements to the Net panel
- Discussed John Resig’s further efforts on FireUnit and NetUnit integration
- Starting to push new code to 1.4 branch, 1.3 for bugfixes and cleanup only.
That’s the short version.
The longer version includes some good discussion about the net panel improvements, including some ideas for color improvements and drawing MozAfterPaint events on top of time-lines. We’re starting to see some additional load events super-imposed on the network traffic now, so the term “Net panel” is probably going to be replaced with something like, Construction Timeline in a later version. I don’t know what that name will be yet.
Resig’s improvements to FireUnit include a test-runner mechanism for running through a set of chrome files containing unittests. He’s also making good progress on integrating Honza’s NetUnit tests which will include the httpd.js server for hosting locally stored tests. We’re getting that much closer to having a usable unittest solution.
That’s not to say that we have full unittest coverage yet. I spent a couple of days messing around last week trying to write some Script panel unittests but ended up scrapping them because I coded around the thing I was trying to test. It was educational at least. I’ve moved back to working on rewriting some of the packaging tools so we can have a saner, cross-platform mechanism for building the extension and stripping out all the debugging and tracing code. Hint: It will probably be written in a language named for a certain non-venomous snake.
Not mentioned in the bullets, John Barton has moved Chromebug into the google code repository we’re using for Firebug. Feel free to check it out and give it a whirl. We should be much closer to having Chromebug in a usable state where Firefox and extension developers can start using it.
Oh, and one last thing: For all you testers running nightlies, we’re going to bump the MaxVersion on Firebug to 3.1 so you can start re-enabling your compatibility checks. Note that Firebug 1.3 on Firefox 3.1 will be considered experimental and useful for testing purposes only. We know there are problems, but we need to track them down and fix them in Firebug 1.4. If you encounter a problem, do a search in our Issues database and if you don’t find it, file it!
Tags: Chromebug, Firebug, fireunit, net, script, svn, unittest
Posted in Chromebug, Firebug, Mozilla | Comments (0)
FireUnit - the early years October 7th, 2008
One of our goals for moving forward with Firebug is to build a system to run automated unit tests for it. Currently, Firebug is modified, packaged and then tested by a small (but enthusiastic!) group of developers. When changes are made to the codebase, the area under development might be tested by the developer, but there’s no way of knowing if what you’ve done has broken some other part of the application. As a friend of mine is fond of saying, software is hard.
Enter FireUnit! An extension for Firebug that aims to be able to test Firebug itself, and later on, perhaps be a useful framework for developing unittests for the web. It’s still very early on, but there’s a core emerging.
Installing FireUnit is currently a bit of a manual affair. Download the source code from the github repository and extract the downloaded zip or tar file to your local filesystem.
Open your profile/extensions directory for the Firefox profile that you use with Firebug. Create a new empty text file there with the name “fireunit@mozilla.com” (no quotes, of course). In this text file, add the full path to the FireUnit directory you unpacked in the previous step. E.g., “/Volumes/Data/Projects/FIREBUG/fireunit” in my case.

Test panel of FireUnit after running commandline.html
When you open/restart Firefox with this profile and open Firebug, you should now see a new “Test” panel in the list of tabs. Go to the location bar and type in / paste chrome://fireunit/content/test/commandline.html. You should see some flickering as FireUnit runs through the tests in that commandline.html. When done, you should see a bunch of passes listed in the Test panel (hopefully no failures!).
While I’m rambling about testing, I should mention that there will soon be a new alpha version of Firebug 1.3 (a4) available for download at getfirebug.com/releases/firebug1.3. This would be an ideal version for you to try out FireUnit on! For the more adventurous in the crowd, Chromebug 0.3a8 is R261 on https://fireclipse.svn.sourceforge.net/svnroot/fireclipse/trunk/FireclipseExtensions/chromebug.
Tags: Code, Firebug, fireunit, Mozilla, Testing, unittest
Posted in Code, Firebug, Mozilla, Testing | Comments (2)
Building Chromebug August 29th, 2008
This week was a pretty incredible week for web stuff. The Labs people kicked off their Ubiquity prototype, letting the world get a taste for some of what will be possible through natural language processing and the browser. I also discovered a new feed reading add-on for Firefox called Feedly which does some very cool things with Google Reader to present web feeds in a new way. While reeling from all this new-found power, I had an intense meeting with John Barton who walked me through the setup procedure for Chromebug.
First, there are a couple of caveats about Chromebug. It’s still in an experimental state. Some parts work well, like the inspection of a chrome window’s DOM tree and CSS. Other parts are a little flakey or down-right broken. As of right now, the default build instructions will attach you to a 1.3 version of Firebug which has some improvements to handling large script files but is also somewhat broken. It should improve shortly.
So, with that out of the way, I’ll run through a quick Chromebug setup and install. The instructions are on the sourceforge page for Fireclipse, a plugin for Eclipse that adds some debugging capabilities for Firefox and/or JavaScript.
Step 1. From a suitable directory on your computer, check out the chromebug sourcecode from svn. There are external svn references to include two other add-ons, chromelist and firebug. These will get checked out as well.
Step 2. Create a new profile for Firefox using the Profile Manager. I called mine “Chromebug”. Make sure you start Firefox with this new profile to finish the creation process.
Step 2a. Make note of the location of this new profile. You’ll need the full path for the following step. On Windows, this would typically be in “C:\Documents and Settings\%USERNAME%\Application Data\Mozilla\Firefox\Profiles\xxxxxxxx.Chromebug\”. Replace %USERNAME% with your username, and xxxxxxxxxx with some randomly generated string. Just look for *.Chromebug in that directory. You will need this for the “install.dir” property in step 4 below.
Step 3. In a console (or terminal window), cd to the chromebug directory you checked out earlier. E.g., cd ~/Projects/fireclipse/extensions/chromebug
Step 4. Create a local.properties file using your favorite text editor in this directory. Add the following properties to it (each property should be on a single line, regardless of how this blog breaks it up):
firebug.dir=../firebug/branches/firebug1.3
chromelist.dir=../chromelist
Step 5. Create links to the chromebug extensions. This can be most-easily accomplished using the build.xml file provided in the fireclipse/extensions/chromebug directory and the Java build utility ant. If you don’t have ant installed, you can do this manually as per the instructions in the included readme file. It’s standard extension development linkage.
And now you should be ready to fire it up using (on windows):
Replace firefox.exe with firefox-bin on unixey OSes. You should see two windows open. One, a smaller window with the title Chromebug, the other, a standard browser window. Before you get too excited and jump in, you should quit the application and restart it (again, using the above command) to make sure the chrome files get registered properly. Now you should be ready to play!
Please keep in mind that Chromebug is experimental. There’s a lot of code in there and not all of it’s working. We are interested in getting more people using it and reporting problems though so check it out, and if you encounter any problems, feel free to come to #firebug in irc.mozilla.org and ask questions. You may have better luck using Firebug 1.2 instead of 1.3 currently, but I haven’t tested that myself. It should be a matter of changing the firebug.dir property in the local.properties file from step 5 above.
I’d like to thank John Barton for patiently walking me through the above and giving me a walkthrough of the code itself. It’s incredibly cool stuff and I’d love to see it become part of the standard arsenal of extension development tools as well as part of the toolkit for developing firefox front end features. In the coming weeks, I’ll post follow-ups on the state of chromebug and what you can do with it.
Happy debugging!
Tags: Build, Chromebug, Code, Firebug, Mozilla
Posted in Chromebug, Code, Firebug, Mozilla | Comments (5)
WikifyTabs August 26th, 2008
This weekend I took a bit of time out of my busy schedule of barbecuing and hiking among the rocks to write a little extension. A visiting friend asked if there was an easy way to get a list of the currently open tabs to enter in a wiki page. I tried various “bookmark all tabs” and export options but nothing seemed to fit the bill.
Enter WikifyTabs! It does just what we were looking for, creates a blank page and dumps the currently open tabs into it in MediaWiki markup. Pretty simple, but kind of useful. It also fits in with some of the ongoing discussion on Planet right now about how to improve the display and access of tabs. (Aside: I still love ctrl-tab, even though it might get changed before the final version of Firefox 3.1). Imagine a similar list of tabs with functional links in an about:tabs page. I may add that to the extension. Other possible additions include options to produce different types of code or markup, context menus in text areas to insert directly and copying wikified or bbcode links directly from the tab bar to the clipboard.
Oh, and I used Firebug 1.2.0 to help debug my extension. It was finished up by John Barton, Jan Odvarko and a cast of … several others this weekend. We released the final version yesterday and updates should be available through AMO. If you run into any problems, please file an issue on the google code page.
(I would be remiss in not sending special thanks to JOEDREW!, dria, gavin and yes, even kev for helpful grammar debugging of my early morning post)
Tags: addons, Code, Firebug, Firefox, Mozilla, tabs, Web, wiki
Posted in General | Comments (2)
The Correct Term is “Firebuggist” July 17th, 2008
After the Firefox 3 Release Week excitement, I kind of zoned-out for a bit and forgot about my blog. In an attempt to re-invigorate it, I’ve updated the theme to something a little less “newspapery” and should be able to get it looking a bit better than it did out of the box. It’s a work in progress and some things still don’t look quite right, but I have Firebug to help me fiddle with the CSS and layout. Nixing all instances of “Arial” was a good place to start. Also, while I’m rambling on about my blog, I should mention that WordPress 2.6 is out and if you’re using that platform, you should really update. Trust me, it’s nice.
Speaking of Firebug, it looks like I’ll have plenty of opportunity to play with it now as I’m going to be helping out with that project full-time. I’m really excited to be working on development tools again and already have a few ideas for features or extensions. (Internet-famous) John Resig posted a great article a couple of weeks ago and I’m looking forward to working with him, Jan Odvarko and the Firebug team to make it the awesomest, standards-based web-development tool in the universe. I’m hoping to write another post in a few days about some of those ideas. In the meantime, I have a couple of little patches to finish up before completing the move.
From an organizational perspective, this means I’ll be moving into the Evangelism Team with Mike Shaver and friends. I’ll still be helping field questions about the unittest infrastructure if they come up, but inquiries and bug reports should go to John O’Duinn and his team of Excellent Release Engineers.
Thanks to everyone for making this shift possible and to everyone who sent congratulatory notes. Everyone is Awesome! ![]()
Tags: Code, Firebug, General, Meta, status, updater, Web
Posted in Firebug, Meta, Mozilla | Comments (6)

