LibWeb: Enable in Windows CI

This commit is contained in:
ayeteadoe 2025-06-27 22:14:03 -07:00 committed by Andrew Kaster
parent c14173f651
commit dbba6c0df9
Notes: github-actions[bot] 2025-06-30 16:51:45 +00:00
6 changed files with 19 additions and 4 deletions

View file

@ -23,6 +23,7 @@ add_subdirectory(LibXML)
if (ENABLE_GUI_TARGETS) if (ENABLE_GUI_TARGETS)
add_subdirectory(LibGfx) add_subdirectory(LibGfx)
add_subdirectory(LibMedia) add_subdirectory(LibMedia)
add_subdirectory(LibWeb)
endif() endif()
# FIXME: Increase support for building targets on Windows # FIXME: Increase support for building targets on Windows
@ -33,8 +34,8 @@ endif()
add_subdirectory(LibLine) add_subdirectory(LibLine)
if (ENABLE_GUI_TARGETS) if (ENABLE_GUI_TARGETS)
# FIXME: TCPServer still needs to be implemented on Windows
add_subdirectory(LibDevTools) add_subdirectory(LibDevTools)
add_subdirectory(LibImageDecoderClient) add_subdirectory(LibImageDecoderClient)
add_subdirectory(LibWeb)
add_subdirectory(LibWebView) add_subdirectory(LibWebView)
endif() endif()

View file

@ -39,6 +39,11 @@ void TransportSocketWindows::close()
m_socket->close(); m_socket->close();
} }
void TransportSocketWindows::close_after_sending_all_pending_messages()
{
close();
}
void TransportSocketWindows::wait_until_readable() void TransportSocketWindows::wait_until_readable()
{ {
auto readable = MUST(m_socket->can_read_without_blocking(-1)); auto readable = MUST(m_socket->can_read_without_blocking(-1));

View file

@ -24,6 +24,7 @@ public:
void set_up_read_hook(Function<void()>); void set_up_read_hook(Function<void()>);
bool is_open() const; bool is_open() const;
void close(); void close();
void close_after_sending_all_pending_messages();
void wait_until_readable(); void wait_until_readable();

View file

@ -8,7 +8,11 @@
namespace Audio { namespace Audio {
#if !defined(AK_OS_WINDOWS)
ErrorOr<NonnullRefPtr<PlaybackStream>> __attribute__((weak)) PlaybackStream::create(OutputState, u32, u8, u32, AudioDataRequestCallback&&) ErrorOr<NonnullRefPtr<PlaybackStream>> __attribute__((weak)) PlaybackStream::create(OutputState, u32, u8, u32, AudioDataRequestCallback&&)
#else
ErrorOr<NonnullRefPtr<PlaybackStream>> PlaybackStream::create(OutputState, u32, u8, u32, AudioDataRequestCallback&&)
#endif
{ {
return Error::from_string_literal("Audio output is not available for this platform"); return Error::from_string_literal("Audio output is not available for this platform");
} }

View file

@ -313,7 +313,7 @@ void MessagePort::read_from_transport()
})); }));
}); });
if (schedule_shutdown == IPC::TransportSocket::ShouldShutdown::Yes) { if (schedule_shutdown == IPC::Transport::ShouldShutdown::Yes) {
queue_global_task(Task::Source::PostedMessage, relevant_global_object(*this), GC::create_function(heap(), [this] { queue_global_task(Task::Source::PostedMessage, relevant_global_object(*this), GC::create_function(heap(), [this] {
this->close(); this->close();
})); }));

View file

@ -414,7 +414,7 @@ static NamedCharacterReferenceCodepoints g_named_character_reference_codepoints_
generator.append(R"~~~(}; generator.append(R"~~~(};
struct DafsaNode { struct __attribute__((packed)) DafsaNode {
// The actual alphabet of characters used in the list of named character references only // The actual alphabet of characters used in the list of named character references only
// includes 61 unique characters ('1'...'8', ';', 'a'...'z', 'A'...'Z'), but we have // includes 61 unique characters ('1'...'8', ';', 'a'...'z', 'A'...'Z'), but we have
// bits to spare and encoding this as a `u8` allows us to avoid the need for converting // bits to spare and encoding this as a `u8` allows us to avoid the need for converting
@ -441,7 +441,11 @@ struct DafsaNode {
// There are 3872 nodes in our DAFSA, so all indexes could fit in a u12. // There are 3872 nodes in our DAFSA, so all indexes could fit in a u12.
u16 child_index : 14; u16 child_index : 14;
}; };
static_assert(sizeof(DafsaNode) == 4); #if !defined(AK_OS_WINDOWS)
static_assert(sizeof(DafsaNode) == 4);
#else
static_assert(sizeof(DafsaNode) == 5);
#endif
static DafsaNode g_named_character_reference_dafsa[] = { static DafsaNode g_named_character_reference_dafsa[] = {
{ 0, 0, false, true, 1 }, { 0, 0, false, true, 1 },