This post describes the highlights among the new Firefox 8 features for end users and developers [source: Mozilla Firefox Beta Release Notes].
New features for end users
- Externally installed add-ons off by default: Add-ons installed by external applications must be explicitly switched on by the user. Quoting “Strengthening User Control of Add-ons” by Justin Scott for the Mozilla Add-ons Blog:
But users aren’t the only ones who love adding on to Firefox: third-party applications frequently install bundled add-ons into Firefox as part of their own installation process. While some of these applications seek the user’s permission beforehand, others install add-ons into Firefox without checking to make sure the user actually wants them.
If Firefox starts and finds that another program has installed an add-on, Firefox will disable the add-on until the user has explicitly opted in to the addition.
- Twitter becomes part of the search bar: It is now one of the default search engines available via the search text field in the navigation bar.
- Loading restored tabs on demand: When windows are restored, you have the option to only load tabs that are currently visible. The remaining tabs will be loaded on demand, when they are activated.
New features for developers
- Load cross-domain textures in WebGL, thanks to CORS support.
- Support for HTML5 context menus. They add items to the browser context menu of an element. Example:
<input name="color" type="text" contextmenu="colorMenu"> <menu type="context" id="colorMenu"> <command label="Red" onclick="app.fillInColor('Red')"> <command label="Green" onclick="app.fillInColor('Green')"> <command label="Blue" onclick="app.fillInColor('Blue')"> </menu>
- Support for insertAdjacentHTML: which is a DOM method and has the signature
insertAdjacentHTML(location, html)where html is HTML source code and location is one of the following locations.
var ul = document.getElementById("list"); ul.insertAdjacentHTML("beforeEnd", "<li>A new li on the list.</li>"); ul.insertAdjacentHTML("beforeEnd", "<li>Another li!</li>");The innerHTML property is currently the fastest way on all browsers to dynamically add content to a page. With insertAdjacentHTML, things become much more versatile.
- CSS hyphen support is improved for several languages. Quoting MDN:
The hyphens property tells the browser how to go about splitting words to improve the layout of text when line-wrapping.This property has one of the following three values.
- none (never break words),
- manual (manually indicate where to break),
- auto (the browser breaks up words, e.g. by consulting a dictionary).
- Improved WebSocket support.