Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Presto (browser engine)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Defunct browser engine}} {{Infobox software | name = Presto | logo = Presto.svg | logo size = 64px | screenshot = | caption = | developer = [[Opera Software]] [[Allmennaksjeselskap|ASA]] | latest release version = 2.12.423 | latest release date = {{Start date and age|2015|03|16|df=yes}}<ref>{{Cite web|title = Dev.Opera — Opera Mini server upgrade|url = https://dev.opera.com/blog/opera-mini-server-upgrade|website = dev.opera.com|access-date = 2015-12-28}}</ref> | latest preview version = | latest preview date = | programming language = [[C++]]<ref>{{cite web |url= http://www.lextrait.com/Vincent/implementations.html |title= The Programming Languages Beacon, v10.0 |first= Vincent |last= Lextrait |date= January 2010 |access-date= 4 January 2010 |archive-url= https://archive.today/20120530/http://www.lextrait.com/Vincent/implementations.html |archive-date= 30 May 2012 |url-status= dead }}</ref> | operating system = [[Linux]] ([[non-free software|non-free]] repositories) and [[Microsoft Windows|Windows]] | genre = [[Application framework]], [[Browser engine]] | license = [[proprietary software|Proprietary]] | website = {{URL|dev.opera.com}} }} '''Presto''' was the [[browser engine]] of the [[Opera (web browser)|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 (browser engine)|Blink]] engine that was originally created for [[Chromium (web browser)|Chromium]].<ref>{{cite web |url=https://dev.opera.com/blog/300-million-users-and-move-to-webkit/ |title=300 million users and move to WebKit |last=Lawson |first=Bruce |publisher=[[Opera Software]] |date=2013-02-12 |access-date=2013-02-13}}</ref> Presto was also used to power the [[Opera Mini]] and [[Opera Mobile]] browsers. Presto is a dynamic engine. [[Web page]]s can be re-rendered completely or partially in response to [[DOM events]]. Its releases saw a number of [[Patch (computing)|bug fixes]] and optimizations to improve the speed of the [[ECMAScript]] ([[JavaScript]]) engine. It is [[Proprietary software| 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|Cultural notes]] below.) Pre-Presto versions of Opera used the Linear A engine. Opera versions based on the Core [[Fork (software development)|fork]] of Presto, [[Opera (web browser)|Opera]] 7.0 through 9.27, used the Linear B engine.<ref>{{cite web |url=http://hsivonen.iki.fi/engines/ |title=Names of Browser Engines |last=Sivonen |first=Henri |date=2006-11-23 |access-date=2007-01-03 }}</ref> The Futhark engine is used in some versions on the Core 2 fork of Presto, namely Opera 9.5 to Opera 10.10.<ref>{{cite web |url = http://marcus.bointon.com/archives/50-SunSpider-Benchmarks-WebKit-Rocks.html |title = SunSpider Benchmarks: WebKit Rocks |last = Bointon |first = Marcus |work = Pet Pixels |date = 2006-12-19 |access-date = 2007-01-03 |url-status = dead |archive-url = https://web.archive.org/web/20110820160117/http://marcus.bointon.com/archives/50-SunSpider-Benchmarks-WebKit-Rocks.html |archive-date = 2011-08-20 }}</ref> When released it was the fastest engine around, but in 2008 a new generation of ECMAScript engines from [[Google]] ([[V8 (JavaScript engine)|V8]]), [[Mozilla]] ([[SpiderMonkey]]), and [[Apple Inc.|Apple]] ([[WebKit#JavaScriptCore|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.{{Original research inline|date=November 2024}} In early 2009, Opera introduced the Carakan engine. It featured register-based [[bytecode]], native code generation, automatic object classification, and overall performance improvements.<ref name="CarakanAnnouncement">{{cite web |url=http://my.opera.com/core/blog/2009/02/04/carakan |title=Carakan – By Opera Core Concerns |last=Lindström |first=Jens |publisher=[[Opera Software]] |date=2009-02-05 |access-date=2009-02-05 |archive-url=https://web.archive.org/web/20090206133936/http://my.opera.com/core/blog/2009/02/04/carakan|archive-date=2009-02-06}}</ref><ref>{{cite web |url=http://my.opera.com/core/blog/2009/12/22/carakan-revisited |title=Carakan Revisited – By Opera Core Concerns |last=Lindström |first=Jens |publisher=[[Opera Software]] |date=2009-12-22 |access-date=2009-12-26 |archive-url=https://web.archive.org/web/20091225151658/http://my.opera.com/core/blog/2009/12/22/carakan-revisited|archive-date=2009-12-25}}</ref> 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 [[benchmark (computing)|benchmarks]].<ref>{{cite web |url=http://www.betanews.com/article/The-once-and-future-king-Test-build-of-Opera-crushes-Chrome-on-Windows-7/1261519843 |title=The once and future king: Test build of Opera crushes Chrome on Windows 7 |last=Fulton |first=Scott M. III |publisher=[[betanews]] |date=2009-02-22 |access-date=2009-02-26 }}</ref> ==History and development== {| class="wikitable" style="text-align: center" !Presto Version ![[ECMAScript engine]] !Browser code name ![[Opera (web browser)|Opera Browser]] ![[Opera Mobile]] !Other use !New features |- |pre Presto |''none'' |''unnamed'' |3.5 | | | |- |pre Presto |Linear A |Elektra/''unnamed''<ref>{{cite web |url=http://my.opera.com/haavard/blog/2009/03/13/opera-publishes-version-history-rewrites-history |title=Opera publishes version history, rewrites history |archive-url=https://web.archive.org/web/20140221035135/http://my.opera.com/haavard/blog/2009/03/13/opera-publishes-version-history-rewrites-history |archive-date=2014-02-21}}</ref><ref group="note">''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.</ref> |4.0 | | | |- | rowspan="2" | 1.0 | rowspan="3" | Linear B |''unnamed'' |7.0 | | | style="text-align:left" |a completely new rendering engine, [[Favicon]] support<ref>{{cite web|url=http://www.opera.com/docs/changelogs/windows/700/|title=Opera 7 for Windows Changelog|publisher=Opera Software|access-date=28 February 2011|archive-url=https://web.archive.org/web/20170706180357/http://www.opera.com/docs/changelogs/windows/700/|archive-date=6 July 2017|url-status=dead}}</ref> |- | |8.5 | | | style="text-align:left" |"Bolton" version: 1st completely free download version (ad-free toolbar) |- |2.0 |Merlin |9.0 | |[[Internet Channel]]<ref>{{cite web |url=http://www.opera.com/dragonfly/documentation/ |title=Opera Dragonfly documentation |publisher=[[Opera Software]] |access-date=2009-02-27 |archive-url=https://web.archive.org/web/20090225125540/http://www.opera.com/dragonfly/documentation/ |archive-date=2009-02-25 |url-status=dead }}</ref> | style="text-align:left" |Canvas, [[Acid2]] Test: passed, Rich text editing, XSLT, and XPath |- |2.1 | rowspan="6" | Futhark | rowspan="2" | Kestrel |9.5 |9.5<ref>{{cite web |url=http://www.opera.com/press/reviews/mobile/#new |title=Reviewer's Guide to Opera Mobile 9.5 Beta |publisher=[[Opera Software]] |access-date=2009-02-27 |archive-url=https://web.archive.org/web/20100220130135/http://www.opera.com/press/reviews/mobile/#new |archive-date=2010-02-20 |url-status=dead }}</ref> |[[Nintendo DS & DSi Browser|Nintendo DSi Browser]] | style="text-align:left" |[[Scalable Vector Graphics|SVG]] Tiny 1.2, SVG as CSS, SVG as <img>, Audio object |- |2.1.1 |9.6 | | | style="text-align:left" |[[Scope API]],<ref>{{cite web |url=http://dev.opera.com/articles/view/presto-2-1-web-standards-supported-by/ |title=Opera Presto 2.1 – Web standards supported by Opera's core |last=Lawson |first=Bruce |publisher=[[Opera Software]] |date=2008-09-10 |access-date=2009-02-27 |archive-date=2009-02-25 |archive-url=https://web.archive.org/web/20090225070650/http://dev.opera.com/articles/view/presto-2-1-web-standards-supported-by/ |url-status=dead }}</ref> SVG as [[Favicon]] |- |2.2 | rowspan="4" | Peregrine | |9.7<ref>{{cite press release |url=http://www.opera.com/press/releases/2009/03/26/ |title=Opera announces the new Opera Mobile 9.7 at CTIA Wireless 2009 – a server-accelerated full Web experience for smartphones and mobile devices |publisher=[[Opera Software]] |date=2009-03-26 |access-date=2009-06-11 |archive-url=https://web.archive.org/web/20111004203114/http://www.opera.com/press/releases/2009/03/26/ |archive-date=2011-10-04 |url-status=dead }}</ref> | | |- |2.2.15 |10.0<br/>10.1 |9.8<ref>{{cite press release |url=http://www.opera.com/press/releases/2009/06/02/ |title=Opera Software grows in Poland: International Web browser company celebrates the Warsaw office opening |publisher=[[Opera Software]] |date=2009-06-02 |access-date=2009-06-11 |archive-url=https://web.archive.org/web/20100227031958/http://www.opera.com/press/releases/2009/06/02/ |archive-date=2010-02-27 |url-status=dead }}</ref> | | style="text-align:left" |[[Acid3]] test: 100/100, pixel-perfect, Web fonts, CSS Selectors API, [[RGBA color space|RGBA]] & [[HSL and HSV|HSLA]] opacity, [[Transport Layer Security|TLS]] 1.2.,<ref>{{cite web |url=http://my.opera.com/core/blog/2009/02/25/new-in-opera-presto-2-2-tls-1-2-support |title=New in Opera Presto 2.2: TLS 1.2 Support |last=Pettersen |first=Yngve Nysæter |publisher=[[Opera Software]] |date=2009-02-25 |access-date=2009-02-27 |archive-url=https://web.archive.org/web/20090304164942/http://my.opera.com/core/blog/2009/02/25/new-in-opera-presto-2-2-tls-1-2-support|archive-date=2009-03-04}}</ref> FPS in SVG, SVG fonts in HTML |- |2.3 | | |Opera Devices SDK 10 | style="text-align:left" |CSS3 : border-image, border-radius (rounded corners), box-shadow, transitions; HTML5: <audio> and <video> elements |- |2.4 | |10 | | style="text-align:left" |CSS2.1: visibility:collapse; CSS3 : transforms; HTML5: <canvas> shadows, Web Database, [[Web Storage]], window.btoa, and window.atob |- |2.5.24 | rowspan="11" | Carakan | rowspan="2" | Evenes |10.5 |10.1 |[[Opera Mini]] server | style="text-align:left" |CSS3: multiple backgrounds; HTML5: <canvas> Text |- |2.6.30 |10.6 | | | style="text-align:left" |[[WebM]]; HTML5: [[Web app|AppCache]], [[W3C Geolocation API|Geolocation]], [[Web Workers]]<ref>{{cite web|last=Kleinhout|first=Huib|title=Opera 10.60 goes final|url=http://my.opera.com/desktopteam/blog/2010/07/01/opera-10-60-goes-final|work=[[My Opera]]|publisher=[[Opera Software]]|access-date=2 July 2010|date=1 July 2010|archive-url=https://web.archive.org/web/20100702152315/http://my.opera.com/desktopteam/blog/2010/07/01/opera-10-60-goes-final|archive-date=2 July 2010}}</ref> |- |2.7.62 | Kjevik |11.0 |11.0 | | style="text-align:left" |[[Browser extension|Extensions]], [[WebSocket]] |- | 2.8.131 | Barracuda | 11.1 | 11.1 | Opera Mini server 4.27 | style="text-align:left" |[[WebP]], [http://www.w3.org/TR/FileAPI/ File API], CSS3 gradients (only for the ''background'' and ''background-image'' properties): -o-linear-gradient(), -o-repeating-linear-gradient(); Support for [http://dev.w3.org/csswg/css3-images/#color-stop-syntax <color-stop>] added. |- | 2.9.168 | Swordfish | 11.5 | | | style="text-align:left" |Session history management, classList (DOMTokenList) |- | 2.9.201 | | | 11.50 for Android | | style="text-align:left" |[[ECMAscript]] strict mode |- | 2.10.229 | Tunny | 11.6 | 11.6 | | style="text-align:left" |[[HTML5]] Parser, full support to [[CSS Gradients]], Typed Arrays, CSS unit "rem" |- | 2.10.254 | rowspan="2" | [[Wahoo]] | | 12.0 | | rowspan="2" style="text-align:left" |[[WebGL]] and [[hardware acceleration]]<ref>{{cite web|title=Introducing Opera 12 Alpha|url=http://my.opera.com/desktopteam/blog/2011/10/13/introducing-opera-12-alpha|work=[[My Opera]]|publisher=[[Opera Software]]|access-date=28 January 2012|date=13 October 2011|archive-url=https://web.archive.org/web/20111015055222/http://my.opera.com/desktopteam/blog/2011/10/13/introducing-opera-12-alpha|archive-date=15 October 2011}}</ref> |- | 2.10.289 | 12.0 | | |- |2.11.355 | rowspan="2" | [[Marlin]] | |12.1 for Android | | style="text-align:left" rowspan="2" | [[SPDY]], CSS3 Flexbox<ref>{{cite web|title=Opera Mobile 12.1: with SPDY, WebSockets, Flexbox, and more|url=http://my.opera.com/ODIN/blog/opera-mobile-12-1-with-spdy-web-sockets-flexbox-and-more|work=[[My Opera]]|publisher=[[Opera Software]]|access-date=10 October 2012|date=9 October 2012|archive-url=https://web.archive.org/web/20121010220943/http://my.opera.com/ODIN/blog/opera-mobile-12-1-with-spdy-web-sockets-flexbox-and-more|archive-date=10 October 2012}}</ref> |- |2.12.388 |12.10–12.18 | | |} {{reflist|group=note}} ==Presto-based applications== ===Web browsers=== *Opera **[[Opera (web browser)|Opera]] 7 to 12 **[[Opera Mobile]] 9.5 to 12 **[[Opera Mini]] (continues to use Presto rendering on an intermediate server on keypad phones and as Extreme mode on Android devices) *Nintendo **[[Nintendo DS Browser]] (based on Opera)<ref>{{cite press release |url=http://www.opera.com/pressreleases/en/2006/07/24/ |title=Surf in Bed: Nintendo DS Browser hits Japan |publisher=[[Opera Software|Opera Software ASA]] |date=2006-07-24 |access-date=2008-11-02 |archive-url=https://web.archive.org/web/20060814052129/http://www.opera.com/pressreleases/en/2006/07/24/ |archive-date=2006-08-14 |url-status=dead }}</ref> **[[Nintendo DSi Browser]] (based on Opera)<ref>{{cite web|url=http://archive.techtree.com/techtree/jsp/article.jsp?article_id=93947&cat_id=580 |title=Operating Systems are Less Important: Opera |publisher=[[Techtree]] |author=[[Rahul Srinivas]] and [[Jon S. von Tetzchner]] |date=2008-10-08 |access-date=2009-02-25 |url-status=dead |archive-url=https://web.archive.org/web/20120415165721/http://archive.techtree.com/techtree/jsp/article.jsp?article_id=93947&cat_id=580 |archive-date=April 15, 2012 }}</ref> **[[Wii]] [[Internet Channel]] Browser (based on Opera)<ref>{{cite press release |url=http://www.opera.com/pressreleases/en/2006/12/22/ |title=Play with the Web: Opera browser now available for download on Wii |publisher=[[Opera Software|Opera Software ASA]] |date=2006-12-22 |access-date=2008-11-02 |archive-url=https://web.archive.org/web/20080512202758/http://www.opera.com/pressreleases/en/2006/12/22/ |archive-date=2008-05-12 |url-status=dead }}</ref> *[[Nokia 770 Internet Tablet|Nokia 770]] Browser (based on Opera) *[[mylo (Sony)|Sony Mylo]] COM-1's Browser (based on Opera)<ref>{{cite press release |url=http://www.opera.com/pressreleases/en/2006/08/23/ |title=Sony Electronics uses the Opera browser for its new mylo personal communicator |publisher=[[Opera Software|Opera Software ASA]] |date=2006-08-23 |access-date=2008-11-02 |archive-url=https://web.archive.org/web/20080829210612/http://opera.com/pressreleases/en/2006/08/23/ |archive-date=2008-08-29 |url-status=dead }}</ref> ===HTML editors=== *[[Adobe Dreamweaver|Macromedia Dreamweaver]] MX to Dreamweaver CS3 (CS4/CS5 use [[WebKit]]) *[[Adobe Creative Suite]] 2<ref>{{cite press release |url=http://www.opera.com/pressreleases/en/2005/04/04/index.dml |title=Powered by Opera: Opera Integrated with Adobe Creative Suite 2 |publisher=[[Opera Software|Opera Software ASA]] |date=2005-04-04 |access-date=2008-11-02 }}{{Dead link|date=May 2020 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> and 3<ref>{{cite web |url = http://operawatch.com/news/2007/03/adobe-creative-suite-3-cs3-uses-built-in-opera-for-rendering-engine.html |title = Adobe Creative Suite 3 (CS3) uses built-in Opera for rendering engine |date = 2007-03-28 |access-date = 2008-04-20 |url-status = dead |archive-url = https://web.archive.org/web/20080303214545/http://operawatch.com/news/2007/03/adobe-creative-suite-3-cs3-uses-built-in-opera-for-rendering-engine.html |archive-date = 2008-03-03 }}</ref> == Source code leak == The source code for version 12.15 was leaked to [[GitHub]] on February 11, 2016.<ref>{{Cite web |url=https://github.com/prestocore/browser |title=Presto Web rendering engine: Opera 12.15 |date=2017-01-12|website=[[GitHub]] |archive-url=https://web.archive.org/web/20170113134110/https://github.com/prestocore/browser|archive-date=2017-01-13|url-status=dead}}</ref> It remained unnoticed until January 12, 2017 and was taken down two days later in response to a [[Digital Millennium Copyright Act|DMCA]] request.<ref>{{Cite web|url=https://github.com/github/dmca/blob/master/2017/2017-01-12-Presto.md|title=2017-01-12-Presto.md|website=[[GitHub]]|access-date=2017-10-12}}</ref><ref>{{Cite news |url=https://www.bleepingcomputer.com/news/software/opera-presto-source-code-leaks-online/ |title=Opera Presto Source Code Leaks Online |first=Catalin |last=Cimpanu |work=[[Bleeping Computer]] |access-date=2017-10-12 |language=en-us }}</ref> [[Opera (company)|Opera Software]] has confirmed the authenticity of the source code.<ref>{{Cite news|url=https://blogs.opera.com/security/2017/01/legacy-opera-presto-source-code-appearance-online-sharing-sites/|title=Legacy Opera Presto source code appearance in online sharing sites – Opera Security|date=2017-01-18|website=Opera Security|access-date=2017-10-12|language=en-US}}</ref> ==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 [[Elder Futhark|Futhark]], and [[Javanese script|Javanese Carakan]].<ref name="CarakanAnnouncement" /> ==See also== * [[Blink (browser engine)]] * [[V8 (JavaScript engine)]] == References == {{Reflist|colwidth=30em}} ==External links== *[https://web.archive.org/web/20090225070650/http://dev.opera.com/articles/view/presto-2-1-web-standards-supported-by/ Opera Developer Community – Presto 2.1 – web standards supported by Opera’s core] *[http://dev.opera.com Opera Developer Community] {{OperaBrowser}} {{Web browser engines}} {{ECMAScript}} {{web browsers|mobile}} {{DEFAULTSORT:Presto (Layout Engine)}} [[Category:2003 software]] [[Category:History of the Internet]] [[Category:Browser engines]] [[Category:Opera Software]] [[Category:Internet leaks]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite news
(
edit
)
Template:Cite press release
(
edit
)
Template:Cite web
(
edit
)
Template:Dead link
(
edit
)
Template:ECMAScript
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:OperaBrowser
(
edit
)
Template:Original research inline
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Web browser engines
(
edit
)
Template:Web browsers
(
edit
)