Presto was the
browser engine of the
Opera web browser from the release of Opera 7 on 28 January 2003, until the release of Opera 15 on 2 July 2013, at which time Opera switched to using the
Blink engine that was originally created for
Chromium.[3] Presto was also used to power the
Opera Mini and
Opera Mobile browsers.
Presto is a dynamic engine.
Web pages can be re-rendered completely or partially in response to
DOM events. Its releases saw a number of
bug fixes and optimizations to improve the speed of the
ECMAScript (
JavaScript) engine. It is
proprietary and only available as a part of the Opera browsers.
ECMAScript engines
A succession of ECMAScript engines have been used with Opera. (For the origin of their names, see
Cultural notes below.) Pre-Presto versions of Opera used the Linear A engine. Opera versions based on the Core
fork of Presto,
Opera 7.0 through 9.27, used the Linear B engine.[4] The Futhark engine is used in some versions on the Core 2 fork of Presto, namely Opera 9.5 to Opera 10.10.[5] When released it was the fastest engine around, but in 2008 a new generation of ECMAScript engines from
Google (
V8),
Mozilla (
SpiderMonkey), and
Apple (
JavaScriptCore) took one more step, introducing native code generation. This opened up for potential heavy computations on the client side and Futhark, though still fast and efficient, was unable to keep up.
In early 2009, Opera introduced the Carakan engine. It featured register-based
bytecode, native code generation, automatic object classification, and overall performance improvements.[6][7] Early access in the Opera 10.50 pre-alpha showed that it is as fast as the fastest competitors, being the winner in 2 out of the 3 most used
benchmarks.[8]
WebP,
File API, CSS3 gradients (only for the background and background-image properties): -o-linear-gradient(), -o-repeating-linear-gradient(); Support for
<color-stop> added.
2.9.168
Swordfish
11.5
Session history management, classList (DOMTokenList)
The source code for version 12.15 was leaked to
GitHub on February 11, 2016.[26] It remained unnoticed until January 12, 2017 and was taken down two days later in response to a
DMCA request.[27][28]Opera Software has confirmed the authenticity of the source code.[29]
Cultural notes
The ECMAScript engines used with Opera have been named after ancient and traditional writing scripts, including undeciphered
Linear A, Ancient Greek
Linear B, Runic
Futhark, and
Javanese Carakan.