Trident (software)

Web browser engine by Microsoft first introduced in 1997

TridentOther names| MSHTML[1][2][3]

|

Developer(s)| Microsoft
Initial release| August 1997; 27 years ago (1997-08)
Final release|

8.0

Written in| C++[4]
Operating system| Microsoft Windows
Successor| EdgeHTML
Type| Browser engine
License| Proprietary
Website| docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa741317(v=vs.85)

Trident[1][2][3] (also known as MSHTML[1][2][5]) is a proprietary browser engine for the Microsoft Windows version of Internet Explorer, developed by Microsoft.

MSHTML debuted with the release of Internet Explorer 4 in 1997. For versions 7 and 8 of Internet Explorer, Microsoft made significant changes to MSHTML's layout capabilities to improve compliance with Web standards and add support for new technologies.[6][7][8]

MSHTML will continue to receive security updates[9] for the IE mode of Microsoft Edge until at least 2029. However, support for new Web standards will not be added.

## Use in software development

[edit]

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

## Release history

[edit]

MSHTML version  | MSHTML.dll version  | Internet Explorer version  | Internet Explorer Mobile version  | Notes

|
|
|
|

No version[10] | 4.0.x  | 4.0 | —  | Initial version.
5.0.x  | 5.0 | —  | Improved CSS 1 support and had sweeping changes in CSS 2 rendering.
5.5.x  | 5.5 | —  | Corrected issues with CSS handling.
6.0.x  | 6.0 | —  | Corrected the box model and added quirks mode with DTD switching.
7.0.x  | 7.0 | —  | Fixed many CSS rendering issues and added partial PNG alpha support.
—  | —  | 6.0 | IEMobile 6 combines many features of IE 6, 7, and 8.[11]
3.1[12][13] | 7.0  | —  | 7.0 | Second port on a mobile system of MSHTML. IE Mobile version for Windows Phone 7.
4.0[14] | 8.0.x  | 8.0 | —  | First version to pass the Acid 2 test.[4] Added full support for CSS 2.1.[15]
5.0[10] | 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[16] | 10.0.x  | 10.0 | 10.0[17] | More support for CSS 3, HTML5 and ES5. Included in Windows Phone 8. Support for linear gradient CSS transitions.[18]
7.0  | 11.0.x  | 11.0 | 11.0 | Support for WebGL and SPDY. Improved support for HTML5.[19] Speed improvement.[20] Included in Windows Phone 8.1.

## Use cases

[edit]

All versions of Internet Explorer for Windows from 4.0 onwards use MSHTML, 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.[21] The Add/Remove Programs tool in Windows 2000 uses MSHTML to render the list of installed programs,[22] and in Windows XP it is also used for the User Accounts Control Panel, which is an HTML Application.[23] MSHTML, 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 MSHTML-based applications include:

* AOL Explorer, a web browser
* AOL Instant Messenger 6.x, which used MSHTML to render conversation and profile windows, and advertisement panels
* EA Link, incompatible with MSHTML as of Internet Explorer 7 RC2
* Flashpoint Secure Player, uses MSHTML to run ActiveX based web games
* Google Talk, which used MSHTML to render chat windows and profile cards
* GreenBrowser, which is also presented at the BrowserChoice.eu page
* IE Tab, a browser add-on used to render pages with MSHTML user interface (originally available for both Mozilla Firefox and Google Chrome, now only for the latter)
* Impulse (content delivery), uses MSHTML to render "Explore" page, as well as several of the "Community" pages
* LimeWire, which renders the page "New@Lime"
* Lunascape, developed by Lunascape Corporation
* Maxthon, which used the MSHTML engine while adding features not built into IE7
* MediaBrowser, customized browsers, especially for Nintendo
* MenuBox, a web browser
* Microsoft Compiled HTML Help
* Microsoft Encarta and related products
* Microsoft InfoPath, a forms application
* Microsoft Outlook, which uses MSHTML to render HTML Messages (prior to Outlook 2007) and the "Outlook Today" screen
* Microsoft Outlook Express, which uses MSHTML to render HTML Messages
* Microsoft Visual InterDev 6 uses MSHTML in editing mode as visual HTML designer
* Microsoft Visual Studio 2002-2005 uses MSHTML in editing mode to provide visual ASP.NET/HTML designer
* Microsoft Visual Studio and Visual Basic to render the WebBrowser control
* MSN Messenger, which used it to produce Flash-based "winks" and games, and for all advertisements shown in the advertisement banner
* NeoPlanet, a web browser
* NetCaptor, a web browser
* Netscape Browser (Netscape 8), which used MSHTML to render web pages in IE mode
* Pyjs, a python Widget set Toolkit. Embedding IWebBrowser2 as an Active-X component and accessing the COM interface, Pyjs uses MSHTML for the Desktop version, through the python Win32 "comtypes" library.
* RealNetworks RealPlayer, a multimedia player app
* Sleipnir, a web browser
* SlimBrowser, a web browser
* Skype, software for VoIP that renders HTML data with MSHTML
* Tencent Traveler, a web browser
* Valve's Steam client, previous versions of which used MSHTML to render the "Store", "Update News" and "Community" sections as well as the Steam in-game browser and MOTD screens in Valve games. The Steam client was updated to use WebKit instead of MSHTML for these features. Then was updated further to use the Chromium Embedded Framework[24]
* Windows Live Writer, which uses MSHTML for its editor
* Windows Media Player, which uses MSHTML to render the "Media Information" pages
* WinRAR, a decompression program
* 360 Secure Browser, a web browser in China
* Baidu Browser, a web browser in China, that also had a proxy for some websites

## Standards compliance

[edit]

Current versions of MSHTML, 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 MSHTML. 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 MSHTML, like min-height, etc. as of Internet Explorer 6. As of Internet Explorer 8 CSS 2.1 is fully supported as well as some CSS 3.0 attributes.[15] 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.[25] Still, HTML rendering differences between standards-compliant browsers are not yet completely resolved.

## Microsoft alternatives

[edit]

Apart from MSHTML, 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 MSHTML engine, but rather a different engine.[26]

In 2014, MSHTML was forked to create the engine EdgeHTML for Microsoft Edge [Legacy] on Windows 10. The new engine is "designed for interoperability with the modern web" and deprecates or removes a number of legacy components and behaviors, including document modes, ensuring that pure, standards-compliant HTML will render properly in browsers without the need for special considerations by web developers.[27][28] This resulted in a completely new browser called Microsoft Edge (later referred to as "Microsoft Edge Legacy",[29] with a flat blue "e" icon) which replaced Internet Explorer as Windows' stock browser and became the base of Microsoft's web related services, until its replacement with a Blink / Chromium[30][31]-based browser, also called Microsoft Edge[32][33] (with a brand new wave-like icon) in late 2020.

## See also

[edit]

* Comparison of browser engines

## References

[edit]

1. ^ a b c "A Vulnerability in Microsoft MSHTML Could Allow for Remote Code Execution". New York State Office of Information Technology Services. September 8, 2021. Retrieved 2023-03-14.
2. ^ a b c "Internet Explorer - Trident Engine". Microsoft Support.
3. ^ a b "RIP Internet Explorer: Microsoft's iconic browser is being killed off in June". PCWorld.
4. ^ a b "Internet Explorer 8 and Acid2: A Milestone", IEBlog, Microsoft Docs, 2007-12-19, retrieved 2022-01-01
5. ^ "Analyzing attacks that exploit the CVE-2021-40444 MSHTML vulnerability". Microsoft Security. 15 September 2021.
6. ^ "Details on our CSS changes for IE7". IEBlog. Microsoft Docs. 2006-08-22. Retrieved 2022-01-01.
7. ^ "Overview of Platform Improvements in IE8 RC1". IEBlog. Microsoft Docs. 2009-01-29. Retrieved 2022-01-01.
8. ^ "Microsoft's Interoperability Principles and IE8". IEBlog. Microsoft Docs. 2008-03-03. Retrieved 2022-01-01.
9. ^ "Lifecycle FAQ - Internet Explorer and Microsoft Edge". Microsoft Lifecycle Policy. Microsoft Docs. 2021-11-03. Archived from the original on 2022-06-13. Retrieved 2022-06-13. "Microsoft is committed to supporting Internet Explorer mode in Microsoft Edge through at least 2029, on supported operating systems."
10. ^ a b "Introducing IE9's User Agent String", IEBlog, Microsoft Docs, 2010-03-23, retrieved 2022-01-01
11. ^ Cox, John (2008-12-21), "Microsoft Tackles the Mobile Browser", PC World, archived from the original on 2021-01-29
12. ^ Warren, Tom (2010-03-15), "Windows Phone 7 browser is based on Internet Explorer 7", Neowin, retrieved 2022-01-01
13. ^ "Ladies and Gentlemen, Please Welcome... the IE Mobile User Agent String!", IE for Windows Phone Team Weblog, Microsoft Docs, 2010-03-25, retrieved 2022-01-01
14. ^ "The Internet Explorer 8 User-Agent String (Updated Edition)", IEBlog, Microsoft Docs, 2009-01-09, retrieved 2022-01-01
15. ^ a b "CSS Compatibility and Internet Explorer". Microsoft Docs. 2011-03-09. Retrieved 2022-01-01.
16. ^ "The IE10 User-Agent String", IEBlog, Microsoft Docs, 2011-04-15, retrieved 2022-01-01
17. ^ Lipskas, Vygantas (2012-06-20), "Windows Phone 8: Internet Explorer 10 Detailed", FavBrowser.com, retrieved 2022-01-01
18. ^ Tudor, Ana (2018-06-01), "The State of Changing Gradients with CSS Transitions and Animations", blog, Pelbox Solutions, retrieved 2022-01-01
19. ^ Anthony, Sebastian (2013-06-26), "Windows 8.1 and Internet Explorer 11 will support WebGL, SPDY, but no WebRTC", Computing, ExtremeTech, Ziff Davis, retrieved 2022-01-01
20. ^ "Internet Explorer 11 for Windows 7 launched: Brings improved rendering, speed", Internet News, Gadgets 360, NDTV, 2013-11-08, retrieved 2022-01-01
21. ^ "How to Add or Remove Windows Desktop Update". Microsoft Support. KB165695. Archived from the original on 2016-03-20.
22. ^ "Add/Remove Programs tool displays installed programs incorrectly". Troubleshoot. Microsoft Docs. 23 September 2021. KB266668. Retrieved 2022-01-01.
23. ^ ""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". Microsoft Support. KB886617. Archived from the original on 2016-03-19.
24. ^ "Chromium Embedded Framework". developer.valvesoftware.com. Last edited on 25 June 2012. Retrieved 9 April 2023.
25. ^ Shah, Anup (2007-12-14). "Microsoft's Internet Explorer Slows Down Web Development". onenaught.com. Retrieved 2022-01-01.
26. ^ Mauceri, Rob (2007-04-11). "Office Live and SharePoint". Microsoft SharePoint Designer Team Blog. Microsoft Docs. Retrieved 2022-01-01. "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."
27. ^ "Living on the Edge – our next step in helping the web just work". IEBlog. Microsoft Docs. 2014-11-11. Retrieved 2022-01-01.
28. ^ "Project Spartan and the Windows 10 January Preview Build". IEBlog. Microsoft Docs. 2015-01-22. Retrieved 2022-01-01.
29. ^ "Microsoft 365 apps and services to end support for IE 11; End of support coming to the legacy version of Microsoft Edge". Microsoft Lifecycle Policy. Microsoft Docs. Retrieved 2022-01-01.
30. ^ "Download the new Microsoft Edge based on Chromium", Microsoft Support, KB4501095, retrieved 2022-01-01, "The new Microsoft Edge is based on Chromium and was released on January 15, 2020"
31. ^ Belfiore, Joe (2020-01-15), "New year, new browser – The new Microsoft Edge is out of preview and now available for download", Windows Blog, retrieved 2022-01-01
32. ^ Warren, Tom (2020-01-15). "Microsoft's new Edge Chromium browser launches on Windows and macOS". The Verge. Retrieved 2022-01-01.
33. ^ Hollister, Sean (2020-07-02). "With Edge, Microsoft's forced Windows updates just sank to a new low". The Verge. Retrieved 2022-01-01.

## External links

[edit]

* Official website

* v
* t
* e

Browser engines

Major (comparison)|

* Blink
* Gecko
* WebKit

Experimental|

* Flow
* LibWeb
* Servo

Maintained|

* Goanna
* MSHTML
* NetSurf

Discontinued|

* EdgeHTML
* KHTML
* Mariner
* Presto
* Tasman
* Tkhtml

* v
* t
* e

Microsoft APIs and frameworks

Graphics and UI|

* Desktop Window Manager
* Direct2D
* Direct3D
* D3D (extensions)
* GDI / GDI+
* WPF
* Silverlight
* WinUI
* Windows Color System
* Windows Image Acquisition
* Windows Imaging Component
* DirectX Graphics Infrastructure (DXGI)
* Windows Advanced Rasterization Platform
* WinG

Audio|

* DirectMusic
* DirectSound
* DirectX plugin
* XACT
* Speech API
* XAudio2

Multimedia|

* DirectX
* Media Objects
* Video Acceleration
* Xinput
* DirectInput
* DirectShow
* Image Mastering API
* Managed DirectX
* Media Foundation
* XNA
* Windows Media
* Video for Windows

Web|

* MSHTML
* RSS Platform
* JScript
* VBScript
* BHO
* XDR
* SideBar Gadgets
* TypeScript

Data access|

* Data Access Components (MDAC)
* ADO
* ADO.NET
* ODBC
* OLE DB
* Extensible Storage Engine
* Entity Framework
* Sync Framework
* Access Database Engine
* MSXML
* OPC

Networking|

* Winsock
* LSP
* Winsock Kernel
* Filtering Platform
* NDIS
* Windows Rally
* BITS
* P2P API
* MSMQ
* MS MPI
* DirectPlay

Communication|

* Messaging API
* Telephony API
* WCF

Administration and
management|

* Win32 console
* Windows Script Host
* WMI (extensions)
* PowerShell
* Task Scheduler
* Offline Files
* Shadow Copy
* Windows Installer
* Error Reporting
* Event Log
* Common Log File System

Component model|

* COM
* COM+
* ActiveX
* Distributed Component Object Model
* .NET Framework

Libraries|

* Framework Class Library
* Microsoft Foundation Classes (MFC)
* Active Template Library (ATL)
* Windows Template Library (WTL)

Device drivers|

* WDM
* WDF
* KMDF
* UMDF
* WDDM
* NDIS
* UAA
* BDA
* VxD

Security|

* Crypto API
* CAPICOM
* Windows CardSpace
* Data Protection API
* Security Support Provider Interface (SSPI)

.NET|

* ASP.NET
* ADO.NET
* Remoting
* Silverlight
* TPL
* WCF
* WCS
* WPF
* WF

Software factories|

* Enterprise Library
* Composite UI
* CCF
* CSF

IPC|

* MSRPC
* Dynamic Data Exchange (DDE)
* Remoting
* WCF

Accessibility|

* Active Accessibility
* UI Automation

Text and multilingual
support|

* DirectWrite
* Text Services Framework
* Text Object Model
* Input method editor
* Language Interface Pack
* Multilingual User Interface
* Uniscribe

* v
* t
* e

Internet Explorer

Versions|

| Main|

* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11

|

Other|

* Mobile
* for Mac
* for UNIX
* IEs4Linux

Overview|

* History
* Add-ons
* Box model
* Browser Helper Object (BHO)
* Extensions
* Removal
* Shells

Technologies|

* Accelerator
* ActiveX
* HTML
* HTA
* HTML Components
* favicon.ico
* HTML+TIME
* Index.dat
* JScript
* MHTML
* MSXML
* RSS Platform
* Smart tags
* Temporary Internet Files
* Vector Markup Language
* Web Slice
* WPAD
* XHR/XDomainRequest

Software and engines|

* Administration Kit
* Developer Tools
* Integrated Windows Authentication
* Tasman
* MSHTML
* Chakra

Implementations|

* Active Channel
* Active Desktop
* ActiveMovie
* Channel Definition Format (.cdf)
* Comic Chat/Chat 2.0
* DirectX Media
* Internet Mail and News
* Microsoft Java Virtual Machine (MSJVM)
* MSN Explorer
* MSN for Mac OS X
* NetMeeting
* NetShow
* Outlook Express
* Server Gated Cryptography (SGC)
* Spyglass
* Windows Address Book
* Windows Desktop Update

Events|

* First Browser War
* Second Browser War
* Download.ject
* Eolas v. Microsoft
* Sun v. Microsoft
* United States v. Microsoft Corp.

People|

* Tantek Çelik
* Thomas Reardon
* Dean Hachamovitch
* Scott Isaacs
* Inori Aizawa

* Category

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template