ladybird/Libraries/LibWebView/DOMNodeProperties.cpp
Timothy Flynn daca9f5995 LibDevTools+LibWebView+WebContent: Selectively fetch DOM node properties
When we inspect a DOM node, we currently serialize many properties for
that node, including its layout, computed style, used fonts, etc. Now
that we aren't piggy-backing on the Inspector interface, we can instead
only serialize the specific information required by DevTools.
2025-03-20 09:01:26 +01:00

26 lines
694 B
C++

/*
* Copyright (c) 2025, Tim Flynn <trflynn89@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibIPC/Decoder.h>
#include <LibIPC/Encoder.h>
#include <LibWebView/DOMNodeProperties.h>
template<>
ErrorOr<void> IPC::encode(Encoder& encoder, WebView::DOMNodeProperties const& attribute)
{
TRY(encoder.encode(attribute.type));
TRY(encoder.encode(attribute.properties));
return {};
}
template<>
ErrorOr<WebView::DOMNodeProperties> IPC::decode(Decoder& decoder)
{
auto type = TRY(decoder.decode<WebView::DOMNodeProperties::Type>());
auto properties = TRY(decoder.decode<JsonValue>());
return WebView::DOMNodeProperties { type, move(properties) };
}