Firefox 3 innovations

    On June 17, the third version of the modern free multi-platform Firefox browser was released . The new version contains many improvements and offers a number of new, impressive features.

    Firefox 3 is faster and consumes much less memory



    Firefox 3 is about twice as fast as the previous version and several times faster than IE 7. For example, Gmail works in Firefox 3 about 7 times faster than in IE7 , providing a subjective instantaneous response to user actions where IE7 “thinks” noticeably long time.

    The memory consumption of Firefox 3 is more than half that of Firefox 2, and almost 5 times lower than that of IE7 . Eliminated hundreds of causes of memory leaks, including  cyclic linksobjects on top of each other. The architecture of Firefox 2 did not allow the effective management of extensions in terms of the memory they consumed, while most of the memory leaks were caused by the extensions.

    Official Firefox 3 builds are created using the so-called Profile-Guided Optimization (PGO). It consists in the fact that the work of the final executable file is accelerated by two-pass compilation: preliminary and final. During the final compilation, a special optimization of the code is performed based on the data obtained during real work with the program after preliminary compilation. This allows you to achieve significant performance gains without any changes to the source code.programs. So, in Firefox 3, the acceleration when working with JavaScript only due to PGO was about 11%.

    The decoding speed of JPEG image files has been increased by about 40% .

    Visual integration with the operating system interface


    The visual interface of Firefox 3 by default is as close as possible externally to the native interface of the operating system under which the browser starts. This potentially simplifies the use of the browser, since the purpose of the interface elements is guessed at the level of visual recognition of elements that are already familiar to the user.

    Places - convenient work with bookmarks and history


    A new mechanism for managing bookmarks and the history of visited pages has been introduced - Places , and SQLite DBMS is used to store and work with relevant data . The work with bookmarks is simplified: in particular, you can now add a bookmark with one click on the star-shaped icon on the right side of the address bar, and you can solve the issues of fine-tuning the folder structure and other bookmark settings later.
    Each bookmark can be associated with an arbitrary number of tags , which takes bookmark navigation to a new level of convenience.

    AwesomeBar - smart address bar


    Improved usability of the address bar:
    • characters entered in the address bar are automatically searched not only in the URLs of previously visited pages, but also in their  names and bookmarked tags , so the new address bar was even nicknamed by the developers of Smart Location Bar (“smart address bar”), or AwesomeBar ( “Awesome address bar”);
    • UTF-8 encoded characters are now supported in the address bar: URL-encoded non-Latin URLs on UTF-8 encoded pages are displayed in  decoded form instead of hexadecimal codes inconvenient for human perception - this is very important for sites with multilingual URLs like Wikipedia . Previously, this feature, coupled with some more radical address bar improvements, was only available through the Locationbar² extension . In addition, non-Latin characters contained in URLs entered in the address bar manually before URL encoding before sending a request to the server automatically are converted to UTF-8 encoding, which has already become the de facto standard in many other browsers, including Opera and IE.


    Rendering Engine, Reflow Refactoring and Acid2


    Fixed many page rendering errors, including:
    • forcing internal horizontal indents of inline elements across the boundaries of the parent block element during overflow, which led to the text leaving the parent block and the appearance of a horizontal scroll bar when there were no objective reasons for this,
    • the appearance of empty space when moving the mouse pointer outside the link with the bottom indentation, which led to an unpleasant dynamic visual effect, which first appeared in Firefox 1.5 and was not fixed in Firefox 2;
    • single-pixel gap under block elements in table cells.

    All such errors were eliminated automatically after the introduction of the refactoring branch , which concerns the Reflow page when it was initially displayed or updated when the window size, font, or other characteristics that affect the layout of the page were changed. David Baron, one of the leading developers of Mozilla, has been working on this for almost two years .

    It is because of this that Firefox 3 passes Acid2  , a test for browser compliance with web standards.

    Entire page scaling


    Реализовано масштабирование страниц целиком (Full page zoom), подобное используемому в Opera. Выгодным отличием от Opera при этом является то, что билинейная интерполяция применяется ко всем изображениям без исключения — в том числе GIF- и PNG-изображениям с прозрачными областями.

    Кроме того, для приверженцев прежнего способа масштабирования, при котором масштабировался только текст, введена опция «Только текст» («Zoom text only») в меню «Вид» → «Масштаб», позволяющая вернуть изменение только размера шрифта без масштабирования (и сопутствующего искажения) изображений и элементов макета, привычное для пользователей предыдущих версий Firefox.

    Nice little things and not really small things


    • Tooltips (implemented by the HTML attribute title) are now multi-line and displayed as a whole , no part of the tooltip is no longer clipped.
    • By default, you can resize the window opened using JavaScript, regardless of the parameter value resizablein the function window.open().
    • Finally, soft hyphenations are supported , allowing the browser to transfer, if necessary, long words in places marked in advance with the character corresponding to the mnemonic HTML substitution ­.
    • Native (which means very fast ) support for the DOM method getElementsByClassName.
    • Support for animated image files in the APNG format (Animated PNG), which is a backward compatible extension of the well-known and widely used open PNG format , which supports, unlike the widely used GIF format, the preservation of full-color images without any loss in quality.
    • Support for images saved in the CMYK color space.
    • Support for color profiles in images.
    • Images for which page sizes are specified that do not correspond to the physical ones and are scaled by browser tools now look much better thanks to the use of high-quality interpolation . This is achieved by integrating the Cairo open source software library , designed to work with two-dimensional graphics. In previous versions of Firefox, as in all versions of IE, when scaling images, interpolation was used at neighboring points, which gives an insufficient quality result with distortions noticeable to the naked eye, especially on line art.
    • Rendering of rounded corners is significantly improved by means of CSS-property -moz-border-radius(Gecko-analogue of CSS3-property border-radius, fixed in the draft CSS3 specification later) - the circle shape is now almost perfect, and high-quality smoothing is used (there was no smoothing before). Moreover, fillets now not only refer to the frame ( border) of the element, but also limit the area of ​​the element's fill to the background .
    • Improvements in CSS support : support for values inline-blockand  inline-tableproperties display, properties font-size-adjust, values rgba()and  hsla()for properties that are responsible for color; support for new values ( -moz-max-content, -moz-min-content, -moz-fit-contentand  -moz-available) properties width, min-widthand  max-widthwhich are expected to be (no prefix -moz-), part of the CSS3 standard .
    • The ability to fully - in separate processes and with your own profiles - launch XUL applications directly from Firefox without the need to install XULRunner .
    • A new Java plug-in , more reliable (isolated from the browser at the operating system level) and user-friendly (loading a Java applet no longer affects browser responsiveness); in addition, the web developer can now set an animated GIF image that will be displayed instead of the applet until it finishes loading and play the role of a kind of progress panel.
    • Protocol handlers. A web application can designate itself (of course, with the consent of the user) as the default application for processing resources available via certain protocols. For example (but not limited to), by clicking on the  mailtolink you can now open the page for creating a new letter within the web interface of your mail service, if it supports this feature.
    • The graphics subsystem was rewritten from scratch , which made it possible to significantly improve support for kerning, ligatures, smoothing, and so on in Firefox 3.
    • Experimental support for the text rendering API within the HTML element canvas.
    • Support for the API for working with microformats , currently, however, is not reflected in the standard graphical interface.
    • Support for creating offline web applications , which is part of the current draft HTML5 specification.
    • More convenient download manager :
      • downloads can now be paused and restarted (both manually and automatically),
      • the download process is now clearly displayed in the status bar,
      • You can search the list of downloaded files,
      • information about each uploaded file is now more detailed,
      • there is an opportunity to visit the original page, the link from which the file was downloaded.

    • Full-screen mode is now really full-screen , while the tab bar automatically appears when you move the pointer to the top of the screen. This was previously achieved by extensions like FullerScreen .
    • The password storage dialog is now not modal and does not interfere with the use of the site, which, in particular, makes it possible to make sure that the password is accepted by the site before allowing the browser to remember it.
    • A new tab has been added to the "Add-ons" window - "Plugins", which displays a list of installed plug-ins (for example, Java, Flash, QuickTime, etc. plug-ins), which can now be easily turned on and off if necessary without resorting to extensions.
    • The font size (or the scaling factor - depending on the selected scaling mode) for a particular site is remembered and automatically applied the next time this site is loaded. Previously, this feature was only available with No Squint extensions .
    • The warning mechanism for potentially unsafe web pages has been improved compared to Firefox 2 and now issues a warning even before the page loads .
    • Support for some parental controls available in Windows Vista: for example, in the download manager for files locked at the operating system level, messages are displayed that adequately describe why access to the file is prohibited.
    • Preview of news feeds in RSS, Atom, etc. formats has been improved. Now attached files (enclosures) are also displayed  with the names of files, their types, size and so on. In addition, video podcasts can now be linked to one application, audio podcasts to another, and all other types of recordings to a third.
    • Inactive tab, if you drag something onto it (for example, text from the page of one site to be inserted into the text box on the page of another site), after a few moments it automatically becomes active.
    • You can change the proportion of the lengths of the address and search strings.


    See also:



    →  Original article in the author’s blog

    Also popular now: