WebUserContentControllerDataTypes.cpp [plain text]
#include "config.h"
#include "WebUserContentControllerDataTypes.h"
#include "WebCoreArgumentCoders.h"
namespace WebKit {
void WebUserScriptData::encode(IPC::Encoder& encoder) const
{
encoder << identifier;
encoder << worldIdentifier;
encoder << userScript;
}
std::optional<WebUserScriptData> WebUserScriptData::decode(IPC::Decoder& decoder)
{
std::optional<uint64_t> identifier;
decoder >> identifier;
if (!identifier)
return std::nullopt;
std::optional<uint64_t> worldIdentifier;
decoder >> worldIdentifier;
if (!worldIdentifier)
return std::nullopt;
WebCore::UserScript userScript;
if (!decoder.decode(userScript))
return std::nullopt;
return {{ WTFMove(*identifier), WTFMove(*worldIdentifier), WTFMove(userScript) }};
}
void WebUserStyleSheetData::encode(IPC::Encoder& encoder) const
{
encoder << identifier;
encoder << worldIdentifier;
encoder << userStyleSheet;
}
std::optional<WebUserStyleSheetData> WebUserStyleSheetData::decode(IPC::Decoder& decoder)
{
std::optional<uint64_t> identifier;
decoder >> identifier;
if (!identifier)
return std::nullopt;
std::optional<uint64_t> worldIdentifier;
decoder >> worldIdentifier;
if (!worldIdentifier)
return std::nullopt;
WebCore::UserStyleSheet userStyleSheet;
if (!decoder.decode(userStyleSheet))
return std::nullopt;
return {{ WTFMove(*identifier), WTFMove(*worldIdentifier), WTFMove(userStyleSheet) }};
}
void WebScriptMessageHandlerData::encode(IPC::Encoder& encoder) const
{
encoder << identifier;
encoder << worldIdentifier;
encoder << name;
}
std::optional<WebScriptMessageHandlerData> WebScriptMessageHandlerData::decode(IPC::Decoder& decoder)
{
std::optional<uint64_t> identifier;
decoder >> identifier;
if (!identifier)
return std::nullopt;
std::optional<uint64_t> worldIdentifier;
decoder >> worldIdentifier;
if (!worldIdentifier)
return std::nullopt;
std::optional<String> name;
decoder >> name;
if (!name)
return std::nullopt;
return {{ WTFMove(*identifier), WTFMove(*worldIdentifier), WTFMove(*name) }};
}
}