1 // Copyright 2015 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.
5 #ifndef EXTENSIONS_RENDERER_SCRIPT_INJECTION_CALLBACK_H_
6 #define EXTENSIONS_RENDERER_SCRIPT_INJECTION_CALLBACK_H_
8 #include "base/callback.h"
9 #include "base/macros.h"
10 #include "third_party/WebKit/public/web/WebScriptExecutionCallback.h"
11 #include "v8/include/v8.h"
14 template<typename T
> class WebVector
;
17 namespace extensions
{
19 // A wrapper around a callback to notify a script injection when injection
21 // This class manages its own lifetime.
22 class ScriptInjectionCallback
: public blink::WebScriptExecutionCallback
{
24 using CompleteCallback
=
26 const blink::WebVector
<v8::Local
<v8::Value
>>& result
)>;
28 ScriptInjectionCallback(const CompleteCallback
& injection_completed_callback
);
29 ~ScriptInjectionCallback() override
;
32 const blink::WebVector
<v8::Local
<v8::Value
> >& result
) override
;
35 CompleteCallback injection_completed_callback_
;
37 DISALLOW_COPY_AND_ASSIGN(ScriptInjectionCallback
);
40 } // namespace extensions
42 #endif // EXTENSIONS_RENDERER_SCRIPT_INJECTION_CALLBACK_H_