User:Rcampbell/Firebug
From MozillaWiki
Contents
Firebug
I'm currently working on Firebug as a member of the Firebug Working Group. My goal is to assist the project with infrastructure and process, as well as coding and bug fixes.
Web Debugger Feature Comparison
NB: This is a document under construction. The WebKit Web Inspector and Opera Dragonfly comparisons were done well over a month ago (at time of this writing) and is in need of updating. Further notes about what the contents of the feature column are also necessary. robcee 18:08, 7 October 2008 (UTC)
Feature | Firebug | Safari Web Inspector* | Opera Dragonfly† |
---|---|---|---|
Interactive Console | • | • | • |
Snippet Editor | • | ||
Environment | • | ||
HTML Editing | • | • | |
Style of Elements | • | • | • |
Layout | • | • | • |
Rulers and Guides | • | ||
Computed CSS | • | • | • |
Edit CSS | • | •1 | •1 |
Path | • | • | • |
Script Debugging | • | • | • |
Remote Debugging | 8 | • | |
Breakpoints | • | • | |
Eval Scripts | • | • | • |
Conditional Breakpoints | • | ||
Watch Variables | • | ||
Call Stack | • | • | • |
Thread Log | •7 | ||
Scoped Variables | • | • | • |
Colors | • | ||
DOM | • | •2 | •6 |
User-defined properties | • | •3 | • |
User-defined Functions | • | •3 | ? |
DOM Properties | • | •3 | ? |
DOM functions | • | •3 | ? |
DOM constants | • | •3 | ? |
Network | • | •4 | |
Timelines | • | • | |
GET/POST Request | • | • | |
Response Headers | • | • | |
Media popups | • | • | |
JS Profiling | • | •5 | |
Databases | • |
- * WebKit nightly version r35973
- † Opera beta 9.52 build 4916
- ? Unknown
- - Edit non-computed values only
- - Called “Properties” in Elements (HTML) view
- - Not as a selectable option, components are broken down by DOM object
- - Called “Resources”
- - Unable to see this feature in action, crashed my browser
- - Properties in DOM view
- - Worker threads?
- - Available in Firebug with Aptana
Firebug test-cases and code
from an email exchange with JJB and group:
I think these are all nice to have, but if I have to isolate the top pain points they would be:
- double load. This should be fixed already, bug 430155
- bug 449198 http-on-examine-response isn't fired when a response comes from the cache - check with Honza on how important — honza's reply: Yes, this one would help a lot! It's related to the net panel stuff. Currently there is quite hacky workaround; it would be awesome if I could do it properly.
- AJAX performance
- bug 379410 debugger script detection using parent JSScript* (morph for jsd) would reduce the number of script-creation calls (the most expensive ones) by two orders of magnitude.
- bug 449454 [jsd] Add frame argument to every jsd callback, eg jsdIScriptHook would avoid taking a breakpoint for every jsdIScript created
- bug 415008 eval Performance Regression (morph to implement CRC32) — would accelerate the common case for eval()
- tab-based debugging (focus on one window).
- bug 342715 Need an API to allow extensions to hook "document load started" events would eliminate weird code in tabWatcher.
- bug 449458 [jsd] Extend jsdIFilter coverage to include jsdIScriptHook would reduce overhead of jsd on pages you are not debugging.
- bug 228205 Redesign nsIConsoleService and related APIs — would improve error reporting accuracy and speed.
- error messages
- bug 228205 Redesign nsIConsoleService and related APIs — should give stack traces on all errors.
- bug 445355 Exception... "Component is not available" provides inadequate information — maybe we would know what these mean.