mshtml: Added registry configuration to allow using Active Script engine for JavaScript scripts.

Jacek Caban jacek at codeweavers.com
Wed Apr 2 13:21:02 CDT 2008


Alexandre Julliard wrote:
> Jacek Caban <jacek at codeweavers.com> writes:
>
>   
>> +    static const WCHAR key_nameW[] =
>> +        {'S','o','f','t','w','a','r','e',
>> +         '\\','W','i','n','e',
>> +         '\\','M','S','H','T','M','L',
>> +         '\\','S','c','r','i','p','t','O','v','e','r','r','i','d','e','s',0};
>> +
>> +    /* @@ Wine registry key: HKCU\Software\Wine\MSHTML\ScriptOverrides */
>> +    res = RegOpenKeyW(HKEY_CURRENT_USER, key_nameW, &hkey);
>> +    if(res != ERROR_SUCCESS)
>> +        return ret;
>>     
>
> Why do we need a configuration option for this?  When would a user want
> to change it?
>   


This is for IE-specific scripts in HTMLs. We currently use Gecko for 
doing everything with scripts for us. It means that IE only pages won't 
work mainly due to incompatibilities in DOM API. Even worse case are 
apps that communicate with hosting apps via window.extern object. To 
make them work we need to run script in a real Active Script engine. 
What we can do is quite tricky, but it already works for other script 
languages in current Git (well, not much more than "Hello World" scripts 
work ATM, but I'm working on this). The problem is that in case of 
JavaScript we have to choose if we want Gecko or our JavaScript engine. 
There is no way to determine it automatically, so configurable option is 
needed. I've chosen to use per URL configuration as it seems to be the 
best way. Due to number of DOM API to be implemented and security issues 
I don't think we'll ever make Active Script mode default and it's not 
the goal, but when we'll have our own jscript.dll implementation 
(currently one needs to use native version for tests), we may consider 
some heuristics like using Active Script for c:/Program Files/Common 
Files/* HTMLs.


Jacek



More information about the wine-devel mailing list