Commit Graph

60 Commits

Author SHA1 Message Date
Gabriel Ivăncescu 6843cecb53 urlmon: Return the currently set user agent when 'version' is invalid.
ObtainUserAgentString returns the currently set (custom) user agent unless
the version requested is a valid one (7, 8, ... 11, or 7 | UAS_EXACTLEGACY),
in which case it uses that version to build the user agent.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 21:14:59 +02:00
Gabriel Ivăncescu 735ac6eb8f urlmon: Add basic implementation of MapBrowserEmulationModeToUserAgent.
This is necessary for mshtml's navigator userAgent to work properly, since
some apps expect it.

The second argument seems to be output pointer that gets allocated (by
CoTaskMemAlloc, or something compatible with it), but the first argument
seems to be a pointer to an unknown struct, which makes it almost impossible
to guess reliably what it does by just inspecting its behavior...

Thankfully, it seems only the first DWORD field is necessary for
this. Changing it returns the user agent for that given mode, if the rest
is zeros.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 21:14:48 +02:00
Eric Pouech 5d09d6d437 urlmon: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-18 11:03:22 +01:00
Jacek Caban 5d11104689 include: Add UAS_EXACTLEGACY define.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:55:41 +01:00
Jacek Caban c034da78df urlmon: Fix user agent suffix separator handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:55:41 +01:00
Jacek Caban 3d95eef66f urlmon: Support version option in ObtainUserAgentString.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 19:48:12 +01:00
Jacek Caban 8efbff575a urlmon: Directly use otain_user_agent in ObtainUserAgentString.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 19:48:10 +01:00
Jacek Caban 16a7293f37 urlmon: Factor out obtain_user_agent.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 19:48:08 +01:00
Jacek Caban 266dc7e8e9 urlmon: Make default user agent compatible with IE11.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 19:48:05 +01:00
Michael Stefaniuc 79181a1d1d urlmon: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 20:18:39 +01:00
Alexandre Julliard 42d2477edf urlmon: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-24 10:31:19 +02:00
Nikolay Sivov 8665a60680 urlmon: Use ARRAY_SIZE() macro.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 22:20:59 +02:00
Jacek Caban 097811f251 urlmon: Use COM aggregation for urlmon protocols in BindProtocol::StartEx.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-09 19:47:28 +02:00
Jacek Caban 03183590bf urlmon: Don't store IWinInetInfo reference in BindProtocol.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-08 20:29:36 +02:00
Jacek Caban eb5f7531ac urlmon: Include 'x64' token in user agent string on win64.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-09 23:10:06 +09:00
Jacek Caban aab72aa943 urlmon: Don't include 'Win32' token in user agent string.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-09 23:10:06 +09:00
Jacek Caban e385df0b8e urlmon: Update existing session if user agent changes. 2014-11-05 21:02:02 +09:00
Jacek Caban 7226c49098 urlmon: Include values from 'Post Platform' registry key in user agent string. 2013-10-01 17:32:17 +02:00
Jacek Caban 6f9e330838 urlmon: Build more appropriate user agent string.
The registry value we used previously seems to be ignored by recent IEs.
2012-04-06 20:14:52 +02:00
Piotr Caban 59c9b1070c urlmon: Make name spaces comparison case insensitive. 2012-03-15 19:55:24 +01:00
Piotr Caban be4192510d urlmon: Search for MIME filters defined in registry in get_mime_filter. 2012-03-13 17:44:34 +01:00
Piotr Caban b36cb0b94d urlmon: Clean session related data in free_session function. 2012-03-13 17:44:33 +01:00
Piotr Caban e804d0915a urlmon: Use wine lists to store namespaces and MIME filters. 2012-03-13 17:44:33 +01:00
Michael Stefaniuc c41cf7d6a5 urlmon: COM cleanup for the IInternetProtocolEx iface. 2011-01-12 11:32:17 +01:00
Jacek Caban 682dc4d6f8 urlmon: Store object instead of interface pointer to BindProtocol in Binding object. 2011-01-11 11:23:01 +01:00
Jacek Caban fcc1dd01f7 urlmon: Make get_protocol_handler IUri-based. 2010-11-15 15:03:28 +01:00
Jacek Caban b54ac3c628 urlmon: Store BindProtocol as IInternetProtocolEx. 2010-11-15 15:03:22 +01:00
Jacek Caban a7852b5128 urlmon: Return correct error in get_protocol_handler for unknown protocol types. 2010-10-06 14:43:17 +02:00
Jacek Caban 09436d69f1 urlmon: Use one wininet internet handle for all connections. 2009-08-03 15:00:02 +02:00
Jacek Caban cef7e04f18 urlmon: Added ObtainUserAgentString implementation. 2009-06-29 12:25:27 +02:00
Jacek Caban e237c127c1 urlmon: Added UrlMkSetSessionOption(URLMON_OPTION_USERAGENT) implementation. 2009-06-29 12:25:15 +02:00
Jacek Caban 1880de044c urlmon: Added UrlMkSetSessionOption(URLMON_OPTION_USERAGENT) implementation. 2009-06-29 12:25:08 +02:00
Jacek Caban 9edd40fdc2 urlmon: Added support for MIME filters. 2009-05-19 11:58:52 +02:00
Jacek Caban 67d2fdc34a urlmon: Added IWinInetHttpInfo support to Binding object. 2009-03-30 15:09:39 +02:00
Jacek Caban a821cc34f6 urlmon: Make session object thread safe. 2008-02-21 13:52:18 +01:00
Jacek Caban a23a36077c urlmon: Optimize get_protocol_info for urlmon protocols. 2008-02-21 13:52:15 +01:00
Jacek Caban 2b90a7d6d5 urlmon: Optimize registering urlmon protocols. 2008-02-21 13:52:13 +01:00
Jacek Caban 60b0539c87 urlmon: Added HlinkParseDisplayNameEx implementation. 2008-02-04 11:28:02 +01:00
Jacek Caban 1ca205525c urlmon: Use BindProtocol in Binding object. 2007-12-31 16:48:31 +01:00
Jacek Caban 8a669c9a19 urlmon: Added [Un]RegisterMimeFilter implementation. 2007-12-28 11:29:39 +01:00
Jacek Caban 96be709c2e urlmon: RegisterNameSpace clean up. 2007-12-28 11:29:33 +01:00
Jacek Caban 7a2a6f4e0d urlmon: Includes clean up. 2007-12-14 12:24:51 +01:00
Michael Stefaniuc 2ad6cc19b7 urlmon: Rename the wrappers around HeapAlloc() &Co to use the new standard naming. 2007-11-30 12:43:42 +01:00
Jacek Caban 03218d6d2c urlmon: Wrap heap functions. 2007-11-26 12:35:28 +01:00
Misha Koshelev 414ddfa671 urlmon: If we are using an internal protocol ClassFactory, call its AddRef as the caller must Release the object. 2007-07-24 12:32:42 +02:00
Jacek Caban d31969b5e6 urlmon: Check if protocol object implements IInternetProtocolInfo interface. 2007-02-23 11:24:01 +01:00
Jacek Caban 76b821bdd7 urlmon: Call AddRef in CoInternetGetSession. 2007-02-05 12:24:12 +01:00
Jacek Caban 87de64227a urlmon: Return CLSID from get_protocol_handler. 2007-01-24 12:00:46 +01:00
Jacek Caban e40f814be0 urlmon: Added IInternetSession::CreateBinding beginning implementation. 2007-01-24 11:59:34 +01:00
Jacek Caban 7e340f8f62 urlmon: Win64 printf format warning fixes. 2006-10-06 12:47:59 +02:00