mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 22:27:35 +00:00
Ladybird+LibWeb: Add basic select element support
This commit is contained in:
parent
b439431488
commit
466153e680
28 changed files with 641 additions and 4 deletions
31
Userland/Libraries/LibWeb/HTML/SelectItem.cpp
Normal file
31
Userland/Libraries/LibWeb/HTML/SelectItem.cpp
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Copyright (c) 2023, Bastiaan van der Plaat <bastiaan.v.d.plaat@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include "SelectItem.h"
|
||||
#include <LibIPC/Decoder.h>
|
||||
#include <LibIPC/Encoder.h>
|
||||
|
||||
template<>
|
||||
ErrorOr<void> IPC::encode(Encoder& encoder, Web::HTML::SelectItem const& select_item)
|
||||
{
|
||||
TRY(encoder.encode(select_item.type));
|
||||
TRY(encoder.encode(select_item.label));
|
||||
TRY(encoder.encode(select_item.value));
|
||||
TRY(encoder.encode(select_item.items));
|
||||
TRY(encoder.encode(select_item.selected));
|
||||
return {};
|
||||
}
|
||||
|
||||
template<>
|
||||
ErrorOr<Web::HTML::SelectItem> IPC::decode(Decoder& decoder)
|
||||
{
|
||||
auto type = TRY(decoder.decode<Web::HTML::SelectItem::Type>());
|
||||
auto label = TRY(decoder.decode<Optional<String>>());
|
||||
auto value = TRY(decoder.decode<Optional<String>>());
|
||||
auto items = TRY(decoder.decode<Optional<Vector<Web::HTML::SelectItem>>>());
|
||||
auto selected = TRY(decoder.decode<bool>());
|
||||
return Web::HTML::SelectItem { type, move(label), move(value), move(items), selected };
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue