Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(443)

Unified Diff: sky/engine/bindings-dart/dart/scripts/templates/interface_base_cpp.template

Issue 875013003: Import Dart bindings as of Blink r188698. This merely copies the files over and does not attach any… (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sky/engine/bindings-dart/dart/scripts/templates/interface_base_cpp.template
diff --git a/sky/engine/bindings-dart/dart/scripts/templates/interface_base_cpp.template b/sky/engine/bindings-dart/dart/scripts/templates/interface_base_cpp.template
new file mode 100644
index 0000000000000000000000000000000000000000..0f86fc9e969a450c82a585b30c55ee5889724889
--- /dev/null
+++ b/sky/engine/bindings-dart/dart/scripts/templates/interface_base_cpp.template
@@ -0,0 +1,134 @@
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// WARNING: Do not edit - generated code.
+
+#include "config.h"
+{% filter conditional(conditional_string) %}
+#include "bindings/dart/DartWebkitClassIds.h"
+#include "{{dart_class}}.h"
+
+{% for filename in cpp_includes %}
+#include "{{filename}}"
+{% endfor %}
+
+namespace blink {
+
+{% block to_dart_no_inline %}{% endblock %}
+
+namespace {{dart_class}}Internal {
+
+{% from 'methods_cpp.template' import generate_constructor, generate_event_constructor, generate_method, method_callback, overload_resolution_method with context %}
+
+{# Constructors #}
+{% for constructor in constructors %}
+{{generate_constructor(constructor, constructor.number_of_arguments)}}
+{% endfor %}
+{% block overloaded_constructor %}{% endblock %}
+{% if named_constructor %}
+{{generate_constructor(named_constructor, named_constructor.number_of_arguments)}}
+{% endif %}
+{% if has_event_constructor %}
+{{generate_event_constructor()}}
+{% endif %}
+
+{# Attributes getters/setters. #}
+{% from 'attributes_cpp.template' import attribute_getter, attribute_getter_callback,
+ attribute_setter, attribute_setter_callback
+ with context %}
+{% for attribute in attributes %}
+{% if not attribute.has_custom_getter and not attribute.is_getter_suppressed %}
+{{attribute_getter(cpp_class, attribute)}}
+{% endif %}
+{# FIXME I'm disabling put_forwards for now since we didn't support it before #}
+{# https://code.google.com/p/dart/issues/detail?id=18784 #}
+{# {% if not attribute.has_custom_setter and (not attribute.is_read_only or attribute.put_forwards) %}#}
+{% if not attribute.has_custom_setter and not attribute.is_read_only and not attribute.is_setter_suppressed %}
+{{attribute_setter(cpp_class, attribute)}}
+{% endif %}
+{% endfor %}
+
+{# Methods #}
+{% for method in methods %}
+ {% if not method.is_custom and not method.suppressed %}
+{{generate_method(method, method.number_of_arguments)}}
+ {% endif %}
+ {% if method.overloads %}
+{{overload_resolution_method(method)}}
+ {% endif %}
+{% endfor %}
+
+{# Special operations (methods) #}
+ {% block indexed_property_getter %}{% endblock %}
+}
+
+Dart_NativeFunction {{dart_class}}::resolver(Dart_Handle nameHandle, int argumentCount, bool* autoSetupScope)
+{
+ String name = DartUtilities::toString(nameHandle);
+ {% from 'methods_cpp.template' import generate_resolver_constructor with context %}
+ {% from 'methods_cpp.template' import generate_resolver_event_constructor with context %}
+ {# Resolver Constructors #}
+ {% for constructor in constructors %}
+{{generate_resolver_constructor(dart_class, interface_name, constructor) | indent(4)}}
+ {% endfor %}
+ {% from 'methods_cpp.template' import generate_resolver_custom_constructor with context %}
+ {# Resolver Custom Constructors #}
+ {% for constructor in custom_constructors %}
+{{generate_resolver_constructor(dart_class, interface_name, constructor) | indent(4)}}
+ {% endfor %}
+ {% if named_constructor %}
+{{generate_resolver_constructor(dart_class, interface_name, named_constructor) | indent(4)}}
+ {% endif %}
+ {% if has_event_constructor %}
+{{generate_resolver_event_constructor(dart_class, interface_name) | indent(4)}}
+ {% endif %}
+ {# Resolver Attributes #}
+ {% from 'attributes_cpp.template' import generate_attribute_resolver_body %}
+ {% for attribute in attributes %}
+{{generate_attribute_resolver_body(dart_class, interface_name, attribute) | indent(4)}}
+ {% endfor %}
+ {# Resolver Methods #}
+ {% from 'methods_cpp.template' import generate_resolver_body with context %}
+ {% for method in methods if not method.suppressed %}
+{{generate_resolver_body(dart_class, interface_name, method) | indent(4)}}
+ {% endfor %}
+ {# Special operations (methods) #}
+ {# TODO(terry): Only emit indexed getter for DataTransferItemList; emit for interfaces. #}
+ {% block indexed_property_getter_resolver %}{% endblock %}
+ {% if dart_class == 'DartCSSStyleDeclaration' %}
+ {% block named_property_getter_resolver %}{% endblock %}
+ {% endif %}
+ return 0;
+}
+
+const uint8_t* {{dart_class}}::symbolizer(Dart_NativeFunction nf)
+{
+ {% from 'methods_cpp.template' import generate_symbolizer_constructor with context %}
+ {% for constructor in constructors %}
+{{generate_symbolizer_constructor(dart_class, interface_name, constructor) | indent(4)}}
+ {% endfor %}
+ {% for constructor in custom_constructors %}
+{{generate_symbolizer_constructor(dart_class, interface_name, constructor) | indent(4)}}
+ {% endfor %}
+ {% if named_constructor %}
+{{generate_symbolizer_constructor(dart_class, interface_name, named_constructor) | indent(4)}}
+ {% endif %}
+ {% from 'attributes_cpp.template' import generate_attribute_symbolizer_body %}
+ {% for attribute in attributes %}
+{{generate_attribute_symbolizer_body(dart_class, interface_name, attribute) | indent(4)}}
+ {% endfor %}
+ {% from 'methods_cpp.template' import generate_symbolizer_body with context %}
+ {% for method in methods if not method.suppressed %}
+{{generate_symbolizer_body(dart_class, interface_name, method) | indent(4)}}
+ {% endfor %}
+ {% if dart_class == 'DartCSSStyleDeclaration' %}
+{% block generate_symbolizer_named_property_getter %}{% endblock %}
+ {% endif %}
+{% block generate_symbolizer_indexed_property_getter %}{% endblock %}
+ return 0;
+}
+
+} // namespace blink
+
+{% endfilter %}

Powered by Google App Engine
This is Rietveld 408576698