Commit graph

159409 commits

Author SHA1 Message Date
Gabriel Ivăncescu a35462679a mshtml: Implement length prop for Storage.
`length` for localStorage is not updated immediately on native, which
suggests some caching is involved for a period of time (probably for
performance reasons to avoid reading the file everytime the prop is read),
or it doesn't block like the rest since the write is asynchronous, making
it unreliable to test, which is why the tests for it are basic.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-08-27 16:53:46 +02:00
Gabriel Ivăncescu 31b6138db4 mshtml: Implement key() for localStorage.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-08-27 16:53:46 +02:00
Gabriel Ivăncescu 2834119a43 mshtml: Implement key() for sessionStorage.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-08-27 16:53:46 +02:00
Gabriel Ivăncescu 102e62332a mshtml: Implement clear() for Storage.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-08-27 16:53:46 +02:00
Gabriel Ivăncescu adc5bcba57 mshtml: Implement removeItem() for sessionStorage.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-08-27 16:53:46 +02:00
Gabriel Ivăncescu 1a5cddc1da mshtml: Implement getItem() for sessionStorage.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-08-27 16:53:46 +02:00
Gabriel Ivăncescu 3ba9c760df mshtml: Implement setItem() for sessionStorage.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2022-08-27 16:53:46 +02:00
Jacek Caban b348930547 user32: Build with nameless structs and unions. 2022-08-27 16:53:33 +02:00
Jacek Caban f2c55128c8 user32: Merge win.h into user_private.h. 2022-08-27 16:53:33 +02:00
Jacek Caban eb817e1f20 user32: Remove no longer user get_hwnd_message_parent. 2022-08-27 16:53:33 +02:00
Jacek Caban 3ba583fde8 win32u: Introduce NtUserActivateOtherWindow.
And use it instead of WINPOS_ActivateOtherWindow.
2022-08-27 16:53:30 +02:00
Jacek Caban 803a5f0789 win32u: Move NtUserPerMonitorDPIPhysicalToLogicalPoint implementation from user32. 2022-08-27 16:53:28 +02:00
Jacek Caban 352e24dcdf win32u: Move NtUserLogicalToPerMonitorDPIPhysicalPoint implementation from user32. 2022-08-27 16:53:27 +02:00
Jacek Caban fd38290918 user32: Remove no longer used DPI functions. 2022-08-27 16:53:27 +02:00
Huw Davies d6dce27e42 wow64: Fix another ARM32 machine type. 2022-08-27 16:53:19 +02:00
Nikolay Sivov 4690a7df51 mfplat: Partially implement MFInitMediaTypeFromAMMediaType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-27 16:53:13 +02:00
Nikolay Sivov 1e2f552428 mfplat: Partially implement MFInitMediaTypeFromVideoInfoHeader().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-27 16:53:13 +02:00
Nikolay Sivov 43e70580f4 mfplat/tests: Add some tests for legacy media type conersion functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-27 16:53:09 +02:00
André Zwing 9eaeebf039 wow64: Fix the ARM32 machine type. 2022-08-25 14:35:58 -05:00
Loïc Rebmeister ddb0339fa1 wintypes: Add RoResolveNamespace stub.
Signed-off-by: Loïc Rebmeister <fox2code@gmail.com>
2022-08-25 12:01:35 -05:00
Brendan Shanks 42f9a8ef79 shell32: Return NULL from ExtractIcon() for all error cases. 2022-08-25 11:58:05 -05:00
Brendan Shanks 584eb4e804 shell32/tests: Test ExtractIcon() with an empty/invalid path. 2022-08-25 11:58:05 -05:00
Gijs Vermeulen a9ed113347 kernel32: Add SetProcessDefaultCpuSets stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53589
2022-08-25 11:57:24 -05:00
Jacek Caban 0739aa610c user32: Pass resource ID as a string in DIALOG_CreateControls32.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53566
2022-08-25 11:57:24 -05:00
Jacek Caban 2e9c40d50a user32: Support passing bitmap and icon resource ID as a string when creating static control. 2022-08-25 11:57:21 -05:00
Jacek Caban f28824eb58 user32: Support resource ID strings in CREATESTRUCT Unicode conversion. 2022-08-25 11:56:22 -05:00
Alexandre Julliard 5e0d56e7e7 gitlab: Add macOS build. 2022-08-25 11:51:42 -05:00
Rémi Bernon 4e55dfb7c5 qasf/tests: Test ASF Reader filter threading wrt. ReceiveCanBlock. 2022-08-24 14:58:06 -05:00
Rémi Bernon 31add29f54 qasf/tests: Test ASF Reader filter initial state and pins. 2022-08-24 14:58:06 -05:00
Piotr Caban d22275a1dc msvcr100: Set scheduler in tasks created with ScheduleTask function. 2022-08-24 12:27:43 -05:00
Torge Matthies 581a35d1bf msvcr100: Implement _StructuredTaskCollection::_Schedule and _Schedule_loc.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2022-08-24 12:27:23 -05:00
Torge Matthies e704c44542 msvcr100: Factor out the mapping of a context to a scheduler.
Signed-off-by: Torge Matthies <tmatthies@codeweavers.com>
2022-08-24 12:27:23 -05:00
Jinoh Kang a115feab9c server: Always prefer synchronous I/O in nonblocking mode.
foobar2000.exe's UPnP Media Renderer component (foo_out_upnp.dll)
expects that, if a select() call completes successfully with a non-empty
writefds set, any immediately following send() call on a socket in the
writefds set never fails with WSAEWOULDBLOCK.

On Wine, the Winsock select() and send() implementations both call the
Unix poll(2) under the hood to test if I/O is possible on the socket.
As it turns out, it's entirely possible that Linux poll() may yield
POLLOUT on the first call (by select) but *not* the second (by send),
even if no send() call has been made in the meanwhile.

On Linux (as of v5.19), a connected (ESTABLISHED) TCP socket that has
not been shut down indicates (E)POLLOUT only if the ratio of
sk_wmem_queued (the amount of bytes queued in the send buffer) to
sk_sndbuf (the size of send buffer size itself, which can be retrieved
via SO_SNDBUF) is below a certain threshold.  Therefore, a falling edge
in POLLOUT can be triggered due to a number of reasons:

1. TCP fragmentation.  Once a TCP packet is split out from a larger
   sk_buff, it incurs extra bookkeeping overhead (e.g. sk_buff header)
   that is counted in sk_wmem_queued alongside application data.
   See also: tcp_fragment(), tso_fragment() (Linux 5.19).

2. Control packets (e.g. MTU probing).  Such packets share the same
   buffer with application-initiated packets, and thus counted in
   sk_wmem_queued.
   See also: sk_wmem_queued_add() callers (Linux 5.19).

3. Memory pressure.  This causes sk_sndbuf to shrink.
   See also: sk_stream_moderate_sndbuf() callers (Linux 5.19).

Fix this by always attempting synchronous I/O first if req->force_async
is unset and the nonblocking flag is set.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53486
2022-08-24 09:06:37 -05:00
Jinoh Kang 13fb500cbb server: Use check_fd_events() instead of calling poll() directly. 2022-08-24 09:06:37 -05:00
Jinoh Kang 78f1dd8967 server: Use POLLIN instead of POLLPRI if the socket is in oobinline mode. 2022-08-24 09:06:37 -05:00
Davide Beatrici 189f8941b7 winepulse: Switch to mmdevapi's unixlib.h. 2022-08-24 09:06:16 -05:00
Davide Beatrici 13fa7a57df winepulse: Adapt "get_prop_value_params" struct to mmdevapi's. 2022-08-24 09:06:15 -05:00
Davide Beatrici ee59aba200 winepulse: Adapt "is_started_params" struct to mmdevapi's. 2022-08-24 09:06:15 -05:00
Davide Beatrici aef3a3b3b9 winepulse: Adapt "get_device_period_params" struct to mmdevapi's. 2022-08-24 09:06:15 -05:00
Davide Beatrici 005123ba5d winepulse: Adapt "get_mix_format_params" struct to mmdevapi's. 2022-08-24 09:06:15 -05:00
Davide Beatrici d270dca89e winepulse: Adapt "get_capture_buffer_params" struct to mmdevapi's. 2022-08-24 09:06:15 -05:00
Davide Beatrici 83e0d1fe88 winepulse: Adapt "release_render_buffer_params" struct to mmdevapi's. 2022-08-24 09:06:15 -05:00
Davide Beatrici f5d829232c winepulse: Adapt "release_stream_params" struct to mmdevapi's. 2022-08-24 09:06:14 -05:00
Davide Beatrici 23fadaadee winepulse: Adapt "create_stream_params" struct to mmdevapi's. 2022-08-24 09:06:14 -05:00
Davide Beatrici 850a261112 winepulse: Adapt "endpoint" struct to mmdevapi's. 2022-08-24 09:06:14 -05:00
Zhiyi Zhang 4f00a1f9e2 ddraw: Don't report unsupported device capabilities in d3d3_EnumDevices(). 2022-08-24 09:05:47 -05:00
Zhiyi Zhang 6c391ac139 ddraw: Don't report unsupported device capabilities in d3d7_EnumDevices().
Fix Battle Realms: Zen Edition failing to start. The game expects to find a device without
D3DDEVCAPS_HWTRANSFORMANDLIGHT.
2022-08-24 09:05:45 -05:00
Zhiyi Zhang 0868bed180 ddraw/tests: Add more capability tests for enumerated devices.
Add tests for D3DDEVCAPS_HWTRANSFORMANDLIGHT and D3DDEVCAPS_DRAWPRIMITIVES2EX.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2022-08-24 09:05:42 -05:00
Zhiyi Zhang 3c899df3b5 ddraw/tests: Move the capability tests for enumerated devices.
Move the capability tests for enumerated devices from d3d.c to ddraw{1,2,4}.c.
2022-08-24 09:05:38 -05:00
Zhiyi Zhang 21beb2a8c7 ddraw/tests: Add a comment to note that tests in d3d.c are deprecated.
And new tests should be added to tests/ddraw{1,2,4,7}.c.
2022-08-24 09:05:36 -05:00