1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// This file has been auto-generated by {{code_generator}}. DO NOT MODIFY! 6 7#include "config.h" 8{% filter conditional(conditional_string) %} 9#include "{{v8_class}}.h" 10 11{% for filename in cpp_includes if filename != '%s.h' % v8_class %} 12#include "{{filename}}" 13{% endfor %} 14 15namespace blink { 16{% set to_active_dom_object = '%s::toActiveDOMObject' % v8_class 17 if is_active_dom_object else '0' %} 18{% set to_event_target = '%s::toEventTarget' % v8_class 19 if is_event_target else '0' %} 20{% set visit_dom_wrapper = '%s::visitDOMWrapper' % v8_class 21 if has_visit_dom_wrapper else '0' %} 22{% set parent_wrapper_type_info = '&V8%s::wrapperTypeInfo' % parent_interface 23 if parent_interface else '0' %} 24{% set wrapper_type_prototype = 'WrapperTypeExceptionPrototype' if is_exception else 25 'WrapperTypeObjectPrototype' %} 26 27const WrapperTypeInfo {{v8_class}}::wrapperTypeInfo = { gin::kEmbedderBlink, {{v8_class}}::domTemplate, {{v8_class}}::refObject, {{v8_class}}::derefObject, {{v8_class}}::createPersistentHandle, {{to_active_dom_object}}, {{to_event_target}}, {{visit_dom_wrapper}}, {{v8_class}}::installConditionallyEnabledMethods, {{v8_class}}::installConditionallyEnabledProperties, {{parent_wrapper_type_info}}, WrapperTypeInfo::{{wrapper_type_prototype}}, WrapperTypeInfo::{{wrapper_class_id}}, WrapperTypeInfo::{{lifetime}}, WrapperTypeInfo::{{gc_type}} }; 28 29{% if is_script_wrappable %} 30// This static member must be declared by DEFINE_WRAPPERTYPEINFO in {{cpp_class}}.h. 31// For details, see the comment of DEFINE_WRAPPERTYPEINFO in 32// bindings/core/v8/ScriptWrappable.h. 33const WrapperTypeInfo& {{cpp_class}}::s_wrapperTypeInfo = {{v8_class}}::wrapperTypeInfo; 34 35{% endif %} 36namespace {{cpp_class}}V8Internal { 37 38template <typename T> void V8_USE(T) { } 39 40{# Constants #} 41{% from 'constants.cpp' import constant_getter_callback 42 with context %} 43{% for constant in special_getter_constants %} 44{{constant_getter_callback(constant)}} 45{% endfor %} 46{# Attributes #} 47{% from 'attributes.cpp' import constructor_getter_callback, 48 attribute_getter, attribute_getter_callback, 49 attribute_setter, attribute_setter_callback, 50 attribute_getter_implemented_in_private_script, 51 attribute_setter_implemented_in_private_script 52 with context %} 53{% for attribute in attributes if not attribute.constructor_type %} 54{% if attribute.should_be_exposed_to_script %} 55{% for world_suffix in attribute.world_suffixes %} 56{% if not attribute.has_custom_getter %} 57{{attribute_getter(attribute, world_suffix)}} 58{% endif %} 59{{attribute_getter_callback(attribute, world_suffix)}} 60{% if not attribute.is_read_only or attribute.put_forwards %} 61{% if not attribute.has_custom_setter %} 62{{attribute_setter(attribute, world_suffix)}} 63{% endif %} 64{{attribute_setter_callback(attribute, world_suffix)}} 65{% endif %} 66{% endfor %} 67{% endif %} 68{% endfor %} 69{% block constructor_getter %}{% endblock %} 70{% for attribute in attributes if attribute.needs_constructor_getter_callback %} 71{% for world_suffix in attribute.world_suffixes %} 72{{constructor_getter_callback(attribute, world_suffix)}} 73{% endfor %} 74{% endfor %} 75{% block replaceable_attribute_setter_and_callback %}{% endblock %} 76{% block security_check_functions %}{% endblock %} 77{# Methods #} 78{% from 'methods.cpp' import generate_method, overload_resolution_method, 79 method_callback, origin_safe_method_getter, generate_constructor, 80 method_implemented_in_private_script 81 with context %} 82{% for method in methods %} 83{% if method.should_be_exposed_to_script %} 84{% for world_suffix in method.world_suffixes %} 85{% if not method.is_custom %} 86{{generate_method(method, world_suffix)}} 87{% endif %} 88{% if method.overloads %} 89{{overload_resolution_method(method.overloads, world_suffix)}} 90{% endif %} 91{% if not method.overload_index or method.overloads %} 92{# A single callback is generated for overloaded methods #} 93{{method_callback(method, world_suffix)}} 94{% endif %} 95{% if method.is_do_not_check_security %} 96{{origin_safe_method_getter(method, world_suffix)}} 97{% endif %} 98{% endfor %} 99{% endif %} 100{% endfor %} 101{% if iterator_method %} 102{{generate_method(iterator_method)}} 103{{method_callback(iterator_method)}} 104{% endif %} 105{% block origin_safe_method_setter %}{% endblock %} 106{# Constructors #} 107{% for constructor in constructors %} 108{{generate_constructor(constructor)}} 109{% endfor %} 110{% block overloaded_constructor %}{% endblock %} 111{% block event_constructor %}{% endblock %} 112{# Special operations (methods) #} 113{% block indexed_property_getter %}{% endblock %} 114{% block indexed_property_getter_callback %}{% endblock %} 115{% block indexed_property_setter %}{% endblock %} 116{% block indexed_property_setter_callback %}{% endblock %} 117{% block indexed_property_deleter %}{% endblock %} 118{% block indexed_property_deleter_callback %}{% endblock %} 119{% block named_property_getter %}{% endblock %} 120{% block named_property_getter_callback %}{% endblock %} 121{% block named_property_setter %}{% endblock %} 122{% block named_property_setter_callback %}{% endblock %} 123{% block named_property_query %}{% endblock %} 124{% block named_property_query_callback %}{% endblock %} 125{% block named_property_deleter %}{% endblock %} 126{% block named_property_deleter_callback %}{% endblock %} 127{% block named_property_enumerator %}{% endblock %} 128{% block named_property_enumerator_callback %}{% endblock %} 129} // namespace {{cpp_class}}V8Internal 130 131{% block visit_dom_wrapper %}{% endblock %} 132{% block shadow_attributes %}{% endblock %} 133{% block install_attributes %}{% endblock %} 134{% block install_accessors %}{% endblock %} 135{% block install_methods %}{% endblock %} 136{% block named_constructor %}{% endblock %} 137{% block initialize_event %}{% endblock %} 138{% block constructor_callback %}{% endblock %} 139{% block configure_shadow_object_template %}{% endblock %} 140{% block install_dom_template %}{% endblock %} 141{% block get_dom_template %}{% endblock %} 142{% block has_instance %}{% endblock %} 143{% block to_native_with_type_check %}{% endblock %} 144{% block install_conditional_attributes %}{% endblock %} 145{% block install_conditional_methods %}{% endblock %} 146{% block to_active_dom_object %}{% endblock %} 147{% block to_event_target %}{% endblock %} 148{% block get_shadow_object_template %}{% endblock %} 149{% block wrap %}{% endblock %} 150{% block create_wrapper %}{% endblock %} 151{% block deref_object_and_to_v8_no_inline %}{% endblock %} 152{% for method in methods if method.is_implemented_in_private_script %} 153{{method_implemented_in_private_script(method)}} 154{% endfor %} 155{% for attribute in attributes if attribute.is_implemented_in_private_script %} 156{{attribute_getter_implemented_in_private_script(attribute)}} 157{% if not attribute.is_read_only or attribute.put_forwards %} 158{{attribute_setter_implemented_in_private_script(attribute)}} 159{% endif %} 160{% endfor %} 161} // namespace blink 162{% endfilter %} 163