GetFirebug logo

Web Development Tools

Firebug & Chromebug

EU MozCamp, Barcelona, October 2008
Jan Odvárko

getfirebug.com

Firebug, Web Development Evolved

Firebug Overview

New Features for 1.3

Firebug Tracing

Extensions

Hello World! extension: overlay

<?xml version="1.0"?> 

<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 
    <script src="chrome://helloworld/content/helloWorld.js" 
        type="application/x-javascript"/>

    <commandset id="mainCommandSet">
<command id="cmd_hwMyButton" oncommand="Firebug.HelloWorldModel.onMyButton(FirebugContext)"/>
</commandset> <toolbar id="fbToolbar"> <hbox id="fbToolbarInner" insertbefore="fbDetachButton">
<hbox id="fbHelloWorldButtons" insertafter="fbNetButtons"> <toolbarseparator/> <toolbarbutton id="hwMyButton" label="Say Hello" class="toolbar-text-button" tooltiptext="Push to say hello" command="cmd_hwMyButton"/> </hbox>
</hbox> </toolbar> </overlay>

Hello World! extension: panel

FBL.ns(function() { with (FBL) {

function HelloWorldPanel() {}
HelloWorldPanel.prototype = extend(Firebug.Panel,
{
    name: "HelloWorld",
    title: "Hello World!",

    initialize: function() {
      Firebug.Panel.initialize.apply(this, arguments);
    }
});

Firebug.registerPanel(HelloWorldPanel);

}});

Hello World! extension: model

FBL.ns(function() { with (FBL) {

Firebug.HelloWorldModel = extend(Firebug.Module,
{
    initContext: function(context) {},
    loadContext: function(context) {},
    showContext: function(context) {},
onMyButton: function(context) { alert("Hello World!"); }
}); Firebug.registerModule(Firebug.HelloWorldModel); }});

Internal Architecture

Better extension support

Chromebug

Demo

Future Plans


Question Time

Questions?

www.softwareishard.com