Presto (browser engine)

Source: Wikipedia, the free encyclopedia.
(Redirected from
Linear b (script engine)
)
Presto
Stable release
2.12.423 / 16 March 2015; 9 years ago (2015-03-16)[1]
Written in
non-free repositories) and Windows
TypeApplication framework, Browser engine
LicenseProprietary
Websitedev.opera.com

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.

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]

History and development

Presto Version
ECMAScript engine
Browser code name Opera Browser Opera Mobile Other use New features
pre Presto none unnamed 3.5
pre Presto Linear A Elektra/unnamed[9][note 1] 4.0
1.0 Linear B unnamed 7.0 a completely new rendering engine, Favicon support[10]
8.5 "Bolton" version: 1st completely free download version (ad-free toolbar)
2.0 Merlin 9.0
Internet Channel[11]
Canvas, Acid2 Test: passed, Rich text editing, XSLT, and XPath
2.1 Futhark Kestrel 9.5 9.5[12]
Nintendo DSi Browser
SVG
Tiny 1.2, SVG as CSS, SVG as <img>, Audio object
2.1.1 9.6 Scope API,[13] SVG as Favicon
2.2 Peregrine 9.7[14]
2.2.15 10.0
10.1
9.8[15]
RGBA & HSLA opacity, TLS 1.2.,[16]
FPS in SVG, SVG fonts in HTML
2.3 Opera Devices SDK 10 CSS3 : border-image, border-radius (rounded corners), box-shadow, transitions; HTML5: <audio> and <video> elements
2.4 10 CSS2.1: visibility:collapse; CSS3 : transforms; HTML5: <canvas> shadows, Web Database,
Web Storage
, window.btoa, and window.atob
2.5.24 Carakan Evenes 10.5 10.1 Opera Mini server CSS3: multiple backgrounds; HTML5: <canvas> Text
2.6.30 10.6
Web Workers[17]
2.7.62 Kjevik 11.0 11.0 Extensions, WebSocket
2.8.131 Barracuda 11.1 11.1 Opera Mini server 4.27 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)
2.9.201 11.50 for Android
ECMAscript
strict mode
2.10.229 Tunny 11.6 11.6 HTML5 Parser, full support to CSS Gradients, Typed Arrays, CSS unit "rem"
2.10.254 Wahoo 12.0 WebGL and hardware acceleration[18]
2.10.289 12.0
2.11.355 Marlin 12.1 for Android SPDY, CSS3 Flexbox[19]
2.12.388 12.10–12.18
  1. ^ Elektra was originally the codename of Opera 4.0, but later came to refer more generally to the layout engine used in versions 3.5 through 6.

Presto-based applications

Web browsers

HTML editors

Source code leak

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.

See also

References

  1. ^ "Dev.Opera — Opera Mini server upgrade". dev.opera.com. Retrieved 2015-12-28.
  2. ^ Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". Archived from the original on 30 May 2012. Retrieved 4 January 2010.
  3. Opera Software
    . Retrieved 2013-02-13.
  4. ^ Sivonen, Henri (2006-11-23). "Names of Browser Engines". Retrieved 2007-01-03.
  5. ^ Bointon, Marcus (2006-12-19). "SunSpider Benchmarks: WebKit Rocks". Pet Pixels. Archived from the original on 2011-08-20. Retrieved 2007-01-03.
  6. Opera Software. Archived from the original
    on 2009-02-06. Retrieved 2009-02-05.
  7. on 2009-12-25. Retrieved 2009-12-26.
  8. betanews
    . Retrieved 2009-02-26.
  9. ^ "Opera publishes version history, rewrites history". Archived from the original on 2014-02-21.
  10. ^ "Opera 7 for Windows Changelog". Opera Software. Archived from the original on 6 July 2017. Retrieved 28 February 2011.
  11. Opera Software. Archived from the original
    on 2009-02-25. Retrieved 2009-02-27.
  12. on 2010-02-20. Retrieved 2009-02-27.
  13. on 2009-02-25. Retrieved 2009-02-27.
  14. Opera Software. 2009-03-26. Archived from the original
    on 2011-10-04. Retrieved 2009-06-11.
  15. Opera Software. 2009-06-02. Archived from the original
    on 2010-02-27. Retrieved 2009-06-11.
  16. on 2009-03-04. Retrieved 2009-02-27.
  17. on 2 July 2010. Retrieved 2 July 2010.
  18. Opera Software. 13 October 2011. Archived from the original
    on 15 October 2011. Retrieved 28 January 2012.
  19. Opera Software. 9 October 2012. Archived from the original
    on 10 October 2012. Retrieved 10 October 2012.
  20. Opera Software ASA. 2006-07-24. Archived from the original
    on 2006-08-14. Retrieved 2008-11-02.
  21. on April 15, 2012. Retrieved 2009-02-25.
  22. Opera Software ASA. 2006-12-22. Archived from the original
    on 2008-05-12. Retrieved 2008-11-02.
  23. Opera Software ASA. 2006-08-23. Archived from the original
    on 2008-08-29. Retrieved 2008-11-02.
  24. Opera Software ASA. 2005-04-04. Retrieved 2008-11-02.[permanent dead link
    ]
  25. ^ "Adobe Creative Suite 3 (CS3) uses built-in Opera for rendering engine". 2007-03-28. Archived from the original on 2008-03-03. Retrieved 2008-04-20.
  26. ^ "Presto Web rendering engine: Opera 12.15". GitHub. 2017-01-12. Archived from the original on 2017-01-13.
  27. ^ "2017-01-12-Presto.md". GitHub. Retrieved 2017-10-12.
  28. ^ Cimpanu, Catalin. "Opera Presto Source Code Leaks Online". Bleeping Computer. Retrieved 2017-10-12.
  29. ^ "Legacy Opera Presto source code appearance in online sharing sites – Opera Security". Opera Security. 2017-01-18. Retrieved 2017-10-12.

External links