[PATCH v2 01/16] mshtml: Add names for each object and use it in the Navigator.
Gabriel Ivăncescu
gabrielopcode at gmail.com
Wed Oct 6 07:35:57 CDT 2021
On 05/10/2021 22:18, Jacek Caban wrote:
> On 10/5/21 4:18 PM, Gabriel Ivăncescu wrote:
>> Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
>> ---
>>
>> All the names match native, and will be tested later when more are
>> implemented.
>>
>> dlls/mshtml/dispex.c | 29 +++++++++++++++++++++++++++++
>> dlls/mshtml/htmlanchor.c | 1 +
>> dlls/mshtml/htmlarea.c | 1 +
>> dlls/mshtml/htmlattr.c | 1 +
>> dlls/mshtml/htmlbody.c | 1 +
>> dlls/mshtml/htmlcomment.c | 1 +
>> dlls/mshtml/htmlcurstyle.c | 1 +
>> dlls/mshtml/htmldoc.c | 2 ++
>> dlls/mshtml/htmlelem.c | 6 ++++++
>> dlls/mshtml/htmlelemcol.c | 1 +
>> dlls/mshtml/htmlevent.c | 6 ++++++
>> dlls/mshtml/htmlform.c | 1 +
>> dlls/mshtml/htmlframe.c | 2 ++
>> dlls/mshtml/htmlgeneric.c | 1 +
>> dlls/mshtml/htmlhead.c | 4 ++++
>> dlls/mshtml/htmlimg.c | 2 ++
>> dlls/mshtml/htmlinput.c | 3 +++
>> dlls/mshtml/htmllink.c | 1 +
>> dlls/mshtml/htmllocation.c | 1 +
>> dlls/mshtml/htmlnode.c | 2 ++
>> dlls/mshtml/htmlobject.c | 2 ++
>> dlls/mshtml/htmlscript.c | 1 +
>> dlls/mshtml/htmlselect.c | 3 +++
>> dlls/mshtml/htmlstorage.c | 1 +
>> dlls/mshtml/htmlstyle.c | 2 ++
>> dlls/mshtml/htmlstyleelem.c | 1 +
>> dlls/mshtml/htmlstylesheet.c | 4 ++++
>> dlls/mshtml/htmltable.c | 3 +++
>> dlls/mshtml/htmltextarea.c | 1 +
>> dlls/mshtml/htmltextnode.c | 1 +
>> dlls/mshtml/htmlwindow.c | 1 +
>> dlls/mshtml/mshtml_private.h | 2 ++
>> dlls/mshtml/omnavigator.c | 18 ++++++++++++------
>> dlls/mshtml/range.c | 2 ++
>> dlls/mshtml/selection.c | 1 +
>> dlls/mshtml/xmlhttprequest.c | 2 ++
>> 36 files changed, 106 insertions(+), 6 deletions(-)
>>
>> diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c
>> index 64ead8f..26aab5e 100644
>> --- a/dlls/mshtml/dispex.c
>> +++ b/dlls/mshtml/dispex.c
>> @@ -886,6 +886,7 @@ static const dispex_static_data_vtbl_t
>> function_dispex_vtbl = {
>> static const tid_t function_iface_tids[] = {0};
>> static dispex_static_data_t function_dispex = {
>> + NULL,
>
>
> The patch looks mostly good, but we're so close to having those names
> for all objects, that I think it would be best to do it a be able to
> assume that all objects have name in their description. In this case I
> believe that this should be "Function". I have suggestions for missing
> ones bellow.
>
>
>> static dispex_static_data_t HTMLCommentElement_dispex = {
>> + NULL,
>> NULL,
>> DispHTMLCommentElement_tid,
>> HTMLCommentElement_iface_tids,
>
>
> if(v >= 9) {
> document.body.innerHTML = "<!--...-->";
> test("comment", document.body.firstChild, "Comment");
> }
> >
Sounds good to me but I ran into a problem. The comment test is right,
of course, but giving it the proper name makes a test fail in dom.c,
namely test_doctype.
That one expects its value to always be [object], even in IE9+ mode,
implicitly via test_elem_type. However, toString also returns the same
thing (see attached diff). And I can't separate the tests in
test_elem_type, it already tests for [object].
Now from what I can see, a simple solution would be to add a "value"
override in the vtbl for HTMLCommentElement, since toString is based on
it, and have it return [object] for doctypes. But how do I check if the
comment element is a doctype or a "normal" comment?
Thanks,
Gabriel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.diff
Type: text/x-patch
Size: 937 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20211006/42f0ef66/attachment.bin>
More information about the wine-devel
mailing list