[PATCH 1/2] mshtml: Reimplement IHTMLLocation::get_href
Andrew Eikum
aeikum at codeweavers.com
Fri Oct 16 12:41:54 CDT 2009
Jacek Caban wrote:
> Hi Andrew,
>
> Andrew Eikum wrote:
>> ---
>> dlls/mshtml/htmllocation.c | 93
>> +++++++++++++++++++++++++++++++++++--
>> dlls/mshtml/tests/htmllocation.c | 4 +-
>> 2 files changed, 90 insertions(+), 7 deletions(-)
>
> What's IHTMLDocument2::URL value in these cases? I'd expect it to be the
> same, which proves that get_hres is not the right place to reformat URL.
No, they're not quite the same. Using IE8, IHTMLDocument2::get_URL gives:
L"file://C:\\windows\\win.ini"
while IHTMLLocation::get_href gives:
L"file:///C:/windows/win.ini"
as shown in the tests.
> Also I think that what you can see is a result of using IUri interface
> for storing URL. Then the right way of fixing it would be to use it in
> our implementation (it was introduced in IE7 and our loading code is
> mostly compatible with IE6 ATM). We could add your code as a temporary
> hack if it would be needed for a real application. Is it a case?
>
I think it's likely that IHTMLLocation does use IUri. MSDN states that
IUri normalizes the URI, which would cause the change shown above.
Would you prefer some experimentation with IUri to see if they return
expected values, then implement IUri first and IHTMLLocation after? Or
continue with what I've got and move the logic to IUri later if that
turns out to be the case?
Andrew
More information about the wine-devel
mailing list