[PATCH 02/11] mshtml: Implement IHTMLElement::toString.

Gabriel Ivăncescu gabrielopcode at gmail.com
Tue Sep 21 07:32:45 CDT 2021


On 20/09/2021 23:36, Jacek Caban wrote:
> Hi Gabriel,
> 
> On 9/20/21 4:46 PM, Gabriel Ivăncescu wrote:
>> +        memcpy(tmp, prefix, sizeof(prefix));
>> +        p = tmp + ARRAY_SIZE(prefix);
>> +        if(*str) {
>> +            *p++ = *str++;  /* copy first uppercase char */
>> +            while(*str)
>> +                *p++ = tolower(*str++);
>> +        }
>> +        memcpy(p, suffix, sizeof(suffix));
> 
> 
> This is very fragile, it would use "HTMLIframeElement" for example. We 
> could probably store a name of the object in dispex_static_data_t.
> 
> 
> Thanks,
> 
> Jacek
> 

But where would we even get the name from? In HTMLElement_Create, 
get_tag_desc is used for specific tags, which is similar, but the 
"fallback" goes to HTMLGenericElement_Create, since not all tags are 
included there. For example the "div" tag is not.

What do you think about using get_tag_desc instead (in toString), and 
extending that table to handle all supported tags? (of course, for 
"generic" tags, I'll use a NULL constructor).

Unless there's a better way to retrieve its name I'm not aware of? I 
don't think it's needed to store it in dispex_static_data_t if we can 
just look it up on demand though.

Thanks,
Gabriel



More information about the wine-devel mailing list