mirror of
https://github.com/reactos/reactos.git
synced 2025-05-04 18:31:40 +00:00
[MSHTML]
sync mshtml to wine 1.1.39 svn path=/trunk/; revision=45754
This commit is contained in:
parent
d64433b26d
commit
715db25ce6
51 changed files with 1432 additions and 439 deletions
|
@ -72,4 +72,4 @@ FONT 8, "MS Shell Dlg"
|
|||
PUSHBUTTON "OK", IDOK, 40, 65, 45, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "Abbrechen", IDCANCEL, 115, 65, 45, 15, WS_GROUP | WS_TABSTOP
|
||||
}
|
||||
|
||||
#pragma code_page(default)
|
||||
|
|
|
@ -72,3 +72,4 @@ FONT 8, "MS Shell Dlg"
|
|||
PUSHBUTTON "OK", IDOK, 40, 65, 45, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 115, 65, 45, 15, WS_GROUP | WS_TABSTOP
|
||||
}
|
||||
#pragma code_page(default)
|
||||
|
|
72
reactos/dll/win32/mshtml/It.rc
Normal file
72
reactos/dll/win32/mshtml/It.rc
Normal file
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
* Copyright 2010 Luca Bennati
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
/*UTF-8*/
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_HTMLDISABLED "Il rendering HTML è correntemente disattivato."
|
||||
IDS_HTMLDOCUMENT "Documento HTML"
|
||||
IDS_DOWNLOADING "Scaricando..."
|
||||
IDS_INSTALLING "Installando..."
|
||||
}
|
||||
|
||||
ID_DWL_DIALOG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 260, 95
|
||||
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Installer di Wine Gecko"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Wine non ha trovato un pacchetto Gecko che è necessario per applicazioni che incorporano HTML " \
|
||||
"per funzionare correttamente. Wine può automaticamente scaricarlo ed installarlo per te.\n\n" \
|
||||
"Nota: è raccomandato usare i pacchetti delle distribuzioni. Leggi http://wiki.winehq.org/Gecko per i dettagli.",
|
||||
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
|
||||
CONTROL "Avanzamento", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
|
||||
DEFPUSHBUTTON "&Installa", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "&Annulla", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
}
|
||||
|
||||
IDD_HYPERLINK DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 250, 65
|
||||
STYLE DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Hyperlink"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
GROUPBOX "Informazioni sull'hyperlink", -1, 5, 5, 190, 55
|
||||
LTEXT "&Tipo:", -1, 10, 22, 20, 10
|
||||
COMBOBOX IDC_TYPE, 35, 20, 45, 100, WS_TABSTOP | WS_GROUP | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_HASSTRINGS
|
||||
LTEXT "&URL:", -1, 10, 42, 20, 10
|
||||
EDITTEXT IDC_URL, 35, 40, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 200, 10, 45, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "Annulla", IDCANCEL, 200, 28, 45, 14, WS_GROUP | WS_TABSTOP
|
||||
}
|
||||
|
||||
ID_PROMPT_DIALOG DIALOG 0, 0, 200, 90
|
||||
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION ""
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "", ID_PROMPT_PROMPT, 10, 10, 180, 30
|
||||
EDITTEXT ID_PROMPT_EDIT, 10, 45, 180, 14, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 40, 65, 45, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "Annulla", IDCANCEL, 115, 65, 45, 15, WS_GROUP | WS_TABSTOP
|
||||
}
|
||||
#pragma code_page(default)
|
|
@ -69,3 +69,4 @@ FONT 8, "MS Shell Dlg"
|
|||
PUSHBUTTON "OK", IDOK, 40, 65, 45, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "キャンセル", IDCANCEL, 115, 65, 45, 15, WS_GROUP | WS_TABSTOP
|
||||
}
|
||||
#pragma code_page(default)
|
||||
|
|
|
@ -69,3 +69,4 @@ FONT 8, "MS Shell Dlg"
|
|||
PUSHBUTTON "Gerai", IDOK, 40, 65, 45, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "Atsisakyti", IDCANCEL, 115, 65, 45, 15, WS_GROUP | WS_TABSTOP
|
||||
}
|
||||
#pragma code_page(default)
|
||||
|
|
|
@ -70,3 +70,4 @@ FONT 8, "MS Shell Dlg"
|
|||
PUSHBUTTON "OK", IDOK, 40, 65, 45, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "Avbryt", IDCANCEL, 115, 65, 45, 15, WS_GROUP | WS_TABSTOP
|
||||
}
|
||||
#pragma code_page(default)
|
||||
|
|
|
@ -68,3 +68,4 @@ FONT 8, "MS Shell Dlg"
|
|||
PUSHBUTTON "V redu", IDOK, 40, 65, 45, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "Prekliči", IDCANCEL, 115, 65, 45, 15, WS_GROUP | WS_TABSTOP
|
||||
}
|
||||
#pragma code_page(default)
|
||||
|
|
72
reactos/dll/win32/mshtml/Uk.rc
Normal file
72
reactos/dll/win32/mshtml/Uk.rc
Normal file
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
* Copyright 2005-2006 Jacek Caban
|
||||
* Copyright 2010 Igor Paliychuk
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
/* UTF-8 */
|
||||
#pragma code_page(65001)
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
{
|
||||
IDS_HTMLDISABLED "HTML rendering is currently disabled."
|
||||
IDS_HTMLDOCUMENT "Документ HTML"
|
||||
IDS_DOWNLOADING "Завантаження..."
|
||||
IDS_INSTALLING "Встановлення..."
|
||||
}
|
||||
|
||||
ID_DWL_DIALOG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 260, 95
|
||||
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Wine Gecko Installer"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "Wine не може знайти пакунок Gecko, який потрібний для додатків embedding HTML " \
|
||||
"для коректної роботи. Wine може автоматично завантажити та встановити його для Вас.\n\n" \
|
||||
"Зауважте: Рекомендується використати пакет з вашого дистрибутиву. Детальніше читайте http://wiki.winehq.org/Gecko.",
|
||||
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
|
||||
CONTROL "Прогрес", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
|
||||
DEFPUSHBUTTON "&Встановити", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "&Скасувати", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
|
||||
}
|
||||
|
||||
IDD_HYPERLINK DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 250, 65
|
||||
STYLE DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Гіперпосилання"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
GROUPBOX "Дані про Гіперпосилання", -1, 5, 5, 190, 55
|
||||
LTEXT "&Тип:", -1, 10, 22, 20, 10
|
||||
COMBOBOX IDC_TYPE, 35, 20, 45, 100, WS_TABSTOP | WS_GROUP | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_HASSTRINGS
|
||||
LTEXT "&URL:", -1, 10, 42, 20, 10
|
||||
EDITTEXT IDC_URL, 35, 40, 150, 14, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 200, 10, 45, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "Скасувати", IDCANCEL, 200, 28, 45, 14, WS_GROUP | WS_TABSTOP
|
||||
}
|
||||
|
||||
ID_PROMPT_DIALOG DIALOG 0, 0, 200, 90
|
||||
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION ""
|
||||
FONT 8, "MS Shell Dlg"
|
||||
{
|
||||
LTEXT "", ID_PROMPT_PROMPT, 10, 10, 180, 30
|
||||
EDITTEXT ID_PROMPT_EDIT, 10, 45, 180, 14, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "OK", IDOK, 40, 65, 45, 15, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
||||
PUSHBUTTON "Скасувати", IDCANCEL, 115, 65, 45, 15, WS_GROUP | WS_TABSTOP
|
||||
}
|
|
@ -92,6 +92,7 @@ static REFIID tid_ids[] = {
|
|||
&DIID_DispHTMLElementCollection,
|
||||
&DIID_DispHTMLFormElement,
|
||||
&DIID_DispHTMLGenericElement,
|
||||
&DIID_DispHTMLFrameElement,
|
||||
&DIID_DispHTMLIFrame,
|
||||
&DIID_DispHTMLImg,
|
||||
&DIID_DispHTMLInputElement,
|
||||
|
@ -99,10 +100,12 @@ static REFIID tid_ids[] = {
|
|||
&DIID_DispHTMLNavigator,
|
||||
&DIID_DispHTMLOptionElement,
|
||||
&DIID_DispHTMLScreen,
|
||||
&DIID_DispHTMLScriptElement,
|
||||
&DIID_DispHTMLSelectElement,
|
||||
&DIID_DispHTMLStyle,
|
||||
&DIID_DispHTMLTable,
|
||||
&DIID_DispHTMLTableRow,
|
||||
&DIID_DispHTMLTextAreaElement,
|
||||
&DIID_DispHTMLUnknownElement,
|
||||
&DIID_DispHTMLWindow2,
|
||||
&DIID_HTMLDocumentEvents,
|
||||
|
@ -133,12 +136,15 @@ static REFIID tid_ids[] = {
|
|||
&IID_IHTMLFrameBase,
|
||||
&IID_IHTMLFrameBase2,
|
||||
&IID_IHTMLGenericElement,
|
||||
&IID_IHTMLFrameElement3,
|
||||
&IID_IHTMLIFrameElement,
|
||||
&IID_IHTMLImageElementFactory,
|
||||
&IID_IHTMLImgElement,
|
||||
&IID_IHTMLInputElement,
|
||||
&IID_IHTMLLocation,
|
||||
&IID_IHTMLOptionElement,
|
||||
&IID_IHTMLScreen,
|
||||
&IID_IHTMLScriptElement,
|
||||
&IID_IHTMLSelectElement,
|
||||
&IID_IHTMLStyle,
|
||||
&IID_IHTMLStyle2,
|
||||
|
@ -146,6 +152,7 @@ static REFIID tid_ids[] = {
|
|||
&IID_IHTMLStyle4,
|
||||
&IID_IHTMLTable,
|
||||
&IID_IHTMLTableRow,
|
||||
&IID_IHTMLTextAreaElement,
|
||||
&IID_IHTMLTextContainer,
|
||||
&IID_IHTMLUniqueName,
|
||||
&IID_IHTMLWindow2,
|
||||
|
@ -397,18 +404,19 @@ HRESULT call_disp_func(IDispatch *disp, DISPPARAMS *dp)
|
|||
VARIANT res;
|
||||
HRESULT hres;
|
||||
|
||||
hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (void**)&dispex);
|
||||
if(FAILED(hres)) {
|
||||
FIXME("Could not get IDispatchEx interface: %08x\n", hres);
|
||||
return hres;
|
||||
}
|
||||
|
||||
VariantInit(&res);
|
||||
memset(&ei, 0, sizeof(ei));
|
||||
|
||||
hres = IDispatchEx_InvokeEx(dispex, 0, GetUserDefaultLCID(), DISPATCH_METHOD, dp, &res, &ei, NULL);
|
||||
hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (void**)&dispex);
|
||||
if(SUCCEEDED(hres)) {
|
||||
hres = IDispatchEx_InvokeEx(dispex, 0, GetUserDefaultLCID(), DISPATCH_METHOD, dp, &res, &ei, NULL);
|
||||
IDispatchEx_Release(dispex);
|
||||
}else {
|
||||
TRACE("Could not get IDispatchEx interface: %08x\n", hres);
|
||||
hres = IDispatch_Invoke(disp, 0, &IID_NULL, GetUserDefaultLCID(), DISPATCH_METHOD,
|
||||
dp, &res, &ei, NULL);
|
||||
}
|
||||
|
||||
IDispatchEx_Release(dispex);
|
||||
VariantClear(&res);
|
||||
return hres;
|
||||
}
|
||||
|
@ -975,7 +983,10 @@ static HRESULT WINAPI DispatchEx_InvokeEx(IDispatchEx *iface, DISPID id, LCID lc
|
|||
static HRESULT WINAPI DispatchEx_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
|
||||
{
|
||||
DispatchEx *This = DISPATCHEX_THIS(iface);
|
||||
FIXME("(%p)->(%s %x)\n", This, debugstr_w(bstrName), grfdex);
|
||||
|
||||
TRACE("(%p)->(%s %x)\n", This, debugstr_w(bstrName), grfdex);
|
||||
|
||||
/* Not implemented by IE */
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
|
|
|
@ -298,7 +298,7 @@ static void get_font_size(HTMLDocument *This, WCHAR *ret)
|
|||
|
||||
TRACE("found font tag %p\n", elem);
|
||||
|
||||
nsAString_Init(&size_str, sizeW);
|
||||
nsAString_InitDepend(&size_str, sizeW);
|
||||
nsAString_Init(&val_str, NULL);
|
||||
|
||||
nsIDOMElement_GetAttribute(elem, &size_str, &val_str);
|
||||
|
@ -360,10 +360,11 @@ static void set_font_size(HTMLDocument *This, LPCWSTR size)
|
|||
|
||||
create_nselem(This->doc_node, fontW, &elem);
|
||||
|
||||
nsAString_Init(&size_str, sizeW);
|
||||
nsAString_Init(&val_str, size);
|
||||
nsAString_InitDepend(&size_str, sizeW);
|
||||
nsAString_InitDepend(&val_str, size);
|
||||
|
||||
nsIDOMElement_SetAttribute(elem, &size_str, &val_str);
|
||||
nsAString_Finish(&val_str);
|
||||
|
||||
nsISelection_GetRangeAt(nsselection, 0, &range);
|
||||
nsISelection_GetIsCollapsed(nsselection, &collapsed);
|
||||
|
@ -384,7 +385,6 @@ static void set_font_size(HTMLDocument *This, LPCWSTR size)
|
|||
nsIDOMElement_Release(elem);
|
||||
|
||||
nsAString_Finish(&size_str);
|
||||
nsAString_Finish(&val_str);
|
||||
|
||||
set_dirty(This, VARIANT_TRUE);
|
||||
}
|
||||
|
@ -1167,8 +1167,8 @@ static HRESULT exec_hyperlink(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in,
|
|||
/* create an element for the link */
|
||||
create_nselem(This->doc_node, aW, &anchor_elem);
|
||||
|
||||
nsAString_Init(&href_str, hrefW);
|
||||
nsAString_Init(&ns_url, url);
|
||||
nsAString_InitDepend(&href_str, hrefW);
|
||||
nsAString_InitDepend(&ns_url, url);
|
||||
nsIDOMElement_SetAttribute(anchor_elem, &href_str, &ns_url);
|
||||
nsAString_Finish(&href_str);
|
||||
|
||||
|
|
|
@ -520,12 +520,7 @@ static const NodeImplVtbl HTMLAnchorElementImplVtbl = {
|
|||
|
||||
static const tid_t HTMLAnchorElement_iface_tids[] = {
|
||||
IHTMLAnchorElement_tid,
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
IHTMLElement4_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLTextContainer_tid,
|
||||
IHTMLUniqueName_tid,
|
||||
0
|
||||
|
|
|
@ -252,23 +252,18 @@ static HRESULT WINAPI HTMLBodyElement_Invoke(IHTMLBodyElement *iface, DISPID dis
|
|||
static HRESULT WINAPI HTMLBodyElement_put_background(IHTMLBodyElement *iface, BSTR v)
|
||||
{
|
||||
HTMLBodyElement *This = HTMLBODY_THIS(iface);
|
||||
HRESULT hr = S_OK;
|
||||
nsAString nsstr;
|
||||
nsresult nsres;
|
||||
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
|
||||
nsAString_Init(&nsstr, v);
|
||||
|
||||
nsAString_InitDepend(&nsstr, v);
|
||||
nsres = nsIDOMHTMLBodyElement_SetBackground(This->nsbody, &nsstr);
|
||||
if(!NS_SUCCEEDED(nsres))
|
||||
{
|
||||
hr = E_FAIL;
|
||||
}
|
||||
|
||||
nsAString_Finish(&nsstr);
|
||||
if(NS_FAILED(nsres))
|
||||
return E_FAIL;
|
||||
|
||||
return hr;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLBodyElement_get_background(IHTMLBodyElement *iface, BSTR *p)
|
||||
|
@ -799,12 +794,7 @@ static const NodeImplVtbl HTMLBodyElementImplVtbl = {
|
|||
static const tid_t HTMLBodyElement_iface_tids[] = {
|
||||
IHTMLBodyElement_tid,
|
||||
IHTMLBodyElement2_tid,
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
IHTMLElement4_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLTextContainer_tid,
|
||||
IHTMLUniqueName_tid,
|
||||
0
|
||||
|
|
|
@ -103,8 +103,10 @@ static HRESULT WINAPI HTMLCommentElement_put_text(IHTMLCommentElement *iface, BS
|
|||
static HRESULT WINAPI HTMLCommentElement_get_text(IHTMLCommentElement *iface, BSTR *p)
|
||||
{
|
||||
HTMLCommentElement *This = HTMLCOMMENT_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
return IHTMLElement_get_outerHTML(HTMLELEM(&This->element), p);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLCommentElement_put_atomic(IHTMLCommentElement *iface, LONG v)
|
||||
|
@ -171,11 +173,7 @@ static const NodeImplVtbl HTMLCommentElementImplVtbl = {
|
|||
};
|
||||
|
||||
static const tid_t HTMLCommentElement_iface_tids[] = {
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLCommentElement_tid,
|
||||
0
|
||||
};
|
||||
|
|
|
@ -348,7 +348,7 @@ static HRESULT WINAPI HTMLDocument_put_title(IHTMLDocument2 *iface, BSTR v)
|
|||
return E_UNEXPECTED;
|
||||
}
|
||||
|
||||
nsAString_Init(&nsstr, v);
|
||||
nsAString_InitDepend(&nsstr, v);
|
||||
nsres = nsIDOMHTMLDocument_SetTitle(This->doc_node->nsdoc, &nsstr);
|
||||
nsAString_Finish(&nsstr);
|
||||
if(NS_FAILED(nsres))
|
||||
|
@ -776,6 +776,9 @@ static HRESULT document_write(HTMLDocument *This, SAFEARRAY *psarray, BOOL ln)
|
|||
return E_UNEXPECTED;
|
||||
}
|
||||
|
||||
if (!psarray)
|
||||
return S_OK;
|
||||
|
||||
if(psarray->cDims != 1) {
|
||||
FIXME("cDims=%d\n", psarray->cDims);
|
||||
return E_INVALIDARG;
|
||||
|
@ -1770,6 +1773,9 @@ static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void **ppv)
|
|||
}else if(IsEqualGUID(&IID_IMarshal, riid)) {
|
||||
TRACE("(%p)->(IID_IMarshal %p) returning NULL\n", This, ppv);
|
||||
*ppv = NULL;
|
||||
}else if(IsEqualGUID(&IID_IExternalConnection, riid)) {
|
||||
TRACE("(%p)->(IID_IExternalConnection %p) returning NULL\n", This, ppv);
|
||||
*ppv = NULL;
|
||||
}else if(IsEqualGUID(&IID_IObjectWithSite, riid)) {
|
||||
TRACE("(%p)->(IID_IObjectWithSite %p)\n", This, ppv);
|
||||
*ppv = OBJSITE(This);
|
||||
|
@ -1989,6 +1995,8 @@ static ULONG WINAPI CustomDoc_Release(ICustomDoc *iface)
|
|||
if(This->basedoc.advise_holder)
|
||||
IOleAdviseHolder_Release(This->basedoc.advise_holder);
|
||||
|
||||
if(This->view_sink)
|
||||
IAdviseSink_Release(This->view_sink);
|
||||
if(This->client)
|
||||
IOleObject_SetClientSite(OLEOBJ(&This->basedoc), NULL);
|
||||
if(This->in_place_active)
|
||||
|
|
|
@ -116,7 +116,7 @@ static HRESULT WINAPI HTMLDocument3_createTextNode(IHTMLDocument3 *iface, BSTR t
|
|||
return E_UNEXPECTED;
|
||||
}
|
||||
|
||||
nsAString_Init(&text_str, text);
|
||||
nsAString_InitDepend(&text_str, text);
|
||||
nsres = nsIDOMHTMLDocument_CreateTextNode(This->doc_node->nsdoc, &text_str, &nstext);
|
||||
nsAString_Finish(&text_str);
|
||||
if(NS_FAILED(nsres)) {
|
||||
|
@ -443,7 +443,7 @@ static HRESULT WINAPI HTMLDocument3_getElementById(IHTMLDocument3 *iface, BSTR v
|
|||
return E_UNEXPECTED;
|
||||
}
|
||||
|
||||
nsAString_Init(&id_str, v);
|
||||
nsAString_InitDepend(&id_str, v);
|
||||
/* get element by id attribute */
|
||||
nsres = nsIDOMHTMLDocument_GetElementById(This->doc_node->nsdoc, &id_str, &nselem);
|
||||
if(FAILED(nsres)) {
|
||||
|
@ -455,9 +455,9 @@ static HRESULT WINAPI HTMLDocument3_getElementById(IHTMLDocument3 *iface, BSTR v
|
|||
|
||||
/* get first element by name attribute */
|
||||
nsres = nsIDOMHTMLDocument_GetElementsByName(This->doc_node->nsdoc, &id_str, &nsnode_list);
|
||||
nsAString_Finish(&id_str);
|
||||
if(FAILED(nsres)) {
|
||||
ERR("getElementsByName failed: %08x\n", nsres);
|
||||
nsAString_Finish(&id_str);
|
||||
if(nsnode_by_id)
|
||||
nsIDOMNode_Release(nsnode_by_id);
|
||||
return E_FAIL;
|
||||
|
@ -465,7 +465,6 @@ static HRESULT WINAPI HTMLDocument3_getElementById(IHTMLDocument3 *iface, BSTR v
|
|||
nsIDOMNodeList_Item(nsnode_list, 0, &nsnode_by_name);
|
||||
nsIDOMNodeList_Release(nsnode_list);
|
||||
|
||||
nsAString_Finish(&id_str);
|
||||
|
||||
if(nsnode_by_name && nsnode_by_id) {
|
||||
nsIDOM3Node *node3;
|
||||
|
@ -528,8 +527,8 @@ static HRESULT WINAPI HTMLDocument3_getElementsByTagName(IHTMLDocument3 *iface,
|
|||
return E_UNEXPECTED;
|
||||
}
|
||||
|
||||
nsAString_Init(&id_str, v);
|
||||
nsAString_Init(&ns_str, str);
|
||||
nsAString_InitDepend(&id_str, v);
|
||||
nsAString_InitDepend(&ns_str, str);
|
||||
nsres = nsIDOMHTMLDocument_GetElementsByTagNameNS(This->doc_node->nsdoc, &ns_str, &id_str, &nslist);
|
||||
nsAString_Finish(&id_str);
|
||||
nsAString_Finish(&ns_str);
|
||||
|
|
|
@ -136,7 +136,7 @@ static HRESULT WINAPI HTMLDocument5_createComment(IHTMLDocument5 *iface, BSTR bs
|
|||
return E_UNEXPECTED;
|
||||
}
|
||||
|
||||
nsAString_Init(&str, bstrdata);
|
||||
nsAString_InitDepend(&str, bstrdata);
|
||||
nsres = nsIDOMHTMLDocument_CreateComment(This->doc_node->nsdoc, &str, &nscomment);
|
||||
nsAString_Finish(&str);
|
||||
if(NS_FAILED(nsres)) {
|
||||
|
|
|
@ -65,7 +65,7 @@ HRESULT create_nselem(HTMLDocumentNode *doc, const WCHAR *tag, nsIDOMHTMLElement
|
|||
return E_UNEXPECTED;
|
||||
}
|
||||
|
||||
nsAString_Init(&tag_str, tag);
|
||||
nsAString_InitDepend(&tag_str, tag);
|
||||
nsres = nsIDOMDocument_CreateElement(doc->nsdoc, &tag_str, &nselem);
|
||||
nsAString_Finish(&tag_str);
|
||||
if(NS_FAILED(nsres)) {
|
||||
|
@ -215,7 +215,7 @@ static HRESULT WINAPI HTMLElement_put_className(IHTMLElement *iface, BSTR v)
|
|||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
nsAString_Init(&classname_str, v);
|
||||
nsAString_InitDepend(&classname_str, v);
|
||||
nsres = nsIDOMHTMLElement_SetClassName(This->nselem, &classname_str);
|
||||
nsAString_Finish(&classname_str);
|
||||
if(NS_FAILED(nsres))
|
||||
|
@ -269,7 +269,7 @@ static HRESULT WINAPI HTMLElement_put_id(IHTMLElement *iface, BSTR v)
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
nsAString_Init(&id_str, v);
|
||||
nsAString_InitDepend(&id_str, v);
|
||||
nsres = nsIDOMHTMLElement_SetId(This->nselem, &id_str);
|
||||
nsAString_Finish(&id_str);
|
||||
if(NS_FAILED(nsres))
|
||||
|
@ -593,6 +593,8 @@ static HRESULT WINAPI HTMLElement_get_document(IHTMLElement *iface, IDispatch **
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
static const WCHAR titleW[] = {'t','i','t','l','e',0};
|
||||
|
||||
static HRESULT WINAPI HTMLElement_put_title(IHTMLElement *iface, BSTR v)
|
||||
{
|
||||
HTMLElement *This = HTMLELEM_THIS(iface);
|
||||
|
@ -601,7 +603,21 @@ static HRESULT WINAPI HTMLElement_put_title(IHTMLElement *iface, BSTR v)
|
|||
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
|
||||
nsAString_Init(&title_str, v);
|
||||
if(!This->nselem) {
|
||||
VARIANT *var;
|
||||
HRESULT hres;
|
||||
|
||||
hres = dispex_get_dprop_ref(&This->node.dispex, titleW, TRUE, &var);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
VariantClear(var);
|
||||
V_VT(var) = VT_BSTR;
|
||||
V_BSTR(var) = v ? SysAllocString(v) : NULL;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
nsAString_InitDepend(&title_str, v);
|
||||
nsres = nsIDOMHTMLElement_SetTitle(This->nselem, &title_str);
|
||||
nsAString_Finish(&title_str);
|
||||
if(NS_FAILED(nsres))
|
||||
|
@ -618,6 +634,23 @@ static HRESULT WINAPI HTMLElement_get_title(IHTMLElement *iface, BSTR *p)
|
|||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
if(!This->nselem) {
|
||||
VARIANT *var;
|
||||
HRESULT hres;
|
||||
|
||||
hres = dispex_get_dprop_ref(&This->node.dispex, titleW, FALSE, &var);
|
||||
if(hres == DISP_E_UNKNOWNNAME) {
|
||||
*p = NULL;
|
||||
}else if(V_VT(var) != VT_BSTR) {
|
||||
FIXME("title = %s\n", debugstr_variant(var));
|
||||
return E_FAIL;
|
||||
}else {
|
||||
*p = V_BSTR(var) ? SysAllocString(V_BSTR(var)) : NULL;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
nsAString_Init(&title_str, NULL);
|
||||
nsres = nsIDOMHTMLElement_GetTitle(This->nselem, &title_str);
|
||||
if(NS_SUCCEEDED(nsres)) {
|
||||
|
@ -820,7 +853,7 @@ static HRESULT WINAPI HTMLElement_put_innerHTML(IHTMLElement *iface, BSTR v)
|
|||
return E_FAIL;
|
||||
}
|
||||
|
||||
nsAString_Init(&html_str, v);
|
||||
nsAString_InitDepend(&html_str, v);
|
||||
nsres = nsIDOMNSHTMLElement_SetInnerHTML(nselem, &html_str);
|
||||
nsAString_Finish(&html_str);
|
||||
|
||||
|
@ -896,7 +929,7 @@ static HRESULT WINAPI HTMLElement_put_innerText(IHTMLElement *iface, BSTR v)
|
|||
nsIDOMNode_Release(tmp);
|
||||
}
|
||||
|
||||
nsAString_Init(&text_str, v);
|
||||
nsAString_InitDepend(&text_str, v);
|
||||
nsres = nsIDOMHTMLDocument_CreateTextNode(This->node.doc->nsdoc, &text_str, &text_node);
|
||||
nsAString_Finish(&text_str);
|
||||
if(NS_FAILED(nsres)) {
|
||||
|
@ -955,7 +988,7 @@ static HRESULT WINAPI HTMLElement_put_outerHTML(IHTMLElement *iface, BSTR v)
|
|||
return E_FAIL;
|
||||
}
|
||||
|
||||
nsAString_Init(&html_str, v);
|
||||
nsAString_InitDepend(&html_str, v);
|
||||
nsIDOMNSRange_CreateContextualFragment(nsrange, &html_str, &nsfragment);
|
||||
nsIDOMNSRange_Release(nsrange);
|
||||
nsAString_Finish(&html_str);
|
||||
|
@ -1131,7 +1164,7 @@ static HRESULT WINAPI HTMLElement_insertAdjacentHTML(IHTMLElement *iface, BSTR w
|
|||
return E_FAIL;
|
||||
}
|
||||
|
||||
nsAString_Init(&ns_html, html);
|
||||
nsAString_InitDepend(&ns_html, html);
|
||||
|
||||
nsres = nsIDOMNSRange_CreateContextualFragment(nsrange, &ns_html, (nsIDOMDocumentFragment **)&nsnode);
|
||||
nsIDOMNSRange_Release(nsrange);
|
||||
|
@ -1166,7 +1199,7 @@ static HRESULT WINAPI HTMLElement_insertAdjacentText(IHTMLElement *iface, BSTR w
|
|||
}
|
||||
|
||||
|
||||
nsAString_Init(&ns_text, text);
|
||||
nsAString_InitDepend(&ns_text, text);
|
||||
nsres = nsIDOMDocument_CreateTextNode(This->node.doc->nsdoc, &ns_text, (nsIDOMText **)&nsnode);
|
||||
nsAString_Finish(&ns_text);
|
||||
|
||||
|
@ -1572,11 +1605,7 @@ static const NodeImplVtbl HTMLElementImplVtbl = {
|
|||
};
|
||||
|
||||
static const tid_t HTMLElement_iface_tids[] = {
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
0
|
||||
};
|
||||
|
||||
|
@ -1675,7 +1704,7 @@ HTMLElement *HTMLElement_Create(HTMLDocumentNode *doc, nsIDOMNode *nsnode, BOOL
|
|||
|
||||
if(!ret) {
|
||||
ret = heap_alloc_zero(sizeof(HTMLElement));
|
||||
HTMLElement_Init(ret, doc, nselem, NULL);
|
||||
HTMLElement_Init(ret, doc, nselem, &HTMLElement_dispex);
|
||||
ret->node.vtbl = &HTMLElementImplVtbl;
|
||||
}
|
||||
|
||||
|
|
|
@ -655,8 +655,10 @@ static HRESULT WINAPI HTMLElement2_attachEvent(IHTMLElement2 *iface, BSTR event,
|
|||
static HRESULT WINAPI HTMLElement2_detachEvent(IHTMLElement2 *iface, BSTR event, IDispatch *pDisp)
|
||||
{
|
||||
HTMLElement *This = HTMLELEM2_THIS(iface);
|
||||
FIXME("(%p)->(%s %p)\n", This, debugstr_w(event), pDisp);
|
||||
return E_NOTIMPL;
|
||||
|
||||
TRACE("(%p)->(%s %p)\n", This, debugstr_w(event), pDisp);
|
||||
|
||||
return detach_event(*get_node_event_target(&This->node), &This->node.doc->basedoc, event, pDisp);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLElement2_get_readyState(IHTMLElement2 *iface, VARIANT *p)
|
||||
|
@ -1087,7 +1089,7 @@ static HRESULT WINAPI HTMLElement2_getElementsByTagName(IHTMLElement2 *iface, BS
|
|||
|
||||
TRACE("(%p)->(%s %p)\n", This, debugstr_w(v), pelColl);
|
||||
|
||||
nsAString_Init(&tag_str, v);
|
||||
nsAString_InitDepend(&tag_str, v);
|
||||
nsres = nsIDOMHTMLElement_GetElementsByTagName(This->nselem, &tag_str, &nslist);
|
||||
nsAString_Finish(&tag_str);
|
||||
if(NS_FAILED(nsres)) {
|
||||
|
|
|
@ -245,7 +245,7 @@ static BOOL is_elem_name(HTMLElement *elem, LPCWSTR name)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
nsAString_Init(&nsname, nameW);
|
||||
nsAString_InitDepend(&nsname, nameW);
|
||||
nsres = nsIDOMHTMLElement_GetAttribute(elem->nselem, &nsname, &nsstr);
|
||||
nsAString_Finish(&nsname);
|
||||
if(NS_SUCCEEDED(nsres)) {
|
||||
|
|
|
@ -743,7 +743,7 @@ static IHTMLEventObj *create_event(HTMLDOMNode *target, eventid_t eid, nsIDOMEve
|
|||
if(NS_SUCCEEDED(nsres)) {
|
||||
nsAString type_str;
|
||||
|
||||
nsAString_Init(&type_str, event_types[event_info[eid].type]);
|
||||
nsAString_InitDepend(&type_str, event_types[event_info[eid].type]);
|
||||
nsres = nsIDOMDocumentEvent_CreateEvent(doc_event, &type_str, &ret->nsevent);
|
||||
nsAString_Finish(&type_str);
|
||||
nsIDOMDocumentEvent_Release(doc_event);
|
||||
|
@ -816,7 +816,7 @@ static void call_event_handlers(HTMLDocumentNode *doc, IHTMLEventObj *event_obj,
|
|||
ConnectionPointContainer *cp_container, eventid_t eid, IDispatch *this_obj)
|
||||
{
|
||||
handler_vector_t *handler_vector = NULL;
|
||||
DWORD i;
|
||||
int i;
|
||||
HRESULT hres;
|
||||
|
||||
if(event_target)
|
||||
|
@ -845,7 +845,8 @@ static void call_event_handlers(HTMLDocumentNode *doc, IHTMLEventObj *event_obj,
|
|||
V_VT(&arg) = VT_DISPATCH;
|
||||
V_DISPATCH(&arg) = (IDispatch*)event_obj;
|
||||
|
||||
for(i=0; i < handler_vector->handler_cnt; i++) {
|
||||
i = handler_vector->handler_cnt;
|
||||
while(i--) {
|
||||
if(handler_vector->handlers[i]) {
|
||||
TRACE("%s [%d] >>>\n", debugstr_w(event_info[eid].name), i);
|
||||
hres = call_disp_func(handler_vector->handlers[i], &dp);
|
||||
|
@ -866,6 +867,9 @@ static void call_event_handlers(HTMLDocumentNode *doc, IHTMLEventObj *event_obj,
|
|||
for(cp = cp_container->cp_list; cp; cp = cp->next) {
|
||||
if(cp->sinks_size && is_cp_event(cp->data, event_info[eid].dispid)) {
|
||||
for(i=0; i < cp->sinks_size; i++) {
|
||||
if(!cp->sinks[i].disp)
|
||||
continue;
|
||||
|
||||
TRACE("cp %s [%d] >>>\n", debugstr_w(event_info[eid].name), i);
|
||||
hres = call_cp_func(cp->sinks[i].disp, event_info[eid].dispid);
|
||||
if(hres == S_OK)
|
||||
|
@ -1124,6 +1128,34 @@ HRESULT attach_event(event_target_t **event_target_ptr, HTMLDocument *doc, BSTR
|
|||
event_target->event_table[eid]->handlers[i] = disp;
|
||||
|
||||
*res = VARIANT_TRUE;
|
||||
return ensure_nsevent_handler(doc->doc_node, eid);
|
||||
}
|
||||
|
||||
HRESULT detach_event(event_target_t *event_target, HTMLDocument *doc, BSTR name, IDispatch *disp)
|
||||
{
|
||||
eventid_t eid;
|
||||
DWORD i = 0;
|
||||
|
||||
if(!event_target)
|
||||
return S_OK;
|
||||
|
||||
eid = attr_to_eid(name);
|
||||
if(eid == EVENTID_LAST) {
|
||||
WARN("Unknown event\n");
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
if(!event_target->event_table[eid])
|
||||
return S_OK;
|
||||
|
||||
while(i < event_target->event_table[eid]->handler_cnt) {
|
||||
if(event_target->event_table[eid]->handlers[i] == disp) {
|
||||
IDispatch_Release(event_target->event_table[eid]->handlers[i]);
|
||||
event_target->event_table[eid]->handlers[i] = NULL;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@ void fire_event(HTMLDocumentNode*,eventid_t,nsIDOMNode*,nsIDOMEvent*);
|
|||
HRESULT set_event_handler(event_target_t**,HTMLDocumentNode*,eventid_t,VARIANT*);
|
||||
HRESULT get_event_handler(event_target_t**,eventid_t,VARIANT*);
|
||||
HRESULT attach_event(event_target_t**,HTMLDocument*,BSTR,IDispatch*,VARIANT_BOOL*);
|
||||
HRESULT detach_event(event_target_t*,HTMLDocument*,BSTR,IDispatch*);
|
||||
HRESULT dispatch_event(HTMLDOMNode*,const WCHAR*,VARIANT*,VARIANT_BOOL*);
|
||||
HRESULT call_event(HTMLDOMNode*,eventid_t);
|
||||
void update_cp_events(HTMLWindow*,cp_static_data_t*);
|
||||
|
|
|
@ -343,10 +343,12 @@ static HRESULT HTMLFormElement_get_dispid(HTMLDOMNode *iface,
|
|||
{
|
||||
HTMLFormElement *This = HTMLFORM_NODE_THIS(iface);
|
||||
nsIDOMHTMLCollection *elements;
|
||||
nsAString nsname, nsstr;
|
||||
PRUint32 len, i;
|
||||
static const PRUnichar nameW[] = {'n','a','m','e',0};
|
||||
nsAString nsname;
|
||||
nsresult nsres;
|
||||
HRESULT hres = DISP_E_UNKNOWNNAME;
|
||||
|
||||
static const PRUnichar nameW[] = {'n','a','m','e',0};
|
||||
|
||||
TRACE("(%p)->(%s %x %p)\n", This, wine_dbgstr_w(name), grfdex, pid);
|
||||
|
||||
|
@ -363,72 +365,62 @@ static HRESULT HTMLFormElement_get_dispid(HTMLDOMNode *iface,
|
|||
return E_FAIL;
|
||||
}
|
||||
|
||||
nsAString_Init(&nsname, nameW);
|
||||
nsAString_InitDepend(&nsname, nameW);
|
||||
nsAString_Init(&nsstr, NULL);
|
||||
for(i = 0; i < len; ++i) {
|
||||
nsIDOMNode *nsitem;
|
||||
nsIDOMHTMLElement *nshtml_elem;
|
||||
nsAString nsstr;
|
||||
const PRUnichar *str;
|
||||
|
||||
nsres = nsIDOMHTMLCollection_Item(elements, i, &nsitem);
|
||||
if(NS_FAILED(nsres)) {
|
||||
FIXME("Item failed: 0x%08x\n", nsres);
|
||||
nsAString_Finish(&nsname);
|
||||
nsIDOMHTMLCollection_Release(elements);
|
||||
return E_FAIL;
|
||||
hres = E_FAIL;
|
||||
break;
|
||||
}
|
||||
|
||||
nsres = nsIDOMNode_QueryInterface(nsitem, &IID_nsIDOMHTMLElement, (void**)&nshtml_elem);
|
||||
nsIDOMNode_Release(nsitem);
|
||||
if(NS_FAILED(nsres)) {
|
||||
FIXME("Failed to get nsIDOMHTMLNode interface: 0x%08x\n", nsres);
|
||||
nsAString_Finish(&nsname);
|
||||
nsIDOMHTMLCollection_Release(elements);
|
||||
return E_FAIL;
|
||||
hres = E_FAIL;
|
||||
break;
|
||||
}
|
||||
|
||||
/* compare by id attr */
|
||||
nsAString_Init(&nsstr, NULL);
|
||||
nsres = nsIDOMHTMLElement_GetId(nshtml_elem, &nsstr);
|
||||
if(NS_FAILED(nsres)) {
|
||||
FIXME("GetId failed: 0x%08x\n", nsres);
|
||||
nsAString_Finish(&nsname);
|
||||
nsIDOMHTMLElement_Release(nshtml_elem);
|
||||
nsIDOMHTMLCollection_Release(elements);
|
||||
return E_FAIL;
|
||||
hres = E_FAIL;
|
||||
break;
|
||||
}
|
||||
nsAString_GetData(&nsstr, &str);
|
||||
if(!strcmpiW(str, name)) {
|
||||
nsIDOMHTMLElement_Release(nshtml_elem);
|
||||
/* FIXME: using index for dispid */
|
||||
*pid = MSHTML_DISPID_CUSTOM_MIN + i;
|
||||
nsAString_Finish(&nsname);
|
||||
nsAString_Finish(&nsstr);
|
||||
nsIDOMHTMLElement_Release(nshtml_elem);
|
||||
nsIDOMHTMLCollection_Release(elements);
|
||||
return S_OK;
|
||||
hres = S_OK;
|
||||
break;
|
||||
}
|
||||
|
||||
/* compare by name attr */
|
||||
nsres = nsIDOMHTMLElement_GetAttribute(nshtml_elem, &nsname, &nsstr);
|
||||
nsIDOMHTMLElement_Release(nshtml_elem);
|
||||
nsAString_GetData(&nsstr, &str);
|
||||
if(!strcmpiW(str, name)) {
|
||||
/* FIXME: using index for dispid */
|
||||
*pid = MSHTML_DISPID_CUSTOM_MIN + i;
|
||||
nsAString_Finish(&nsname);
|
||||
nsAString_Finish(&nsstr);
|
||||
nsIDOMHTMLElement_Release(nshtml_elem);
|
||||
nsIDOMHTMLCollection_Release(elements);
|
||||
return S_OK;
|
||||
hres = S_OK;
|
||||
break;
|
||||
}
|
||||
nsAString_Finish(&nsstr);
|
||||
|
||||
nsIDOMHTMLElement_Release(nshtml_elem);
|
||||
}
|
||||
nsAString_Finish(&nsname);
|
||||
nsAString_Finish(&nsstr);
|
||||
|
||||
nsIDOMHTMLCollection_Release(elements);
|
||||
|
||||
return DISP_E_UNKNOWNNAME;
|
||||
return hres;
|
||||
}
|
||||
|
||||
static HRESULT HTMLFormElement_invoke(HTMLDOMNode *iface,
|
||||
|
@ -483,11 +475,7 @@ static const NodeImplVtbl HTMLFormElementImplVtbl = {
|
|||
};
|
||||
|
||||
static const tid_t HTMLFormElement_iface_tids[] = {
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLFormElement_tid,
|
||||
0
|
||||
};
|
||||
|
|
299
reactos/dll/win32/mshtml/htmlframe.c
Normal file
299
reactos/dll/win32/mshtml/htmlframe.c
Normal file
|
@ -0,0 +1,299 @@
|
|||
/*
|
||||
* Copyright 2010 Jacek Caban for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#define COBJMACROS
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winuser.h"
|
||||
#include "ole2.h"
|
||||
|
||||
#include "mshtml_private.h"
|
||||
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
||||
|
||||
typedef struct {
|
||||
HTMLFrameBase framebase;
|
||||
const IHTMLFrameElement3Vtbl *lpIHTMLFrameElement3Vtbl;
|
||||
} HTMLFrameElement;
|
||||
|
||||
#define HTMLFRAMEELEM3(x) ((IHTMLFrameElement3*) &(x)->lpIHTMLFrameElement3Vtbl)
|
||||
|
||||
#define HTMLFRAME3_THIS(iface) DEFINE_THIS(HTMLFrameElement, IHTMLFrameElement3, iface)
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_QueryInterface(IHTMLFrameElement3 *iface,
|
||||
REFIID riid, void **ppv)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
|
||||
return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->framebase.element.node), riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI HTMLFrameElement3_AddRef(IHTMLFrameElement3 *iface)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
|
||||
return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->framebase.element.node));
|
||||
}
|
||||
|
||||
static ULONG WINAPI HTMLFrameElement3_Release(IHTMLFrameElement3 *iface)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
|
||||
return IHTMLDOMNode_Release(HTMLDOMNODE(&This->framebase.element.node));
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_GetTypeInfoCount(IHTMLFrameElement3 *iface, UINT *pctinfo)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->framebase.element.node.dispex), pctinfo);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_GetTypeInfo(IHTMLFrameElement3 *iface, UINT iTInfo,
|
||||
LCID lcid, ITypeInfo **ppTInfo)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
return IDispatchEx_GetTypeInfo(DISPATCHEX(&This->framebase.element.node.dispex), iTInfo, lcid, ppTInfo);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_GetIDsOfNames(IHTMLFrameElement3 *iface, REFIID riid,
|
||||
LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
return IDispatchEx_GetIDsOfNames(DISPATCHEX(&This->framebase.element.node.dispex), riid, rgszNames, cNames, lcid, rgDispId);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_Invoke(IHTMLFrameElement3 *iface, DISPID dispIdMember,
|
||||
REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
|
||||
VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
return IDispatchEx_Invoke(DISPATCHEX(&This->framebase.element.node.dispex), dispIdMember, riid,
|
||||
lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_get_contentDocument(IHTMLFrameElement3 *iface, IDispatch **p)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
IHTMLDocument2 *doc;
|
||||
HRESULT hres;
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
if(!This->framebase.content_window) {
|
||||
FIXME("NULL window\n");
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
hres = IHTMLWindow2_get_document(HTMLWINDOW2(This->framebase.content_window), &doc);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
*p = doc ? (IDispatch*)doc : NULL;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_put_src(IHTMLFrameElement3 *iface, BSTR v)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_get_src(IHTMLFrameElement3 *iface, BSTR *p)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_put_longDesc(IHTMLFrameElement3 *iface, BSTR v)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_get_longDesc(IHTMLFrameElement3 *iface, BSTR *p)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_put_frameBorder(IHTMLFrameElement3 *iface, BSTR v)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLFrameElement3_get_frameBorder(IHTMLFrameElement3 *iface, BSTR *p)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME3_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
#undef HTMLFRAME3_THIS
|
||||
|
||||
static const IHTMLFrameElement3Vtbl HTMLFrameElement3Vtbl = {
|
||||
HTMLFrameElement3_QueryInterface,
|
||||
HTMLFrameElement3_AddRef,
|
||||
HTMLFrameElement3_Release,
|
||||
HTMLFrameElement3_GetTypeInfoCount,
|
||||
HTMLFrameElement3_GetTypeInfo,
|
||||
HTMLFrameElement3_GetIDsOfNames,
|
||||
HTMLFrameElement3_Invoke,
|
||||
HTMLFrameElement3_get_contentDocument,
|
||||
HTMLFrameElement3_put_src,
|
||||
HTMLFrameElement3_get_src,
|
||||
HTMLFrameElement3_put_longDesc,
|
||||
HTMLFrameElement3_get_longDesc,
|
||||
HTMLFrameElement3_put_frameBorder,
|
||||
HTMLFrameElement3_get_frameBorder
|
||||
};
|
||||
|
||||
#define HTMLFRAME_NODE_THIS(iface) DEFINE_THIS2(HTMLFrameElement, framebase.element.node, iface)
|
||||
|
||||
static HRESULT HTMLFrameElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
|
||||
if(IsEqualGUID(&IID_IHTMLFrameElement3, riid)) {
|
||||
TRACE("(%p)->(IID_IHTMLFrameElement3 %p)\n", This, ppv);
|
||||
*ppv = HTMLFRAMEELEM3(This);
|
||||
}else {
|
||||
return HTMLFrameBase_QI(&This->framebase, riid, ppv);
|
||||
}
|
||||
|
||||
IUnknown_AddRef((IUnknown*)*ppv);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static void HTMLFrameElement_destructor(HTMLDOMNode *iface)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
|
||||
HTMLFrameBase_destructor(&This->framebase);
|
||||
}
|
||||
|
||||
static HRESULT HTMLFrameElement_get_document(HTMLDOMNode *iface, IDispatch **p)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
|
||||
if(!This->framebase.content_window || !This->framebase.content_window->doc) {
|
||||
*p = NULL;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
*p = (IDispatch*)HTMLDOC(&This->framebase.content_window->doc->basedoc);
|
||||
IDispatch_AddRef(*p);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT HTMLFrameElement_get_dispid(HTMLDOMNode *iface, BSTR name,
|
||||
DWORD grfdex, DISPID *pid)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
|
||||
if(!This->framebase.content_window)
|
||||
return DISP_E_UNKNOWNNAME;
|
||||
|
||||
return search_window_props(This->framebase.content_window, name, grfdex, pid);
|
||||
}
|
||||
|
||||
static HRESULT HTMLFrameElement_invoke(HTMLDOMNode *iface, DISPID id, LCID lcid,
|
||||
WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
|
||||
if(!This->framebase.content_window) {
|
||||
ERR("no content window to invoke on\n");
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
return IDispatchEx_InvokeEx(DISPATCHEX(This->framebase.content_window), id, lcid, flags, params, res, ei, caller);
|
||||
}
|
||||
|
||||
static HRESULT HTMLFrameElement_bind_to_tree(HTMLDOMNode *iface)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
nsIDOMDocument *nsdoc;
|
||||
nsresult nsres;
|
||||
HRESULT hres;
|
||||
|
||||
nsres = nsIDOMHTMLFrameElement_GetContentDocument(This->framebase.nsframe, &nsdoc);
|
||||
if(NS_FAILED(nsres) || !nsdoc) {
|
||||
ERR("GetContentDocument failed: %08x\n", nsres);
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
hres = set_frame_doc(&This->framebase, nsdoc);
|
||||
nsIDOMDocument_Release(nsdoc);
|
||||
return hres;
|
||||
}
|
||||
|
||||
#undef HTMLFRAME_NODE_THIS
|
||||
|
||||
static const NodeImplVtbl HTMLFrameElementImplVtbl = {
|
||||
HTMLFrameElement_QI,
|
||||
HTMLFrameElement_destructor,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
HTMLFrameElement_get_document,
|
||||
NULL,
|
||||
HTMLFrameElement_get_dispid,
|
||||
HTMLFrameElement_invoke,
|
||||
HTMLFrameElement_bind_to_tree
|
||||
};
|
||||
|
||||
static const tid_t HTMLFrameElement_iface_tids[] = {
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLFrameBase_tid,
|
||||
IHTMLFrameBase2_tid,
|
||||
IHTMLFrameElement3_tid,
|
||||
0
|
||||
};
|
||||
|
||||
static dispex_static_data_t HTMLFrameElement_dispex = {
|
||||
NULL,
|
||||
DispHTMLFrameElement_tid,
|
||||
NULL,
|
||||
HTMLFrameElement_iface_tids
|
||||
};
|
||||
|
||||
HTMLElement *HTMLFrameElement_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem)
|
||||
{
|
||||
HTMLFrameElement *ret;
|
||||
|
||||
ret = heap_alloc_zero(sizeof(HTMLFrameElement));
|
||||
|
||||
ret->framebase.element.node.vtbl = &HTMLFrameElementImplVtbl;
|
||||
ret->lpIHTMLFrameElement3Vtbl = &HTMLFrameElement3Vtbl;
|
||||
|
||||
HTMLFrameBase_Init(&ret->framebase, doc, nselem, &HTMLFrameElement_dispex);
|
||||
|
||||
return &ret->framebase.element;
|
||||
}
|
|
@ -283,10 +283,10 @@ static HRESULT WINAPI HTMLFrameBase_put_scrolling(IHTMLFrameBase *iface, BSTR v)
|
|||
return E_INVALIDARG;
|
||||
|
||||
if(This->nsframe) {
|
||||
nsAString_Init(&nsstr, v);
|
||||
nsAString_InitDepend(&nsstr, v);
|
||||
nsres = nsIDOMHTMLFrameElement_SetScrolling(This->nsframe, &nsstr);
|
||||
}else if(This->nsiframe) {
|
||||
nsAString_Init(&nsstr, v);
|
||||
nsAString_InitDepend(&nsstr, v);
|
||||
nsres = nsIDOMHTMLIFrameElement_SetScrolling(This->nsiframe, &nsstr);
|
||||
}else {
|
||||
ERR("No attached ns frame object\n");
|
||||
|
@ -562,108 +562,3 @@ void HTMLFrameBase_Init(HTMLFrameBase *This, HTMLDocumentNode *doc, nsIDOMHTMLEl
|
|||
}else
|
||||
This->nsiframe = NULL;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
HTMLFrameBase framebase;
|
||||
} HTMLFrameElement;
|
||||
|
||||
#define HTMLFRAME_NODE_THIS(iface) DEFINE_THIS2(HTMLFrameElement, framebase.element.node, iface)
|
||||
|
||||
static HRESULT HTMLFrameElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
|
||||
return HTMLFrameBase_QI(&This->framebase, riid, ppv);
|
||||
}
|
||||
|
||||
static void HTMLFrameElement_destructor(HTMLDOMNode *iface)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
|
||||
HTMLFrameBase_destructor(&This->framebase);
|
||||
}
|
||||
|
||||
static HRESULT HTMLFrameElement_get_document(HTMLDOMNode *iface, IDispatch **p)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
|
||||
if(!This->framebase.content_window || !This->framebase.content_window->doc) {
|
||||
*p = NULL;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
*p = (IDispatch*)HTMLDOC(&This->framebase.content_window->doc->basedoc);
|
||||
IDispatch_AddRef(*p);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT HTMLFrameElement_get_dispid(HTMLDOMNode *iface, BSTR name,
|
||||
DWORD grfdex, DISPID *pid)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
|
||||
if(!This->framebase.content_window)
|
||||
return DISP_E_UNKNOWNNAME;
|
||||
|
||||
return search_window_props(This->framebase.content_window, name, grfdex, pid);
|
||||
}
|
||||
|
||||
static HRESULT HTMLFrameElement_invoke(HTMLDOMNode *iface, DISPID id, LCID lcid,
|
||||
WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei, IServiceProvider *caller)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
|
||||
if(!This->framebase.content_window) {
|
||||
ERR("no content window to invoke on\n");
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
return IDispatchEx_InvokeEx(DISPATCHEX(This->framebase.content_window), id, lcid, flags, params, res, ei, caller);
|
||||
}
|
||||
|
||||
static HRESULT HTMLFrameElement_bind_to_tree(HTMLDOMNode *iface)
|
||||
{
|
||||
HTMLFrameElement *This = HTMLFRAME_NODE_THIS(iface);
|
||||
nsIDOMDocument *nsdoc;
|
||||
nsresult nsres;
|
||||
HRESULT hres;
|
||||
|
||||
nsres = nsIDOMHTMLFrameElement_GetContentDocument(This->framebase.nsframe, &nsdoc);
|
||||
if(NS_FAILED(nsres) || !nsdoc) {
|
||||
ERR("GetContentDocument failed: %08x\n", nsres);
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
hres = set_frame_doc(&This->framebase, nsdoc);
|
||||
nsIDOMDocument_Release(nsdoc);
|
||||
return hres;
|
||||
}
|
||||
|
||||
#undef HTMLFRAME_NODE_THIS
|
||||
|
||||
static const NodeImplVtbl HTMLFrameElementImplVtbl = {
|
||||
HTMLFrameElement_QI,
|
||||
HTMLFrameElement_destructor,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
HTMLFrameElement_get_document,
|
||||
NULL,
|
||||
HTMLFrameElement_get_dispid,
|
||||
HTMLFrameElement_invoke,
|
||||
HTMLFrameElement_bind_to_tree
|
||||
};
|
||||
|
||||
HTMLElement *HTMLFrameElement_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem)
|
||||
{
|
||||
HTMLFrameElement *ret;
|
||||
|
||||
ret = heap_alloc_zero(sizeof(HTMLFrameElement));
|
||||
|
||||
ret->framebase.element.node.vtbl = &HTMLFrameElementImplVtbl;
|
||||
|
||||
HTMLFrameBase_Init(&ret->framebase, doc, nselem, NULL);
|
||||
|
||||
return &ret->framebase.element;
|
||||
}
|
||||
|
|
|
@ -153,11 +153,7 @@ static const NodeImplVtbl HTMLGenericElementImplVtbl = {
|
|||
};
|
||||
|
||||
static const tid_t HTMLGenericElement_iface_tids[] = {
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLGenericElement_tid,
|
||||
0
|
||||
};
|
||||
|
|
|
@ -33,15 +33,139 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
|||
|
||||
typedef struct {
|
||||
HTMLFrameBase framebase;
|
||||
const IHTMLIFrameElementVtbl *lpIHTMLIFrameElementVtbl;
|
||||
} HTMLIFrame;
|
||||
|
||||
#define HTMLIFRAMEELEM(x) ((IHTMLIFrameElement*) &(x)->lpIHTMLIFrameElementVtbl)
|
||||
|
||||
#define HTMLIFRAME_THIS(iface) DEFINE_THIS(HTMLIFrame, IHTMLIFrameElement, iface)
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement_QueryInterface(IHTMLIFrameElement *iface,
|
||||
REFIID riid, void **ppv)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
|
||||
return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->framebase.element.node), riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI HTMLIFrameElement_AddRef(IHTMLIFrameElement *iface)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
|
||||
return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->framebase.element.node));
|
||||
}
|
||||
|
||||
static ULONG WINAPI HTMLIFrameElement_Release(IHTMLIFrameElement *iface)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
|
||||
return IHTMLDOMNode_Release(HTMLDOMNODE(&This->framebase.element.node));
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement_GetTypeInfoCount(IHTMLIFrameElement *iface, UINT *pctinfo)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->framebase.element.node.dispex), pctinfo);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement_GetTypeInfo(IHTMLIFrameElement *iface, UINT iTInfo,
|
||||
LCID lcid, ITypeInfo **ppTInfo)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
return IDispatchEx_GetTypeInfo(DISPATCHEX(&This->framebase.element.node.dispex), iTInfo, lcid, ppTInfo);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement_GetIDsOfNames(IHTMLIFrameElement *iface, REFIID riid,
|
||||
LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
return IDispatchEx_GetIDsOfNames(DISPATCHEX(&This->framebase.element.node.dispex), riid, rgszNames, cNames, lcid, rgDispId);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement_Invoke(IHTMLIFrameElement *iface, DISPID dispIdMember,
|
||||
REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
|
||||
VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
return IDispatchEx_Invoke(DISPATCHEX(&This->framebase.element.node.dispex), dispIdMember, riid,
|
||||
lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement_put_vspace(IHTMLIFrameElement *iface, LONG v)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
FIXME("(%p)->(%d)\n", This, v);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement_get_vspace(IHTMLIFrameElement *iface, LONG *p)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement_put_hspace(IHTMLIFrameElement *iface, LONG v)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
FIXME("(%p)->(%d)\n", This, v);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement_get_hspace(IHTMLIFrameElement *iface, LONG *p)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement_put_align(IHTMLIFrameElement *iface, BSTR v)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLIFrameElement_get_align(IHTMLIFrameElement *iface, BSTR *p)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
#undef HTMLIFRAME_THIS
|
||||
|
||||
static const IHTMLIFrameElementVtbl HTMLIFrameElementVtbl = {
|
||||
HTMLIFrameElement_QueryInterface,
|
||||
HTMLIFrameElement_AddRef,
|
||||
HTMLIFrameElement_Release,
|
||||
HTMLIFrameElement_GetTypeInfoCount,
|
||||
HTMLIFrameElement_GetTypeInfo,
|
||||
HTMLIFrameElement_GetIDsOfNames,
|
||||
HTMLIFrameElement_Invoke,
|
||||
HTMLIFrameElement_put_vspace,
|
||||
HTMLIFrameElement_get_vspace,
|
||||
HTMLIFrameElement_put_hspace,
|
||||
HTMLIFrameElement_get_hspace,
|
||||
HTMLIFrameElement_put_align,
|
||||
HTMLIFrameElement_get_align
|
||||
};
|
||||
|
||||
#define HTMLIFRAME_NODE_THIS(iface) DEFINE_THIS2(HTMLIFrame, framebase.element.node, iface)
|
||||
|
||||
static HRESULT HTMLIFrame_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
HTMLIFrame *This = HTMLIFRAME_NODE_THIS(iface);
|
||||
|
||||
return HTMLFrameBase_QI(&This->framebase, riid, ppv);
|
||||
if(IsEqualGUID(&IID_IHTMLIFrameElement, riid)) {
|
||||
TRACE("(%p)->(IID_IHTMLIFrameElement %p)\n", This, ppv);
|
||||
*ppv = HTMLIFRAMEELEM(This);
|
||||
}else {
|
||||
return HTMLFrameBase_QI(&This->framebase, riid, ppv);
|
||||
}
|
||||
|
||||
IUnknown_AddRef((IUnknown*)*ppv);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static void HTMLIFrame_destructor(HTMLDOMNode *iface)
|
||||
|
@ -131,13 +255,10 @@ static const NodeImplVtbl HTMLIFrameImplVtbl = {
|
|||
};
|
||||
|
||||
static const tid_t HTMLIFrame_iface_tids[] = {
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLFrameBase_tid,
|
||||
IHTMLFrameBase2_tid,
|
||||
IHTMLIFrameElement_tid,
|
||||
0
|
||||
};
|
||||
|
||||
|
@ -154,6 +275,7 @@ HTMLElement *HTMLIFrame_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem)
|
|||
|
||||
ret = heap_alloc_zero(sizeof(HTMLIFrame));
|
||||
|
||||
ret->lpIHTMLIFrameElementVtbl = &HTMLIFrameElementVtbl;
|
||||
ret->framebase.element.node.vtbl = &HTMLIFrameImplVtbl;
|
||||
|
||||
HTMLFrameBase_Init(&ret->framebase, doc, nselem, &HTMLIFrame_dispex);
|
||||
|
|
|
@ -228,7 +228,7 @@ static HRESULT WINAPI HTMLImgElement_put_alt(IHTMLImgElement *iface, BSTR v)
|
|||
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
|
||||
nsAString_Init(&alt_str, v);
|
||||
nsAString_InitDepend(&alt_str, v);
|
||||
nsres = nsIDOMHTMLImageElement_SetAlt(This->nsimg, &alt_str);
|
||||
nsAString_Finish(&alt_str);
|
||||
if(NS_FAILED(nsres))
|
||||
|
@ -268,7 +268,7 @@ static HRESULT WINAPI HTMLImgElement_put_src(IHTMLImgElement *iface, BSTR v)
|
|||
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
|
||||
nsAString_Init(&src_str, v);
|
||||
nsAString_InitDepend(&src_str, v);
|
||||
nsres = nsIDOMHTMLImageElement_SetSrc(This->nsimg, &src_str);
|
||||
nsAString_Finish(&src_str);
|
||||
if(NS_FAILED(nsres))
|
||||
|
@ -460,29 +460,69 @@ static HRESULT WINAPI HTMLImgElement_get_name(IHTMLImgElement *iface, BSTR *p)
|
|||
static HRESULT WINAPI HTMLImgElement_put_width(IHTMLImgElement *iface, LONG v)
|
||||
{
|
||||
HTMLImgElement *This = HTMLIMG_THIS(iface);
|
||||
FIXME("(%p)->(%d)\n", This, v);
|
||||
return E_NOTIMPL;
|
||||
nsresult nsres;
|
||||
|
||||
TRACE("(%p)->(%d)\n", This, v);
|
||||
|
||||
nsres = nsIDOMHTMLImageElement_SetWidth(This->nsimg, v);
|
||||
if(NS_FAILED(nsres)) {
|
||||
ERR("SetWidth failed: %08x\n", nsres);
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLImgElement_get_width(IHTMLImgElement *iface, LONG *p)
|
||||
{
|
||||
HTMLImgElement *This = HTMLIMG_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
PRInt32 width;
|
||||
nsresult nsres;
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
nsres = nsIDOMHTMLImageElement_GetWidth(This->nsimg, &width);
|
||||
if(NS_FAILED(nsres)) {
|
||||
ERR("GetWidth failed: %08x\n", nsres);
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
*p = width;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLImgElement_put_height(IHTMLImgElement *iface, LONG v)
|
||||
{
|
||||
HTMLImgElement *This = HTMLIMG_THIS(iface);
|
||||
FIXME("(%p)->(%d)\n", This, v);
|
||||
return E_NOTIMPL;
|
||||
nsresult nsres;
|
||||
|
||||
TRACE("(%p)->(%d)\n", This, v);
|
||||
|
||||
nsres = nsIDOMHTMLImageElement_SetHeight(This->nsimg, v);
|
||||
if(NS_FAILED(nsres)) {
|
||||
ERR("SetHeight failed: %08x\n", nsres);
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLImgElement_get_height(IHTMLImgElement *iface, LONG *p)
|
||||
{
|
||||
HTMLImgElement *This = HTMLIMG_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
PRInt32 height;
|
||||
nsresult nsres;
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
nsres = nsIDOMHTMLImageElement_GetHeight(This->nsimg, &height);
|
||||
if(NS_FAILED(nsres)) {
|
||||
ERR("GetHeight failed: %08x\n", nsres);
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
*p = height;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLImgElement_put_start(IHTMLImgElement *iface, BSTR v)
|
||||
|
@ -609,11 +649,7 @@ static const NodeImplVtbl HTMLImgElementImplVtbl = {
|
|||
};
|
||||
|
||||
static const tid_t HTMLImgElement_iface_tids[] = {
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLImgElement_tid,
|
||||
0
|
||||
};
|
||||
|
@ -728,12 +764,38 @@ static HRESULT WINAPI HTMLImageElementFactory_Invoke(IHTMLImageElementFactory *i
|
|||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static LONG var_to_size(const VARIANT *v)
|
||||
{
|
||||
switch(V_VT(v)) {
|
||||
case VT_EMPTY:
|
||||
return 0;
|
||||
case VT_I4:
|
||||
return V_I4(v);
|
||||
case VT_BSTR: {
|
||||
LONG ret;
|
||||
HRESULT hres;
|
||||
|
||||
hres = VarI4FromStr(V_BSTR(v), 0, 0, &ret);
|
||||
if(FAILED(hres)) {
|
||||
FIXME("VarI4FromStr failed: %08x\n", hres);
|
||||
return 0;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
default:
|
||||
FIXME("unsupported size %s\n", debugstr_variant(v));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLImageElementFactory_create(IHTMLImageElementFactory *iface,
|
||||
VARIANT width, VARIANT height, IHTMLImgElement **img_elem)
|
||||
{
|
||||
HTMLImageElementFactory *This = HTMLIMGFACTORY_THIS(iface);
|
||||
IHTMLImgElement *img;
|
||||
HTMLElement *elem;
|
||||
nsIDOMHTMLElement *nselem;
|
||||
LONG l;
|
||||
HRESULT hres;
|
||||
|
||||
static const PRUnichar imgW[] = {'I','M','G',0};
|
||||
|
@ -758,7 +820,7 @@ static HRESULT WINAPI HTMLImageElementFactory_create(IHTMLImageElementFactory *i
|
|||
return E_FAIL;
|
||||
}
|
||||
|
||||
hres = IHTMLElement_QueryInterface(HTMLELEM(elem), &IID_IHTMLImgElement, (void**)img_elem);
|
||||
hres = IHTMLElement_QueryInterface(HTMLELEM(elem), &IID_IHTMLImgElement, (void**)&img);
|
||||
if(FAILED(hres)) {
|
||||
ERR("IHTMLElement_QueryInterface failed: 0x%08x\n", hres);
|
||||
return hres;
|
||||
|
@ -766,9 +828,14 @@ static HRESULT WINAPI HTMLImageElementFactory_create(IHTMLImageElementFactory *i
|
|||
|
||||
nsIDOMHTMLElement_Release(nselem);
|
||||
|
||||
if(V_VT(&width) != VT_EMPTY || V_VT(&height) != VT_EMPTY)
|
||||
FIXME("Not setting image dimensions\n");
|
||||
l = var_to_size(&width);
|
||||
if(l)
|
||||
IHTMLImgElement_put_width(img, l);
|
||||
l = var_to_size(&height);
|
||||
if(l)
|
||||
IHTMLImgElement_put_height(img, l);
|
||||
|
||||
*img_elem = img;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ static HRESULT WINAPI HTMLInputElement_put_value(IHTMLInputElement *iface, BSTR
|
|||
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
|
||||
nsAString_Init(&val_str, v);
|
||||
nsAString_InitDepend(&val_str, v);
|
||||
nsres = nsIDOMHTMLInputElement_SetValue(This->nsinput, &val_str);
|
||||
nsAString_Finish(&val_str);
|
||||
if(NS_FAILED(nsres))
|
||||
|
@ -512,7 +512,7 @@ static HRESULT WINAPI HTMLInputElement_put_src(IHTMLInputElement *iface, BSTR v)
|
|||
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
|
||||
nsAString_Init(&nsstr, v);
|
||||
nsAString_InitDepend(&nsstr, v);
|
||||
nsres = nsIDOMHTMLInputElement_SetSrc(This->nsinput, &nsstr);
|
||||
nsAString_Finish(&nsstr);
|
||||
if(NS_FAILED(nsres))
|
||||
|
@ -1173,11 +1173,7 @@ static const NodeImplVtbl HTMLInputElementImplVtbl = {
|
|||
};
|
||||
|
||||
static const tid_t HTMLInputElement_iface_tids[] = {
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLInputElement_tid,
|
||||
0
|
||||
};
|
||||
|
|
|
@ -645,7 +645,7 @@ static HRESULT WINAPI HTMLDOMNode_put_nodeValue(IHTMLDOMNode *iface, VARIANT v)
|
|||
|
||||
TRACE("bstr %s\n", debugstr_w(V_BSTR(&v)));
|
||||
|
||||
nsAString_Init(&val_str, V_BSTR(&v));
|
||||
nsAString_InitDepend(&val_str, V_BSTR(&v));
|
||||
nsIDOMNode_SetNodeValue(This->nsnode, &val_str);
|
||||
nsAString_Finish(&val_str);
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@ static HRESULT WINAPI HTMLOptionElement_put_value(IHTMLOptionElement *iface, BST
|
|||
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
|
||||
nsAString_Init(&value_str, v);
|
||||
nsAString_InitDepend(&value_str, v);
|
||||
nsres = nsIDOMHTMLOptionElement_SetValue(This->nsoption, &value_str);
|
||||
nsAString_Finish(&value_str);
|
||||
if(NS_FAILED(nsres))
|
||||
|
@ -209,7 +209,7 @@ static HRESULT WINAPI HTMLOptionElement_put_text(IHTMLOptionElement *iface, BSTR
|
|||
}
|
||||
}
|
||||
|
||||
nsAString_Init(&text_str, v);
|
||||
nsAString_InitDepend(&text_str, v);
|
||||
nsres = nsIDOMHTMLDocument_CreateTextNode(This->element.node.doc->nsdoc, &text_str, &text_node);
|
||||
nsAString_Finish(&text_str);
|
||||
if(NS_FAILED(nsres)) {
|
||||
|
@ -324,11 +324,7 @@ static const NodeImplVtbl HTMLOptionElementImplVtbl = {
|
|||
};
|
||||
|
||||
static const tid_t HTMLOptionElement_iface_tids[] = {
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLOptionElement_tid,
|
||||
0
|
||||
};
|
||||
|
|
|
@ -319,6 +319,19 @@ static const NodeImplVtbl HTMLScriptElementImplVtbl = {
|
|||
HTMLScriptElement_get_readystate
|
||||
};
|
||||
|
||||
static const tid_t HTMLScriptElement_iface_tids[] = {
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLScriptElement_tid,
|
||||
0
|
||||
};
|
||||
|
||||
static dispex_static_data_t HTMLScriptElement_dispex = {
|
||||
NULL,
|
||||
DispHTMLScriptElement_tid,
|
||||
NULL,
|
||||
HTMLScriptElement_iface_tids
|
||||
};
|
||||
|
||||
HTMLElement *HTMLScriptElement_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem)
|
||||
{
|
||||
HTMLScriptElement *ret = heap_alloc_zero(sizeof(HTMLScriptElement));
|
||||
|
@ -327,7 +340,7 @@ HTMLElement *HTMLScriptElement_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement *
|
|||
ret->lpHTMLScriptElementVtbl = &HTMLScriptElementVtbl;
|
||||
ret->element.node.vtbl = &HTMLScriptElementImplVtbl;
|
||||
|
||||
HTMLElement_Init(&ret->element, doc, nselem, NULL);
|
||||
HTMLElement_Init(&ret->element, doc, nselem, &HTMLScriptElement_dispex);
|
||||
|
||||
nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLScriptElement, (void**)&ret->nsscript);
|
||||
if(NS_FAILED(nsres))
|
||||
|
|
|
@ -253,7 +253,7 @@ static HRESULT WINAPI HTMLSelectElement_put_value(IHTMLSelectElement *iface, BST
|
|||
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
|
||||
nsAString_Init(&value_str, v);
|
||||
nsAString_InitDepend(&value_str, v);
|
||||
nsres = nsIDOMHTMLSelectElement_SetValue(This->nsselect, &value_str);
|
||||
nsAString_Finish(&value_str);
|
||||
if(NS_FAILED(nsres))
|
||||
|
@ -332,8 +332,26 @@ static HRESULT WINAPI HTMLSelectElement_add(IHTMLSelectElement *iface, IHTMLElem
|
|||
VARIANT before)
|
||||
{
|
||||
HTMLSelectElement *This = HTMLSELECT_THIS(iface);
|
||||
FIXME("(%p)->(%p v)\n", This, element);
|
||||
return E_NOTIMPL;
|
||||
IHTMLDOMNode *node, *tmp;
|
||||
HRESULT hres;
|
||||
|
||||
FIXME("(%p)->(%p %s): semi-stub\n", This, element, debugstr_variant(&before));
|
||||
|
||||
if(V_VT(&before) != VT_EMPTY) {
|
||||
FIXME("unhandled before %s\n", debugstr_variant(&before));
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
hres = IHTMLElement_QueryInterface(element, &IID_IHTMLDOMNode, (void**)&node);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
hres = IHTMLDOMNode_appendChild(HTMLDOMNODE(&This->element.node), node, &tmp);
|
||||
IHTMLDOMNode_Release(node);
|
||||
if(SUCCEEDED(hres) && tmp)
|
||||
IHTMLDOMNode_Release(tmp);
|
||||
|
||||
return hres;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLSelectElement_remove(IHTMLSelectElement *iface, LONG index)
|
||||
|
@ -487,11 +505,7 @@ static const NodeImplVtbl HTMLSelectElementImplVtbl = {
|
|||
};
|
||||
|
||||
static const tid_t HTMLSelectElement_tids[] = {
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLSelectElement_tid,
|
||||
0
|
||||
};
|
||||
|
|
|
@ -315,9 +315,9 @@ HRESULT set_nsstyle_attr(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid, LPCW
|
|||
if(flags & ATTR_FIX_URL)
|
||||
val = fix_url_value(value);
|
||||
|
||||
nsAString_Init(&str_name, style_tbl[sid].name);
|
||||
nsAString_Init(&str_value, val ? val : value);
|
||||
nsAString_Init(&str_empty, wszEmpty);
|
||||
nsAString_InitDepend(&str_name, style_tbl[sid].name);
|
||||
nsAString_InitDepend(&str_value, val ? val : value);
|
||||
nsAString_InitDepend(&str_empty, wszEmpty);
|
||||
heap_free(val);
|
||||
|
||||
nsres = nsIDOMCSSStyleDeclaration_SetProperty(nsstyle, &str_name, &str_value, &str_empty);
|
||||
|
@ -345,10 +345,12 @@ HRESULT set_nsstyle_attr_var(nsIDOMCSSStyleDeclaration *nsstyle, styleid_t sid,
|
|||
|
||||
case VT_I4: {
|
||||
WCHAR str[14];
|
||||
static const WCHAR format[] = {'%','d',0};
|
||||
|
||||
wsprintfW(str, format, V_I4(value));
|
||||
return set_nsstyle_attr(nsstyle, sid, str, flags);
|
||||
static const WCHAR format[] = {'%','d',0};
|
||||
static const WCHAR px_format[] = {'%','d','p','x',0};
|
||||
|
||||
wsprintfW(str, flags&ATTR_FIX_PX ? px_format : format, V_I4(value));
|
||||
return set_nsstyle_attr(nsstyle, sid, str, flags & ~ATTR_FIX_PX);
|
||||
}
|
||||
default:
|
||||
FIXME("not implemented vt %d\n", V_VT(value));
|
||||
|
@ -369,7 +371,7 @@ static HRESULT get_nsstyle_attr_nsval(nsIDOMCSSStyleDeclaration *nsstyle, stylei
|
|||
nsAString str_name;
|
||||
nsresult nsres;
|
||||
|
||||
nsAString_Init(&str_name, style_tbl[sid].name);
|
||||
nsAString_InitDepend(&str_name, style_tbl[sid].name);
|
||||
|
||||
nsres = nsIDOMCSSStyleDeclaration_GetPropertyValue(nsstyle, &str_name, value);
|
||||
if(NS_FAILED(nsres)) {
|
||||
|
@ -1531,8 +1533,10 @@ static HRESULT WINAPI HTMLStyle_put_borderTopColor(IHTMLStyle *iface, VARIANT v)
|
|||
static HRESULT WINAPI HTMLStyle_get_borderTopColor(IHTMLStyle *iface, VARIANT *p)
|
||||
{
|
||||
HTMLStyle *This = HTMLSTYLE_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
return get_nsstyle_attr_var(This->nsstyle, STYLEID_BORDER_TOP_COLOR, p, 0);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLStyle_put_borderRightColor(IHTMLStyle *iface, VARIANT v)
|
||||
|
@ -1545,8 +1549,10 @@ static HRESULT WINAPI HTMLStyle_put_borderRightColor(IHTMLStyle *iface, VARIANT
|
|||
static HRESULT WINAPI HTMLStyle_get_borderRightColor(IHTMLStyle *iface, VARIANT *p)
|
||||
{
|
||||
HTMLStyle *This = HTMLSTYLE_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
return get_nsstyle_attr_var(This->nsstyle, STYLEID_BORDER_RIGHT_COLOR, p, 0);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLStyle_put_borderBottomColor(IHTMLStyle *iface, VARIANT v)
|
||||
|
@ -1559,8 +1565,10 @@ static HRESULT WINAPI HTMLStyle_put_borderBottomColor(IHTMLStyle *iface, VARIANT
|
|||
static HRESULT WINAPI HTMLStyle_get_borderBottomColor(IHTMLStyle *iface, VARIANT *p)
|
||||
{
|
||||
HTMLStyle *This = HTMLSTYLE_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
return get_nsstyle_attr_var(This->nsstyle, STYLEID_BORDER_BOTTOM_COLOR, p, 0);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLStyle_put_borderLeftColor(IHTMLStyle *iface, VARIANT v)
|
||||
|
@ -1573,8 +1581,10 @@ static HRESULT WINAPI HTMLStyle_put_borderLeftColor(IHTMLStyle *iface, VARIANT v
|
|||
static HRESULT WINAPI HTMLStyle_get_borderLeftColor(IHTMLStyle *iface, VARIANT *p)
|
||||
{
|
||||
HTMLStyle *This = HTMLSTYLE_THIS(iface);
|
||||
FIXME("(%p)->(%p)\n", This, p);
|
||||
return E_NOTIMPL;
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, p);
|
||||
|
||||
return get_nsstyle_attr_var(This->nsstyle, STYLEID_BORDER_LEFT_COLOR, p, 0);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLStyle_put_borderWidth(IHTMLStyle *iface, BSTR v)
|
||||
|
@ -1779,15 +1789,7 @@ static HRESULT WINAPI HTMLStyle_put_width(IHTMLStyle *iface, VARIANT v)
|
|||
|
||||
TRACE("(%p)->(v%d)\n", This, V_VT(&v));
|
||||
|
||||
switch(V_VT(&v)) {
|
||||
case VT_BSTR:
|
||||
TRACE("%s\n", debugstr_w(V_BSTR(&v)));
|
||||
return set_style_attr(This, STYLEID_WIDTH, V_BSTR(&v), 0);
|
||||
default:
|
||||
FIXME("unsupported vt %d\n", V_VT(&v));
|
||||
}
|
||||
|
||||
return E_NOTIMPL;
|
||||
return set_nsstyle_attr_var(This->nsstyle, STYLEID_WIDTH, &v, ATTR_FIX_PX);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLStyle_get_width(IHTMLStyle *iface, VARIANT *p)
|
||||
|
@ -2129,7 +2131,7 @@ static HRESULT WINAPI HTMLStyle_put_cssText(IHTMLStyle *iface, BSTR v)
|
|||
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
|
||||
nsAString_Init(&text_str, v);
|
||||
nsAString_InitDepend(&text_str, v);
|
||||
nsres = nsIDOMCSSStyleDeclaration_SetCssText(This->nsstyle, &text_str);
|
||||
nsAString_Finish(&text_str);
|
||||
if(NS_FAILED(nsres)) {
|
||||
|
|
|
@ -558,11 +558,7 @@ static const NodeImplVtbl HTMLTableImplVtbl = {
|
|||
};
|
||||
|
||||
static const tid_t HTMLTable_iface_tids[] = {
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLTable_tid,
|
||||
0
|
||||
};
|
||||
|
|
|
@ -301,11 +301,7 @@ static const NodeImplVtbl HTMLTableRowImplVtbl = {
|
|||
};
|
||||
|
||||
static const tid_t HTMLTableRow_iface_tids[] = {
|
||||
IHTMLDOMNode_tid,
|
||||
IHTMLDOMNode2_tid,
|
||||
IHTMLElement_tid,
|
||||
IHTMLElement2_tid,
|
||||
IHTMLElement3_tid,
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLTableRow_tid,
|
||||
0
|
||||
};
|
||||
|
|
|
@ -411,6 +411,19 @@ static const NodeImplVtbl HTMLTextAreaElementImplVtbl = {
|
|||
HTMLTextAreaElementImpl_get_disabled
|
||||
};
|
||||
|
||||
static const tid_t HTMLTextAreaElement_iface_tids[] = {
|
||||
HTMLELEMENT_TIDS,
|
||||
IHTMLTextAreaElement_tid,
|
||||
0
|
||||
};
|
||||
|
||||
static dispex_static_data_t HTMLTextAreaElement_dispex = {
|
||||
NULL,
|
||||
DispHTMLTextAreaElement_tid,
|
||||
NULL,
|
||||
HTMLTextAreaElement_iface_tids
|
||||
};
|
||||
|
||||
HTMLElement *HTMLTextAreaElement_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem)
|
||||
{
|
||||
HTMLTextAreaElement *ret = heap_alloc_zero(sizeof(HTMLTextAreaElement));
|
||||
|
@ -419,7 +432,7 @@ HTMLElement *HTMLTextAreaElement_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement
|
|||
ret->lpHTMLTextAreaElementVtbl = &HTMLTextAreaElementVtbl;
|
||||
ret->element.node.vtbl = &HTMLTextAreaElementImplVtbl;
|
||||
|
||||
HTMLElement_Init(&ret->element, doc, nselem, NULL);
|
||||
HTMLElement_Init(&ret->element, doc, nselem, &HTMLTextAreaElement_dispex);
|
||||
|
||||
nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLTextAreaElement,
|
||||
(void**)&ret->nstextarea);
|
||||
|
|
|
@ -694,7 +694,7 @@ static HRESULT WINAPI HTMLWindow2_put_name(IHTMLWindow2 *iface, BSTR v)
|
|||
|
||||
TRACE("(%p)->(%s)\n", This, debugstr_w(v));
|
||||
|
||||
nsAString_Init(&name_str, v);
|
||||
nsAString_InitDepend(&name_str, v);
|
||||
nsres = nsIDOMWindow_SetName(This->nswindow, &name_str);
|
||||
nsAString_Finish(&name_str);
|
||||
if(NS_FAILED(nsres))
|
||||
|
@ -1688,13 +1688,20 @@ static HRESULT WINAPI WindowDispEx_GetIDsOfNames(IDispatchEx *iface, REFIID riid
|
|||
LCID lcid, DISPID *rgDispId)
|
||||
{
|
||||
HTMLWindow *This = DISPEX_THIS(iface);
|
||||
UINT i;
|
||||
HRESULT hres;
|
||||
|
||||
TRACE("(%p)->(%s %p %u %u %p)\n", This, debugstr_guid(riid), rgszNames, cNames,
|
||||
WARN("(%p)->(%s %p %u %u %p)\n", This, debugstr_guid(riid), rgszNames, cNames,
|
||||
lcid, rgDispId);
|
||||
|
||||
/* FIXME: Use script dispatch */
|
||||
for(i=0; i < cNames; i++) {
|
||||
/* We shouldn't use script's IDispatchEx here, so we shouldn't use GetDispID */
|
||||
hres = IDispatchEx_GetDispID(DISPATCHEX(This), rgszNames[i], 0, rgDispId+i);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
}
|
||||
|
||||
return IDispatchEx_GetIDsOfNames(DISPATCHEX(&This->dispex), riid, rgszNames, cNames, lcid, rgDispId);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI WindowDispEx_Invoke(IDispatchEx *iface, DISPID dispIdMember,
|
||||
|
|
|
@ -439,11 +439,14 @@ HRESULT WINAPI DllUnregisterServer(void)
|
|||
|
||||
const char *debugstr_variant(const VARIANT *v)
|
||||
{
|
||||
if(!v)
|
||||
return "(null)";
|
||||
|
||||
switch(V_VT(v)) {
|
||||
case VT_EMPTY:
|
||||
return wine_dbg_sprintf("{VT_EMPTY}");
|
||||
return "{VT_EMPTY}";
|
||||
case VT_NULL:
|
||||
return wine_dbg_sprintf("{VT_NULL}");
|
||||
return "{VT_NULL}";
|
||||
case VT_I4:
|
||||
return wine_dbg_sprintf("{VT_I4: %d}", V_I4(v));
|
||||
case VT_R8:
|
||||
|
|
|
@ -90,7 +90,7 @@ HKCR,"CLSID\%CLSID_CRecalcEngine%\InProcServer32","ThreadingModel",,"Apartment"
|
|||
|
||||
;; CrSource
|
||||
HKCR,"CLSID\%CLSID_CrSource%",,,"Microsoft CrSource 4.0"
|
||||
HKCR,"CLSID\%CLSID_CrSource%\BrowseInPlace",,,""
|
||||
HKCR,"CLSID\%CLSID_CrSource%\BrowseInPlace",,16
|
||||
;; HKCR,"CLSID\%CLSID_CrSource%\DefaultIcon",,0x00020000,"%IEXPLORE%,1"
|
||||
HKCR,"CLSID\%CLSID_CrSource%\EnablePlugin\.css",,,"PointPlus plugin"
|
||||
HKCR,"CLSID\%CLSID_CrSource%\InProcServer32",,,"mshtml.dll"
|
||||
|
@ -113,7 +113,7 @@ HKCR,"ScriptBridge.ScriptBridge.1\CLSID",,,"%CLSID_Scriptlet%"
|
|||
|
||||
;; HTADocument
|
||||
HKCR,"CLSID\%CLSID_HTADocument%",,,"Microsoft HTA Document 6.0"
|
||||
HKCR,"CLSID\%CLSID_HTADocument%\BrowseInPlace",,,""
|
||||
HKCR,"CLSID\%CLSID_HTADocument%\BrowseInPlace",,16
|
||||
HKCR,"CLSID\%CLSID_HTADocument%\InProcServer32",,,"mshtml.dll"
|
||||
HKCR,"CLSID\%CLSID_HTADocument%\InProcServer32","ThreadingModel",,"Apartment"
|
||||
HKCR,"CLSID\%CLSID_HTADocument%\MiscStatus",,,"2228625"
|
||||
|
@ -121,7 +121,7 @@ HKCR,"CLSID\%CLSID_HTADocument%\Version",,,"6.0"
|
|||
|
||||
;; HTMLDocument
|
||||
HKCR,"CLSID\%CLSID_HTMLDocument%",,,"HTML Document"
|
||||
HKCR,"CLSID\%CLSID_HTMLDocument%\BrowseInPlace",,,""
|
||||
HKCR,"CLSID\%CLSID_HTMLDocument%\BrowseInPlace",,16
|
||||
;; HKCR,"CLSID\%CLSID_HTMLDocument%\DefaultIcon",,0x00020000,"%IEXPLORE%,1"
|
||||
HKCR,"CLSID\%CLSID_HTMLDocument%\InProcServer32",,,"mshtml.dll"
|
||||
HKCR,"CLSID\%CLSID_HTMLDocument%\InProcServer32","ThreadingModel",,"Apartment"
|
||||
|
@ -132,7 +132,7 @@ HKCR,"CLSID\%CLSID_HTMLDocument%\EnablePlugin\.css",,,"PointPlus plugin"
|
|||
|
||||
;; HTMLPluginDocument
|
||||
HKCR,"CLSID\%CLSID_HTMLPluginDocument%",,,"Microsoft HTML Document 6.0"
|
||||
HKCR,"CLSID\%CLSID_HTMLPluginDocument%\BrowseInPlace",,,""
|
||||
HKCR,"CLSID\%CLSID_HTMLPluginDocument%\BrowseInPlace",,16
|
||||
HKCR,"CLSID\%CLSID_HTMLPluginDocument%\InProcServer32",,,"mshtml.dll"
|
||||
HKCR,"CLSID\%CLSID_HTMLPluginDocument%\InProcServer32","ThreadingModel",,"Apartment"
|
||||
HKCR,"CLSID\%CLSID_HTMLPluginDocument%\MiscStatus",,,"0"
|
||||
|
@ -159,7 +159,7 @@ HKCR,"CLSID\%CLSID_HTMLWindowProxy%\InProcServer32",,,"mshtml.dll"
|
|||
HKCR,"CLSID\%CLSID_HTMLWindowProxy%\InProcServer32","ThreadingModel",,"Apartment"
|
||||
|
||||
;; IImageDecodeFilter
|
||||
HKCR,"CLSID\%CLSID_IImageDecodeFilter%",,,""
|
||||
HKCR,"CLSID\%CLSID_IImageDecodeFilter%",,,"CoICOFilter Class"
|
||||
HKCR,"CLSID\%CLSID_IImageDecodeFilter%\InProcServer32",,,%_MOD_PATH%
|
||||
HKCR,"CLSID\%CLSID_IImageDecodeFilter%\InProcServer32","ThreadingModel",,"Apartment"
|
||||
HKCR,"MIME\Database\Content Type\image/x-wmf","Image Filter CLSID",,"%CLSID_IImageDecodeFilter%"
|
||||
|
@ -214,7 +214,7 @@ HKCR,"CLSID\%CLSID_MailtoProtocol%\InProcServer32","ThreadingModel",,"Apartment"
|
|||
|
||||
;; MHTMLDocument
|
||||
HKCR,"CLSID\%CLSID_MHTMLDocument%",,,"MHTML Document"
|
||||
HKCR,"CLSID\%CLSID_MHTMLDocument%\BrowseInPlace",,,""
|
||||
HKCR,"CLSID\%CLSID_MHTMLDocument%\BrowseInPlace",,16
|
||||
;; HKCR,"CLSID\%CLSID_MHTMLDocument%\DefaultIcon",,0x00020000,"%IEXPLORE%,1"
|
||||
HKCR,"CLSID\%CLSID_MHTMLDocument%\InProcServer32",,,"mshtml.dll"
|
||||
HKCR,"CLSID\%CLSID_MHTMLDocument%\InProcServer32","ThreadingModel",,"Apartment"
|
||||
|
@ -229,13 +229,13 @@ HKCR,"CLSID\%CLSID_ResProtocol%\InProcServer32","ThreadingModel",,"Apartment"
|
|||
|
||||
;; Scriptlet
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%",,,"Microsoft Scriptlet Component"
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%\Control"
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%\Control",,16
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%\InProcServer32",,,"%_MOD_PATH%"
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%\InProcServer32","ThreadingModel",,"Apartment"
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%\MiscStatus",,,"0"
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%\MiscStatus\1",,,"131473"
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%\ProgID",,,"ScriptBridge.ScriptBridge.1"
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%\Programmable"
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%\Programmable",,16
|
||||
;; HKCR,"CLSID\%CLSID_Scriptlet%\ToolboxBitmap32",,,"%IEXPLORE%,1"
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%\TypeLib",,,"%LIBID_MSHTML%"
|
||||
HKCR,"CLSID\%CLSID_Scriptlet%\Version",,,"4.0"
|
||||
|
@ -337,11 +337,11 @@ HKCR,"InternetShortcut\shell\printto\command",,,"rundll32.exe mshtml.dll,PrintHT
|
|||
HKCR,"htmlfile\shell\print\command",,,"rundll32.exe mshtml.dll,PrintHTML ""%%1"""
|
||||
HKCR,"htmlfile\shell\printto\command",,,"rundll32.exe mshtml.dll,PrintHTML ""%%1"" ""%%2"" ""%%3"" ""%%4"""
|
||||
HKCR,"htmlfile",,,"HTML Document"
|
||||
HKCR,"htmlfile\BrowseInPlace",,,""
|
||||
HKCR,"htmlfile\BrowseInPlace",,16
|
||||
HKCR,"htmlfile\CLSID",,,"%CLSID_HTMLDocument%"
|
||||
;; HKCR,"htmlfile\DefaultIcon",,0x00020000,"%IEXPLORE%,1"
|
||||
HKCR,"htmlfile_FullWindowEmbed",,,"HTML Plugin Document"
|
||||
HKCR,"htmlfile_FullWindowEmbed\BrowseInPlace",,,""
|
||||
HKCR,"htmlfile_FullWindowEmbed\BrowseInPlace",,16
|
||||
HKCR,"htmlfile_FullWindowEmbed\CLSID",,,"%CLSID_HTMLPluginDocument%"
|
||||
HKCR,".htm",,,"htmlfile"
|
||||
HKCR,".htm","Content Type",,"text/html"
|
||||
|
@ -398,7 +398,7 @@ HKCR,".mhtml","Content Type",,"message/rfc822"
|
|||
HKCR,".mht",,2,"mhtmlfile"
|
||||
HKCR,".mht","Content Type",,"message/rfc822"
|
||||
HKCR,"mhtmlfile",,,"MHTML Document"
|
||||
HKCR,"mhtmlfile\BrowseInPlace",,,""
|
||||
HKCR,"mhtmlfile\BrowseInPlace",,16
|
||||
HKCR,"mhtmlfile\CLSID",,,"%CLSID_MHTMLDocument%"
|
||||
|
||||
;; MPEG
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
<file>htmlelemcol.c</file>
|
||||
<file>htmlevent.c</file>
|
||||
<file>htmlform.c</file>
|
||||
<file>htmlframe.c</file>
|
||||
<file>htmlframebase.c</file>
|
||||
<file>htmlgeneric.c</file>
|
||||
<file>htmliframe.c</file>
|
||||
|
|
|
@ -68,6 +68,7 @@ typedef enum {
|
|||
DispHTMLElementCollection_tid,
|
||||
DispHTMLFormElement_tid,
|
||||
DispHTMLGenericElement_tid,
|
||||
DispHTMLFrameElement_tid,
|
||||
DispHTMLIFrame_tid,
|
||||
DispHTMLImg_tid,
|
||||
DispHTMLInputElement_tid,
|
||||
|
@ -75,10 +76,12 @@ typedef enum {
|
|||
DispHTMLNavigator_tid,
|
||||
DispHTMLOptionElement_tid,
|
||||
DispHTMLScreen_tid,
|
||||
DispHTMLScriptElement_tid,
|
||||
DispHTMLSelectElement_tid,
|
||||
DispHTMLStyle_tid,
|
||||
DispHTMLTable_tid,
|
||||
DispHTMLTableRow_tid,
|
||||
DispHTMLTextAreaElement_tid,
|
||||
DispHTMLUnknownElement_tid,
|
||||
DispHTMLWindow2_tid,
|
||||
HTMLDocumentEvents_tid,
|
||||
|
@ -108,13 +111,16 @@ typedef enum {
|
|||
IHTMLFormElement_tid,
|
||||
IHTMLFrameBase_tid,
|
||||
IHTMLFrameBase2_tid,
|
||||
IHTMLFrameElement3_tid,
|
||||
IHTMLGenericElement_tid,
|
||||
IHTMLIFrameElement_tid,
|
||||
IHTMLImageElementFactory_tid,
|
||||
IHTMLImgElement_tid,
|
||||
IHTMLInputElement_tid,
|
||||
IHTMLLocation_tid,
|
||||
IHTMLOptionElement_tid,
|
||||
IHTMLScreen_tid,
|
||||
IHTMLScriptElement_tid,
|
||||
IHTMLSelectElement_tid,
|
||||
IHTMLStyle_tid,
|
||||
IHTMLStyle2_tid,
|
||||
|
@ -122,6 +128,7 @@ typedef enum {
|
|||
IHTMLStyle4_tid,
|
||||
IHTMLTable_tid,
|
||||
IHTMLTableRow_tid,
|
||||
IHTMLTextAreaElement_tid,
|
||||
IHTMLTextContainer_tid,
|
||||
IHTMLUniqueName_tid,
|
||||
IHTMLWindow2_tid,
|
||||
|
@ -373,6 +380,7 @@ struct HTMLDocumentObj {
|
|||
IOleInPlaceSite *ipsite;
|
||||
IOleInPlaceFrame *frame;
|
||||
IOleInPlaceUIWindow *ip_window;
|
||||
IAdviseSink *view_sink;
|
||||
|
||||
DOCHOSTUIINFO hostinfo;
|
||||
|
||||
|
@ -487,6 +495,14 @@ typedef struct {
|
|||
nsIDOMHTMLElement *nselem;
|
||||
} HTMLElement;
|
||||
|
||||
#define HTMLELEMENT_TIDS \
|
||||
IHTMLDOMNode_tid, \
|
||||
IHTMLDOMNode2_tid, \
|
||||
IHTMLElement_tid, \
|
||||
IHTMLElement2_tid, \
|
||||
IHTMLElement3_tid, \
|
||||
IHTMLElement4_tid
|
||||
|
||||
typedef struct {
|
||||
HTMLElement element;
|
||||
|
||||
|
@ -696,7 +712,8 @@ void nsfree(void*);
|
|||
void nsACString_SetData(nsACString*,const char*);
|
||||
PRUint32 nsACString_GetData(const nsACString*,const char**);
|
||||
|
||||
void nsAString_Init(nsAString*,const PRUnichar*);
|
||||
BOOL nsAString_Init(nsAString*,const PRUnichar*);
|
||||
void nsAString_InitDepend(nsAString*,const PRUnichar*);
|
||||
void nsAString_SetData(nsAString*,const PRUnichar*);
|
||||
PRUint32 nsAString_GetData(const nsAString*,const PRUnichar**);
|
||||
void nsAString_Finish(nsAString*);
|
||||
|
|
|
@ -168,12 +168,12 @@ static BOOL handle_insert_comment(HTMLDocumentNode *doc, const PRUnichar *commen
|
|||
|
||||
memcpy(buf, ptr, (end-ptr)*sizeof(WCHAR));
|
||||
buf[end-ptr] = 0;
|
||||
nsAString_Init(&nsstr, buf);
|
||||
heap_free(buf);
|
||||
nsAString_InitDepend(&nsstr, buf);
|
||||
|
||||
/* FIXME: Find better way to insert HTML to document. */
|
||||
nsres = nsIDOMHTMLDocument_Write(doc->nsdoc, &nsstr);
|
||||
nsAString_Finish(&nsstr);
|
||||
heap_free(buf);
|
||||
if(NS_FAILED(nsres)) {
|
||||
ERR("Write failed: %08x\n", nsres);
|
||||
return FALSE;
|
||||
|
@ -322,6 +322,8 @@ static void parse_complete_proc(task_t *task)
|
|||
init_editor(&doc->basedoc);
|
||||
|
||||
call_explorer_69(doc);
|
||||
if(doc->view_sink)
|
||||
IAdviseSink_OnViewChange(doc->view_sink, DVASPECT_CONTENT, -1);
|
||||
call_property_onchanged(&doc->basedoc.cp_propnotif, 1005);
|
||||
call_explorer_69(doc);
|
||||
|
||||
|
@ -396,7 +398,7 @@ static nsresult NSAPI nsRunnable_Run(nsIRunnable *iface)
|
|||
static const PRUnichar remove_comment_magicW[] =
|
||||
{'#','!','w','i','n','e', 'r','e','m','o','v','e','!','#',0};
|
||||
|
||||
nsAString_Init(&magic_str, remove_comment_magicW);
|
||||
nsAString_InitDepend(&magic_str, remove_comment_magicW);
|
||||
nsres = nsIDOMComment_SetData(nscomment, &magic_str);
|
||||
nsAString_Finish(&magic_str);
|
||||
if(NS_FAILED(nsres))
|
||||
|
|
|
@ -52,13 +52,15 @@ struct nsCStringContainer {
|
|||
void *v;
|
||||
void *d1;
|
||||
PRUint32 d2;
|
||||
void *d3;
|
||||
PRUint32 d3;
|
||||
};
|
||||
|
||||
#define NS_STRING_CONTAINER_INIT_DEPEND 0x0002
|
||||
|
||||
static nsresult (*NS_InitXPCOM2)(nsIServiceManager**,void*,void*);
|
||||
static nsresult (*NS_ShutdownXPCOM)(nsIServiceManager*);
|
||||
static nsresult (*NS_GetComponentRegistrar)(nsIComponentRegistrar**);
|
||||
static nsresult (*NS_StringContainerInit)(nsStringContainer*);
|
||||
static nsresult (*NS_StringContainerInit2)(nsStringContainer*,const PRUnichar*,PRUint32,PRUint32);
|
||||
static nsresult (*NS_CStringContainerInit)(nsCStringContainer*);
|
||||
static nsresult (*NS_StringContainerFinish)(nsStringContainer*);
|
||||
static nsresult (*NS_CStringContainerFinish)(nsCStringContainer*);
|
||||
|
@ -194,7 +196,7 @@ static BOOL load_xpcom(const PRUnichar *gre_path)
|
|||
NS_DLSYM(NS_InitXPCOM2);
|
||||
NS_DLSYM(NS_ShutdownXPCOM);
|
||||
NS_DLSYM(NS_GetComponentRegistrar);
|
||||
NS_DLSYM(NS_StringContainerInit);
|
||||
NS_DLSYM(NS_StringContainerInit2);
|
||||
NS_DLSYM(NS_CStringContainerInit);
|
||||
NS_DLSYM(NS_StringContainerFinish);
|
||||
NS_DLSYM(NS_CStringContainerFinish);
|
||||
|
@ -424,7 +426,7 @@ static BOOL init_xpcom(const PRUnichar *gre_path)
|
|||
nsAString path;
|
||||
nsIFile *gre_dir;
|
||||
|
||||
nsAString_Init(&path, gre_path);
|
||||
nsAString_InitDepend(&path, gre_path);
|
||||
nsres = NS_NewLocalFile(&path, FALSE, &gre_dir);
|
||||
nsAString_Finish(&path);
|
||||
if(NS_FAILED(nsres)) {
|
||||
|
@ -555,11 +557,18 @@ static void nsACString_Finish(nsACString *str)
|
|||
NS_CStringContainerFinish(str);
|
||||
}
|
||||
|
||||
void nsAString_Init(nsAString *str, const PRUnichar *data)
|
||||
BOOL nsAString_Init(nsAString *str, const PRUnichar *data)
|
||||
{
|
||||
NS_StringContainerInit(str);
|
||||
if(data)
|
||||
nsAString_SetData(str, data);
|
||||
return NS_SUCCEEDED(NS_StringContainerInit2(str, data, PR_UINT32_MAX, 0));
|
||||
}
|
||||
|
||||
/*
|
||||
* Initializes nsAString with data owned by caller.
|
||||
* Caller must ensure that data is valid during lifetime of string object.
|
||||
*/
|
||||
void nsAString_InitDepend(nsAString *str, const PRUnichar *data)
|
||||
{
|
||||
NS_StringContainerInit2(str, data, PR_UINT32_MAX, NS_STRING_CONTAINER_INIT_DEPEND);
|
||||
}
|
||||
|
||||
void nsAString_SetData(nsAString *str, const PRUnichar *data)
|
||||
|
|
|
@ -236,6 +236,9 @@ static nsresult NSAPI handle_load(nsIDOMEventListener *iface, nsIDOMEvent *event
|
|||
set_ready_state(doc->basedoc.window, READYSTATE_COMPLETE);
|
||||
|
||||
if(doc == doc_obj->basedoc.doc_node) {
|
||||
if(doc_obj->view_sink)
|
||||
IAdviseSink_OnViewChange(doc_obj->view_sink, DVASPECT_CONTENT, -1);
|
||||
|
||||
if(doc_obj->frame) {
|
||||
static const WCHAR wszDone[] = {'D','o','n','e',0};
|
||||
IOleInPlaceFrame_SetStatusText(doc_obj->frame, wszDone);
|
||||
|
@ -316,7 +319,7 @@ static void init_event(nsIDOMEventTarget *target, const PRUnichar *type,
|
|||
nsAString type_str;
|
||||
nsresult nsres;
|
||||
|
||||
nsAString_Init(&type_str, type);
|
||||
nsAString_InitDepend(&type_str, type);
|
||||
nsres = nsIDOMEventTarget_AddEventListener(target, &type_str, listener, capture);
|
||||
nsAString_Finish(&type_str);
|
||||
if(NS_FAILED(nsres))
|
||||
|
|
|
@ -438,7 +438,7 @@ static nsresult NSAPI nsChannel_GetSecurityInfo(nsIHttpChannel *iface, nsISuppor
|
|||
{
|
||||
nsChannel *This = NSCHANNEL_THIS(iface);
|
||||
|
||||
FIXME("(%p)->(%p)\n", This, aSecurityInfo);
|
||||
TRACE("(%p)->(%p)\n", This, aSecurityInfo);
|
||||
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
|
|
@ -16,6 +16,13 @@
|
|||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "windef.h"
|
||||
#include "winuser.h"
|
||||
#include "commctrl.h"
|
||||
#include "mshtmcid.h"
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#define WINE_OLESELFREGISTER
|
||||
#define WINE_FILEDESCRIPTION_STR "Wine HTML Viewer"
|
||||
#define WINE_FILENAME_STR "mshtml.dll"
|
||||
|
@ -26,6 +33,32 @@
|
|||
|
||||
#include "wine/wine_common_ver.rc"
|
||||
|
||||
#include "Bg.rc"
|
||||
#include "Da.rc"
|
||||
#include "De.rc"
|
||||
#include "En.rc"
|
||||
#include "Es.rc"
|
||||
#include "Fi.rc"
|
||||
#include "Fr.rc"
|
||||
#include "Hu.rc"
|
||||
#include "It.rc"
|
||||
#include "Ja.rc"
|
||||
#include "Ko.rc"
|
||||
#include "Lt.rc"
|
||||
#include "Nl.rc"
|
||||
#include "No.rc"
|
||||
#include "Pl.rc"
|
||||
#include "Pt.rc"
|
||||
#include "Ro.rc"
|
||||
#include "Ru.rc"
|
||||
#include "Si.rc"
|
||||
#include "Sv.rc"
|
||||
#include "Tr.rc"
|
||||
#include "Uk.rc"
|
||||
#include "Zh.rc"
|
||||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
/* @makedep: mshtml.inf */
|
||||
REGINST REGINST mshtml.inf
|
||||
|
||||
|
|
|
@ -758,9 +758,9 @@ static BOOL get_script_guid(nsIDOMHTMLScriptElement *nsscript, GUID *guid)
|
|||
ERR("GetType failed: %08x\n", nsres);
|
||||
}
|
||||
|
||||
nsAString_Init(&attr_str, languageW);
|
||||
|
||||
nsAString_InitDepend(&attr_str, languageW);
|
||||
nsres = nsIDOMHTMLScriptElement_GetAttribute(nsscript, &attr_str, &val_str);
|
||||
nsAString_Finish(&attr_str);
|
||||
if(NS_SUCCEEDED(nsres)) {
|
||||
const PRUnichar *language;
|
||||
|
||||
|
@ -776,7 +776,6 @@ static BOOL get_script_guid(nsIDOMHTMLScriptElement *nsscript, GUID *guid)
|
|||
ERR("GetAttribute(language) failed: %08x\n", nsres);
|
||||
}
|
||||
|
||||
nsAString_Finish(&attr_str);
|
||||
nsAString_Finish(&val_str);
|
||||
|
||||
return ret;
|
||||
|
|
|
@ -1141,7 +1141,7 @@ static HRESULT WINAPI HTMLTxtRange_put_text(IHTMLTxtRange *iface, BSTR v)
|
|||
if(!This->doc)
|
||||
return MSHTML_E_NODOC;
|
||||
|
||||
nsAString_Init(&text_str, v);
|
||||
nsAString_InitDepend(&text_str, v);
|
||||
nsres = nsIDOMHTMLDocument_CreateTextNode(This->doc->nsdoc, &text_str, &text_node);
|
||||
nsAString_Finish(&text_str);
|
||||
if(NS_FAILED(nsres)) {
|
||||
|
|
|
@ -807,8 +807,19 @@ static HRESULT WINAPI ViewObject_Unfreeze(IViewObjectEx *iface, DWORD dwFreeze)
|
|||
static HRESULT WINAPI ViewObject_SetAdvise(IViewObjectEx *iface, DWORD aspects, DWORD advf, IAdviseSink *pAdvSink)
|
||||
{
|
||||
HTMLDocument *This = VIEWOBJ_THIS(iface);
|
||||
FIXME("(%p)->(%d %d %p)\n", This, aspects, advf, pAdvSink);
|
||||
return E_NOTIMPL;
|
||||
|
||||
TRACE("(%p)->(%d %d %p)\n", This, aspects, advf, pAdvSink);
|
||||
|
||||
if(aspects != DVASPECT_CONTENT || advf != ADVF_PRIMEFIRST)
|
||||
FIXME("unsuported arguments\n");
|
||||
|
||||
if(This->doc_obj->view_sink)
|
||||
IAdviseSink_Release(This->doc_obj->view_sink);
|
||||
if(pAdvSink)
|
||||
IAdviseSink_AddRef(pAdvSink);
|
||||
|
||||
This->doc_obj->view_sink = pAdvSink;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ViewObject_GetAdvise(IViewObjectEx *iface, DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink)
|
||||
|
|
|
@ -126,6 +126,11 @@
|
|||
#define DISPID_IE8_ELEMENTMAX (DISPID_SITE-1)
|
||||
#define DISPID_IE8_ELEMENT DISPID_IE8_ELEMENTBASE
|
||||
|
||||
#define DISPID_IE8_FRAMESITEBASE (DISPID_FRAMESITE+1120)
|
||||
#define DISPID_IE8_FRAMEMAX (WEBOC_DISPIDBASE-1)
|
||||
#define DISPID_IE8_FRAME DISPID_IE8_FRAMESITEBASE
|
||||
#define DISPID_IE8_IFRAME DISPID_IE8_FRAMESITEBASE
|
||||
|
||||
#define DISPID_COLLECTION (DISPID_NORMAL_FIRST+500)
|
||||
#define DISPID_OPTIONS_COL (DISPID_NORMAL_FIRST+500)
|
||||
#define DISPID_IMG (DISPID_IMGBASE+1000)
|
||||
|
@ -2487,6 +2492,9 @@
|
|||
/* IHTMLScriptElement2 */
|
||||
#define DISPID_IHTMLSCRIPTELEMENT2_CHARSET DISPID_SCRIPT+10
|
||||
|
||||
/* IHTMLScriptElement3 */
|
||||
#define DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC DISPID_IE8_SCRIPT
|
||||
|
||||
/* IHTMLFrameBase */
|
||||
#define DISPID_IHTMLFRAMEBASE_SRC DISPID_FRAMESITE+0
|
||||
#define DISPID_IHTMLFRAMEBASE_NAME STDPROPID_XOBJ_NAME
|
||||
|
@ -2508,6 +2516,19 @@
|
|||
/* IHTMLFrameBase3 */
|
||||
#define DISPID_IHTMLFRAMEBASE3_LONGDESC DISPID_FRAMESITE+10
|
||||
|
||||
/* IHTMLFrameElement */
|
||||
#define DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR DISPID_FRAME+1
|
||||
|
||||
/* IHTMLFrameElement2 */
|
||||
#define DISPID_IHTMLFRAMEELEMENT2_HEIGHT STDPROPID_XOBJ_HEIGHT
|
||||
#define DISPID_IHTMLFRAMEELEMENT2_WIDTH STDPROPID_XOBJ_WIDTH
|
||||
|
||||
/* IHTMLFrameElement3 */
|
||||
#define DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT DISPID_IE8_FRAME
|
||||
#define DISPID_IHTMLFRAMEELEMENT3_IE8_SRC DISPID_IE8_FRAME+1
|
||||
#define DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC DISPID_IE8_FRAME+2
|
||||
#define DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER DISPID_IE8_FRAME+3
|
||||
|
||||
/* IHTMLIFrameElement */
|
||||
#define DISPID_IHTMLIFRAMEELEMENT_VSPACE DISPID_IFRAME+1
|
||||
#define DISPID_IHTMLIFRAMEELEMENT_HSPACE DISPID_IFRAME+2
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2004-2007 Jacek Caban for CodeWeavers
|
||||
* Copyright 2004-2010 Jacek Caban for CodeWeavers
|
||||
* Copyright 2008 Konstantin Kondratyuk (Etersoft)
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
|
@ -2876,7 +2876,7 @@ interface IHTMLCurrentStyle4 : IDispatch
|
|||
|
||||
[propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
|
||||
HRESULT maxWidth([retval, out] VARIANT * p);
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* DispHTMLCurrentStyle dispinterface
|
||||
|
@ -5903,7 +5903,7 @@ coclass HTMLStyleSheetPage
|
|||
[default] dispinterface DispHTMLStyleSheetPage;
|
||||
interface IHTMLStyleSheetPage;
|
||||
interface IHTMLDOMConstructor;
|
||||
};
|
||||
}
|
||||
|
||||
[
|
||||
odl,
|
||||
|
@ -6702,7 +6702,7 @@ methods:
|
|||
|
||||
[id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
|
||||
VARIANT_BOOL onreset();
|
||||
};
|
||||
}
|
||||
|
||||
interface IHTMLEventObj;
|
||||
|
||||
|
@ -6905,7 +6905,7 @@ methods:
|
|||
|
||||
[id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
|
||||
VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
|
||||
};
|
||||
}
|
||||
|
||||
[
|
||||
noncreatable,
|
||||
|
@ -7365,7 +7365,7 @@ interface IHTMLControlElement : IDispatch
|
|||
|
||||
[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
|
||||
HRESULT clientLeft([retval, out] LONG * p);
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* IHTMLBodyElement interface
|
||||
|
@ -7634,7 +7634,7 @@ methods:
|
|||
|
||||
[propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
|
||||
VARIANT onafterprint();
|
||||
};
|
||||
}
|
||||
|
||||
[
|
||||
uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
|
||||
|
@ -7655,7 +7655,7 @@ coclass HTMLBody
|
|||
interface IHTMLTextContainer;
|
||||
interface IHTMLBodyElement;
|
||||
interface IHTMLBodyElement2;
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* IHTMLAnchorElement interface
|
||||
|
@ -8970,6 +8970,92 @@ interface IHTMLTextAreaElement : IDispatch
|
|||
HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* DispHTMLTextAreaElement dispinterface
|
||||
*/
|
||||
[
|
||||
hidden,
|
||||
uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
|
||||
]
|
||||
dispinterface DispHTMLTextAreaElement
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
|
||||
BSTR type();
|
||||
|
||||
[propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
|
||||
void value(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
|
||||
BSTR value();
|
||||
|
||||
[propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
|
||||
void name(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
|
||||
BSTR name();
|
||||
|
||||
[propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
|
||||
void status(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
|
||||
VARIANT status();
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
|
||||
IHTMLFormElement *form();
|
||||
|
||||
[propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
|
||||
void defaultValue(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
|
||||
BSTR defaultValue();
|
||||
|
||||
[id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
|
||||
void select();
|
||||
|
||||
[propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
|
||||
void onchange(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
|
||||
VARIANT onchange();
|
||||
|
||||
[propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
|
||||
void onselect(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
|
||||
VARIANT onselect();
|
||||
|
||||
[propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
|
||||
void readOnly(VARIANT_BOOL v);
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
|
||||
VARIANT_BOOL readOnly();
|
||||
|
||||
[propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
|
||||
void rows(LONG v);
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
|
||||
LONG rows();
|
||||
|
||||
[propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
|
||||
void cols(LONG v);
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
|
||||
LONG cols();
|
||||
|
||||
[propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
|
||||
void wrap(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
|
||||
BSTR wrap();
|
||||
|
||||
[id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
|
||||
IHTMLTxtRange *createTextRange();
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* DispHTMLUnknownElement interface
|
||||
*/
|
||||
|
@ -10245,7 +10331,7 @@ interface IHTMLWindow4 : IDispatch
|
|||
|
||||
[propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
|
||||
HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* IHTMLWindow5 interface
|
||||
|
@ -10263,7 +10349,7 @@ interface IHTMLWindow5 : IDispatch
|
|||
|
||||
[propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
|
||||
HRESULT XMLHttpRequest([retval, out] VARIANT * p);
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* DispHTMLScreen dispinterface
|
||||
|
@ -10902,7 +10988,7 @@ methods:
|
|||
|
||||
[propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
|
||||
VARIANT XMLHttpRequest();
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* HTMLWindowEvents interface
|
||||
|
@ -10949,7 +11035,7 @@ methods:
|
|||
|
||||
[id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
|
||||
void onafterprint();
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* HTMLWindowEvents2 interface
|
||||
|
@ -10996,7 +11082,7 @@ methods:
|
|||
|
||||
[id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
|
||||
void onafterprint([in] IHTMLEventObj* pEvtObj);
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* HTMLWindowProxy class
|
||||
|
@ -11013,7 +11099,7 @@ coclass HTMLWindowProxy
|
|||
interface IHTMLWindow3;
|
||||
interface IHTMLWindow4;
|
||||
interface IHTMLWindow5;
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* HTMLDocumentEvents2 interface
|
||||
|
@ -11473,7 +11559,7 @@ methods:
|
|||
|
||||
[id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
|
||||
void onselect();
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* HTMLTextContainerEvents2 interface
|
||||
|
@ -11677,7 +11763,7 @@ methods:
|
|||
|
||||
[id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
|
||||
void onselect([in] IHTMLEventObj* pEvtObj);
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* IHTMLDocument interface
|
||||
|
@ -13329,7 +13415,8 @@ methods:
|
|||
|
||||
[id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
|
||||
VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
|
||||
};
|
||||
}
|
||||
|
||||
[
|
||||
hidden,
|
||||
uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
|
||||
|
@ -13526,8 +13613,7 @@ methods:
|
|||
|
||||
[id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
|
||||
void onfocusout();
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
[
|
||||
noncreatable,
|
||||
|
@ -13943,7 +14029,7 @@ methods:
|
|||
|
||||
[id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
|
||||
VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
|
||||
};
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* IHTMLTableCaption interface
|
||||
|
@ -14153,7 +14239,7 @@ interface IHTMLTable2 : IDispatch
|
|||
HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
|
||||
[defaultvalue(-1), in] LONG indexTo,
|
||||
[retval, out] IDispatch** row);
|
||||
};
|
||||
}
|
||||
|
||||
[
|
||||
odl,
|
||||
|
@ -14168,7 +14254,7 @@ interface IHTMLTable3 : IDispatch
|
|||
|
||||
[propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
|
||||
HRESULT summary([retval, out] BSTR * p);
|
||||
};
|
||||
}
|
||||
|
||||
[
|
||||
noncreatable,
|
||||
|
@ -14191,7 +14277,7 @@ coclass HTMLTable
|
|||
interface IHTMLTable;
|
||||
interface IHTMLTable2;
|
||||
interface IHTMLTable3;
|
||||
};
|
||||
}
|
||||
|
||||
[
|
||||
odl,
|
||||
|
@ -14626,6 +14712,74 @@ interface IHTMLScriptElement2 : IDispatch
|
|||
HRESULT charset([retval, out] BSTR *p);
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* DispHTMLScriptElement dispinterface
|
||||
*/
|
||||
[
|
||||
hidden,
|
||||
uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
|
||||
]
|
||||
dispinterface DispHTMLScriptElement
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
WINE_HTMLELEMENT_DISPINTERFACE_DECL;
|
||||
|
||||
[propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
|
||||
void src(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
|
||||
BSTR src();
|
||||
|
||||
[propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
|
||||
void htmlFor(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
|
||||
BSTR htmlFor();
|
||||
|
||||
[propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
|
||||
void event(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
|
||||
BSTR event();
|
||||
|
||||
[propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
|
||||
void text(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
|
||||
BSTR text();
|
||||
|
||||
[propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
|
||||
void defer(VARIANT_BOOL v);
|
||||
|
||||
[propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
|
||||
VARIANT_BOOL defer();
|
||||
|
||||
[propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
|
||||
void onerror(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
|
||||
VARIANT onerror();
|
||||
|
||||
[propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
|
||||
void type(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
|
||||
BSTR type();
|
||||
|
||||
[propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
|
||||
void charset(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
|
||||
BSTR charset();
|
||||
|
||||
[propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
|
||||
void ie8_src(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)]
|
||||
BSTR ie8_src();
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* IHTMLFrameBase interface
|
||||
*/
|
||||
|
@ -14692,6 +14846,61 @@ interface IHTMLFrameBase : IDispatch
|
|||
HRESULT scrolling([out, retval] BSTR *p);
|
||||
}
|
||||
|
||||
#define WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL \
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_SRC)] \
|
||||
void src(BSTR v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_SRC)] \
|
||||
BSTR src(); \
|
||||
\
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_NAME)] \
|
||||
void name(BSTR v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_NAME)] \
|
||||
BSTR name(); \
|
||||
\
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_BORDER)] \
|
||||
void border(VARIANT v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_BORDER)] \
|
||||
VARIANT border(); \
|
||||
\
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)] \
|
||||
void frameBorder(BSTR v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)] \
|
||||
BSTR frameBorder(); \
|
||||
\
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)] \
|
||||
void frameSpacing(VARIANT v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)] \
|
||||
VARIANT frameSpacing(); \
|
||||
\
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)] \
|
||||
void marginWidth(VARIANT v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)] \
|
||||
VARIANT marginWidth(); \
|
||||
\
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)] \
|
||||
void marginHeight(VARIANT v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)] \
|
||||
VARIANT marginHeight(); \
|
||||
\
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)] \
|
||||
void noResize(VARIANT_BOOL v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)] \
|
||||
VARIANT_BOOL noResize(); \
|
||||
\
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)] \
|
||||
void scrolling(BSTR v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)] \
|
||||
BSTR scrolling()
|
||||
|
||||
/*****************************************************************************
|
||||
* IHTMLFrameBase2 interface
|
||||
*/
|
||||
|
@ -14728,6 +14937,152 @@ interface IHTMLFrameBase2 : IDispatch
|
|||
HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
|
||||
}
|
||||
|
||||
#define WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL \
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)] \
|
||||
IHTMLWindow2 *contentWindow(); \
|
||||
\
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
|
||||
void onload(VARIANT v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] \
|
||||
VARIANT onload(); \
|
||||
\
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)] \
|
||||
void allowTransparency(VARIANT_BOOL v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)] \
|
||||
VARIANT_BOOL allowTransparency()
|
||||
|
||||
#define WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL \
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
|
||||
void longDesc(BSTR v); \
|
||||
\
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] \
|
||||
BSTR longDesc()
|
||||
|
||||
|
||||
#define WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL \
|
||||
WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL; \
|
||||
WINE_IHTMLFRAMEBASE_DISPINTERFACE_DECL; \
|
||||
WINE_IHTMLFRAMEBASE2_DISPINTERFACE_DECL; \
|
||||
WINE_IHTMLFRAMEBASE3_DISPINTERFACE_DECL
|
||||
|
||||
/*****************************************************************************
|
||||
* IHTMLFrameElement3 interface
|
||||
*/
|
||||
[
|
||||
odl,
|
||||
oleautomation,
|
||||
dual,
|
||||
uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
|
||||
]
|
||||
interface IHTMLFrameElement3 : IDispatch
|
||||
{
|
||||
[propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
|
||||
HRESULT contentDocument([out, retval] IDispatch **p);
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
|
||||
HRESULT src([in] BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
|
||||
HRESULT src([out, retval] BSTR *p);
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
|
||||
HRESULT longDesc([in] BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
|
||||
HRESULT longDesc([out, retval] BSTR *p);
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
|
||||
HRESULT frameBorder([in] BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
|
||||
HRESULT frameBorder([out, retval] BSTR * p);
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* DispHTMLFrameElement dispinterface
|
||||
*/
|
||||
[
|
||||
hidden,
|
||||
uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
|
||||
]
|
||||
dispinterface DispHTMLFrameElement
|
||||
{
|
||||
properties:
|
||||
methods:
|
||||
WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
|
||||
void borderColor(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)]
|
||||
VARIANT borderColor();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
|
||||
void height(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)]
|
||||
VARIANT height();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
|
||||
void width(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)]
|
||||
VARIANT width();
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)]
|
||||
IDispatch *contentDocument();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
|
||||
void ie8_src(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)]
|
||||
BSTR ie8_src();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
|
||||
void ie8_longDesc(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)]
|
||||
BSTR ie8_longDesc();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
|
||||
void ie8_frameBorder(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)]
|
||||
BSTR ie8_frameBorder();
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* IHTMLIFrameElement interface
|
||||
*/
|
||||
[
|
||||
odl,
|
||||
oleautomation,
|
||||
dual,
|
||||
uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
|
||||
]
|
||||
interface IHTMLIFrameElement : IDispatch
|
||||
{
|
||||
[propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
|
||||
HRESULT vspace([in] LONG v);
|
||||
|
||||
[propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
|
||||
HRESULT vspace([retval, out] LONG *p);
|
||||
|
||||
[propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
|
||||
HRESULT hspace([in] LONG v);
|
||||
|
||||
[propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
|
||||
HRESULT hspace([retval, out] LONG *p);
|
||||
|
||||
[propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
|
||||
HRESULT align([in] BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
|
||||
HRESULT align([retval, out] BSTR *p);
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* DispHTMLIFrame dispinterface
|
||||
*/
|
||||
|
@ -14739,82 +15094,7 @@ dispinterface DispHTMLIFrame
|
|||
{
|
||||
properties:
|
||||
methods:
|
||||
WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
|
||||
void src(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
|
||||
BSTR src();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
|
||||
void name(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
|
||||
BSTR name();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
|
||||
void border(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
|
||||
VARIANT border();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
|
||||
void frameBorder(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
|
||||
BSTR frameBorder();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
|
||||
void frameSpacing(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
|
||||
VARIANT frameSpacing();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
|
||||
void marginWidth(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
|
||||
VARIANT marginWidth();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
|
||||
void marginHeight(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
|
||||
VARIANT marginHeight();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
|
||||
void noResize(VARIANT_BOOL v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
|
||||
VARIANT_BOOL noResize();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
|
||||
void scrolling(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
|
||||
BSTR scrolling();
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
|
||||
IHTMLWindow2 *contentWindow();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
|
||||
void onload(VARIANT v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
|
||||
VARIANT onload();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
|
||||
void allowTransparency(VARIANT_BOOL v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
|
||||
VARIANT_BOOL allowTransparency();
|
||||
|
||||
[propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
|
||||
void longDesc(BSTR v);
|
||||
|
||||
[propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
|
||||
BSTR longDesc();
|
||||
WINE_HTMLFRAMEBASE_DISPINTERFACE_DECL;
|
||||
|
||||
[propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
|
||||
void vspace(LONG v);
|
||||
|
|
Loading…
Reference in a new issue