AssistedNodeInformation.cpp [plain text]
#include "config.h"
#include "AssistedNodeInformation.h"
#include "WebCoreArgumentCoders.h"
namespace WebKit {
#if PLATFORM(IOS)
void OptionItem::encode(IPC::Encoder& encoder) const
{
encoder << text;
encoder << isGroup;
encoder << isSelected;
encoder << disabled;
encoder << parentGroupID;
}
std::optional<OptionItem> OptionItem::decode(IPC::Decoder& decoder)
{
OptionItem result;
if (!decoder.decode(result.text))
return std::nullopt;
if (!decoder.decode(result.isGroup))
return std::nullopt;
if (!decoder.decode(result.isSelected))
return std::nullopt;
if (!decoder.decode(result.disabled))
return std::nullopt;
if (!decoder.decode(result.parentGroupID))
return std::nullopt;
return WTFMove(result);
}
void AssistedNodeInformation::encode(IPC::Encoder& encoder) const
{
encoder << elementRect;
encoder << selectionRect;
encoder << minimumScaleFactor;
encoder << maximumScaleFactor;
encoder << maximumScaleFactorIgnoringAlwaysScalable;
encoder << nodeFontSize;
encoder << hasNextNode;
encoder << nextNodeRect;
encoder << hasPreviousNode;
encoder << previousNodeRect;
encoder << isAutocorrect;
encoder << isRTL;
encoder.encodeEnum(autocapitalizeType);
encoder.encodeEnum(elementType);
encoder << formAction;
encoder << selectOptions;
encoder << selectedIndex;
encoder << isMultiSelect;
encoder << isReadOnly;
encoder << allowsUserScaling;
encoder << allowsUserScalingIgnoringAlwaysScalable;
encoder << insideFixedPosition;
encoder << value;
encoder << valueAsNumber;
encoder << title;
encoder << acceptsAutofilledLoginCredentials;
encoder << isAutofillableUsernameField;
encoder << representingPageURL;
encoder.encodeEnum(autofillFieldName);
encoder << placeholder;
encoder << label;
encoder << ariaLabel;
encoder << assistedNodeIdentifier;
}
bool AssistedNodeInformation::decode(IPC::Decoder& decoder, AssistedNodeInformation& result)
{
if (!decoder.decode(result.elementRect))
return false;
if (!decoder.decode(result.selectionRect))
return false;
if (!decoder.decode(result.minimumScaleFactor))
return false;
if (!decoder.decode(result.maximumScaleFactor))
return false;
if (!decoder.decode(result.maximumScaleFactorIgnoringAlwaysScalable))
return false;
if (!decoder.decode(result.nodeFontSize))
return false;
if (!decoder.decode(result.hasNextNode))
return false;
if (!decoder.decode(result.nextNodeRect))
return false;
if (!decoder.decode(result.hasPreviousNode))
return false;
if (!decoder.decode(result.previousNodeRect))
return false;
if (!decoder.decode(result.isAutocorrect))
return false;
if (!decoder.decode(result.isRTL))
return false;
if (!decoder.decodeEnum(result.autocapitalizeType))
return false;
if (!decoder.decodeEnum(result.elementType))
return false;
if (!decoder.decode(result.formAction))
return false;
if (!decoder.decode(result.selectOptions))
return false;
if (!decoder.decode(result.selectedIndex))
return false;
if (!decoder.decode(result.isMultiSelect))
return false;
if (!decoder.decode(result.isReadOnly))
return false;
if (!decoder.decode(result.allowsUserScaling))
return false;
if (!decoder.decode(result.allowsUserScalingIgnoringAlwaysScalable))
return false;
if (!decoder.decode(result.insideFixedPosition))
return false;
if (!decoder.decode(result.value))
return false;
if (!decoder.decode(result.valueAsNumber))
return false;
if (!decoder.decode(result.title))
return false;
if (!decoder.decode(result.acceptsAutofilledLoginCredentials))
return false;
if (!decoder.decode(result.isAutofillableUsernameField))
return false;
if (!decoder.decode(result.representingPageURL))
return false;
if (!decoder.decodeEnum(result.autofillFieldName))
return false;
if (!decoder.decode(result.placeholder))
return false;
if (!decoder.decode(result.label))
return false;
if (!decoder.decode(result.ariaLabel))
return false;
if (!decoder.decode(result.assistedNodeIdentifier))
return false;
return true;
}
#endif
}