Commit a1800095 authored by ch.dumez@samsung.com's avatar ch.dumez@samsung.com

Make generated Callback bindings classes FINAL

Make generated Callback bindings classes FINAL and add OVERRIDE to their virtual
methods.

R=haraken
BUG=333316

Review URL: https://codereview.chromium.org/138613002

git-svn-id: svn://svn.chromium.org/blink/trunk@165111 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent d1b4b7a8
...@@ -4877,7 +4877,7 @@ sub GenerateCallbackHeader ...@@ -4877,7 +4877,7 @@ sub GenerateCallbackHeader
$header{includes}->add("#include \"$include\"\n"); $header{includes}->add("#include \"$include\"\n");
} }
$header{nameSpaceWebCore}->addHeader("\nclass ExecutionContext;\n"); $header{nameSpaceWebCore}->addHeader("\nclass ExecutionContext;\n");
$header{class}->addHeader("class $v8ClassName : public $implClassName, public ActiveDOMCallback {"); $header{class}->addHeader("class $v8ClassName FINAL : public $implClassName, public ActiveDOMCallback {");
$header{class}->addFooter("};\n"); $header{class}->addFooter("};\n");
$header{classPublic}->add(<<END); $header{classPublic}->add(<<END);
...@@ -4906,7 +4906,7 @@ END ...@@ -4906,7 +4906,7 @@ END
push(@args, GetNativeTypeForCallbacks($param->type) . " " . $param->name); push(@args, GetNativeTypeForCallbacks($param->type) . " " . $param->name);
} }
$code .= join(", ", @args); $code .= join(", ", @args);
$code .= ");\n"; $code .= ") OVERRIDE;\n";
$header{classPublic}->add($code); $header{classPublic}->add($code);
} }
} }
......
...@@ -44,7 +44,7 @@ namespace WebCore { ...@@ -44,7 +44,7 @@ namespace WebCore {
class ExecutionContext; class ExecutionContext;
class {{v8_class}} : public {{cpp_class}}, public ActiveDOMCallback { class {{v8_class}} FINAL : public {{cpp_class}}, public ActiveDOMCallback {
public: public:
static PassOwnPtr<{{v8_class}}> create(v8::Handle<v8::Function> callback, ExecutionContext* context) static PassOwnPtr<{{v8_class}}> create(v8::Handle<v8::Function> callback, ExecutionContext* context)
{ {
...@@ -55,7 +55,7 @@ public: ...@@ -55,7 +55,7 @@ public:
virtual ~{{v8_class}}(); virtual ~{{v8_class}}();
{% for method in methods %} {% for method in methods %}
virtual {{method.return_cpp_type}} {{method.name}}({{method.argument_declarations | join(', ')}}); virtual {{method.return_cpp_type}} {{method.name}}({{method.argument_declarations | join(', ')}}) OVERRIDE;
{% endfor %} {% endfor %}
private: private:
{{v8_class}}(v8::Handle<v8::Function>, ExecutionContext*); {{v8_class}}(v8::Handle<v8::Function>, ExecutionContext*);
......
...@@ -42,7 +42,7 @@ namespace WebCore { ...@@ -42,7 +42,7 @@ namespace WebCore {
class ExecutionContext; class ExecutionContext;
class V8TestCallbackInterface : public TestCallbackInterface, public ActiveDOMCallback { class V8TestCallbackInterface FINAL : public TestCallbackInterface, public ActiveDOMCallback {
public: public:
static PassOwnPtr<V8TestCallbackInterface> create(v8::Handle<v8::Function> callback, ExecutionContext* context) static PassOwnPtr<V8TestCallbackInterface> create(v8::Handle<v8::Function> callback, ExecutionContext* context)
{ {
...@@ -52,15 +52,15 @@ public: ...@@ -52,15 +52,15 @@ public:
virtual ~V8TestCallbackInterface(); virtual ~V8TestCallbackInterface();
virtual void voidMethod(); virtual void voidMethod() OVERRIDE;
virtual bool booleanMethod(); virtual bool booleanMethod() OVERRIDE;
virtual void voidMethodBooleanArg(bool boolArg); virtual void voidMethodBooleanArg(bool boolArg) OVERRIDE;
virtual void voidMethodSequenceArg(const Vector<RefPtr<TestInterfaceEmpty> >& sequenceArg); virtual void voidMethodSequenceArg(const Vector<RefPtr<TestInterfaceEmpty> >& sequenceArg) OVERRIDE;
virtual void voidMethodFloatArg(float floatArg); virtual void voidMethodFloatArg(float floatArg) OVERRIDE;
virtual void voidMethodTestInterfaceEmptyArg(TestInterfaceEmpty* testInterfaceEmptyArg); virtual void voidMethodTestInterfaceEmptyArg(TestInterfaceEmpty* testInterfaceEmptyArg) OVERRIDE;
virtual void voidMethodTestInterfaceEmptyStringArg(TestInterfaceEmpty* testInterfaceEmptyArg, const String& stringArg); virtual void voidMethodTestInterfaceEmptyStringArg(TestInterfaceEmpty* testInterfaceEmptyArg, const String& stringArg) OVERRIDE;
virtual void callbackWithThisValueVoidMethodStringArg(ScriptValue thisValue, const String& stringArg); virtual void callbackWithThisValueVoidMethodStringArg(ScriptValue thisValue, const String& stringArg) OVERRIDE;
virtual void customVoidMethodTestInterfaceEmptyArg(TestInterfaceEmpty* testInterfaceEmptyArg); virtual void customVoidMethodTestInterfaceEmptyArg(TestInterfaceEmpty* testInterfaceEmptyArg) OVERRIDE;
private: private:
V8TestCallbackInterface(v8::Handle<v8::Function>, ExecutionContext*); V8TestCallbackInterface(v8::Handle<v8::Function>, ExecutionContext*);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment