IRC channel for extension developers
Thursday, November 3rd, 2005I created #extdev on irc.mozilla.org as a place for Firefox and Thunderbird extension developers to discuss ideas for extensions, ask for help, and tell each other to RTFM.
I created #extdev on irc.mozilla.org as a place for Firefox and Thunderbird extension developers to discuss ideas for extensions, ask for help, and tell each other to RTFM.
SVG is W3C specification providing resolution-independent scalable vector graphics, along with a DOM. Firefox 1.5 supports a subset of SVG 1.1. For more information, see SVG in DevMo.
<canvas>
is a scriptable bitmap drawing surface. It
is suitable for many uses, such as drawing dynamic graphs and game graphics. For more information, see
Drawing Graphics with Canvas or the Canvas tutorial.
Extensions can now access the referrer information for pages stored in the browser history. This feature can be used to provide alternate history views and other useful functionality. For example, my How'd I Get Here? extension uses this feature.
The Mozilla networking library now supports the prioritization of connections to a specific server. (See nsISupportsPriority.)
It is now possible for extensions to easily override the proxy configuration without affecting user-visible preferences. (See nsIProtocolProxyService, nsIProtocolProxyFilter, and nsIProtocolProxyCallback.)
Extensions can now register stylesheet URIs as additional user and UA
stylesheets. This means extensions no longer have to try to edit
userContent.css
to add styling (say for XBL binding
attachment) to web pages. This makes it easier to implement extensions like
Flashblock. For details on using
this API, see
Using
the Stylesheet Service.
Firefox now supports site-specific user style sheet rules. While advanced users can edit userContent.css to use this feature directly, an extension could also take advantage of this feature using the API for managing user style sheets above.
Loading of XUL overlays after the document has been displayed is now supported. (See nsIDOMXULDocument.)
On Windows and Linux, XUL windows with a transparent background are now supported. This allows whatever is below the window to shine through the window background.
These new bindings make it easier to create preferences windows for extensions. The new preferences windows support instant-apply behavior, which is enabled by default on Mac and Linux.
An extensible API has been introduced so that extensions can easily handle complex command-line flags. (See nsICommandLine and nsICommandLineHandler.)
The eXtensible Tag Framework allows adding support for new namespaces using XPCOM components to Mozilla (written in JavaScript or C++). For example, the Mozilla XForms Project uses XTF to add support for the XForms namespace. See the XTF Home Page.
Extensions now have access to several cryptographic hash functions, including MD5, SHA-1, and several flavors of SHA-2. (See nsICryptoHash.)
<xul:richlistbox> is a new widget that Firefox's Download Manager and Extension/Theme manager now use. For more information, see XULPlanet: richlistbox or DevMo: richlistbox.
Firefox now has a supported method for getting the nsIEditor of textboxes and textareas, making it easier to implement features such as spell checking for web forms. For more information, see bug 303727 or nsIDOMNSEditableElement.
See bug 300423 or nsIPipe.
This post emphasizes new features since Firefox 1.0.7 over things that have changed since Firefox 1.0.7, but here are a few important things that have changed:
Parts of this post were taken from this page, which was based on a wiki page, which was based on an early version of my changelog for Deer Park Alpha 1. It might be merged with this wiki page in the future.
Since I work for the Mozilla Corporation, I can't enter the Extend Firefox contest. Instead, I'm going to post a few things to help extension developers submit good entries help you win:
Changes since JavaScript Shell 1.3.1:
overflow: auto;
to the input field to prevent scrollbars from appearing in IE unnecessarily.Yesterday, Opera Software simultaneously released Opera 8.50 and made the ad-free version of the browser free of charge. Making the browser free should increase Opera's marketshare, forcing web site owners to take Opera more seriously.
Opera 8.50 also introduces Browser JavaScript, a set of compatibility hacks for a small number of web sites and popular scripts. Microsoft has used this strategy successfully for operating system upgrades, and it will be interesting to see how well it works for Opera. Like Firefox, Opera already has a quirks mode and encourages users to contact broken sites. One potential drawback of including Browser JavaScript is that web site owners might expect Opera to fix incompatibilities that they would otherwise fix themselves.
Opera users who liked the site-targeted Google ads should not continue using Opera 8.0x because it contains known security holes, but they are invited to switch to Firefox and install Adbar.
A high-level changelog for Opera 8.50 is available.
Mike Connor's cat is a natrual fuzz tester.
The Endless Forum Pages user script makes phpBB forum pages infinitely long instead of limited to 15 posts per page. It loads the next page into a hidden iframe when you scroll to near the bottom of the page, and then it moves the posts from the iframe into the main page when the iframe finishes loading. If you hate clicking the tiny "Next" link on MozillaZine Forums topic pages (example) as much as I do, please try this script.
If you use this script, it is best to scroll using pgup/pgdn. If you scroll by dragging the scrollbar, your position will jump when the page gets longer.
Using this script shouldn't affect the load on forum servers much, because it only activates when you scroll to near the bottom of the page, which indicates that you're likely to continue reading.
This script works at MozillaZine Forums and The Blue Gryphon. You can try using it with other phpBB forums using Greasemonkey's "included pages" feature. Don't expect it to work at all phpBB forums, though, because phpBB forums are often customized a lot and the script is somewhat fragile.
I got into accessibility when I saw a deaf blind man able to run his own business, because of braille display technology. I thought that was the best use of technology I had ever seen.
-- Aaron Leventhal, Mozilla accessibility engineer (in #firefox on irc.mozilla.org).
Aaron goes into more detail about how he got interested in accessibility in this interview.