[1/4] mshtml: Ignore IActiveScript interface for IXMLHTTPRequest (resend)

Jacek Caban jacek at codeweavers.com
Wed Feb 16 03:44:05 CST 2011


On 2/15/11 9:26 AM, Alistair Leslie-Hughes wrote:
> Hi Jacek,
>
> On 14/02/2011 9:48 PM, Jacek Caban wrote:
>> On 2/14/11 10:03 AM, Alistair Leslie-Hughes wrote:
>>> Changelog:
>>> mshtml: Ignore IActiveScript interface for IXMLHTTPRequest
>>
>> mshtml?
>>
>> + else if ( IsEqualGUID( riid,&IID_IActiveScript))
>> + {
>> + TRACE("(%p)->(IID_IActiveScript %p) returning NULL\n", This, 
>> ppvObject);
>> + *ppvObject = NULL;
>> + return E_NOINTERFACE;
>> + }
>> else
>> {
>> FIXME("Unsupported interface %s\n", debugstr_guid(riid));
>>
>> As discussed on wine-devel, please just change the later FIXME to TRACE
>> instead.
>
> By just changing the FIXME to a TRACE would hide this fact that 
> IObjectWithSite and IObjectSafety need to be implemented at some 
> point. Only with msxml tracing would be see this fact, which would 
> lead to hard to pin point errors.
>
> We need to just ignore two know interfaces IActiveScript and IDispatchEx.

Not really. For example, you will find need for silencing 
IID_IDispatchJS pseudo-interface and its native jscript equivalent once 
it will be actually usefull for scripts. These are not interfaces apps 
query for and they are trivial to find once you know you're dealing with 
scripting. And please don't tell me that expecting enabling tracing for 
debugged DLL is something making debugging hard.

> If we are going to stop silencing interfaces, Should be just remove 
> the ones already in webbrowser(shdocvw)?  No, We do this so other 
> developers can see that these interfaces are not supported and so they 
> don't need to waste there time researching them.  We silence 
> interfaces like the above in other places, so why no here?

Each case is different and you need to consider what having this FIXME 
is gaining us. XMLHTTPRequest object has one interfaces interesting for 
apps and some more needed by stuff like scripting or security manager 
that are easy to find missing and obvious to expect. Objects like 
WebBrowser control have tons of interfaces that app may query for and in 
its case, the FIXME has proven to be useful.

Jacek



More information about the wine-devel mailing list