Trident (layout engine)

From Wikipedia, the free encyclopedia
  (Redirected from MSHTML)
Jump to: navigation, search
Trident
Developer(s) Microsoft
Written in C++[1]
Operating system

Microsoft Windows:

Type Application framework / software component
License Proprietary MS-EULA
Website msdn.microsoft.com

Trident (also known as MSHTML) is the name of the layout engine for the Microsoft Windows version of Internet Explorer.

It was first introduced with the release of Internet Explorer version 4.0 in October 1997; it has been steadily upgraded and remains in use today. For versions 7 and 8 of Internet Explorer, Microsoft made significant changes to the Trident layout engine to improve compliance with web standards and add support for new technologies.[2][3][4] Since then, Microsoft intends to comply with many modern web standards[citation needed], and also intends to significantly update the layout engine to be more competitive and modern compared to other current layout engines.

Use in software development[edit]

Trident was 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 Trident 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. Trident functionality becomes available by linking the file mshtml.dll to the software project.

Versions[edit]

Trident version MSHTML.dll version Internet Explorer version Internet Explorer Mobile version Notes
No version[5] 4.0.x 4.0 N/A Initial version.
5.0.x 5.0 N/A Improved CSS 1 support and had sweeping changes in CSS 2 rendering.
5.5.x 5.5 N/A Corrected issues with CSS handling.
6.0.x 6.0 N/A Corrected the box model and added quirks mode with DTD switching.
7.0.x 7.0 N/A Fixed many CSS rendering issues and added partial PNG alpha support.
N/A N/A 6.0 IEMobile 6 combines many features of IE 6, 7, and 8.[6]
3.1[7][8] 7.0 N/A 7.0 Second port on a mobile system of Trident. IE Mobile version for Windows Phone 7.
4.0[9] 8.0.x 8.0 N/A First version to pass the Acid 2 test.[10] Added full support for CSS 2.1.[11]
5.0[12] 9.0.x 9.0 9.0 Added support for SVG, XHTML, HTML5, and CSS 3. Added a new hardware-accelerated JScript engine named Chakra. Scores 100/100 on the Acid3 test. Included with IE 9 Mobile in Windows Phone 7.5 "Mango".
6.0[13] 10.0.x 10.0 10.0 [14] More support for CSS 3, HTML5 and ES5. Included in Windows Phone 8.
7.0 11.0.x 11.0 11.0 Support for WebGL and SPDY. Improved support for HTML5.[15] Speed improvement.[16] Included in Windows Phone 8.1.

Trident-based applications[edit]

All versions of Internet Explorer for Windows from 4.0 onwards use Trident, and it is also used by various other web browsers and software components (see Internet Explorer shells). In Windows 98, Windows Me, and Windows 2000, it is also used for the Windows file manager/shell, Windows Explorer.[17] The Add/Remove Programs tool in Windows 2000 uses Trident to render the list of installed programs,[18] and in Windows XP it is also used for the User Accounts Control Panel, which is an HTML Application.[19] Trident however was not used by Internet Explorer for Mac (which used Tasman starting with version 5.0), nor by the early versions of Internet Explorer Mobile.

Some other Trident-based applications include:

Standards compliance[edit]

Current versions of Trident, as of Internet Explorer 9 have introduced support for CSS 3, HTML5, and SVG, as well as other modern web standards. Web standards compliance was gradually improved with the evolution of Trident. Although each version of IE has improved standards support, including the introduction of a "standards-compliant mode" in version 6, the core standards that are used to build web pages (HTML and CSS) were sometimes implemented in an incomplete fashion. For example, there was no support for the <abbr> element which is part of the HTML 4.01 standard prior to IE 8. There were also some CSS attributes missing from Trident, like min-height, etc. as of IE 6. As of Internet Explorer 8 CSS 2.1 is fully supported as well as some CSS 3.0 attributes.[11] This lack of standards compliance has been known to cause rendering bugs and lack of support for modern web technologies, which often increases development time for web pages.[20] Still rendering differences of HTML between standards-compliant browsers are not completely resolved yet.

Microsoft alternatives[edit]

Apart from Trident, Microsoft also has and uses several other layout engines. One of them, known as Tasman, was used in Internet Explorer 5 for Mac. Development of Internet Explorer for Mac was halted in roughly 2003, but development of Tasman continued to a limited extent, and was later included in Office 2004 for Mac. Office for Mac 2011 uses the open source WebKit engine. Microsoft's now defunct web design product, Expression Web as well as Visual Studio 2008 and later do not use Internet Explorer's Trident engine, but rather a different engine.[21]

See also[edit]

References[edit]

  1. ^ Hachamovitch, Dean (2007-12-14), Internet Explorer 8 and Acid2: A Milestone, Microsoft 
  2. ^ "Details on our CSS changes for IE7". Retrieved 2010-02-23. 
  3. ^ "Overview of Platform Improvements in IE8 RC1". Retrieved 2010-02-23. 
  4. ^ "Microsoft's Interoperability Principles and IE8". Retrieved 2010-02-23. 
  5. ^ Lawrence, Eric (2010-03-24), re: Introducing IE9’s User Agent String, Microsoft 
  6. ^ Cox, John (2008-12-21), Microsoft Tackles the Mobile Browser, PC World, retrieved 2010-04-08 
  7. ^ Warren, Tom (2010-03-16), Windows Phone 7 browser is based on Internet Explorer 7, Neowin, retrieved 2010-03-16 
  8. ^ Marini, Joe (2010-03-25), Ladies and Gentlemen, Please Welcome... the IE Mobile User Agent String!, Microsoft 
  9. ^ Lawrence, Eric (2009-01-09), The Internet Explorer 8 User-Agent String (Updated Edition), Microsoft 
  10. ^ Hachamovitch, Dean (2007-12-19), Internet Explorer 8 and Acid2: A Milestone, Microsoft 
  11. ^ a b "CSS Compatibility and Internet Explorer". Retrieved 2008-10-05. 
  12. ^ Silbey, Marc (2010-03-23), Introducing IE9’s User Agent String, Microsoft 
  13. ^ Ross, Tony (2011-04-15), The IE10 User-Agent String, Microsoft 
  14. ^ Windows Phone 8: Internet Explorer 10 Detailed
  15. ^ ExtremTech: Windows 8.1 and Internet Explorer 11 will support WebGL, SPDY, but no WebRTC
  16. ^ NDTV Gadgets: Internet Explorer 11 for Windows 7 launched: Brings improved rendering, speed
  17. ^ "How to Add or Remove Windows Desktop Update". Retrieved 2011-12-03. 
  18. ^ "Add/Remove Programs tool displays installed programs incorrectly". Retrieved 2011-12-03. 
  19. ^ "Internet Explorer Script Error error message when you click User Accounts in Control Panel many times in quick succession on a Windows XP-based computer". Retrieved 2011-12-03. 
  20. ^ "Microsoft’s Internet Explorer Slows Down Web Development". Retrieved 2010-07-27. 
  21. ^ Mauceri, Rob (April 16, 2007). "Office Live and SharePoint". Microsoft SharePoint Designer Team Blog. Microsoft corporation. Retrieved August 23, 2010. "SharePoint Designer doesn't use Trident. SharePoint Designer, Expression Web, and the next version of Visual Studio's Visual Web Designer (code name Orcas) all use the same standards-based web design component. This component was developed jointly by the three product teams for high fidelity rendering of web standards like CSS, XHTML, as well as ASP.net." 

External links[edit]