Revision Content

Based on the Gecko 1.8 engine, Firefox 1.5 improved its already best in class standards support, and provided new capabilities to enable the next generation of web applications. Firefox 1.5 features improved support for CSS2 and CSS3, APIs for scriptable and programmable 2D graphics through SVG 1.1 and <canvas>, XForms and XML events, as well as many DHTML, JavaScript, and DOM enhancements.

Developer Tools

Several tools and browser extensions are available to help developers support Firefox 1.5.

DOM Inspector, a tool that allows developers to inspect and modify documents without having to edit the document directly. DOM Inspector is available as part of the Custom install option in Firefox 1.5 under Developer Tools.

JavaScript console, a tool to write and test JavaScript code as well as view JavaScript and CSS errors on a page.

Overview

Web site and application developers

Learn how to use SVG in XHTML pages and how to use JavaScript and CSS to manipulate the picture in the same way you would script regular XHTML. See also SVG in Firefox to learn about the status and known problems of SVG implementation in Firefox.

XUL and Extension Developers

This tutorial will take you through the steps required to build a very basic extension for Firefox. Also see another tutorial on MozillaZine knowledge base, which demonstrates the new features of the Extension Manager in 1.5 that make creating a new extension even easier.

XPCNativeWrapper is a way to wrap up an object so that it's safe to access from privileged code. It can be used in all Firefox versions, though the behavior changed somewhat starting with Firefox 1.5 (Gecko 1.8).

Networking-related changes

Certificate prompts can now be overridden on a per-channel basis. This works by setting an interface requestor as an nsIChannel's notificationCallbacks and giving out an interface for nsIBadCertListener.

Extensions or other necko consumers, including XMLHttpRequest, can set a Cookie header explicitly, and necko will not replace it. Stored cookies will be merged with the explicitly set header, in a way that the explicit header will override the stored cookies.

New End user Features

User Experience

Faster browser navigation with improvements to back and forward button performance.

Firefox 1.5 supports the following data transport protocols (HTTP, FTP, SSL, TLS, and others), multilingual character data (Unicode), graphics (GIF, JPEG, PNG, SVG, and others) and the latest version of the world's most popular scripting language, JavaScript 1.6.

Changes since Firefox 1.0

Many changes have been introduced into Firefox since it was first released on November 9, 2004. Firefox has progressed with many new features and bug fixes. A detailed list of changes is available from squarefree.com.

Revision Source

<p>Based on the <a href="/en/Gecko" title="en/Gecko">Gecko</a> 1.8 engine, Firefox 1.5 improved its already best in class standards support, and provided new capabilities to enable the next generation of web applications. Firefox 1.5 features improved support for CSS2 and CSS3, APIs for scriptable and programmable 2D graphics through <a href="/en/SVG" title="en/SVG">SVG</a> 1.1 and <a class="internal" href="/en/HTML/Canvas" title="en/HTML/Canvas"><code>&lt;canvas&gt;</code></a>, <a href="/en/XForms" title="en/XForms">XForms</a> and XML events, as well as many DHTML, JavaScript, and DOM enhancements.</p>
<h3 id="Developer_Tools">Developer Tools</h3>
<p>Several tools and browser extensions are available to help developers support Firefox 1.5.</p>
<ul> <li><a href="/en/DOM_Inspector" title="en/DOM_Inspector">DOM Inspector</a>, a tool that allows developers to inspect and modify documents without having to edit the document directly. DOM Inspector is available as part of the Custom install option in Firefox 1.5 under Developer Tools.</li> <li>JavaScript console, a tool to write and test JavaScript code as well as view JavaScript and CSS errors on a page.</li> <li>View page source, with syntax highlighting and find features.</li> <li><a class="link-https" href="https://addons.mozilla.org/extensions/showlist.php?application=firefox&amp;category=Developer%20Tools">Browser extensions</a> including the <a class="external" href="http://www.joehewitt.com/software/firebug/">FireBug</a>, <a href="/en/Web_Developer_Extension_(external)" title="en/Web_Developer_Extension_(external)">Web Developer toolbar</a>, <a href="/en/Live_HTTP_Headers_(external)" title="en/Live_HTTP_Headers_(external)">Live HTTP Headers</a>, <a href="/en/HTML_Validator_(external)" title="en/HTML_Validator_(external)">HTML Validator</a> and many more.</li>
</ul>
<p><strong>Note:</strong> Some extensions do not currently support Firefox 1.5, and will be automatically disabled.</p>
<h3 id="Overview">Overview</h3>
<p>Some of the new features in Firefox 1.5:</p>
<h4 id="Web_site_and_application_developers">Web site and application developers</h4>
<dl> <dt><a href="/en/SVG_In_HTML_Introduction" title="en/SVG_In_HTML_Introduction">SVG In XHTML Introduction</a></dt> <dd>Learn how to use SVG in XHTML pages and how to use JavaScript and CSS to manipulate the picture in the same way you would script regular XHTML. See also <a href="/En/SVG_in_Firefox" title="en/SVG_in_Firefox">SVG in Firefox</a> to learn about the status and known problems of SVG implementation in Firefox.</dd> <dt><a href="/en/HTML/Canvas/Drawing_Graphics_with_Canvas" title="en/Drawing_Graphics_with_Canvas">Drawing Graphics with Canvas</a></dt> <dd>Learn about the new <code>&lt;canvas&gt;</code> tag and how to draw graphs and other objects in Firefox.</dd> <dt><a href="/en/CSS/Using_CSS_multi-column_layouts" title="en/CSS3_Columns">CSS3 Columns</a></dt> <dd>Learn about the new support for automatic multi-column text layout as proposed for <a href="/en/CSS/CSS3" title="CSS3">CSS3</a>.</dd> <dt><a href="/En/Using_Firefox_1.5_caching" title="En/Using_Firefox_1.5_caching">Using Firefox 1.5 caching</a></dt> <dd>Learn about <code>bfcache</code> and how it speeds up back and forward navigation.</dd>
</dl><h4 id="XUL_and_Extension_Developers">XUL and Extension Developers</h4>
<dl> <dt><a href="/en/Building_an_Extension" title="en/Building_an_Extension">Building an Extension</a> </dt> <dd>This tutorial will take you through the steps required to build a very basic extension for Firefox. Also see <a class="external" href="http://kb.mozillazine.org/Getting_started_with_extension_development">another tutorial on MozillaZine knowledge base</a>, which demonstrates the new features of the Extension Manager in 1.5 that make creating a new extension even easier.</dd> <dt><a href="/en/XPCNativeWrapper" title="en/XPCNativeWrapper">XPCNativeWrapper</a> </dt> <dd><code>XPCNativeWrapper</code> is a way to wrap up an object so that it's <a href="/en/Safely_accessing_content_DOM_from_chrome" title="en/Safely_accessing_content_DOM_from_chrome">safe to access from privileged code</a>. It can be used in all Firefox versions, though the behavior changed somewhat starting with Firefox 1.5 (Gecko 1.8).</dd> <dt><a href="/en/Preferences_System" title="en/Preferences_System">Preferences System</a> </dt> <dd>Learn about the new widgets that allow you to create Options windows easier using less JavaScript code.</dd> <dt><a href="/en/International_characters_in_XUL_JavaScript" title="en/International_characters_in_XUL_JavaScript">International characters in XUL JavaScript</a> </dt> <dd>XUL JavaScript files can now contain non-ASCII characters.</dd> <dt><a href="/en/Tree_Widget_Changes" title="en/Tree_Widget_Changes">Tree API changes</a> </dt> <dd>The interfaces for accessing XUL <code>&lt;tree&gt;</code> elements have changed.</dd> <dt><a href="/en/XUL_Changes_for_Firefox_1.5" title="en/XUL_Changes_for_Firefox_1.5">XUL Changes for Firefox 1.5</a> </dt> <dd>Summary of XUL changes. See also <a href="/en/Adapting_XUL_Applications_for_Firefox_1.5" title="en/Adapting_XUL_Applications_for_Firefox_1.5">Adapting XUL Applications for Firefox 1.5</a>.</dd>
</dl>
<h5 id="Networking-related_changes">Networking-related changes</h5>
<ul> <li>Certificate prompts can now be overridden on a per-channel basis. This works by setting an interface requestor as an <a href="/en/nsIChannel" title="en/nsIChannel">nsIChannel</a>'s notificationCallbacks and giving out an interface for <a href="/en/NsIBadCertListener" title="en/NsIBadCertListener">nsIBadCertListener</a>.</li> <li>nsIWebBrowserPersist's listeners can now implement <a href="/en/XPCOM_Interface_Reference/nsIInterfaceRequestor" title="en/nsIInterfaceRequestor">nsIInterfaceRequestor</a>::GetInterface and will get an opportunity to provide all interfaces that channels might ask for, including <a href="/en/NsIProgressEventSink" title="en/NsIProgressEventSink">nsIProgressEventSink</a> (not too useful, redundant with <a href="/en/nsIWebProgressListener" title="en/nsIWebProgressListener">nsIWebProgressListener</a>). Useful interfaces here include <a href="/en/NsIChannelEventSink" title="en/NsIChannelEventSink">nsIChannelEventSink</a> and <a href="/en/NsIBadCertListener" title="en/NsIBadCertListener">nsIBadCertListener</a>.</li> <li>Extensions or other necko consumers, including XMLHttpRequest, can set a Cookie header explicitly, and necko will not replace it. Stored cookies will be merged with the explicitly set header, in a way that the explicit header will override the stored cookies.</li>
</ul>
<h3 id="New_End_user_Features">New End user Features</h3>
<h4 id="User_Experience">User Experience</h4>
<ul> <li><strong>Faster browser navigation</strong> with improvements to back and forward button performance.</li> <li><strong>Drag and drop reordering for browser tabs.</strong></li> <li><strong>Answers.com is added to the search engine list</strong> for dictionary lookup.</li> <li><strong>Improvements to product usability</strong> including descriptive error pages, redesigned options menu, RSS discovery, and "Safe Mode" experience.</li> <li><strong>Better accessibility support</strong> including DHTML accessibility.</li> <li><strong>Report a broken Web site wizard</strong> to report Web sites that are not working in Firefox.</li> <li><strong>Better support for Mac OS X</strong> (10.2 and greater) including profile migration from Safari and Mac Internet Explorer.</li>
</ul>
<h4 id="Security_and_Privacy">Security and Privacy</h4>
<ul> <li><strong>Automated update</strong> to streamline product upgrades. Notification of an update is more prominent, and updates to Firefox may now be half a megabyte or smaller. Updating extensions has also improved.</li> <li><strong>Improvements to popup blocking.</strong></li> <li><strong>Clear Private Data</strong> feature provides an easy way to quickly remove personal data through a menu item or keyboard shortcut.</li>
</ul>
<h4 id="Support_for_open_Web_standards">Support for open Web standards</h4>
<p>Firefox support for Web standards continues to lead the industry with consistent cross-platform implementations for:</p>
<ul> <li>Hypertext Markup Language (<a href="/en/HTML" title="en/HTML">HTML</a>) and Extensible Hypertext Markup Language (<a href="/en/XHTML" title="en/XHTML">XHTML</a>): <a class="external" href="http://www.w3.org/TR/html401/">HTML 4.01</a> and <a class="external" href="http://www.w3.org/TR/xhtml1/">XHTML 1.0/1.1</a></li> <li>Cascading Style Sheets (<a href="/en/CSS" title="en/CSS">CSS</a>): <a class="external" href="http://www.w3.org/TR/REC-CSS1">CSS Level 1</a>, <a class="external" href="http://www.w3.org/TR/REC-CSS2">CSS Level 2</a> and parts of <a class="external" href="http://www.w3.org/Style/CSS/current-work.html">CSS Level 3</a></li> <li>Document Object Model (<a href="/en/DOM" title="en/DOM">DOM</a>): <a class="external" href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/">DOM Level 1</a>, <a class="external" href="http://www.w3.org/DOM/DOMTR#dom2">DOM Level 2</a> and parts of <a class="external" href="http://www.w3.org/DOM/DOMTR#dom3">DOM Level 3</a></li> <li>Mathematical Markup Language: <a class="external" href="http://www.w3.org/Math/">MathML Version 2.0</a></li> <li>Extensible Markup Language (<a href="/en/XML" title="en/XML">XML</a>): <a class="external" href="http://www.w3.org/TR/REC-xml">XML 1.0</a>, <a class="external" href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML</a>, <a class="external" href="http://www.w3.org/TR/xml-stylesheet/">Associating Style Sheets with XML Documents 1.0</a>, <a class="external" href="http://lists.w3.org/Archives/Public/www-xml-linking-comments/2001AprJun/att-0074/01-NOTE-FIXptr-20010425.htm">Fragment Identifier for XML</a></li> <li>XSL Transformations (<a href="/en/XSLT" title="en/XSLT">XSLT</a>): <a class="external" href="http://www.w3.org/TR/xslt">XSLT 1.0</a></li> <li>XML Path Language (<a href="/en/XPath" title="en/XPath">XPath</a>): <a class="external" href="http://www.w3.org/TR/xpath">XPath 1.0</a></li> <li>Resource Description Framework (<a href="/en/RDF" title="en/RDF">RDF</a>): <a class="external" href="http://www.w3.org/RDF/">RDF</a></li> <li>Simple Object Access Protocol (SOAP): <a class="external" href="http://www.w3.org/TR/SOAP/">SOAP 1.1</a></li> <li><a href="/en/JavaScript" title="en/JavaScript">JavaScript</a> 1.6, based on <a href="/en/ECMAScript" title="en/ECMAScript">ECMA-262</a>, revision 3: <a class="external" href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMA-262</a></li>
</ul>
<p>Firefox 1.5 supports the following data transport protocols (HTTP, FTP, SSL, TLS, and others), multilingual character data (Unicode), graphics (GIF, JPEG, PNG, SVG, and others) and the latest version of the world's most popular scripting language, <a href="/en/New_in_JavaScript_1.6" title="en/New_in_JavaScript_1.6">JavaScript 1.6</a>.</p>
<h3 id="Changes_since_Firefox_1.0">Changes since Firefox 1.0</h3>
<p>Many changes have been introduced into Firefox since it was first released on November 9, 2004. Firefox has progressed with many new features and bug fixes. A detailed list of changes is available from <a class="external" href="http://www.squarefree.com/burningedge/releases/1.5-comprehensive.html">squarefree.com</a>.</p>
<p>{{ languages( { "de": "de/Firefox_1.5_für_Entwickler", "es": "es/Firefox_1.5_para_Desarrolladores", "fr": "fr/Firefox_1.5_pour_les_d\u00e9veloppeurs", "it": "it/Firefox_1.5_per_Sviluppatori", "ja": "ja/Firefox_1.5_for_developers", "nl": "nl/Firefox_1.5_voor_ontwikkelaars", "pl": "pl/Firefox_1.5_dla_programist\u00f3w", "pt": "pt/Firefox_1.5_para_Desenvolvedores" } ) }}</p>