[PATCH] mshtml: Add IHTMLDOMRange stub.

Nikolay Sivov nsivov at codeweavers.com
Thu Jun 27 05:47:14 CDT 2019


On 6/27/19 12:45 PM, Jacek Caban wrote:

> Hi Nikolay,
>
>
> On 27/06/2019 10:51, Nikolay Sivov wrote:
>> +    nsIDOMRange *nsrange;
>> +    HTMLDocumentNode *doc;
>> +
>> +    struct list entry;
>
>
> This object will probably not need document reference. Please remove 
> doc and range list, we can always add it if really needed.

Sure.

>
>
>> +static const tid_t HTMLDOMRange_iface_tids[] = {
>> +    IHTMLDOMRange_tid,
>> +    0
>> +};
>> +
>> +static dispex_static_data_t HTMLDOMRange_dispex = {
>> +    NULL,
>> +    IHTMLDOMRange_tid,
>> +    HTMLDOMRange_iface_tids
>> +};
>
>
> It's probably right, but it could use a test in dom.c with test_disp() 
> call.

This turned out to be wrong.

>
>
>> diff --git a/include/mshtml.idl b/include/mshtml.idl
>> index aea888b2b8..10eb3315b8 100644
>> --- a/include/mshtml.idl
>> +++ b/include/mshtml.idl
>> @@ -12220,13 +12220,13 @@ interface IHTMLDOMRange : IDispatch
>>       HRESULT startContainer([out, retval] IHTMLDOMNode **p);
>>         [propget, id(DISPID_IHTMLDOMRANGE_STARTOFFSET)]
>> -    HRESULT startOffset([out, retval] long *p);
>> +    HRESULT startOffset([out, retval] LONG *p);
>>         [propget, id(DISPID_IHTMLDOMRANGE_ENDCONTAINER)]
>>       HRESULT endContainer([out, retval] IHTMLDOMNode **p);
>>         [propget, id(DISPID_IHTMLDOMRANGE_ENDOFFSET)]
>> -    HRESULT endOffset([out, retval] long *p);
>> +    HRESULT endOffset([out, retval] LONG *p);
>>         [propget, id(DISPID_IHTMLDOMRANGE_COLLAPSED)]
>>       HRESULT collapsed([out, retval] VARIANT_BOOL *p);
>> @@ -12237,12 +12237,12 @@ interface IHTMLDOMRange : IDispatch
>>       [id(DISPID_IHTMLDOMRANGE_SETSTART)]
>>       HRESULT setStart(
>>           [in] IDispatch *refNode,
>> -        [in] long offset);
>> +        [in] LONG offset);
>>   -    [id(DISPID_IHTMLDOMRANGE_SETEND)] HRESULT
>> -    setEnd(
>> +    [id(DISPID_IHTMLDOMRANGE_SETEND)]
>> +    HRESULT setEnd(
>>           [in] IDispatch *refNode,
>> -        [in] long offset);
>> +        [in] LONG offset);
>>         [id(DISPID_IHTMLDOMRANGE_SETSTARTBEFORE)]
>>       HRESULT setStartBefore([in] IDispatch* refNode);
>> @@ -12269,7 +12269,7 @@ interface IHTMLDOMRange : IDispatch
>>       HRESULT compareBoundaryPoints(
>>           [in] short how,
>>           [in] IDispatch *sourceRange,
>> -        [out, retval] long *compareResult);
>> +        [out, retval] LONG *compareResult);
>>         [id(DISPID_IHTMLDOMRANGE_DELETECONTENTS)]
>>       HRESULT deleteContents();
>
>
> Please don't do that, widl can take care of long type.

Done.

>
>
> Thanks,
>
> Jacek
>



More information about the wine-devel mailing list