UserContentControllerParameters.cpp [plain text]
#include "config.h"
#include "UserContentControllerParameters.h"
#include "ArgumentCoders.h"
#include "Decoder.h"
#include "Encoder.h"
namespace WebKit {
void UserContentControllerParameters::encode(IPC::Encoder& encoder) const
{
encoder << identifier;
encoder << userContentWorlds;
encoder << userScripts;
encoder << userStyleSheets;
encoder << messageHandlers;
#if ENABLE(CONTENT_EXTENSIONS)
encoder << contentRuleLists;
#endif
}
Optional<UserContentControllerParameters> UserContentControllerParameters::decode(IPC::Decoder& decoder)
{
Optional<UserContentControllerIdentifier> identifier;
decoder >> identifier;
if (!identifier)
return WTF::nullopt;
Optional<Vector<std::pair<ContentWorldIdentifier, String>>> userContentWorlds;
decoder >> userContentWorlds;
if (!userContentWorlds)
return WTF::nullopt;
Optional<Vector<WebUserScriptData>> userScripts;
decoder >> userScripts;
if (!userScripts)
return WTF::nullopt;
Optional<Vector<WebUserStyleSheetData>> userStyleSheets;
decoder >> userStyleSheets;
if (!userStyleSheets)
return WTF::nullopt;
Optional<Vector<WebScriptMessageHandlerData>> messageHandlers;
decoder >> messageHandlers;
if (!messageHandlers)
return WTF::nullopt;
#if ENABLE(CONTENT_EXTENSIONS)
Optional<Vector<std::pair<String, WebCompiledContentRuleListData>>> contentRuleLists;
decoder >> contentRuleLists;
if (!contentRuleLists)
return WTF::nullopt;
#endif
return {{
WTFMove(*identifier),
WTFMove(*userContentWorlds),
WTFMove(*userScripts),
WTFMove(*userStyleSheets),
WTFMove(*messageHandlers),
#if ENABLE(CONTENT_EXTENSIONS)
WTFMove(*contentRuleLists),
#endif
}};
}
}