AssistedNodeInformation.h [plain text]
#ifndef AssistedNodeInformation_h
#define AssistedNodeInformation_h
#include "ArgumentCoders.h"
#include <WebCore/IntRect.h>
#include <WebCore/WebAutocapitalize.h>
#include <wtf/text/WTFString.h>
namespace WebKit {
enum class InputType {
None,
ContentEditable,
Text,
Password,
TextArea,
Search,
Email,
URL,
Phone,
Number,
NumberPad,
Date,
DateTime,
DateTimeLocal,
Month,
Week,
Time,
Select
};
#if PLATFORM(IOS)
struct OptionItem {
OptionItem()
: isGroup(false)
, isSelected(false)
, disabled(false)
, parentGroupID(0)
{
}
OptionItem(const OptionItem& item)
: text(item.text)
, isGroup(item.isGroup)
, isSelected(item.isSelected)
, disabled(item.disabled)
, parentGroupID(item.parentGroupID)
{
}
OptionItem(const String& text, bool isGroup, int parentID, bool selected, bool disabled)
: text(text)
, isGroup(isGroup)
, isSelected(selected)
, disabled(disabled)
, parentGroupID(parentID)
{
}
String text;
bool isGroup;
bool isSelected;
bool disabled;
int parentGroupID;
void encode(IPC::ArgumentEncoder&) const;
static bool decode(IPC::ArgumentDecoder&, OptionItem&);
};
struct AssistedNodeInformation {
AssistedNodeInformation()
: minimumScaleFactor(-INFINITY)
, maximumScaleFactor(INFINITY)
, nodeFontSize(0)
, hasNextNode(false)
, hasPreviousNode(false)
, isAutocorrect(false)
, isMultiSelect(false)
, isReadOnly(false)
, allowsUserScaling(false)
, insideFixedPosition(false)
, autocapitalizeType(WebAutocapitalizeTypeDefault)
, elementType(InputType::None)
, selectedIndex(-1)
, valueAsNumber(0)
{
}
WebCore::IntRect elementRect;
WebCore::IntRect selectionRect;
double minimumScaleFactor;
double maximumScaleFactor;
double nodeFontSize;
bool hasNextNode;
bool hasPreviousNode;
bool isAutocorrect;
bool isMultiSelect;
bool isReadOnly;
bool allowsUserScaling;
bool insideFixedPosition;
WebAutocapitalizeType autocapitalizeType;
InputType elementType;
String formAction;
Vector<OptionItem> selectOptions;
int selectedIndex;
String value;
double valueAsNumber;
String title;
void encode(IPC::ArgumentEncoder&) const;
static bool decode(IPC::ArgumentDecoder&, AssistedNodeInformation&);
};
#endif
}
#endif // InteractionInformationAtPosition_h