Firebug 1.7 Script Panel

From FirebugWiki

Jump to: navigation, search

Contents

[edit] Overview

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:


[edit] Minor differences

See also minor Firebug Lite differences from Firebug.

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.target || event.srcElement
  • Array.indexOf --> (" " + str + " ").indexOf trick


[edit] 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


[edit] 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.


[edit] 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


[edit] 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.


[edit] items to create

Graphical Components

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