generate-enum-encoding-helpers.json-TestReplayInputs.h [plain text]
#ifndef generate_enum_encoding_helpers_json_TestReplayInputs_h
#define generate_enum_encoding_helpers_json_TestReplayInputs_h
#if ENABLE(WEB_REPLAY)
#include "InternalNamespaceHeaderIncludeDummy.h"
#include <platform/ExternalNamespaceHeaderIncludeDummy.h>
namespace WebCore {
enum MouseButton : unsigned;
}
namespace JSC {
enum class InputQueue;
}
namespace Test {
class SavedMouseButton;
}
namespace JSC {
template<> struct InputTraits<Test::SavedMouseButton> {
static InputQueue queue() { return InputQueue::ScriptMemoizedData; }
static const AtomicString& type();
static void encode(JSC::EncodedValue&, const Test::SavedMouseButton&);
static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::SavedMouseButton>&);
};
template<> struct EncodingTraits<InputQueue> {
typedef InputQueue DecodedType;
static EncodedValue encodeValue(const InputQueue& value);
static bool decodeValue(EncodedValue&, InputQueue& value);
};
template<> struct EncodingTraits<WebCore::MouseButton> {
typedef WebCore::MouseButton DecodedType;
static EncodedValue encodeValue(const WebCore::MouseButton& value);
static bool decodeValue(EncodedValue&, WebCore::MouseButton& value);
};
}
namespace Test {
class SavedMouseButton : public NondeterministicInput<SavedMouseButton> {
public:
SavedMouseButton(MouseButton button);
virtual ~SavedMouseButton();
MouseButton button() const { return m_button; }
private:
MouseButton m_button;
};
}
#define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \
macro(SavedMouseButton) \
\
#endif // ENABLE(WEB_REPLAY)
#endif // generate-enum-encoding-helpers.json-TestReplayInputs_h