This lists the most notable changes to XUL in Firefox 1.5 (Gecko 1.8). For other changes you should be aware of, see Adapting XUL Applications for Firefox 1.5.
<scrollcorner>
A <scrollcorner> element is added which is used to create the small box in the intersection of the horizontal and vertical scrollbars.
<richlistbox>
and <richlistitem>
The <richlistbox> and <richlistitem> elements are used for creating lists containing arbitrary content. This element works similarly to the <listbox> which is designed primarily for lists of textual items. The <richlistbox> supports much of the same API as the <listbox> and single items, created with the <richlistitem> element may be selected. See XUL:Richlistbox for more information.
Preferences System
Several elements have been added which may be used for creating preference windows. These windows are special types of dialogs which support several panels, each of which may be contained in the same file or a separate file. A set of icons will appear across the top of the dialog allowing the user to switch panels. Along with the new preference elements and some additional attributes for existing elements, they make it easy to set preferences without having to use code. For more information, see Preferences System.
bfcache
Mozilla now caches the page's DOM, so that navigating back and forward does not reload the page, making navigation much more efficient. The pageshow
and pagehide
events are used when switching from a page in the cache, while the load
and unload
events are used only when the page is loaded or unloaded.
For more information see Using Firefox 1.5 caching.
tabIndex
The tabIndex
property is now applied to most elements.
<radiogroup>
Setting the value property on the <radiogroup> element selects the <radio> element in the group with the corresponding value.
Dialog: defaultButton
property
The <dialog>
binding now supports the defaultButton
property. Setting this property changes the default button of the dialog. It can be set either to one of the buttons of the <dialog>
binding (using their names); or to none
- in which case no button is set to be the default.
Button: icon
property
The icon property on a button may be used to set stock icons on a button, used on some platforms. For instance <button icon="help"> will create a button with a help icon. This is used typically on GNOME systems where possible values are:
accept
, cancel
, help
, open
, save
, find
, clear
, yes
, no
, apply
, close
, print
, add
, remove
, refresh
, go-forward
, go-back
, properties
, select-font
, select-color
, network
.
<menulist>
Items in a <menulist> support the description attribute to allow for extra descriptive text to appear beside an item's label. The menulist modification methods appendItem and insertItemAt take an extra description argument when creating items this way.
<listbox>
The removeItemAt
method was sometime non zero-based due to a bug (bug 236068). This has been fixed in Firefox 1.5 and all code depending on this non zero-based behaviour should be changed.
<stringbundle>
The <stringbundle> element has a strings property which may be used to retrieve an enumeration of all of the strings in the bundle.
Draggable tabs
The tabbrowser now allows the user to rearrange tabs by dragging them.
<tabbox>
The <tabbox> element now supports a selectedIndex
attribute to specify the tab to be selected by default.
Loading overlays dynamically
XUL now supports loading overlays dynamically with the document.loadOverlay
function.
Original Document Information
- Author(s): Neil Deakin