June 17, the third version of the modern free multiplatform browser
Firefox has been 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 runs Firefox 3 about
7 times faster than IE7 , providing a subjectively
instantaneous response to user actions where IE7 "thinks" about noticeably for a long time.
')
Memory consumption in Firefox 3 is more than
half that of Firefox 2, and almost
5 times lower than in IE7 . Fixed hundreds of causes of memory leaks, including
cyclic references of objects to each other. The Firefox 2 architecture did not allow for efficient management of extensions in terms of the memory they were using, while most of the memory leaks were caused by extensions.
The official builds of Firefox 3 are created using the so-called
Profile-Guided Optimization (PGO). It lies 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 made on the basis of the data obtained during the actual
work with the program after preliminary compilation. This allows you to achieve significant performance gains
without any
change in the source code of the program. 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 default Firefox 3 visual interface is
as close as possible externally to the native interface of the operating system under which the browser is launched. This potentially simplifies the use of the browser, since the assignment of interface elements is guessed at the level of
visual recognition of elements already familiar to the user.
Places - convenient work with bookmarks and history
A new mechanism has been introduced for managing bookmarks and the history of visited pages -
Places , and SQLite is used for storing and working 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 the fine organization of the folder structure and other parameters of the bookmarks is solved later.
Each bookmark can be matched with an arbitrary number of
tags , which raises the navigation through the bookmarks to a new level of convenience.
AwesomeBar - smart address bar
Improved convenience of the address bar:
- The characters entered into the address bar are automatically searched not only in the URLs of previously visited pages, but also in their names and associated bookmarks, thanks to which the new address bar was even nicknamed by the developers of the 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 pages encoded in UTF-8 are displayed in decoded form instead of hexadecimal codes that are inconvenient for human perception - this is very relevant for sites with multilingual URLs like Wikipedia . Previously, this feature, coupled with some more radical improvements in the address bar, was only available through the Locationbar² extension. In addition, non-Latin characters contained in URLs entered manually into the address bar are automatically converted to UTF-8 encoding before URL encoding before sending a request to the server, which has already become the de facto standard in many other browsers, including Opera and IE.
Render Reflow Refactoring and Acid2 engine
Fixed many page rendering errors, including:
- forcing the internal horizontal indents of the line elements through the borders 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 white space when moving the mouse out of the link with the lower inner indent, 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 iterative repainting (Reflow) of the page when it is initially displayed or updated when the window size, font, or other characteristics that affect the layout of the page elements are changed. David Baron (David Baron), one of the leading developers of Mozilla, has
been working on this for almost
two years .
It is thanks to this that Firefox 3 passes
Acid2 - a test for browser compliance with web standards.
Scaling pages entirely
Implemented scaling of pages entirely (Full page zoom), similar to that used in Opera. The beneficial difference from Opera is that
bilinear interpolation is applied
to all images without exception - including GIF and PNG images
with transparent areas .
In addition, for adherents of the
previous scaling method , at which only text scaled, a “
Text only ” option was introduced in the “View” → “Scale” menu, which allows you to return
only the font size change without scaling (and the accompanying
distortion). a) images and layout elements familiar to users of previous versions of Firefox.
Nice little things and not really little things
- Tooltips (implemented by the HTML attribute
title
) are now multi-line and are displayed entirely , no part of the tooltip is no longer cut off. - By default, you can resize a window opened using JavaScript, regardless of the value of the
resizable
parameter in the window.open()
function. - Finally, soft hyphenation is supported, allowing the browser to transfer, if necessary, long words in places marked in advance with the symbol corresponding to the mnemonic HTML substitution
­
. - Native (and therefore very fast ) support for the
getElementsByClassName
DOM method. - Support for animated graphic files of the APNG (Animated PNG) format, which is a backward compatible extension of the well-known and widely used open PNG format , which, unlike the widely used GIF format, supports full-color images without any loss of quality.
- Support for images saved in CMYK color space.
- Support for color profiles in images.
- Images for which the page is set to sizes that do not match the physical, scaled by the browser means , now look much better thanks to the use of high-quality interpolation . This is achieved by integrating the open source Cairo software library for working with two-dimensional graphics. In previous versions of Firefox, as in all versions of IE, when scaling images, interpolation was used on neighboring points, which yields insufficient quality results with noticeable distortions with the naked eye, especially on line images.
- Significantly improved the rendering of rounded corners through the CSS
-moz-border-radius
properties (Gecko-analogue of the CSS3 border-radius
properties fixed in the draft CSS3 specification later) - the shape of the circle is now almost perfect, using high-quality anti-aliasing (previously there was no smoothing ). Moreover, the rounds now not only refer to the border ( border
) of the element, but also limit the fill area of ​​the element to the background . - CSS support improvements : support for
inline-block
and inline-table
values ​​of display
properties, font-size-adjust
properties, rgba()
and hsla()
values ​​for color-responsible properties; support for new values ​​( -moz-max-content
, -moz-min-content
, -moz-fit-content
and -moz-available
) of the width
, min-width
and max-width
properties that are expected to become (without the prefix -moz-
) part of the CSS3 standard . - The ability to fully - in separate processes and with their own profiles - launch XUL-applications directly from Firefox without the need to install XULRunner .
- A new Java plugin , more reliable (isolated from the browser at the operating system level) and user-friendly (downloading a Java applet no longer affects the responsiveness of the browser); In addition, now a web developer can set an animated GIF image that will be displayed instead of an applet before the end of its download and play the role of a kind of progress bar.
- Protocol handlers A web application can designate itself (of course, with the consent of the user) as the default application for processing resources available under certain protocols. For example (but not limited to), by clicking on the
mailto
link, you can now open the new letter creation page 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 an HTML
canvas
. - API support for working with microformats is currently, however, not reflected in the standard graphical user interface.
- Support for creating offline web applications that are included in the current draft HTML5 specification.
- More convenient download manager :
- downloads can now be paused and restarted (both manually and automatically),
- the boot process is now clearly displayed in the status bar,
- You can search the list of downloaded files.
- Information on each uploaded file is now more detailed,
- It is possible to re-visit the original page, the link from which the file was downloaded.
- Full-screen mode is now really full-screen , with the tab bar automatically appears when you hover over the top of the screen. Previously this was achieved with extensions like FullerScreen .
- The password memorization dialog is no longer 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, Plugins, has been added to the Add-ons window, displaying a list of installed plug-ins (for example, Java, Flash, QuickTime, etc.), which can now be easily turned on and off without need for extensions.
- The font size (or scaling factor - depending on the selected scaling mode) for a specific site is remembered and automatically applied the next time the site is loaded. Previously, this feature was available only with the help of extensions such as No Squint .
- The warning mechanism for potentially unsafe web pages has been improved compared to Firefox 2 and now gives a warning even before the page loads .
- Support for some parental controls available in Windows Vista: for example, in the download manager for files blocked at the operating system level, messages are displayed that adequately describe why file access is specifically denied.
- Improved previews of news feeds in the formats of RSS, Atom, etc.: now also displayed enclosures with the names of files, their types, size, and so on. In addition, video podcasts can now be tied to one application, audio podcasts to another, and all other types of recordings to a third one.
- Inactive tab, if you drag something onto it (for example, text from the page of one site to insert into the text field on the page of another site), after a few moments it automatically becomes active.
- You can change the proportion of the length of the address and search strings.
See also:
→
Original article in the author's blog