mshtml: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org> Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
d37c304ef7
commit
4618a0a38a
|
@ -45,9 +45,6 @@ static CRITICAL_SECTION_DEBUG cs_dispex_static_data_dbg =
|
|||
};
|
||||
static CRITICAL_SECTION cs_dispex_static_data = { &cs_dispex_static_data_dbg, -1, 0, 0, 0, 0 };
|
||||
|
||||
|
||||
static const WCHAR objectW[] = {'[','o','b','j','e','c','t',']',0};
|
||||
|
||||
typedef struct {
|
||||
IID iid;
|
||||
VARIANT default_value;
|
||||
|
@ -700,7 +697,7 @@ static HRESULT dispex_value(DispatchEx *This, LCID lcid, WORD flags, DISPPARAMS
|
|||
switch(flags) {
|
||||
case DISPATCH_PROPERTYGET:
|
||||
V_VT(res) = VT_BSTR;
|
||||
V_BSTR(res) = SysAllocString(objectW);
|
||||
V_BSTR(res) = SysAllocString(L"[object]");
|
||||
if(!V_BSTR(res))
|
||||
return E_OUTOFMEMORY;
|
||||
break;
|
||||
|
@ -1283,7 +1280,7 @@ static HRESULT function_invoke(DispatchEx *This, func_info_t *func, WORD flags,
|
|||
if(func->id == DISPID_VALUE) {
|
||||
BSTR ret;
|
||||
|
||||
ret = SysAllocString(objectW);
|
||||
ret = SysAllocString(L"[object]");
|
||||
if(!ret)
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
|
|
|
@ -92,9 +92,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
|||
#define DOM_VK_HOME VK_HOME
|
||||
#define DOM_VK_END VK_END
|
||||
|
||||
static const WCHAR fontW[] = {'f','o','n','t',0};
|
||||
static const WCHAR sizeW[] = {'s','i','z','e',0};
|
||||
|
||||
void set_dirty(GeckoBrowser *browser, VARIANT_BOOL dirty)
|
||||
{
|
||||
nsresult nsres;
|
||||
|
@ -286,13 +283,13 @@ static void get_font_size(HTMLDocumentNode *doc, WCHAR *ret)
|
|||
nsIDOMElement_GetTagName(elem, &tag_str);
|
||||
nsAString_GetData(&tag_str, &tag);
|
||||
|
||||
if(!wcsicmp(tag, fontW)) {
|
||||
if(!wcsicmp(tag, L"font")) {
|
||||
nsAString val_str;
|
||||
const PRUnichar *val;
|
||||
|
||||
TRACE("found font tag %p\n", elem);
|
||||
|
||||
get_elem_attr_value(elem, sizeW, &val_str, &val);
|
||||
get_elem_attr_value(elem, L"size", &val_str, &val);
|
||||
if(*val) {
|
||||
TRACE("found size %s\n", debugstr_w(val));
|
||||
lstrcpyW(ret, val);
|
||||
|
@ -340,9 +337,9 @@ static void set_font_size(HTMLDocumentNode *doc, LPCWSTR size)
|
|||
}
|
||||
}
|
||||
|
||||
create_nselem(doc, fontW, &elem);
|
||||
create_nselem(doc, L"font", &elem);
|
||||
|
||||
nsAString_InitDepend(&size_str, sizeW);
|
||||
nsAString_InitDepend(&size_str, L"size");
|
||||
nsAString_InitDepend(&val_str, size);
|
||||
|
||||
nsIDOMElement_SetAttribute(elem, &size_str, &val_str);
|
||||
|
@ -358,7 +355,7 @@ static void set_font_size(HTMLDocumentNode *doc, LPCWSTR size)
|
|||
nsISelection_Collapse(nsselection, (nsIDOMNode*)elem, 0);
|
||||
}else {
|
||||
/* Remove all size attributes from the range */
|
||||
remove_child_attr(elem, fontW, &size_str);
|
||||
remove_child_attr(elem, L"font", &size_str);
|
||||
nsISelection_SelectAllChildren(nsselection, (nsIDOMNode*)elem);
|
||||
}
|
||||
|
||||
|
@ -606,8 +603,7 @@ static HRESULT exec_fontsize(HTMLDocumentNode *doc, DWORD cmdexecopt, VARIANT *i
|
|||
switch(V_VT(in)) {
|
||||
case VT_I4: {
|
||||
WCHAR size[10];
|
||||
static const WCHAR format[] = {'%','d',0};
|
||||
wsprintfW(size, format, V_I4(in));
|
||||
wsprintfW(size, L"%d", V_I4(in));
|
||||
set_font_size(doc, size);
|
||||
break;
|
||||
}
|
||||
|
@ -956,14 +952,6 @@ static HRESULT query_edit_status(HTMLDocumentNode *doc, OLECMD *cmd)
|
|||
|
||||
static INT_PTR CALLBACK hyperlink_dlgproc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
static const WCHAR wszOther[] = {'(','o','t','h','e','r',')',0};
|
||||
static const WCHAR wszFile[] = {'f','i','l','e',':',0};
|
||||
static const WCHAR wszFtp[] = {'f','t','p',':',0};
|
||||
static const WCHAR wszHttp[] = {'h','t','t','p',':',0};
|
||||
static const WCHAR wszHttps[] = {'h','t','t','p','s',':',0};
|
||||
static const WCHAR wszMailto[] = {'m','a','i','l','t','o',':',0};
|
||||
static const WCHAR wszNews[] = {'n','e','w','s',':',0};
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
|
@ -975,13 +963,13 @@ static INT_PTR CALLBACK hyperlink_dlgproc(HWND hwnd, UINT msg, WPARAM wparam, LP
|
|||
|
||||
SetWindowLongPtrW(hwnd, DWLP_USER, lparam);
|
||||
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)wszOther);
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)wszFile);
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)wszFtp);
|
||||
def_idx = SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)wszHttp);
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)wszHttps);
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)wszMailto);
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)wszNews);
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)L"(other)");
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)L"file:");
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)L"ftp:");
|
||||
def_idx = SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)L"http:");
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)L"https:");
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)L"mailto:");
|
||||
SendMessageW(hwndCB, CB_INSERTSTRING, -1, (LPARAM)L"news:");
|
||||
SendMessageW(hwndCB, CB_SETCURSEL, def_idx, 0);
|
||||
|
||||
/* force the updating of the URL edit box */
|
||||
|
@ -1025,7 +1013,7 @@ static INT_PTR CALLBACK hyperlink_dlgproc(HWND hwnd, UINT msg, WPARAM wparam, LP
|
|||
type = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR));
|
||||
SendMessageW((HWND)lparam, CB_GETLBTEXT, item, (LPARAM)type);
|
||||
|
||||
if (!wcscmp(type, wszOther))
|
||||
if (!wcscmp(type, L"(other)"))
|
||||
*type = '\0';
|
||||
|
||||
/* get current URL */
|
||||
|
@ -1044,7 +1032,7 @@ static INT_PTR CALLBACK hyperlink_dlgproc(HWND hwnd, UINT msg, WPARAM wparam, LP
|
|||
if (*type != '\0')
|
||||
{
|
||||
memcpy(url, type, (lstrlenW(type) + 1) * sizeof(WCHAR));
|
||||
if (wcscmp(type, wszMailto) && wcscmp(type, wszNews))
|
||||
if (wcscmp(type, L"mailto:") && wcscmp(type, L"news:"))
|
||||
memcpy(url + lstrlenW(type), wszSlashSlash, sizeof(wszSlashSlash));
|
||||
}
|
||||
|
||||
|
@ -1075,9 +1063,6 @@ static HRESULT exec_hyperlink(HTMLDocumentNode *doc, DWORD cmdexecopt, VARIANT *
|
|||
INT ret;
|
||||
HRESULT hres = E_FAIL;
|
||||
|
||||
static const WCHAR aW[] = {'a',0};
|
||||
static const WCHAR hrefW[] = {'h','r','e','f',0};
|
||||
|
||||
TRACE("%p, 0x%x, %p, %p\n", doc, cmdexecopt, in, out);
|
||||
|
||||
if (cmdexecopt == OLECMDEXECOPT_DONTPROMPTUSER)
|
||||
|
@ -1106,9 +1091,9 @@ static HRESULT exec_hyperlink(HTMLDocumentNode *doc, DWORD cmdexecopt, VARIANT *
|
|||
return E_FAIL;
|
||||
|
||||
/* create an element for the link */
|
||||
create_nselem(doc, aW, &anchor_elem);
|
||||
create_nselem(doc, L"a", &anchor_elem);
|
||||
|
||||
nsAString_InitDepend(&href_str, hrefW);
|
||||
nsAString_InitDepend(&href_str, L"href");
|
||||
nsAString_InitDepend(&ns_url, url);
|
||||
nsIDOMElement_SetAttribute(anchor_elem, &href_str, &ns_url);
|
||||
nsAString_Finish(&href_str);
|
||||
|
@ -1257,9 +1242,7 @@ HRESULT setup_edit_mode(HTMLDocumentObj *doc)
|
|||
mon = doc->basedoc.window->mon;
|
||||
IMoniker_AddRef(mon);
|
||||
}else {
|
||||
static const WCHAR about_blankW[] = {'a','b','o','u','t',':','b','l','a','n','k',0};
|
||||
|
||||
hres = CreateURLMoniker(NULL, about_blankW, &mon);
|
||||
hres = CreateURLMoniker(NULL, L"about:blank", &mon);
|
||||
if(FAILED(hres)) {
|
||||
FIXME("CreateURLMoniker failed: %08x\n", hres);
|
||||
return hres;
|
||||
|
|
|
@ -149,10 +149,8 @@ static BOOL read_compat_mode(HKEY key, compat_mode_t *r)
|
|||
DWORD type, size;
|
||||
LSTATUS status;
|
||||
|
||||
static const WCHAR max_compat_modeW[] = {'M','a','x','C','o','m','p','a','t','M','o','d','e',0};
|
||||
|
||||
size = sizeof(version);
|
||||
status = RegQueryValueExW(key, max_compat_modeW, NULL, &type, (BYTE*)version, &size);
|
||||
status = RegQueryValueExW(key, L"MaxCompatMode", NULL, &type, (BYTE*)version, &size);
|
||||
if(status != ERROR_SUCCESS || type != REG_SZ)
|
||||
return FALSE;
|
||||
|
||||
|
@ -168,14 +166,8 @@ static BOOL WINAPI load_compat_settings(INIT_ONCE *once, void *param, void **con
|
|||
HKEY key, host_key;
|
||||
DWORD res;
|
||||
|
||||
static const WCHAR key_nameW[] = {
|
||||
'S','o','f','t','w','a','r','e',
|
||||
'\\','W','i','n','e',
|
||||
'\\','M','S','H','T','M','L',
|
||||
'\\','C','o','m','p','a','t','M','o','d','e',0};
|
||||
|
||||
/* @@ Wine registry key: HKCU\Software\Wine\MSHTML\CompatMode */
|
||||
res = RegOpenKeyW(HKEY_CURRENT_USER, key_nameW, &key);
|
||||
res = RegOpenKeyW(HKEY_CURRENT_USER, L"Software\\Wine\\MSHTML\\CompatMode", &key);
|
||||
if(res != ERROR_SUCCESS)
|
||||
return TRUE;
|
||||
|
||||
|
@ -350,13 +342,10 @@ HRESULT do_query_service(IUnknown *unk, REFGUID guid_service, REFIID riid, void
|
|||
|
||||
HINSTANCE get_shdoclc(void)
|
||||
{
|
||||
static const WCHAR wszShdoclc[] =
|
||||
{'s','h','d','o','c','l','c','.','d','l','l',0};
|
||||
|
||||
if(shdoclc)
|
||||
return shdoclc;
|
||||
|
||||
return shdoclc = LoadLibraryExW(wszShdoclc, NULL, LOAD_LIBRARY_AS_DATAFILE);
|
||||
return shdoclc = LoadLibraryExW(L"shdoclc.dll", NULL, LOAD_LIBRARY_AS_DATAFILE);
|
||||
}
|
||||
|
||||
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID reserved)
|
||||
|
@ -602,8 +591,6 @@ static HRESULT register_server(BOOL do_register)
|
|||
static CLSID const *clsids[35];
|
||||
unsigned int i = 0;
|
||||
|
||||
static const WCHAR wszAdvpack[] = {'a','d','v','p','a','c','k','.','d','l','l',0};
|
||||
|
||||
TRACE("(%x)\n", do_register);
|
||||
|
||||
INF_SET_CLSID(AboutProtocol);
|
||||
|
@ -653,7 +640,7 @@ static HRESULT register_server(BOOL do_register)
|
|||
strtable.cEntries = ARRAY_SIZE(pse);
|
||||
strtable.pse = pse;
|
||||
|
||||
hAdvpack = LoadLibraryW(wszAdvpack);
|
||||
hAdvpack = LoadLibraryW(L"advpack.dll");
|
||||
pRegInstall = (void *)GetProcAddress(hAdvpack, "RegInstall");
|
||||
|
||||
hres = pRegInstall(hInst, do_register ? "RegisterDll" : "UnregisterDll", &strtable);
|
||||
|
|
|
@ -491,8 +491,6 @@ static void process_meta_element(HTMLDocumentNode *doc, nsIDOMHTMLMetaElement *m
|
|||
nsAString http_equiv_str, content_str;
|
||||
nsresult nsres;
|
||||
|
||||
static const WCHAR x_ua_compatibleW[] = {'x','-','u','a','-','c','o','m','p','a','t','i','b','l','e',0};
|
||||
|
||||
nsAString_Init(&http_equiv_str, NULL);
|
||||
nsAString_Init(&content_str, NULL);
|
||||
nsres = nsIDOMHTMLMetaElement_GetHttpEquiv(meta_element, &http_equiv_str);
|
||||
|
@ -507,7 +505,7 @@ static void process_meta_element(HTMLDocumentNode *doc, nsIDOMHTMLMetaElement *m
|
|||
|
||||
TRACE("%s: %s\n", debugstr_w(http_equiv), debugstr_w(content));
|
||||
|
||||
if(!wcsicmp(http_equiv, x_ua_compatibleW)) {
|
||||
if(!wcsicmp(http_equiv, L"x-ua-compatible")) {
|
||||
compat_mode_t document_mode;
|
||||
if(parse_ua_compatible(content, &document_mode))
|
||||
set_document_mode(doc, document_mode, TRUE);
|
||||
|
|
|
@ -46,9 +46,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
|||
#define UTF8_STR "utf-8"
|
||||
#define UTF16_STR "utf-16"
|
||||
|
||||
static const WCHAR emptyW[] = {0};
|
||||
static const WCHAR text_htmlW[] = {'t','e','x','t','/','h','t','m','l',0};
|
||||
|
||||
struct nsProtocolStream {
|
||||
nsIInputStream nsIInputStream_iface;
|
||||
|
||||
|
@ -799,14 +796,12 @@ static HRESULT process_response_headers(nsChannelBSC *This, const WCHAR *headers
|
|||
http_header_t *iter;
|
||||
HRESULT hres;
|
||||
|
||||
static const WCHAR content_typeW[] = {'c','o','n','t','e','n','t','-','t','y','p','e',0};
|
||||
|
||||
hres = parse_headers(headers, &This->nschannel->response_headers);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
LIST_FOR_EACH_ENTRY(iter, &This->nschannel->response_headers, http_header_t, entry) {
|
||||
if(!wcsicmp(iter->header, content_typeW))
|
||||
if(!wcsicmp(iter->header, L"content-type"))
|
||||
parse_content_type(This, iter->data);
|
||||
}
|
||||
|
||||
|
@ -1116,7 +1111,7 @@ static HRESULT read_stream_data(nsChannelBSC *This, IStream *stream)
|
|||
WCHAR *mime;
|
||||
|
||||
hres = FindMimeFromData(NULL, NULL, This->nsstream->buf, This->nsstream->buf_size,
|
||||
This->is_doc_channel ? text_htmlW : NULL, 0, &mime, 0);
|
||||
This->is_doc_channel ? L"text/html" : NULL, 0, &mime, 0);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
|
@ -1750,14 +1745,11 @@ static HRESULT nsChannelBSC_beginning_transaction(BSCallback *bsc, WCHAR **addit
|
|||
DWORD len = 0;
|
||||
WCHAR *ptr;
|
||||
|
||||
static const WCHAR content_lengthW[] =
|
||||
{'C','o','n','t','e','n','t','-','L','e','n','g','t','h',0};
|
||||
|
||||
if(!This->nschannel)
|
||||
return S_FALSE;
|
||||
|
||||
LIST_FOR_EACH_ENTRY(iter, &This->nschannel->request_headers, http_header_t, entry) {
|
||||
if(wcscmp(iter->header, content_lengthW))
|
||||
if(wcscmp(iter->header, L"Content-Length"))
|
||||
len += lstrlenW(iter->header) + 2 /* ": " */ + lstrlenW(iter->data) + 2 /* "\r\n" */;
|
||||
}
|
||||
|
||||
|
@ -1769,7 +1761,7 @@ static HRESULT nsChannelBSC_beginning_transaction(BSCallback *bsc, WCHAR **addit
|
|||
return E_OUTOFMEMORY;
|
||||
|
||||
LIST_FOR_EACH_ENTRY(iter, &This->nschannel->request_headers, http_header_t, entry) {
|
||||
if(!wcscmp(iter->header, content_lengthW))
|
||||
if(!wcscmp(iter->header, L"Content-Length"))
|
||||
continue;
|
||||
|
||||
len = lstrlenW(iter->header);
|
||||
|
@ -1986,8 +1978,6 @@ static void navigate_javascript_proc(task_t *_task)
|
|||
BSTR code;
|
||||
HRESULT hres;
|
||||
|
||||
static const WCHAR jscriptW[] = {'j','s','c','r','i','p','t',0};
|
||||
|
||||
task->window->readystate = READYSTATE_COMPLETE;
|
||||
|
||||
hres = IUri_GetPath(task->uri, &code);
|
||||
|
@ -2003,7 +1993,7 @@ static void navigate_javascript_proc(task_t *_task)
|
|||
set_download_state(window->browser->doc, 1);
|
||||
|
||||
V_VT(&v) = VT_EMPTY;
|
||||
hres = exec_script(window->base.inner_window, code, jscriptW, &v);
|
||||
hres = exec_script(window->base.inner_window, code, L"jscript", &v);
|
||||
SysFreeString(code);
|
||||
if(SUCCEEDED(hres) && V_VT(&v) != VT_EMPTY) {
|
||||
FIXME("javascirpt URL returned %s\n", debugstr_variant(&v));
|
||||
|
@ -2064,8 +2054,7 @@ static HRESULT navigate_fragment(HTMLOuterWindow *window, IUri *uri)
|
|||
BSTR frag;
|
||||
nsresult nsres;
|
||||
HRESULT hres;
|
||||
|
||||
static const WCHAR selector_formatW[] = {'a','[','i','d','=','"','%','s','"',']',0};
|
||||
static const WCHAR selector_formatW[] = L"a[id=\"%s\"]";
|
||||
|
||||
set_current_uri(window, uri);
|
||||
|
||||
|
@ -2310,7 +2299,7 @@ HRESULT navigate_new_window(HTMLOuterWindow *window, IUri *uri, const WCHAR *nam
|
|||
if(SUCCEEDED(hres)) {
|
||||
hres = ITargetFramePriv2_AggregatedNavigation2(target_frame_priv,
|
||||
HLNF_DISABLEWINDOWRESTRICTIONS|HLNF_OPENINNEWWINDOW, bind_ctx, &bsc->bsc.IBindStatusCallback_iface,
|
||||
name, uri, emptyW);
|
||||
name, uri, L"");
|
||||
ITargetFramePriv2_Release(target_frame_priv);
|
||||
|
||||
if(SUCCEEDED(hres))
|
||||
|
@ -2377,8 +2366,7 @@ HRESULT hlink_frame_navigate(HTMLDocument *doc, LPCWSTR url, nsChannel *nschanne
|
|||
IHlink_SetMonikerReference(hlink, HLINKSETF_TARGET, mon, NULL);
|
||||
|
||||
if(hlnf & HLNF_OPENINNEWWINDOW) {
|
||||
static const WCHAR wszBlank[] = {'_','b','l','a','n','k',0};
|
||||
IHlink_SetTargetFrameName(hlink, wszBlank); /* FIXME */
|
||||
IHlink_SetTargetFrameName(hlink, L"_blank"); /* FIXME */
|
||||
}
|
||||
|
||||
hres = IHlinkFrame_Navigate(hlink_frame, hlnf, bindctx,
|
||||
|
|
|
@ -89,8 +89,6 @@ static nsIComponentManager *pCompMgr = NULL;
|
|||
static nsICategoryManager *cat_mgr;
|
||||
static nsIFile *profile_directory, *plugin_directory;
|
||||
|
||||
static const WCHAR wszNsContainer[] = {'N','s','C','o','n','t','a','i','n','e','r',0};
|
||||
|
||||
static ATOM browser_class;
|
||||
static WCHAR gecko_path[MAX_PATH];
|
||||
static unsigned gecko_path_len;
|
||||
|
@ -249,9 +247,7 @@ static nsrefcnt NSAPI nsDirectoryServiceProvider2_Release(nsIDirectoryServicePro
|
|||
|
||||
static nsresult create_profile_directory(void)
|
||||
{
|
||||
static const WCHAR wine_geckoW[] = {'\\','w','i','n','e','_','g','e','c','k','o',0};
|
||||
|
||||
WCHAR path[MAX_PATH + ARRAY_SIZE(wine_geckoW)];
|
||||
WCHAR path[MAX_PATH + ARRAY_SIZE(L"\\wine_gecko")];
|
||||
cpp_bool exists;
|
||||
nsresult nsres;
|
||||
HRESULT hres;
|
||||
|
@ -262,7 +258,7 @@ static nsresult create_profile_directory(void)
|
|||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
lstrcatW(path, wine_geckoW);
|
||||
lstrcatW(path, L"\\wine_gecko");
|
||||
nsres = create_nsfile(path, &profile_directory);
|
||||
if(NS_FAILED(nsres))
|
||||
return nsres;
|
||||
|
@ -316,13 +312,11 @@ static nsresult NSAPI nsDirectoryServiceProvider2_GetFiles(nsIDirectoryServicePr
|
|||
nsresult nsres;
|
||||
|
||||
if(!plugin_directory) {
|
||||
static const WCHAR gecko_pluginW[] = {'\\','g','e','c','k','o','\\','p','l','u','g','i','n',0};
|
||||
|
||||
len = GetSystemDirectoryW(plugin_path, ARRAY_SIZE(plugin_path)-ARRAY_SIZE(gecko_pluginW)+1);
|
||||
len = GetSystemDirectoryW(plugin_path, ARRAY_SIZE(plugin_path)-ARRAY_SIZE(L"\\gecko\\plugin")+1);
|
||||
if(!len)
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
|
||||
lstrcpyW(plugin_path+len, gecko_pluginW);
|
||||
lstrcpyW(plugin_path+len, L"\\gecko\\plugin");
|
||||
nsres = create_nsfile(plugin_path, &plugin_directory);
|
||||
if(NS_FAILED(nsres)) {
|
||||
*_retval = NULL;
|
||||
|
@ -362,13 +356,11 @@ static LRESULT WINAPI nsembed_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
|
|||
GeckoBrowser *This;
|
||||
nsresult nsres;
|
||||
|
||||
static const WCHAR wszTHIS[] = {'T','H','I','S',0};
|
||||
|
||||
if(msg == WM_CREATE) {
|
||||
This = *(GeckoBrowser**)lParam;
|
||||
SetPropW(hwnd, wszTHIS, This);
|
||||
SetPropW(hwnd, L"THIS", This);
|
||||
}else {
|
||||
This = GetPropW(hwnd, wszTHIS);
|
||||
This = GetPropW(hwnd, L"THIS");
|
||||
}
|
||||
|
||||
switch(msg) {
|
||||
|
@ -402,7 +394,7 @@ static void register_browser_class(void)
|
|||
CS_DBLCLKS,
|
||||
nsembed_proc,
|
||||
0, 0, NULL, NULL, NULL, NULL, NULL,
|
||||
wszNsContainer,
|
||||
L"NsContainer",
|
||||
NULL,
|
||||
};
|
||||
wndclass.hInstance = hInst;
|
||||
|
@ -418,9 +410,8 @@ static BOOL install_wine_gecko(void)
|
|||
LONG len;
|
||||
BOOL ret;
|
||||
|
||||
static const WCHAR controlW[] = {'\\','c','o','n','t','r','o','l','.','e','x','e',0};
|
||||
static const WCHAR argsW[] =
|
||||
{' ','a','p','p','w','i','z','.','c','p','l',' ','i','n','s','t','a','l','l','_','g','e','c','k','o',0};
|
||||
static const WCHAR controlW[] = L"\\control.exe";
|
||||
static const WCHAR argsW[] = L" appwiz.cpl install_gecko";
|
||||
|
||||
len = GetSystemDirectoryW(app, MAX_PATH-ARRAY_SIZE(controlW));
|
||||
memcpy(app+len, controlW, sizeof(controlW));
|
||||
|
@ -456,15 +447,7 @@ static void set_environment(LPCWSTR gre_path)
|
|||
WCHAR *path, buf[20];
|
||||
const WCHAR *ptr;
|
||||
|
||||
static const WCHAR pathW[] = {'P','A','T','H',0};
|
||||
static const WCHAR warnW[] = {'w','a','r','n',0};
|
||||
static const WCHAR xpcom_debug_breakW[] =
|
||||
{'X','P','C','O','M','_','D','E','B','U','G','_','B','R','E','A','K',0};
|
||||
static const WCHAR nspr_log_modulesW[] =
|
||||
{'N','S','P','R','_','L','O','G','_','M','O','D','U','L','E','S',0};
|
||||
static const WCHAR debug_formatW[] = {'a','l','l',':','%','d',0};
|
||||
|
||||
SetEnvironmentVariableW(xpcom_debug_breakW, warnW);
|
||||
SetEnvironmentVariableW(L"XPCOM_DEBUG_BREAK", L"warn");
|
||||
|
||||
if(TRACE_ON(gecko))
|
||||
debug_level = 5;
|
||||
|
@ -473,15 +456,15 @@ static void set_environment(LPCWSTR gre_path)
|
|||
else if(ERR_ON(gecko))
|
||||
debug_level = 1;
|
||||
|
||||
swprintf(buf, ARRAY_SIZE(buf), debug_formatW, debug_level);
|
||||
SetEnvironmentVariableW(nspr_log_modulesW, buf);
|
||||
swprintf(buf, ARRAY_SIZE(buf), L"all:%d", debug_level);
|
||||
SetEnvironmentVariableW(L"NSPR_LOG_MODULES", buf);
|
||||
|
||||
len = GetEnvironmentVariableW(pathW, NULL, 0);
|
||||
len = GetEnvironmentVariableW(L"PATH", NULL, 0);
|
||||
gre_path_len = lstrlenW(gre_path);
|
||||
path = heap_alloc((len+gre_path_len+1)*sizeof(WCHAR));
|
||||
if(!path)
|
||||
return;
|
||||
GetEnvironmentVariableW(pathW, path, len);
|
||||
GetEnvironmentVariableW(L"PATH", path, len);
|
||||
|
||||
/* We have to modify PATH as xul.dll loads other DLLs from this directory. */
|
||||
if(!(ptr = wcsstr(path, gre_path))
|
||||
|
@ -490,7 +473,7 @@ static void set_environment(LPCWSTR gre_path)
|
|||
if(len)
|
||||
path[len-1] = ';';
|
||||
lstrcpyW(path+len, gre_path);
|
||||
SetEnvironmentVariableW(pathW, path);
|
||||
SetEnvironmentVariableW(L"PATH", path);
|
||||
}
|
||||
heap_free(path);
|
||||
}
|
||||
|
@ -528,13 +511,7 @@ static void set_lang(nsIPrefBranch *pref)
|
|||
DWORD res, size, type;
|
||||
HKEY hkey;
|
||||
|
||||
static const WCHAR international_keyW[] =
|
||||
{'S','o','f','t','w','a','r','e',
|
||||
'\\','M','i','c','r','o','s','o','f','t',
|
||||
'\\','I','n','t','e','r','n','e','t',' ','E','x','p','l','o','r','e','r',
|
||||
'\\','I','n','t','e','r','n','a','t','i','o','n','a','l',0};
|
||||
|
||||
res = RegOpenKeyW(HKEY_CURRENT_USER, international_keyW, &hkey);
|
||||
res = RegOpenKeyW(HKEY_CURRENT_USER, L"Software\\Microsoft\\Internet Explorer\\International", &hkey);
|
||||
if(res != ERROR_SUCCESS)
|
||||
return;
|
||||
|
||||
|
@ -1019,9 +996,6 @@ HRESULT variant_to_nsstr(VARIANT *v, BOOL hex_int, nsAString *nsstr)
|
|||
{
|
||||
WCHAR buf[32];
|
||||
|
||||
static const WCHAR d_formatW[] = {'%','d',0};
|
||||
static const WCHAR hex_formatW[] = {'#','%','0','6','x',0};
|
||||
|
||||
switch(V_VT(v)) {
|
||||
case VT_NULL:
|
||||
nsAString_InitDepend(nsstr, NULL);
|
||||
|
@ -1036,7 +1010,7 @@ HRESULT variant_to_nsstr(VARIANT *v, BOOL hex_int, nsAString *nsstr)
|
|||
break;
|
||||
|
||||
case VT_I4:
|
||||
wsprintfW(buf, hex_int ? hex_formatW : d_formatW, V_I4(v));
|
||||
wsprintfW(buf, hex_int ? L"#%06x" : L"%d", V_I4(v));
|
||||
nsAString_Init(nsstr, buf);
|
||||
break;
|
||||
|
||||
|
@ -2251,7 +2225,7 @@ static HRESULT init_browser(GeckoBrowser *browser)
|
|||
return E_FAIL;
|
||||
}
|
||||
|
||||
browser->hwnd = CreateWindowExW(0, wszNsContainer, NULL,
|
||||
browser->hwnd = CreateWindowExW(0, L"NsContainer", NULL,
|
||||
WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, 0, 0, 100, 100,
|
||||
GetDesktopWindow(), NULL, hInst, browser);
|
||||
if(!browser->hwnd) {
|
||||
|
|
|
@ -1488,12 +1488,11 @@ static nsresult NSAPI nsChannel_IsNoStoreResponse(nsIHttpChannel *iface, cpp_boo
|
|||
http_header_t *header;
|
||||
|
||||
static const WCHAR cache_controlW[] = {'C','a','c','h','e','-','C','o','n','t','r','o','l'};
|
||||
static const WCHAR no_storeW[] = {'n','o','-','s','t','o','r','e',0};
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, _retval);
|
||||
|
||||
header = find_http_header(&This->response_headers, cache_controlW, ARRAY_SIZE(cache_controlW));
|
||||
*_retval = header && !wcsicmp(header->data, no_storeW);
|
||||
*_retval = header && !wcsicmp(header->data, L"no-store");
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -231,19 +231,12 @@ static void load_settings(HTMLDocumentObj *doc)
|
|||
DWORD val, size;
|
||||
LONG res;
|
||||
|
||||
static const WCHAR ie_keyW[] = {
|
||||
'S','O','F','T','W','A','R','E','\\',
|
||||
'M','i','c','r','o','s','o','f','t','\\',
|
||||
'I','n','t','e','r','n','e','t',' ','E','x','p','l','o','r','e','r',0};
|
||||
static const WCHAR zoomW[] = {'Z','o','o','m',0};
|
||||
static const WCHAR zoom_factorW[] = {'Z','o','o','m','F','a','c','t','o','r',0};
|
||||
|
||||
res = RegOpenKeyW(HKEY_CURRENT_USER, ie_keyW, &settings_key);
|
||||
res = RegOpenKeyW(HKEY_CURRENT_USER, L"SOFTWARE\\Microsoft\\Internet Explorer", &settings_key);
|
||||
if(res != ERROR_SUCCESS)
|
||||
return;
|
||||
|
||||
size = sizeof(val);
|
||||
res = RegGetValueW(settings_key, zoomW, zoom_factorW, RRF_RT_REG_DWORD, NULL, &val, &size);
|
||||
res = RegGetValueW(settings_key, L"Zoom", L"ZoomFactor", RRF_RT_REG_DWORD, NULL, &val, &size);
|
||||
RegCloseKey(settings_key);
|
||||
if(res == ERROR_SUCCESS)
|
||||
set_viewer_zoom(doc->nscontainer, (float)val/100000);
|
||||
|
|
|
@ -1137,11 +1137,9 @@ static HRESULT WINAPI OmNavigator_get_appCodeName(IOmNavigator *iface, BSTR *p)
|
|||
{
|
||||
OmNavigator *This = impl_from_IOmNavigator(iface);
|
||||
|
||||
static const WCHAR mozillaW[] = {'M','o','z','i','l','l','a',0};
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
*p = SysAllocString(mozillaW);
|
||||
*p = SysAllocString(L"Mozilla");
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
@ -1149,14 +1147,9 @@ static HRESULT WINAPI OmNavigator_get_appName(IOmNavigator *iface, BSTR *p)
|
|||
{
|
||||
OmNavigator *This = impl_from_IOmNavigator(iface);
|
||||
|
||||
static const WCHAR app_nameW[] =
|
||||
{'M','i','c','r','o','s','o','f','t',' ',
|
||||
'I','n','t','e','r','n','e','t',' ',
|
||||
'E','x','p','l','o','r','e','r',0};
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
*p = SysAllocString(app_nameW);
|
||||
*p = SysAllocString(L"Microsoft Internet Explorer");
|
||||
if(!*p)
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
|
@ -1294,14 +1287,12 @@ static HRESULT WINAPI OmNavigator_toString(IOmNavigator *iface, BSTR *String)
|
|||
{
|
||||
OmNavigator *This = impl_from_IOmNavigator(iface);
|
||||
|
||||
static const WCHAR objectW[] = {'[','o','b','j','e','c','t',']',0};
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, String);
|
||||
|
||||
if(!String)
|
||||
return E_INVALIDARG;
|
||||
|
||||
*String = SysAllocString(objectW);
|
||||
*String = SysAllocString(L"[object]");
|
||||
return *String ? S_OK : E_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
|
@ -1309,16 +1300,13 @@ static HRESULT WINAPI OmNavigator_get_cpuClass(IOmNavigator *iface, BSTR *p)
|
|||
{
|
||||
OmNavigator *This = impl_from_IOmNavigator(iface);
|
||||
|
||||
static const WCHAR cpu_classW[] =
|
||||
#ifdef _WIN64
|
||||
{'x','6','4',0};
|
||||
#else
|
||||
{'x','8','6',0};
|
||||
#endif
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
*p = SysAllocString(cpu_classW);
|
||||
#ifdef _WIN64
|
||||
*p = SysAllocString(L"x64");
|
||||
#else
|
||||
*p = SysAllocString(L"x86");
|
||||
#endif
|
||||
return *p ? S_OK : E_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
|
@ -1379,15 +1367,13 @@ static HRESULT WINAPI OmNavigator_get_platform(IOmNavigator *iface, BSTR *p)
|
|||
{
|
||||
OmNavigator *This = impl_from_IOmNavigator(iface);
|
||||
|
||||
#ifdef _WIN64
|
||||
static const WCHAR platformW[] = {'W','i','n','6','4',0};
|
||||
#else
|
||||
static const WCHAR platformW[] = {'W','i','n','3','2',0};
|
||||
#endif
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
*p = SysAllocString(platformW);
|
||||
#ifdef _WIN64
|
||||
*p = SysAllocString(L"Win64");
|
||||
#else
|
||||
*p = SysAllocString(L"Win32");
|
||||
#endif
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
@ -1395,12 +1381,10 @@ static HRESULT WINAPI OmNavigator_get_appMinorVersion(IOmNavigator *iface, BSTR
|
|||
{
|
||||
OmNavigator *This = impl_from_IOmNavigator(iface);
|
||||
|
||||
static const WCHAR zeroW[] = {'0',0};
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
/* NOTE: MSIE returns "0" or values like ";SP2;". Returning "0" should be enough. */
|
||||
*p = SysAllocString(zeroW);
|
||||
*p = SysAllocString(L"0");
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -46,8 +46,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
|||
/* Undocumented notification, see tests */
|
||||
#define CMDID_EXPLORER_UPDATEHISTORY 38
|
||||
|
||||
static const WCHAR about_blankW[] = {'a','b','o','u','t',':','b','l','a','n','k',0};
|
||||
|
||||
typedef struct {
|
||||
task_t header;
|
||||
HTMLDocumentObj *doc;
|
||||
|
@ -893,7 +891,7 @@ static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, IStream
|
|||
|
||||
TRACE("(%p)->(%p)\n", This, pStm);
|
||||
|
||||
hres = CreateURLMoniker(NULL, about_blankW, &mon);
|
||||
hres = CreateURLMoniker(NULL, L"about:blank", &mon);
|
||||
if(FAILED(hres)) {
|
||||
WARN("CreateURLMoniker failed: %08x\n", hres);
|
||||
return hres;
|
||||
|
@ -950,7 +948,7 @@ static HRESULT WINAPI PersistStreamInit_InitNew(IPersistStreamInit *iface)
|
|||
|
||||
TRACE("(%p)\n", This);
|
||||
|
||||
hres = CreateURLMoniker(NULL, about_blankW, &mon);
|
||||
hres = CreateURLMoniker(NULL, L"about:blank", &mon);
|
||||
if(FAILED(hres)) {
|
||||
WARN("CreateURLMoniker failed: %08x\n", hres);
|
||||
return hres;
|
||||
|
@ -1171,7 +1169,6 @@ static HRESULT WINAPI HlinkTarget_Navigate(IHlinkTarget *iface, DWORD grfHLNF, L
|
|||
FIXME("JumpLocation not supported\n");
|
||||
|
||||
if(!This->doc_obj->client) {
|
||||
static const WCHAR szOpen[] = {'o','p','e','n',0};
|
||||
HRESULT hres;
|
||||
BSTR uri;
|
||||
|
||||
|
@ -1179,7 +1176,7 @@ static HRESULT WINAPI HlinkTarget_Navigate(IHlinkTarget *iface, DWORD grfHLNF, L
|
|||
if (FAILED(hres))
|
||||
return hres;
|
||||
|
||||
ShellExecuteW(NULL, szOpen, uri, NULL, NULL, SW_SHOW);
|
||||
ShellExecuteW(NULL, L"open", uri, NULL, NULL, SW_SHOW);
|
||||
SysFreeString(uri);
|
||||
return S_OK;
|
||||
}
|
||||
|
|
|
@ -342,12 +342,7 @@ static HRESULT WINAPI AboutProtocol_Start(IInternetProtocol *iface, LPCWSTR szUr
|
|||
DWORD data_len;
|
||||
BYTE *data;
|
||||
HRESULT hres;
|
||||
|
||||
static const WCHAR html_begin[] = {0xfeff,'<','H','T','M','L','>',0};
|
||||
static const WCHAR html_end[] = {'<','/','H','T','M','L','>',0};
|
||||
static const WCHAR wszBlank[] = {'b','l','a','n','k',0};
|
||||
static const WCHAR wszAbout[] = {'a','b','o','u','t',':'};
|
||||
static const WCHAR wszTextHtml[] = {'t','e','x','t','/','h','t','m','l',0};
|
||||
|
||||
/* NOTE:
|
||||
* the about protocol seems not to work as I would expect. It creates html document
|
||||
|
@ -370,11 +365,11 @@ static HRESULT WINAPI AboutProtocol_Start(IInternetProtocol *iface, LPCWSTR szUr
|
|||
|
||||
if(lstrlenW(szUrl) >= ARRAY_SIZE(wszAbout) && !memcmp(wszAbout, szUrl, sizeof(wszAbout))) {
|
||||
text = szUrl + ARRAY_SIZE(wszAbout);
|
||||
if(!wcscmp(wszBlank, text))
|
||||
if(!wcscmp(L"blank", text))
|
||||
text = NULL;
|
||||
}
|
||||
|
||||
data_len = sizeof(html_begin)+sizeof(html_end)-sizeof(WCHAR)
|
||||
data_len = sizeof(L"\xfeff<HTML>")+sizeof(L"</HTML>")-sizeof(WCHAR)
|
||||
+ (text ? lstrlenW(text)*sizeof(WCHAR) : 0);
|
||||
data = heap_alloc(data_len);
|
||||
if(!data)
|
||||
|
@ -384,14 +379,14 @@ static HRESULT WINAPI AboutProtocol_Start(IInternetProtocol *iface, LPCWSTR szUr
|
|||
This->data = data;
|
||||
This->data_len = data_len;
|
||||
|
||||
memcpy(This->data, html_begin, sizeof(html_begin));
|
||||
lstrcpyW((LPWSTR)This->data, L"\xfeff<HTML>");
|
||||
if(text)
|
||||
lstrcatW((LPWSTR)This->data, text);
|
||||
lstrcatW((LPWSTR)This->data, html_end);
|
||||
lstrcatW((LPWSTR)This->data, L"</HTML>");
|
||||
|
||||
This->cur = 0;
|
||||
|
||||
IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_MIMETYPEAVAILABLE, wszTextHtml);
|
||||
IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_MIMETYPEAVAILABLE, L"text/html");
|
||||
|
||||
IInternetProtocolSink_ReportData(pOIProtSink,
|
||||
BSCF_FIRSTDATANOTIFICATION | BSCF_LASTDATANOTIFICATION | BSCF_DATAFULLYAVAILABLE,
|
||||
|
|
|
@ -33,9 +33,6 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
||||
|
||||
static const WCHAR brW[] = {'b','r',0};
|
||||
static const WCHAR hrW[] = {'h','r',0};
|
||||
|
||||
typedef struct {
|
||||
DispatchEx dispex;
|
||||
IHTMLTxtRange IHTMLTxtRange_iface;
|
||||
|
@ -93,34 +90,20 @@ static HTMLTxtRange *get_range_object(HTMLDocumentNode *doc, IHTMLTxtRange *ifac
|
|||
|
||||
static range_unit_t string_to_unit(LPCWSTR str)
|
||||
{
|
||||
static const WCHAR characterW[] =
|
||||
{'c','h','a','r','a','c','t','e','r',0};
|
||||
static const WCHAR wordW[] =
|
||||
{'w','o','r','d',0};
|
||||
static const WCHAR sentenceW[] =
|
||||
{'s','e','n','t','e','n','c','e',0};
|
||||
static const WCHAR texteditW[] =
|
||||
{'t','e','x','t','e','d','i','t',0};
|
||||
|
||||
if(!wcsicmp(str, characterW)) return RU_CHAR;
|
||||
if(!wcsicmp(str, wordW)) return RU_WORD;
|
||||
if(!wcsicmp(str, sentenceW)) return RU_SENTENCE;
|
||||
if(!wcsicmp(str, texteditW)) return RU_TEXTEDIT;
|
||||
if(!wcsicmp(str, L"character")) return RU_CHAR;
|
||||
if(!wcsicmp(str, L"word")) return RU_WORD;
|
||||
if(!wcsicmp(str, L"sentence")) return RU_SENTENCE;
|
||||
if(!wcsicmp(str, L"textedit")) return RU_TEXTEDIT;
|
||||
|
||||
return RU_UNKNOWN;
|
||||
}
|
||||
|
||||
static int string_to_nscmptype(LPCWSTR str)
|
||||
{
|
||||
static const WCHAR seW[] = {'S','t','a','r','t','T','o','E','n','d',0};
|
||||
static const WCHAR ssW[] = {'S','t','a','r','t','T','o','S','t','a','r','t',0};
|
||||
static const WCHAR esW[] = {'E','n','d','T','o','S','t','a','r','t',0};
|
||||
static const WCHAR eeW[] = {'E','n','d','T','o','E','n','d',0};
|
||||
|
||||
if(!wcsicmp(str, seW)) return NS_START_TO_END;
|
||||
if(!wcsicmp(str, ssW)) return NS_START_TO_START;
|
||||
if(!wcsicmp(str, esW)) return NS_END_TO_START;
|
||||
if(!wcsicmp(str, eeW)) return NS_END_TO_END;
|
||||
if(!wcsicmp(str, L"StartToEnd")) return NS_START_TO_END;
|
||||
if(!wcsicmp(str, L"StartToStart")) return NS_START_TO_START;
|
||||
if(!wcsicmp(str, L"EndToStart")) return NS_END_TO_START;
|
||||
if(!wcsicmp(str, L"EndToEnd")) return NS_END_TO_END;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
@ -450,10 +433,10 @@ static void wstrbuf_append_node(wstrbuf_t *buf, nsIDOMNode *node, BOOL ignore_te
|
|||
break;
|
||||
}
|
||||
case ELEMENT_NODE:
|
||||
if(is_elem_tag(node, brW)) {
|
||||
if(is_elem_tag(node, L"br")) {
|
||||
static const WCHAR endlW[] = {'\r','\n'};
|
||||
wstrbuf_append_len(buf, endlW, 2);
|
||||
}else if(is_elem_tag(node, hrW)) {
|
||||
}else if(is_elem_tag(node, L"hr")) {
|
||||
static const WCHAR endl2W[] = {'\r','\n','\r','\n'};
|
||||
wstrbuf_append_len(buf, endl2W, 4);
|
||||
}
|
||||
|
@ -617,7 +600,7 @@ static WCHAR move_next_char(rangepoint_t *iter)
|
|||
if(!node)
|
||||
break;
|
||||
|
||||
if(is_elem_tag(node, brW)) {
|
||||
if(is_elem_tag(node, L"br")) {
|
||||
if(cspace) {
|
||||
nsIDOMNode_Release(node);
|
||||
free_rangepoint(iter);
|
||||
|
@ -627,7 +610,7 @@ static WCHAR move_next_char(rangepoint_t *iter)
|
|||
|
||||
cspace = '\n';
|
||||
init_rangepoint(&last_space, iter->node, iter->off+1);
|
||||
}else if(is_elem_tag(node, hrW)) {
|
||||
}else if(is_elem_tag(node, L"hr")) {
|
||||
nsIDOMNode_Release(node);
|
||||
if(cspace) {
|
||||
free_rangepoint(iter);
|
||||
|
@ -707,12 +690,12 @@ static WCHAR move_prev_char(rangepoint_t *iter)
|
|||
if(!node)
|
||||
break;
|
||||
|
||||
if(is_elem_tag(node, brW)) {
|
||||
if(is_elem_tag(node, L"br")) {
|
||||
if(cspace)
|
||||
free_rangepoint(&last_space);
|
||||
cspace = '\n';
|
||||
init_rangepoint(&last_space, iter->node, iter->off-1);
|
||||
}else if(is_elem_tag(node, hrW)) {
|
||||
}else if(is_elem_tag(node, L"hr")) {
|
||||
nsIDOMNode_Release(node);
|
||||
if(cspace) {
|
||||
free_rangepoint(iter);
|
||||
|
@ -947,8 +930,7 @@ static HRESULT WINAPI HTMLTxtRange_get_htmlText(IHTMLTxtRange *iface, BSTR *p)
|
|||
}
|
||||
|
||||
if(!*p) {
|
||||
static const WCHAR emptyW[] = {0};
|
||||
*p = SysAllocString(emptyW);
|
||||
*p = SysAllocString(L"");
|
||||
}
|
||||
|
||||
TRACE("return %s\n", debugstr_w(*p));
|
||||
|
|
|
@ -67,11 +67,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
|||
#define SCRIPTLANGUAGEVERSION_HTML 0x400
|
||||
#define SCRIPTLANGUAGEVERSION_ES5 0x102
|
||||
|
||||
static const WCHAR documentW[] = {'d','o','c','u','m','e','n','t',0};
|
||||
static const WCHAR windowW[] = {'w','i','n','d','o','w',0};
|
||||
static const WCHAR script_endW[] = {'<','/','S','C','R','I','P','T','>',0};
|
||||
static const WCHAR emptyW[] = {0};
|
||||
|
||||
struct ScriptHost {
|
||||
IActiveScriptSite IActiveScriptSite_iface;
|
||||
IActiveScriptSiteInterruptPoll IActiveScriptSiteInterruptPoll_iface;
|
||||
|
@ -201,7 +196,7 @@ static BOOL init_script_engine(ScriptHost *script_host)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
hres = IActiveScript_AddNamedItem(script_host->script, windowW,
|
||||
hres = IActiveScript_AddNamedItem(script_host->script, L"window",
|
||||
SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
|
||||
if(SUCCEEDED(hres)) {
|
||||
V_VT(&var) = VT_BOOL;
|
||||
|
@ -357,7 +352,7 @@ static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface, LPC
|
|||
|
||||
*ppiunkItem = NULL;
|
||||
|
||||
if(wcscmp(pstrName, windowW))
|
||||
if(wcscmp(pstrName, L"window"))
|
||||
return DISP_E_MEMBERNOTFOUND;
|
||||
|
||||
if(!This->window)
|
||||
|
@ -800,7 +795,7 @@ static void parse_elem_text(ScriptHost *script_host, HTMLScriptElement *script_e
|
|||
VariantInit(&var);
|
||||
memset(&excepinfo, 0, sizeof(excepinfo));
|
||||
TRACE(">>>\n");
|
||||
hres = IActiveScriptParse_ParseScriptText(script_host->parse, text, windowW, NULL, script_endW,
|
||||
hres = IActiveScriptParse_ParseScriptText(script_host->parse, text, L"window", NULL, L"</SCRIPT>",
|
||||
0, 0, SCRIPTTEXT_ISVISIBLE|SCRIPTTEXT_HOSTMANAGESSOURCE,
|
||||
&var, &excepinfo);
|
||||
if(SUCCEEDED(hres))
|
||||
|
@ -1169,17 +1164,10 @@ static GUID get_default_script_guid(HTMLInnerWindow *window)
|
|||
|
||||
static BOOL get_guid_from_type(LPCWSTR type, GUID *guid)
|
||||
{
|
||||
static const WCHAR text_javascriptW[] =
|
||||
{'t','e','x','t','/','j','a','v','a','s','c','r','i','p','t',0};
|
||||
static const WCHAR text_jscriptW[] =
|
||||
{'t','e','x','t','/','j','s','c','r','i','p','t',0};
|
||||
static const WCHAR text_vbscriptW[] =
|
||||
{'t','e','x','t','/','v','b','s','c','r','i','p','t',0};
|
||||
|
||||
/* FIXME: Handle more types */
|
||||
if(!wcsicmp(type, text_javascriptW) || !wcsicmp(type, text_jscriptW)) {
|
||||
if(!wcsicmp(type, L"text/javascript") || !wcsicmp(type, L"text/jscript")) {
|
||||
*guid = CLSID_JScript;
|
||||
}else if(!wcsicmp(type, text_vbscriptW)) {
|
||||
}else if(!wcsicmp(type, L"text/vbscript")) {
|
||||
*guid = CLSID_VBScript;
|
||||
}else {
|
||||
FIXME("Unknown type %s\n", debugstr_w(type));
|
||||
|
@ -1306,8 +1294,6 @@ IDispatch *script_parse_event(HTMLInnerWindow *window, LPCWSTR text)
|
|||
IDispatch *disp;
|
||||
HRESULT hres;
|
||||
|
||||
static const WCHAR delimiterW[] = {'\"',0};
|
||||
|
||||
TRACE("%s\n", debugstr_w(text));
|
||||
|
||||
for(ptr = text; iswalnum(*ptr); ptr++);
|
||||
|
@ -1347,8 +1333,8 @@ IDispatch *script_parse_event(HTMLInnerWindow *window, LPCWSTR text)
|
|||
if(!script_host || !script_host->parse_proc)
|
||||
return NULL;
|
||||
|
||||
hres = IActiveScriptParseProcedure2_ParseProcedureText(script_host->parse_proc, ptr, NULL, emptyW,
|
||||
NULL, NULL, delimiterW, 0 /* FIXME */, 0,
|
||||
hres = IActiveScriptParseProcedure2_ParseProcedureText(script_host->parse_proc, ptr, NULL, L"",
|
||||
NULL, NULL, L"\"", 0 /* FIXME */, 0,
|
||||
SCRIPTPROC_HOSTMANAGESSOURCE|SCRIPTPROC_IMPLICIT_THIS|SCRIPTPROC_IMPLICIT_PARENTS, &disp);
|
||||
if(FAILED(hres)) {
|
||||
WARN("ParseProcedureText failed: %08x\n", hres);
|
||||
|
@ -1366,8 +1352,6 @@ HRESULT exec_script(HTMLInnerWindow *window, const WCHAR *code, const WCHAR *lan
|
|||
GUID guid;
|
||||
HRESULT hres;
|
||||
|
||||
static const WCHAR delimW[] = {'"',0};
|
||||
|
||||
if(!get_guid_from_language(lang, &guid)) {
|
||||
WARN("Could not find script GUID\n");
|
||||
return CO_E_CLASSSTRING;
|
||||
|
@ -1386,7 +1370,7 @@ HRESULT exec_script(HTMLInnerWindow *window, const WCHAR *code, const WCHAR *lan
|
|||
|
||||
memset(&ei, 0, sizeof(ei));
|
||||
TRACE(">>>\n");
|
||||
hres = IActiveScriptParse_ParseScriptText(script_host->parse, code, NULL, NULL, delimW, 0, 0, SCRIPTTEXT_ISVISIBLE, ret, &ei);
|
||||
hres = IActiveScriptParse_ParseScriptText(script_host->parse, code, NULL, NULL, L"\"", 0, 0, SCRIPTTEXT_ISVISIBLE, ret, &ei);
|
||||
if(SUCCEEDED(hres))
|
||||
TRACE("<<<\n");
|
||||
else
|
||||
|
@ -1403,7 +1387,7 @@ IDispatch *get_script_disp(ScriptHost *script_host)
|
|||
if(!script_host->script)
|
||||
return NULL;
|
||||
|
||||
hres = IActiveScript_GetScriptDispatch(script_host->script, windowW, &disp);
|
||||
hres = IActiveScript_GetScriptDispatch(script_host->script, L"window", &disp);
|
||||
if(FAILED(hres))
|
||||
return NULL;
|
||||
|
||||
|
@ -1429,10 +1413,10 @@ static EventTarget *find_event_target(HTMLDocumentNode *doc, HTMLScriptElement *
|
|||
nsAString_GetData(&target_id_str, &target_id);
|
||||
if(!*target_id) {
|
||||
FIXME("Empty for attribute\n");
|
||||
}else if(!wcscmp(target_id, documentW)) {
|
||||
}else if(!wcscmp(target_id, L"document")) {
|
||||
event_target = &doc->node.event_target;
|
||||
htmldoc_addref(&doc->basedoc);
|
||||
}else if(!wcscmp(target_id, windowW)) {
|
||||
}else if(!wcscmp(target_id, L"window")) {
|
||||
if(doc->window) {
|
||||
event_target = &doc->window->event_target;
|
||||
IDispatchEx_AddRef(&event_target->dispex.IDispatchEx_iface);
|
||||
|
@ -1519,7 +1503,7 @@ static IDispatch *parse_event_elem(HTMLDocumentNode *doc, HTMLScriptElement *scr
|
|||
|
||||
nsAString_GetData(&nsstr, &text);
|
||||
hres = IActiveScriptParseProcedure2_ParseProcedureText(script_host->parse_proc, text, args,
|
||||
emptyW, NULL, NULL, script_endW, 0, 0,
|
||||
L"", NULL, NULL, L"</SCRIPT>", 0, 0,
|
||||
SCRIPTPROC_HOSTMANAGESSOURCE|SCRIPTPROC_IMPLICIT_THIS|SCRIPTPROC_IMPLICIT_PARENTS, &disp);
|
||||
if(FAILED(hres))
|
||||
disp = NULL;
|
||||
|
|
|
@ -34,8 +34,6 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
||||
|
||||
static const WCHAR about_blankW[] = {'a','b','o','u','t',':','b','l','a','n','k',0};
|
||||
|
||||
/* Defined as extern in urlmon.idl, but not exported by uuid.lib */
|
||||
DECLSPEC_HIDDEN const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY =
|
||||
{0x10200490,0xfa38,0x11d0,{0xac,0x0e,0x00,0xa0,0xc9,0xf,0xff,0xc0}};
|
||||
|
@ -82,7 +80,7 @@ static HRESULT WINAPI InternetHostSecurityManager_ProcessUrlAction(IInternetHost
|
|||
if(!This->basedoc.window)
|
||||
return E_UNEXPECTED;
|
||||
|
||||
url = This->basedoc.window->url ? This->basedoc.window->url : about_blankW;
|
||||
url = This->basedoc.window->url ? This->basedoc.window->url : L"about:blank";
|
||||
|
||||
return IInternetSecurityManager_ProcessUrlAction(get_security_manager(), url, dwAction, pPolicy, cbPolicy,
|
||||
pContext, cbContext, dwFlags, dwReserved);
|
||||
|
@ -187,7 +185,7 @@ static HRESULT WINAPI InternetHostSecurityManager_QueryCustomPolicy(IInternetHos
|
|||
if(!This->basedoc.window)
|
||||
return E_UNEXPECTED;
|
||||
|
||||
url = This->basedoc.window->url ? This->basedoc.window->url : about_blankW;
|
||||
url = This->basedoc.window->url ? This->basedoc.window->url : L"about:blank";
|
||||
|
||||
hres = IInternetSecurityManager_QueryCustomPolicy(get_security_manager(), url, guidKey, ppPolicy, pcbPolicy,
|
||||
pContext, cbContext, dwReserved);
|
||||
|
|
|
@ -210,15 +210,12 @@ static HRESULT WINAPI HTMLSelectionObject_get_type(IHTMLSelectionObject *iface,
|
|||
HTMLSelectionObject *This = impl_from_IHTMLSelectionObject(iface);
|
||||
cpp_bool collapsed = TRUE;
|
||||
|
||||
static const WCHAR wszNone[] = {'N','o','n','e',0};
|
||||
static const WCHAR wszText[] = {'T','e','x','t',0};
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
if(This->nsselection)
|
||||
nsISelection_GetIsCollapsed(This->nsselection, &collapsed);
|
||||
|
||||
*p = SysAllocString(collapsed ? wszNone : wszText); /* FIXME: control */
|
||||
*p = SysAllocString(collapsed ? L"None" : L"Text"); /* FIXME: control */
|
||||
TRACE("ret %s\n", debugstr_w(*p));
|
||||
return S_OK;
|
||||
}
|
||||
|
@ -308,12 +305,10 @@ static HRESULT WINAPI HTMLSelectionObject2_get_typeDetail(IHTMLSelectionObject2
|
|||
{
|
||||
HTMLSelectionObject *This = impl_from_IHTMLSelectionObject2(iface);
|
||||
|
||||
static const WCHAR undefinedW[] = {'u','n','d','e','f','i','n','e','d',0};
|
||||
|
||||
FIXME("(%p)->(%p) semi-stub\n", This, p);
|
||||
|
||||
/* FIXME: We should try to use ISelectionServicesListener::GetTypeDetail here. */
|
||||
*p = SysAllocString(undefinedW);
|
||||
*p = SysAllocString(L"undefined");
|
||||
return *p ? S_OK : E_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
|
|
|
@ -1173,21 +1173,17 @@ static HRESULT create_tspan_element(HTMLDocumentNode *doc, nsIDOMSVGElement *nse
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
static const WCHAR circleW[] = {'c','i','r','c','l','e',0};
|
||||
static const WCHAR svgW[] = {'s','v','g',0};
|
||||
static const WCHAR tspanW[] = {'t','s','p','a','n',0};
|
||||
|
||||
HRESULT create_svg_element(HTMLDocumentNode *doc, nsIDOMSVGElement *dom_element, const WCHAR *tag_name, HTMLElement **elem)
|
||||
{
|
||||
SVGElement *svg_element;
|
||||
|
||||
TRACE("%s\n", debugstr_w(tag_name));
|
||||
|
||||
if(!wcscmp(tag_name, svgW))
|
||||
if(!wcscmp(tag_name, L"svg"))
|
||||
return create_viewport_element(doc, dom_element, elem);
|
||||
if(!wcscmp(tag_name, circleW))
|
||||
if(!wcscmp(tag_name, L"circle"))
|
||||
return create_circle_element(doc, dom_element, elem);
|
||||
if(!wcscmp(tag_name, tspanW))
|
||||
if(!wcscmp(tag_name, L"tspan"))
|
||||
return create_tspan_element(doc, dom_element, elem);
|
||||
|
||||
svg_element = heap_alloc_zero(sizeof(*svg_element));
|
||||
|
|
|
@ -315,22 +315,20 @@ static LRESULT WINAPI hidden_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPa
|
|||
static HWND create_thread_hwnd(void)
|
||||
{
|
||||
static ATOM hidden_wnd_class = 0;
|
||||
static const WCHAR wszInternetExplorer_Hidden[] = {'I','n','t','e','r','n','e','t',
|
||||
' ','E','x','p','l','o','r','e','r','_','H','i','d','d','e','n',0};
|
||||
|
||||
if(!hidden_wnd_class) {
|
||||
WNDCLASSEXW wndclass = {
|
||||
sizeof(WNDCLASSEXW), 0,
|
||||
hidden_proc,
|
||||
0, 0, hInst, NULL, NULL, NULL, NULL,
|
||||
wszInternetExplorer_Hidden,
|
||||
L"Internet Explorer_Hidden",
|
||||
NULL
|
||||
};
|
||||
|
||||
hidden_wnd_class = RegisterClassExW(&wndclass);
|
||||
}
|
||||
|
||||
return CreateWindowExW(0, wszInternetExplorer_Hidden, NULL, WS_POPUP,
|
||||
return CreateWindowExW(0, L"Internet Explorer_Hidden", NULL, WS_POPUP,
|
||||
0, 0, 0, 0, NULL, NULL, hInst, NULL);
|
||||
}
|
||||
|
||||
|
|
|
@ -36,11 +36,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
|||
|
||||
#define TIMER_ID 0x1000
|
||||
|
||||
static const WCHAR wszInternetExplorer_Server[] =
|
||||
{'I','n','t','e','r','n','e','t',' ','E','x','p','l','o','r','e','r','_','S','e','r','v','e','r',0};
|
||||
|
||||
static const WCHAR wszTooltipData[] = {'t','o','o','l','t','i','p','_','d','a','t','a',0};
|
||||
|
||||
static ATOM serverwnd_class = 0;
|
||||
|
||||
typedef struct {
|
||||
|
@ -98,11 +93,10 @@ void update_title(HTMLDocumentObj *This)
|
|||
|
||||
hres = IOleClientSite_QueryInterface(This->client, &IID_IOleCommandTarget, (void**)&olecmd);
|
||||
if(SUCCEEDED(hres)) {
|
||||
static const WCHAR empty[] = {0};
|
||||
VARIANT title;
|
||||
|
||||
V_VT(&title) = VT_BSTR;
|
||||
V_BSTR(&title) = SysAllocString(empty);
|
||||
V_BSTR(&title) = SysAllocString(L"");
|
||||
IOleCommandTarget_Exec(olecmd, NULL, OLECMDID_SETTITLE, OLECMDEXECOPT_DONTPROMPTUSER,
|
||||
&title, NULL);
|
||||
SysFreeString(V_BSTR(&title));
|
||||
|
@ -163,13 +157,11 @@ static LRESULT WINAPI serverwnd_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM
|
|||
{
|
||||
HTMLDocumentObj *This;
|
||||
|
||||
static const WCHAR wszTHIS[] = {'T','H','I','S',0};
|
||||
|
||||
if(msg == WM_CREATE) {
|
||||
This = *(HTMLDocumentObj**)lParam;
|
||||
SetPropW(hwnd, wszTHIS, This);
|
||||
SetPropW(hwnd, L"THIS", This);
|
||||
}else {
|
||||
This = GetPropW(hwnd, wszTHIS);
|
||||
This = GetPropW(hwnd, L"THIS");
|
||||
}
|
||||
|
||||
switch(msg) {
|
||||
|
@ -214,7 +206,7 @@ static void register_serverwnd_class(void)
|
|||
CS_DBLCLKS,
|
||||
serverwnd_proc,
|
||||
0, 0, NULL, NULL, NULL, NULL, NULL,
|
||||
wszInternetExplorer_Server,
|
||||
L"Internet Explorer_Server",
|
||||
NULL,
|
||||
};
|
||||
wndclass.hInstance = hInst;
|
||||
|
@ -267,7 +259,7 @@ static HRESULT activate_window(HTMLDocumentObj *This)
|
|||
posrect.left, posrect.top, posrect.right-posrect.left, posrect.bottom-posrect.top,
|
||||
SWP_NOACTIVATE | SWP_SHOWWINDOW);
|
||||
}else {
|
||||
CreateWindowExW(0, wszInternetExplorer_Server, NULL,
|
||||
CreateWindowExW(0, L"Internet Explorer_Server", NULL,
|
||||
WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
|
||||
posrect.left, posrect.top, posrect.right-posrect.left, posrect.bottom-posrect.top,
|
||||
parent_hwnd, NULL, hInst, This);
|
||||
|
@ -336,7 +328,7 @@ static HRESULT activate_window(HTMLDocumentObj *This)
|
|||
|
||||
static LRESULT WINAPI tooltips_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
tooltip_data *data = GetPropW(hwnd, wszTooltipData);
|
||||
tooltip_data *data = GetPropW(hwnd, L"tooltip_data");
|
||||
|
||||
TRACE("%d %p\n", msg, data);
|
||||
|
||||
|
@ -366,7 +358,7 @@ static void create_tooltips_window(HTMLDocumentObj *This)
|
|||
data->doc = This;
|
||||
data->proc = (WNDPROC)GetWindowLongPtrW(This->tooltips_hwnd, GWLP_WNDPROC);
|
||||
|
||||
SetPropW(This->tooltips_hwnd, wszTooltipData, data);
|
||||
SetPropW(This->tooltips_hwnd, L"tooltip_data", data);
|
||||
|
||||
SetWindowLongPtrW(This->tooltips_hwnd, GWLP_WNDPROC, (LONG_PTR)tooltips_proc);
|
||||
|
||||
|
|
|
@ -117,22 +117,18 @@ static void detach_xhr_event_listener(XMLHttpReqEventListener *event_listener)
|
|||
nsAString str;
|
||||
nsresult nsres;
|
||||
|
||||
static const WCHAR loadW[] = {'l','o','a','d',0};
|
||||
static const WCHAR readystatechangeW[] =
|
||||
{'o','n','r','e','a','d','y','s','t','a','t','e','c','h','a','n','g','e',0};
|
||||
|
||||
nsres = nsIXMLHttpRequest_QueryInterface(event_listener->xhr->nsxhr, &IID_nsIDOMEventTarget, (void**)&event_target);
|
||||
assert(nsres == NS_OK);
|
||||
|
||||
if(event_listener->readystatechange_event) {
|
||||
nsAString_InitDepend(&str, readystatechangeW);
|
||||
nsAString_InitDepend(&str, L"onreadystatechange");
|
||||
nsres = nsIDOMEventTarget_RemoveEventListener(event_target, &str, &event_listener->nsIDOMEventListener_iface, FALSE);
|
||||
nsAString_Finish(&str);
|
||||
assert(nsres == NS_OK);
|
||||
}
|
||||
|
||||
if(event_listener->load_event) {
|
||||
nsAString_InitDepend(&str, loadW);
|
||||
nsAString_InitDepend(&str, L"load");
|
||||
nsres = nsIDOMEventTarget_RemoveEventListener(event_target, &str, &event_listener->nsIDOMEventListener_iface, FALSE);
|
||||
nsAString_Finish(&str);
|
||||
assert(nsres == NS_OK);
|
||||
|
@ -756,10 +752,8 @@ static inline HTMLXMLHttpRequest *impl_from_DispatchEx(DispatchEx *iface)
|
|||
|
||||
static HRESULT HTMLXMLHttpRequest_get_dispid(DispatchEx *dispex, BSTR name, DWORD flags, DISPID *dispid)
|
||||
{
|
||||
static const WCHAR onloadW[] = {'o','n','l','o','a','d',0};
|
||||
|
||||
/* onload event handler property is supported, but not exposed by any interface. We implement as a custom property. */
|
||||
if(!wcscmp(onloadW, name)) {
|
||||
if(!wcscmp(L"onload", name)) {
|
||||
*dispid = MSHTML_DISPID_HTMLXMLHTTPREQUEST_ONLOAD;
|
||||
return S_OK;
|
||||
}
|
||||
|
@ -811,17 +805,14 @@ static void HTMLXMLHttpRequest_bind_event(DispatchEx *dispex, eventid_t eid)
|
|||
nsAString type_str;
|
||||
nsresult nsres;
|
||||
|
||||
static const WCHAR readystatechangeW[] = {'r','e','a','d','y','s','t','a','t','e','c','h','a','n','g','e',0};
|
||||
static const WCHAR loadW[] = {'l','o','a','d',0};
|
||||
|
||||
TRACE("(%p)\n", This);
|
||||
|
||||
switch(eid) {
|
||||
case EVENTID_READYSTATECHANGE:
|
||||
type_name = readystatechangeW;
|
||||
type_name = L"readystatechange";
|
||||
break;
|
||||
case EVENTID_LOAD:
|
||||
type_name = loadW;
|
||||
type_name = L"load";
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue