Firebug 1.7 Script Panel

From FirebugWiki
Revision as of 08:44, 23 October 2010 by Johnjbarton (Talk | contribs) (Dupe of New Script Panel)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


This page summarizes the things that should be changed/ported/created in Firebug Lite 1.4+ in order to support the New Script Panel with the goal of supporting remote and cross-browser JavaScript debugging features.

Related pages:

Minor differences

See also, Firebug Lite Differences From Firebug#Minor Differences.

TODO: Update Firebug_Lite_Differences_From_Firebug#Minor_Differences section 
      with the new info provided here
  • const --> var
  • addEventListener --> adEvent
  • element.getElementsByClassName(name) --> FBL.getElementsByClass(element, name)
  • named functions --> variables
  • target = || event.srcElement
  • Array.indexOf --> (" " + str + " ").indexOf trick

Back-end platform dependencies

The dependencies listed here only counts the debugger.js file specifically. There are more dependencies in the files required by debugger.js.

  • jsd
  • Ci.jsdIScript;
  • Ci.jsdIStackFrame;
  • Ci.jsdIExecutionHook;
  • Ci.nsISupports;
  • Ci.nsICryptoHash;
  • Ci.nsIURI

Lite's missing pieces

Here's the list of things we need to port, change or create in Firebug Lite in order to support the New Script Panel.

items to port

User Interface Controller

  • Chrome

Context Management

  • browser (XUL-browser abstraction)
  • tabContext
  • tabWatcher

Source Management

  • sourceBox
  • sourceFile?
  • sourceCache?

Library Functions

  • FBL.getUniqueId
  • FBL.persistObjects
  • FBL.sourceFilesAsArray
  • FBL.appendInnerHTML

Activable Modules and Panels

  • Firebug.registerActivableModule
  • Firebug.ActivableModule
  • Firebug.ActivablePanel

items to change

Firebug Panel implementation

  • Panel create/destroy methods
  • Panel initialize/shutdown methods
  • Panel show/hide methods
  • Panel initializeUI method

Firebug API

  • Firebug getPref/setPref
  • SidePanel API

Graphical Components

  • GUI.Menu
  • infoTip

User Interface Refactoring

  • UI tabs on top*
  • commandLine available at all panels*

[*] Not exactly required by the New Script Panel, but it would be good to Firebug Lite match the Firefox visual to reinforce the new unifying model, and is something to be considered when designing/porting the new modules.

items to create

Graphical Components

  • GUI.ToolButton (panel buttons)
  • GUI.OptionsMenu (panel options)
  • GUI.ScrollableMenu (file selection)
  • GUI.StatusBar (call stack)