Alexandre Julliard wrote:
Jacek Caban jacek@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