EdgeHTML

EdgeHTML

Screenshot of Microsoft Edge in Windows 10 showing the English Wikipedia main page rendered by EdgeHTML 12
Developer(s) Microsoft
Stable release
14.14393 / August 2, 2016 (2016-08-02)
Preview release
14.14915 / August 31, 2016 (2016-08-31)
Written in C++[1]
Type Application framework, software component
License Proprietary

EdgeHTML is a proprietary layout engine developed by Microsoft for the Microsoft Edge web browser. It is a fork of Trident that has removed all legacy code of older versions of Internet Explorer and rewritten the majority of its source code with web standards and interoperability with other modern browsers in mind.[2] The rendering engine was first released as an experimental option in Internet Explorer 11 as part of the Windows 10 Technical Preview build 9879.

Usage in Windows

EdgeHTML is designed as a software component to allow software developers to easily add web browsing functionality to their own applications. It presents a COM interface for accessing and editing web pages in any COM-supported environment, like C++ and .NET. For instance, a web browser control can be added to a C++ program and EdgeHTML can then be used to access the page currently displayed in the web browser and retrieve element values. Events from the web browser control can also be captured. It's also used to render WinRT-apps that are based on web technologies.

Release history

EdgeHTML Edge Release Notes
12.10240 20.10240 July 15, 2015 Initial release, based on Trident 7.0. Part of Windows since Windows 10 Technical Preview build 10049. Contains improvements to performance, support for HTML5 and CSS3.
13.10586 25.10586 November 5, 2015 First platform update, includes further enhancements to HTML5, including Object RTC support.[3]
14.14291 Extensions, Pinned tabs, VP9
14.14342 38.14342 Web Notifications, WebRTC 1.0, Beacon, Fetch, improved HTML5 and CSS3.
14.14393 38.14393 August 2, 2016

EdgeHTML 12

Microsoft first introduced the EdgeHTML render engine as part of Internet Explorer 11 in the Windows Technical Preview build 9879 on November 12, 2014.[4] Microsoft planned to use EdgeHTML both in Internet Explorer and Project Spartan, in Internet Explorer it would exist alongside the Trident 7 engine from Internet Explorer 11, the latter being used for compatibility purposes. However, Microsoft decided to ship Internet Explorer 11 in Windows 10 as it was in Windows 8.1,[5] leaving EdgeHTML only for the new Edge browser. EdgeHTML was also added to Windows 10 Mobile and the second Windows Server 2016 Technical Preview. It was officially released on July 29, 2015 as part of Windows 10.[6]

Unlike Trident, EdgeHTML does not support ActiveX. It also drops support for the X-UA-Compatible header, used by Trident to determine in which version it had to render a certain page. Microsoft also dropped the usage of Compatibility View-lists.[7] Edge will recognize if a page requires any of the removed technologies to run properly and suggest to the user to open the page in Internet Explorer instead. Another change was spoofing the user agent string, which claims to be Chrome and Safari, while also mentioning KHTML and Gecko, so that web servers that use user agent sniffing send Edge users the full versions of web pages instead of reduced-functionality pages.

EdgeHTML also made significant performance improvements over Trident, resulting in better JavaScript benchmark scores.[8]

Microsoft EdgeHTML 12 Mozilla/5.0 (Windows NT 10.0;) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240
Internet Explorer 11 Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko

Breaking from Trident, the new EdgeHTML engine will be focused on modern web standards and interoperability, rather than compatibility. The initial release of Edge HTML on Windows 10 included more than 4000 interoperability fixes.[9]

EdgeHTML 13

On August 18, 2015, Microsoft released the first preview to EdgeHTML platform version 13 as part of Windows 10.0.10525, though it was still labeled as version 12. In subsequent updates, the support for HTML5 and CSS3 was extended to include new elements. Microsoft also included support for Object RTC and enabled ASM.js by default after it was added in version 12. The update's main focus was on improving the support for ECMAScript 6 and also including some features from ECMAScript 7. With that update to Chakra Edge provided to most extensive support for ECMAScript 6 according to the Kangax benchmark with 84% (and 90% with all flags enabled), 13% ahead of Mozilla Firefox 42, the then-current version of Firefox and runner-up.[3]

EdgeHTML 13.10586 was released in multiple versions of Windows. On November 12, 2015, the New Xbox One Experience-update for the Xbox One included EdgeHTML 13.10586, replacing Internet Explorer 10 in the process. It was released to Windows 10 as part of the November Update on the same day. On November 18, 2015, the updated got rolled out to Windows 10 Mobile users in the Insider Preview. Finally, Microsoft rolled out the same update to Windows Server 2016 as part of Technical Preview 4.

EdgeHTML 14

On December 16, 2015, Microsoft released the first build of Redstone. In January and February 2016, 4 other builds followed, all laying the foundational work for EdgeHTML 14. On February 18, 2016, Microsoft released the first version of EdgeHTML 14 as version 14.14267. This version of the engine contained almost no changes in standards support yet, but contained fundamental work for Web Notifications, WebRTC 1.0, improved ECMAScript and CSS support and also contained a number of new flags. Further, Microsoft announced that it is working on VP9, WOFF 2.0, Web Speech API, WebM, FIDO 2.0, Beacon and many other technologies.

On August 2, 2016, EdgeHTML 14 was released to Windows 10 as part of the 2016 Anniversary Update.

Performance

A review of the engine in the latest Windows 10 build by AnandTech found substantial benchmark improvements over Trident, particularly JavaScript engine performance, which is now up to par with that of Google Chrome.[10] Other benchmarks focusing on the performance of the WebGL API found EdgeHTML to perform much better than Google Chrome and Mozilla Firefox.[11]

Compatibility

EdgeHTML is meant to be fully compatible with the Blink and WebKit layout engines, used by Google Chrome and Safari, respectively. Microsoft has stated that "any Edge-WebKit differences are bugs that we’re interested in fixing."[12]

See also

References

Further reading

This article is issued from Wikipedia - version of the 9/10/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.