This page covers the architecture of Firebug (the Firefox extension), showing internal concepts and explaining how individual components interact when Firebug is running.
Internal Concepts And Components
Brief summary of internal concepts used in Firebug's framework.
TODO: create structure of internal concepts + patterns and link to individual pages that provide detailed explanation. Use Firebug Architecture Highlights (pdf) slides.
Firebug Object is the only global object and represents a roof object in the entire application.
A context object represents a document and is responsible for collecting (meta) data about the current page on which Firebug is active.
A panel object is used to present information to the user. Displayed data are always related to the current page. A panel is accessing the current Context object to render relevant data.
Read more about concepts used in the Script Panel
Event Sources (Listener)
Data Providers & Viewers
Firebug uses viewer-provider patter to unify the way how UI widgets (viewers) access various data source. The pattern supports synchronous as well as asynchronous data sources and allows to use common API to access them.
- Presentation State
Read detailed explanation about Data Providers & Viewers.