DevTools/Features/ViewSource
Jump to navigation
Jump to search
Feature | Status | ETA | Owner |
View Source Reboot | Planning | YYYY-MM-DD | Kevin Dangoor |
Summary
View source is one of the most used features by web developers of all levels, especially those getting started. It's also a very "experienced" piece of code. We want to make View Source:
- easily extendable with new features
- easily reusable for different contexts (source view for debugging, for example)
- better, with long-requested fixes and enhancements
Notably, View Source will also enter the 21st century by adding the ability to look at both the original (as downloaded from the server) and current (after any modifications by JavaScript) source.
Release Requirements
Candidate features:
- Fast, even on large files
- Performs well for single line files
- syntax highlighting
- line numbering
- Navigate to other files referenced in the source file
- Can view selection source
- Can do a find in the source text
- Open in tab rather than window (open in sidebar option?)
- View "Original" (as downloaded) and "Current" source (after JS manipulation)
- Optionally beautify HTML/JS/CSS
- Be able to view HTML/JS/CSS/XML/JSON
- Display the image if pointed to an image
- Block folding
- works without accessing network
- navigate with keyboard and mouse
- quick navigation to other files loaded in that tab
Next Steps
- Evaluate current implementation of view source
- Determine scope/produce mockups
- Pick out high-value view source bugs
- Evaluate Ace as a source viewer
- Optionally, make changes at lower levels inside the toolkit module, maybe ViewSourceUtils.jsm, to allow the loading of the new View Source devtool, based on a pref.
- Determine security and QA contacts
Related Bugs & Dependencies
Team
Join in on #devtools on irc.mozilla.org or on the dev-apps-firefox newsgroup/mailing list if you'd like to discuss this feature or get involved!
- Mihai Sucan (irc: msucan), lead developer
- Kyle Simpson (irc: getify), Ace / "current view" developer
- Kevin Dangoor (irc: kdangoor), PM
Designs
TBD
Goals/Use Cases
- remain simple for new developers
- lose no features from the current implementation
- provide the basis for source views that will appear elsewhere
Non-Goals
TBD
Other Documentation
TBD