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

Unified Diff: Source/bindings/templates/interface.h

Issue 618373003: [bindings] partial interfaces should not violate componentization (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed patch conflict Created 6 years, 2 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
« no previous file with comments | « Source/bindings/templates/attributes.cpp ('k') | Source/bindings/templates/interface.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/bindings/templates/interface.h
diff --git a/Source/bindings/templates/interface.h b/Source/bindings/templates/interface.h
index 607a5fde9b82342a2f3d45477632de44c564144c..061570993a2737c902d3831546f7f3d7264de428 100644
--- a/Source/bindings/templates/interface.h
+++ b/Source/bindings/templates/interface.h
@@ -54,7 +54,11 @@ public:
}
{% endif %}
static {{cpp_class}}* toImplWithTypeCheck(v8::Isolate*, v8::Handle<v8::Value>);
+ {% if has_partial_interface %}
+ static WrapperTypeInfo wrapperTypeInfo;
+ {% else %}
static const WrapperTypeInfo wrapperTypeInfo;
+ {% endif %}
static void refObject(ScriptWrappableBase*);
static void derefObject(ScriptWrappableBase*);
static void trace(Visitor* visitor, ScriptWrappableBase* scriptWrappableBase)
@@ -163,12 +167,24 @@ public:
static void installConditionallyEnabledMethods(v8::Handle<v8::Object>, v8::Isolate*){% if conditionally_enabled_methods %};
{% else %} { }
{% endif %}
+ {% if has_partial_interface %}
+ static void updateWrapperTypeInfo(InstallTemplateFunction, InstallConditionallyEnabledMethodsFunction);
+ static void install{{v8_class}}Template(v8::Handle<v8::FunctionTemplate>, v8::Isolate*);
+ {% for method in methods if method.overloads and method.overloads.has_partial_overloads %}
+ static void register{{method.name | blink_capitalize}}MethodForPartialInterface(void (*)(const v8::FunctionCallbackInfo<v8::Value>&));
+ {% endfor %}
+ {% endif %}
{% if not has_custom_to_v8 and not is_script_wrappable %}
private:
friend v8::Handle<v8::Object> wrap({{cpp_class}}*, v8::Handle<v8::Object> creationContext, v8::Isolate*);
static v8::Handle<v8::Object> createWrapper({{pass_cpp_type}}, v8::Handle<v8::Object> creationContext, v8::Isolate*);
{% endif %}
+ {% if has_partial_interface %}
+
+private:
+ static InstallTemplateFunction install{{v8_class}}TemplateFunction;
+ {% endif %}
};
{% if has_custom_to_v8 %}
« no previous file with comments | « Source/bindings/templates/attributes.cpp ('k') | Source/bindings/templates/interface.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698