Firebug/WeeklyUpdates/2008-07-30

From MozillaWiki
Jump to: navigation, search

Meeting with Rob, Jon, Jan, and John at the Mozilla Summit (with visits from Roc, bz, and Blake). Notes were taken here: http://docs.google.com/Doc?id=awtg3p8j2p2_53dhzzn4f6

Current State:

Casual JavaScript

  • JS Console
  • DOM Inspection

Power-User JavaScript

  • Net Tab
  • Profiling

Advanced JavaScript

  • Develop Firebug Extensions
  • Script debugging

Casual CSS

  • Element Inspection

Power-User CSS

  • Layout
  • CSS Manipulation

Possible Improvements:

Casual JavaScript

  • View bound Event Listeners (Oli/smaug)
    • bz to file a bug
  • Better error reporting (dying in XPConnect, getting converted to a string)
  • Better Error Information (put an intern on it)
    • Codes for errors
    • i18n of error messages

Power-User JavaScript

  • Edit a script and override all future loads of that script
  • Add a new script to a page and have it always be added
    • No XPCOM access
  • When exactly setTimeouts are firing
  • Callback when any event fires
    • The target
    • What captured (where it bubbled)
    • A full event log
  • Canvas Debugging (tab?)
    • Throwing exceptions for errors
  • DOM property mutation or modification events
    • Distinct from attribute mutation (scrollTop is modified, for example)

Advanced JavaScript

  • When exception is thrown, stop execution and allow for resume
    • (I think this is implemented since Firebug 1.1 as Scripts > BreakOnErrors jjb)

Casual CSS

  • The ability to add new CSS rules
    • Build a new stylesheets, add the rules to it
  • Export all CSS changes (add, change) to a new stylesheet
  • Hiding the results from reset.css files (they clutter up the display)

Power-User CSS

  • Edit a stylesheet and override all future loads of that sheet
  • Add a new stylesheet to a page and have it always be added
  • Style mutation events
    • Figure out when a CSS style gets changed (and where?)

Advanced CSS

  • Cost of a CSS rule
  • Reflows (number of reflows)
  • Information on what causes a reflow flush (for example: offsetTop, getBoundingClientRect)
  • How long a repaint takes to happen
    • (repaint events for the window * onbeforepaint (DOM), onafterpaint (XPCOM)) * bug 239074
    • What causes the repainting to occur? Get the coords of what was repainted?
  • Track when invalidates happen and what has to be redrawn (collected and then repainted)
    • Expensive, invalidates are a high volume event

Misc

  • Better XHR logging (smaug)
  • Intercept the content to be modified
  • Firebug Extension Repository
    • Possibly a wiki
  • Monitoring document changes (an event with old document and new document)
  • Getting the prototype of an object (__proto__?)
  • Tab watching