Firebug Internals

From FirebugWiki
Revision as of 20:36, 6 November 2009 by Johnjbarton (Talk | contribs) (How are the XUL files used?)

Jump to: navigation, search



Firebug source is available via subversion

Don't use /trunk, its just old code.

The Firebug source is under branches, eg branches/firebug1.5.

  • fbtest/ Firebug test harness
  • tests/content contains the FBTest suite.
  • lite/ Firebug for non-Firefox browsers
  • chromebug/ Debugger for Firebug (and other Firefox extensions)
  • Most of the remaining directories are extensions (to be under extensions/ some day).

Overview of Firebug

How are the XUL files used?

  • browserOverlay.xul : puts Firebug into the bottom of the browser window by "overlay" on to Firefox's browser.xul
  • firebug.xul: puts Firebug into its own window.
  • firebugOverlay.xul: overlays browserOverlay.xul or firebug.xul to add placement-independent features by XUL.

How are panels created?

Basically follow the pattern of an existing panel.

  • extend Firebug.Panel
  • add methods
  • use 'this.context' for context dependence
  • Add UI to 'this.panelNode' as HTML.
  • Learn about domplate to create the HTML
  • registerPanel

How does debugging work?

See the Chromebug User Guide

How to write a firebug extension?

A Firebug extension is just a Firefox extension that happens to work on top of Firebug.

How to use FBTrace?

  FBTrace.sysout(<string>, object);