2  * Copyright (C) 2014 Apple Inc. All rights reserved.
 
   4  * Redistribution and use in source and binary forms, with or without
 
   5  * modification, are permitted provided that the following conditions
 
   8  * 1.  Redistributions of source code must retain the above copyright
 
   9  *     notice, this list of conditions and the following disclaimer.
 
  10  * 2.  Redistributions in binary form must reproduce the above copyright
 
  11  *     notice, this list of conditions and the following disclaimer in the
 
  12  *     documentation and/or other materials provided with the distribution.
 
  14  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 
  15  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 
  16  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
 
  17  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 
  18  * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 
  19  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 
  20  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 
  21  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 
  22  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
  23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 
  24  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
  27 // DO NOT EDIT THIS FILE. It is automatically generated from generate-enum-encoding-helpers-with-guarded-values.json
 
  28 // by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py
 
  30 #ifndef generate_enum_encoding_helpers_with_guarded_values_json_TestReplayInputs_h
 
  31 #define generate_enum_encoding_helpers_with_guarded_values_json_TestReplayInputs_h
 
  33 #if ENABLE(WEB_REPLAY)
 
  34 #include "InternalNamespaceHeaderIncludeDummy.h"
 
  35 #include <platform/ExternalNamespaceHeaderIncludeDummy.h>
 
  38 enum MouseButton : unsigned;
 
  43 class SavedMouseButton;
 
  47 template<> struct InputTraits<Test::SavedMouseButton> {
 
  48     static InputQueue queue() { return InputQueue::ScriptMemoizedData; }
 
  49     static const AtomicString& type();
 
  51     static void encode(JSC::EncodedValue&, const Test::SavedMouseButton&);
 
  52     static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::SavedMouseButton>&);
 
  54 template<> struct EncodingTraits<WebCore::MouseButton> {
 
  55     typedef WebCore::MouseButton DecodedType;
 
  57     static EncodedValue encodeValue(const WebCore::MouseButton& value);
 
  58     static bool decodeValue(EncodedValue&, WebCore::MouseButton& value);
 
  63 class SavedMouseButton : public NondeterministicInput<SavedMouseButton> {
 
  65     SavedMouseButton(MouseButton button);
 
  66     virtual ~SavedMouseButton();
 
  68     MouseButton button() const { return m_button; }
 
  74 #define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \
 
  75     macro(SavedMouseButton) \
 
  77 // end of TEST_REPLAY_INPUT_NAMES_FOR_EACH
 
  79 #endif // ENABLE(WEB_REPLAY)
 
  81 #endif // generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs_h