mshtml and friends

Jacek Caban jacek at
Tue Sep 28 09:14:53 CDT 2010

  Hi Reece,

On 9/28/10 2:59 PM, Reece Dunn wrote:
> Hi,
> The current state of support for the Internet Explorer components in
> Wine is good, but there are applications that don't work with it
> because they are dependent on more of the functionality provided by
> Internet Explorer via the WebBrowser control.
> I have had a scan through some of the mshtml code, and see various
> things not handled -- such as the onload handler of the HTMLBody
> element -- but I am not very familiar with this area.

onload is handled properly on body element, it's just getter/setter that is 
a stub. It's a trivial one line patch that implements them. The fact that 
they are stubs means that I've never seen them used in apps I was working on.

Most MSHTML APIs are trivial Gecko API wrappers. They are easy to 
implement, the only problem is that there are really many functions to 
implement. I implement only ones that are needed for real apps. The hard 
part of MSHTML is in the few APIs that are not just wrappers and not 
directly exposed parts like loading the document.

> I am interested in helping out to improve this area -- my aim is to
> not require the `winetricks ie6` command to get some of these
> applications (specifically the Big Fish Games client) to a usable
> state.
> Therefore, I am wondering if anyone knows where the best place is to
> start looking (e.g. known areas of missing functionality) or how to
> debug applications (and interpret WINEDEBUG output) to identify where
> the issues are.

There is no single answer. You want mshtml debug channel for most cases. If 
the problem is with embedding document in an app, then shdocvw is also 
useful. If you have scripts that don't work (and we use jscript for them), 
then jscript debug channel is the answer. If you have a problem with 
loading document, I'd add urlmon,wininet channel.


More information about the wine-devel mailing list