text: // Copyright 2014 The Chromium Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
  // This file has been auto-generated by code_generator_v8.py.
  // DO NOT MODIFY!
  
  // clang-format off
  
  #ifndef StringSequenceCallbackFunctionLongSequenceArg_h
  #define StringSequenceCallbackFunctionLongSequenceArg_h
  
  #include "bindings/core/v8/ScriptWrappable.h"
  #include "bindings/core/v8/TraceWrapperV8Reference.h"
  #include "core/CoreExport.h"
  #include "platform/heap/Handle.h"
  #include "wtf/text/WTFString.h"
  
  namespace blink {
  
  class ScriptState;
  
  class CORE_EXPORT StringSequenceCallbackFunctionLongSequenceArg final : public GarbageCollectedFinalized<StringSequenceCallbackFunctionLongSequenceArg>, public TraceWrapperBase {
   public:
    static StringSequenceCallbackFunctionLongSequenceArg* create(ScriptState* scriptState, v8::Local<v8::Function> callback)  {
      return new StringSequenceCallbackFunctionLongSequenceArg(scriptState, callback);
    }
  
    ~StringSequenceCallbackFunctionLongSequenceArg() = default;
  
    DECLARE_TRACE();
    DECLARE_TRACE_WRAPPERS();
  
    bool call(ScriptWrappable* scriptWrappable, const Vector<int>& arg, Vector<String>& returnValue);
  
    v8::Local<v8::Function> v8Value(v8::Isolate* isolate) {
      return m_callback.newLocal(isolate);
    }
  
    void setWrapperReference(v8::Isolate* isolate, const v8::Persistent<v8::Object>& wrapper) {
      DCHECK(!m_callback.isEmpty());
      m_callback.setReference(wrapper, isolate);
    }
  
   private:
    StringSequenceCallbackFunctionLongSequenceArg(ScriptState*, v8::Local<v8::Function>);
  
    RefPtr<ScriptState> m_scriptState;
    TraceWrapperV8Reference<v8::Function> m_callback;
  };
  
  }  // namespace blink
  
  #endif  // StringSequenceCallbackFunctionLongSequenceArg_h
  