Wine GSoC 2015 | mshtml.dll

Zhenbo Li litimetal at gmail.com
Mon Mar 16 22:48:29 CDT 2015


Hello, everyone
I'm Zhenbo Li, a college student who participated in GSoC 2014 for
mshtml.dll. I'm glad to continue working on mshtml this year. My idea
is to implement IHTMLXMLHttpRequest+IHTMLStorage(sessionStorage) as my
project.

1.IHTMLXMLHttpRequest
==================
XMLHttpRequest is used heavily in AJAX programming.[1] Wine has
implemented most of it in msxml component, but it's a stub in mshtml.
Most js code doesn't treat wine IE as IE6 or earlier, so they will not
choost ActiveX[2] to work around it(like Firebug Lite[3])
My current implementation only works fine for absolute urls[4]. I've
located the first obstacle:
typedef struct
{
  //...
  IUri *base_uri;
  //...
} httprequest;
After finding a way to pass base_uri from mshtml.dll to msxml3.dll,
Wine Gecko should support IHTMLXMLHttpRequest for relative urls[5].

2. sessionStorage
===============
IHTMLStorage[6] is used widely, including Firebug Lite[3]. A
well-implemented IHTMLStorage interface should support both
sessionStorage and localStorage. I tried to write both of them, but
found that it may be necessary to adjust wine-gecko code to support
that(Thank Jacek). Therefore, implementing sessionStorage can be the
first step of implementing localStorage.
This is my idea for GSoC 2015, I appreciate for any comment.
Thank you.

[1]: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
[2]: http://en.wikipedia.org/wiki/XMLHttpRequest#Support_in_Internet_Explorer_versions_5.2C_5.5.2C_and_6
[3]: https://getfirebug.com/firebuglite
[4]: http://lzbtesthustoj1000.u.qiniudn.com/xmlhttprequest_absolute_path.html
[5]: http://lzbtesthustoj1000.u.qiniudn.com/new_xmlhttp.html
[6]: https://msdn.microsoft.com/en-us/library/cc288313%28v=vs.85%29.aspx


-- 
Have a nice day!
Zhenbo Li



More information about the wine-devel mailing list