Gecko:Small Device Support: Difference between revisions
No edit summary |
No edit summary |
||
| Line 40: | Line 40: | ||
| || || X | | || || X | ||
|- | |- | ||
! | ! Webpage encoding detection (universalchardet) | ||
| || || X | | || || X | ||
|- | |- | ||
Revision as of 20:01, 12 January 2006
The gecko build system has many options that allow the builder to disable support for certain features. Supporting or continuing to support these many build options is very costly These costs include code readability and maintenance, but also documentation costs and variable DOM support exposed to the web. However, it is still important to consider the needs of small devices such as handheld phones which do not have enough memory or storage to support the standard gecko runtime.
The solution to providing a variant of gecko that is usable on small devices is to provide a few well-tested and well-documented "profiles" of configuration options that work together. The following is a preliminary matrix for the profiles:
| Minimal | Basic | Full | |
|---|---|---|---|
| HTML/XHTML/Javascript/XBL | X | X | X |
| XMLHttpRequest/DOMParser/DOMSerializer | X | X | X |
| XSLT and XPath | X | X | X |
| Crypto (https) | X | X | X |
| XUL language | X | X | |
| FTP protocol | X | X | |
| Gopher protocol | X | ||
| MathML | X | ||
| HTML <canvas> | X | ||
| SVG | X | ||
| Plugins | X | ||
| Webpage encoding detection (universalchardet) | X | ||
| XUL application support (xpinstall, extension manager and updater) | X | ||
| SOAP and xmlprc | X | ||
| Printing | X |
Please note that the goal of these profiles is to support small devices which cannot handle a full web browser. On a desktop computer the full profile is the only recommended solution.
Note: the particular details of these profiles are preliminary and are subject to discussion by those interested in creating browsers for small devices. However, it is important to avoid a situation where each device embedder selects a different set of gecko features to include in their web browser. Infinite variability of features is bad for the web, for developers, and for embedders themselves.