Firefox/Projects/Console: Difference between revisions

Line 51: Line 51:
* JS command line history [needs work]
* JS command line history [needs work]


'''milestone 0.4 - CURRENT WORK''' - '''Items that need to be finished before we call this landable or "beta-quality", etc:'''
'''milestone 0.4''' ['''done'''] ['''Landed on Trunk''']
* Exception Listener to surface all exceptions, css warnings, etc... ['''done''']
* Exception Listener to surface all exceptions, css warnings, etc... ['''done''']
* Attach console input to console UI: the "JSTerm" object should be able to be used as either an input for the console or a JS Workspace (modularization) ['''done''']
* Attach console input to console UI: the "JSTerm" object should be able to be used as either an input for the console or a JS Workspace (modularization) ['''done''']
Line 64: Line 64:
* Remove JS Workspace ['''done''']
* Remove JS Workspace ['''done''']


'''Land on trunk after 0.4 reviews''' - '''Estimated Date''': 2010-06-11
'''TOP 5 Features [IN FLUX] - (all else is secondary)'''
 
1. Logging of tab-specific activity
'''Re-evaluate the following milestones after review process'''
2. Deeper inspection of logged data: clickable/inspectable objects
 
3. Interactivity in console: command line commands: find, inspect, pprint, etc... / console input expands/shrinks based on user input
'''Future task, features list'''
4. ??
5. ??


'''Top Blockers for release: P1'''
'''Top Blockers for release: P1'''
* Network traffic logging seems is missing image traffic ['''in progress'''] ['''need platform help'''] see {{bug|568034}}
* Network traffic logging seems is missing image traffic ['''in progress'''] ['''need platform help'''] see {{bug|568034}}
* Identification of CSS Parser error originating contentWindow ['''need platform help'''] {{bug|567165}}  
* Identification of JS Exception and CSS Parser error originating contentWindow ['''need platform help'''] {{bug|567165}}  
* Identification of JS exception originating contentWindow ['''need platform help'''] {{bug|567165}}
* Network activity does not yet identify child iframe network requests as originating from a "watched" loadGroup. {{bug|568643}}
* Storage and removal of DOM Mutation Listeners ['''in progress'''] {{bug|568658}}
* Always on C++ XPCOM Console Service that can be observed by this console, firebug or any other developer tools.


'''P2'''
'''P2'''
* JS Workspaces polish: key bindings, history, tab completion
* JS Workspaces polish: key bindings, history, tab completion {{bug|568652}}, {{bug|568649}}
* UI polish: make the Console input widget blend in better for both Console and JS Workspace.
* Copy output to clipboard support {{bug|574036}}
* Firefox UI front-end implementation (XBL interface creation)
* JS Object property inspector {{bug|573102}}
* console helper commands: find, inspect, pprint {{bug|575789}}
* UI polish: make the Console input widget blend in better for both Console and JS Workspace.  
* add links to view source in console  
* add links to view source in console  
* Firefox UI front-end planning/brainstorm/mockups {{bug|559481}} {{bug|559482}} ['''met with UX''']
* Firefox UI front-end planning/brainstorm/mockups {{bug|559481}} {{bug|559482}} ['''met with UX''']
* Global message interleaving needs to cleanly turn on and off.
* Make sure the preference observer that toggles the HUD on and off works properly.
'''Estimated time:''' 4 weeks
* Popup menus to expose additional functionality
* Popup menus to expose additional functionality
** create popup menu for workspaces, eg file, edit, evaluate
** create popup menu for workspaces, eg file, edit, evaluate
** create popup menu for console content area
** create popup menu for console content area
** edit (copy / paste), save (import(?), apply(?) for later)
** edit (copy / paste), save (import(?), apply(?) for later)
* Network activity does not yet identify child iframe network requests as originating from a "watched" loadGroup.


'''Estimated Time:''' 1 Week
'''P3'''
* Firefox UI front-end implementation (XBL interface creation) ['''needs discussion''']
* console command line "injection API": make extensibility API


* Jetpack Integration: Logging console in a new window
'''FUTURE'''
** JS Workspace for Jetpack dev/build tasks
* new JSD api integeration, basic debugger - gdb style?? Perhaps not?
 
''JS Workspace notes'''
* We should steal every delicious piece of Jesse's js shell - utility functions (print(obj), blink(domEl), load(scriptURL)), tab completion - all of it.
* We should also steal convenience things like "$ = document.querySelector" and "$$ = document.getElementByID", but post-beta.
 
'''Estimated time''' 2 weeks
 
* new JSD api integeration, basic debugger - gdb style
** (dependant on JS module work to create this new api)
** (dependant on JS module work to create this new api)
'''Estimated time:''' No idea: PLATFORM Dependency
* console command line aliases, magic and "injection API": make extensibility API for Gecko apps, Jetpack
* Refactor HeadsUpDisplay.jsm to not be Firefox-specific
* GeckoApplication "Mixins": allow any Gecko application (beginning with Firefox) to insert UI and JS Context hooks
* GeckoApplication "Mixins": allow any Gecko application (beginning with Firefox) to insert UI and JS Context hooks
** {{bug|453650}}
** {{bug|453650}}
'''Estimated time:''' 2 weeks
* Fennec Integration / remote logging/ debugging
* Fennec Integration / remote logging/ debugging
** remote logging interface pushes log entries to remote http server
** remote logging interface pushes log entries to remote http server
* Functionality to revisit:
** Storage and removal of DOM Mutation Listeners ['''in progress'''] {{bug|568658}}
** JS Workspace implementation
** Global console and global message interleaving needs to cleanly turn on and off.
** Make sure the preference observer that toggles the HUD on and off works properly.
** Jetpack Integration: Logging console in a new window
*** JS Workspace for Jetpack dev/build tasks
* Refactor HeadsUpDisplay.jsm to not be Firefox-specific
* Create event for Reflow


* Create event for Reflow
''JS Workspace notes'''
* more events! (perhaps W3C Timing Spec)
* We should steal every delicious piece of Jesse's js shell - utility functions (print(obj), blink(domEl), load(scriptURL)), tab completion - all of it.
* We should also steal convenience things like "$ = document.querySelector" and "$$ = document.getElementByID", but post-beta.


== Delivery Requirements ==
== Delivery Requirements ==
564

edits