User:Rcampbell/Firebug
Jump to navigation
Jump to search
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.