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 from the Jinja2 template
  // third_party/blink/renderer/bindings/templates/interface.h.tmpl
  // by the script code_generator_v8.py.
  // DO NOT MODIFY!
  
  // clang-format off
  #ifndef THIRD_PARTY_BLINK_RENDERER_BINDINGS_TESTS_RESULTS_CORE_V8_TEST_INTERFACE_SECURE_CONTEXT_H_
  #define THIRD_PARTY_BLINK_RENDERER_BINDINGS_TESTS_RESULTS_CORE_V8_TEST_INTERFACE_SECURE_CONTEXT_H_
  
  #include "third_party/blink/renderer/bindings/core/v8/generated_code_helper.h"
  #include "third_party/blink/renderer/bindings/core/v8/native_value_traits.h"
  #include "third_party/blink/renderer/bindings/core/v8/to_v8_for_core.h"
  #include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
  #include "third_party/blink/renderer/bindings/tests/idls/core/test_interface_secure_context.h"
  #include "third_party/blink/renderer/core/core_export.h"
  #include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
  #include "third_party/blink/renderer/platform/bindings/v8_dom_wrapper.h"
  #include "third_party/blink/renderer/platform/bindings/wrapper_type_info.h"
  #include "third_party/blink/renderer/platform/heap/handle.h"
  
  namespace blink {
  
  CORE_EXPORT extern const WrapperTypeInfo v8_test_interface_secure_context_wrapper_type_info;
  
  class V8TestInterfaceSecureContext {
    STATIC_ONLY(V8TestInterfaceSecureContext);
   public:
    CORE_EXPORT static bool HasInstance(v8::Local<v8::Value>, v8::Isolate*);
    static v8::Local<v8::Object> FindInstanceInPrototypeChain(v8::Local<v8::Value>, v8::Isolate*);
    CORE_EXPORT static v8::Local<v8::FunctionTemplate> DomTemplate(v8::Isolate*, const DOMWrapperWorld&);
    static TestInterfaceSecureContext* ToImpl(v8::Local<v8::Object> object) {
      return ToScriptWrappable(object)->ToImpl<TestInterfaceSecureContext>();
    }
    CORE_EXPORT static TestInterfaceSecureContext* ToImplWithTypeCheck(v8::Isolate*, v8::Local<v8::Value>);
  
    CORE_EXPORT static constexpr const WrapperTypeInfo* GetWrapperTypeInfo() {
      return &v8_test_interface_secure_context_wrapper_type_info;
    }
  
    static constexpr int kInternalFieldCount = kV8DefaultWrapperInternalFieldCount;
  
    CORE_EXPORT static void InstallConditionalFeatures(
        v8::Local<v8::Context>,
        const DOMWrapperWorld&,
        v8::Local<v8::Object> instance_object,
        v8::Local<v8::Object> prototype_object,
        v8::Local<v8::Function> interface_object,
        v8::Local<v8::FunctionTemplate> interface_template);
  
    // Callback functions
  
    CORE_EXPORT static void SecureContextAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWindowExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWindowExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWorkerExposedAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWorkerExposedAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWindowExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWindowExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWorkerExposedRuntimeEnabledAttributeAttributeGetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWorkerExposedRuntimeEnabledAttributeAttributeSetterCallback(const v8::FunctionCallbackInfo<v8::Value>&);
  
    CORE_EXPORT static void SecureContextMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWindowExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWorkerExposedMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWindowExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>&);
    CORE_EXPORT static void SecureContextWorkerExposedRuntimeEnabledMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>&);
  
    static void InstallRuntimeEnabledFeaturesOnTemplate(
        v8::Isolate*,
        const DOMWrapperWorld&,
        v8::Local<v8::FunctionTemplate> interface_template);
  };
  
  template <>
  struct NativeValueTraits<TestInterfaceSecureContext> : public NativeValueTraitsBase<TestInterfaceSecureContext> {
    CORE_EXPORT static TestInterfaceSecureContext* NativeValue(v8::Isolate*, v8::Local<v8::Value>, ExceptionState&);
    CORE_EXPORT static TestInterfaceSecureContext* NullValue() { return nullptr; }
  };
  
  template <>
  struct V8TypeOf<TestInterfaceSecureContext> {
    typedef V8TestInterfaceSecureContext Type;
  };
  
  }  // namespace blink
  
  #endif  // THIRD_PARTY_BLINK_RENDERER_BINDINGS_TESTS_RESULTS_CORE_V8_TEST_INTERFACE_SECURE_CONTEXT_H_
  