Archive for the 'Chromebug' Category

Firebug 1.7a4

Wednesday, October 20th, 2010 has Firebug 1.7a4 (+API doc) with 12 fixed issues. There is also Chromebug 1.7a4 available. All tests pass.

Some improvements:

  • Better formatting of stack-frame info in case of exception (issue 1601).
  • Improve design for the Stack side-panel (issue 3520)
  • Fixed command line API for inspector history (see more).
  • Improved accessibility for the CSS editor (issue 3335).


Followup in the newsgroup please.

Firebug 1.7a3

Wednesday, October 6th, 2010 has Firebug 1.7a3 with 24 fixed issues. Since we have upgraded our build scripts to do more work for us there is also fresh new release of Chromebug 1.7a3 and documentation generated from the source code updated (yes, Chromebug needs more jsdoc compatible comments).

Note that you should always use Firebug & Chromebug combo with an exactly matching versions (see more), which is the reason why (from now on) we’ll be releasing both at the same time.


Followup in the newsgroup please.

Chromebug 1.7a1

Tuesday, August 31st, 2010 has Chromebug 1.7a1, a release of the debugger we use on Firebug. Firebug 1.7a1 should be installed first. For more information on using Chromebug see the Chromebug User Guide.


Chromebug 1.6a10

Friday, April 23rd, 2010 has Chromebug 1.6a10, the Firefox extension debugger we use for Firebug.

  • Breakpoints saved between runs
  • Filter simplified and only applies to Files list now
  • Back/Forward navigation as in Firebug 1.6a10
  • Extensions panel added
  • When you stop on a breakpoint all nsIDOMWindows have event suppression.
  • Panels, contexts remember their last settings between sessions.

Please note

  • Use Firebug 1.6a10 with Chromebug 1.6a10
  • Don’t install jetpack prototype or SDK with Chromebug.


Please post comments on the newsgroup.

Chromebug 1.6a7 and Firebug 1.6a7

Tuesday, March 2nd, 2010 has Chromebug 1.6a7 and Firebug 1.6a7.

Yes, I know we just had Firebug 1.6a6. But Chromebug had one problem left to fix: the context did not restore correctly after restarting. After working all afternoon I tracked it down to a line in Firebug.

Plus the Firebug command line in 1.6a6 was broken if you used NoScript. What? NoScript and Firebug? Hey it happens.

This version of Chromebug has a big clean up in the code. Some highlights:

  • Sandbox context have better names,
  • Sandbox contexts use evalInSandBox for their command line,
  • New panel XPCOM for non-window contexts (eg BackstagePass)
  • New panel Overlays for window contexts (eg browser.xul).

I’ll do a post with screen shots on these soon.


Follow up in the newsgroup please.

Chromebug 1.6a5

Wednesday, February 17th, 2010 has Chromebug 1.6a5. As usual, this release should be used (only) with a matching Firebug version, 1.6a5.

  • All contexts in the stack are marked as ‘stopped’ when you hit a breakpoint. This means if your stack crosses from say a window to a component, then the debug controls remain available and the stack shows across the top. Like it should ;-).
  • The “all files” menu now syncs to the context’s script file menu to make it a little less confusing.
  • Remove the use of FUEL which is not supported by Fennec or other XUL applicationss
  • Many smaller bugs as always.


Followup on the newsgroup please.

Chromebug 1.6a4

Friday, January 29th, 2010

Later this evening will have Chromebug 1.6a4.

  • Attempt to delete Chromebug contexts when windows are destroyed. Seems to be working.
  • Different approach to XUL / XBL files, now can debug XBL JS
  • Only change the context by user control (not when windows open)
  • Better naming of Sandbox and about:blank contexts
  • Hacks to deal with jetpack hacks
  • consolidate code to map stack frames to contexts
  • avoid the gray blank area at the bottom of Firefox when inspecting.

Overall I’m more confident of this version that any in a while.

Also available is Firebug 1.6a4. About 10 tests fail, but I don’t know how to fix them. In these cases Firefox generates errors messages without file names, line numbers, or call stacks. I don’t know if we really have test failures or not.


Please followup on firebug newsgroup or the chromebug newsgroup

Chromebug 1.6a3

Thursday, January 14th, 2010 has Chromebug 1.6a3. Please update to Firebug 1.6a3 at the same time.

This version add some support for “Sandbox” scopes used by jetpack. Lots of bug fixes so generally it’s starting to work better again.

Inspect is working well, but one problem I don’t know how to fix: Firefox 3.6 gets a blank area at the bottom of the page when you inspect.


Follow up in the newsgroup please.

Jetpack in Chromebug

Wednesday, January 13th, 2010

I wanted to learn more about jetpack so (duh) I tried to debug a jetpack.  In case you’ve not heard,  jetpack is a Mozilla labs project to support easy, rapid development of Firefox addons using Javascript operating in an HTML rather than XUL world. You should try the tutorial, it really is easy and rapid!

Well, as long you don’t need to debug. Seems like the debug story is writing to Firebug’s Console.

Can we have a ‘jetbug’, a Firebug-like experience for jetpack? To start we’d need to understand what is jetpack. In part it is a Firefox extension: we should use Chromebug to investigate.

I ran the jetpack ‘boom’ tutorial from the about:jetpack URL. It is very short:

 html: "Boom<i>!</i>"

Then I inspected the “Boom” addition to the status bar:

In Chromebug we can see the implementation markup:

<statusbarpanel contextmenu="_child">
<iframe type="content" src="data:text/html,Boom%3Ci%3E!%3C/i%3E"
style="overflow: hidden; height: 16px; margin-top: 2px; margin-left: 4px; margin-right: 4px; width: 30px;">

So they put an iframe into the status bar to support HTML! Cool.

Next I want to find the Javascript above.  I did not get there yet, because Chromebug got confused by seeing a scope that was not a Window or BackstagePass. After some uh, logging based debugging of Chromebug, I can now see the Jetpack “Sandbox” object:

The console looks like an interface to Firebug. You can see the jetpack object used in the tutorial. Also in the sandbox is some jquery stuff and system functions.

Unfortunately there are ten other sandboxes whose role I don’t understand and I can’t find the source shown above. But it’s a start.  (Chromebug 1.6a3 will include what I’ve learned so far).


Followups on the newsgroup please.

Chromebug 1.5a4

Monday, October 12th, 2009 has Chromebug 1.5a4. Chromebug is the Firebug code adapted for XUL applications. It is the debugger that Firebug developers use to develop Firebug.  Note: you must install Firebug 1.5 as well as the Chromebug XPI. .

If you have looked any previous released version of Chromebug you will see a lot of changes. Some of these are inherited from Firebug.  Others are improvements in Chromebug itself.

The key features that we use routinely and that work well:

  • Inspect over Firefox. Probably also works on Thunderbird.
  • Viewing XUL and HTML, CSS styles, Layout and the DOM properties all work well.
  • Javascript debugging.  Seems pretty good now, the only problem is when I breakpoint Firebug and then try to use the breakpoints in Firebug. Since they share the same core debug engine, the result is often that Chromebug fails to break.
  • Error tracking in the Trace panel.
  • The command line works for some commands at least (not something I use however)

It is also a fun tool for poking around under the covers:

  • Try setting the context: to noWindow://BackstagePass and looking at the DOM panel
  • The XUL Windows panel shows the output of the window mediator
  • Filter: menu attempts to organize the chrome namespace (but I don’t use it after all)
  • File: menu shows all the files Chromebug knows about (well just the JS files now).
  • Tools > Open Chromebug Trace Console, if you want to know how to debug a debugger for debuggers 😉

Problems areas:

  • CSS editing is disabled because of Bug 503007
  • No support for anonymous XBL nodes because of unimplemented functions.
  • We don’t use Console or Net panel, so we don’t know if the work or not.
  • Tools > Platform shows the components, but it is very slow then crashes Firefox.
  • Some features under Tools have rotted but have not been removed.
  • The source code looks like it was written by someone who did not understand XUL applications and did not have a lot of documentation for some of the APIs. (But its getting a lot better as the causes improve).

Finally Gerv helped set up a newsgroup, mozilla.addons.chromebug.   I welcome suggestions and comments there.


Followups to the newsgroup please.