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/macros.h"
9 #include "third_party/WebKit/public/web/WebScriptExecutionCallback.h"
10 #include "v8/include/v8.h"
14 template<typename T
> class WebVector
;
17 namespace extensions
{
18 class ScriptInjection
;
20 // A wrapper around a callback to notify a script injection when injection
22 // This class manages its own lifetime.
23 class ScriptInjectionCallback
: public blink::WebScriptExecutionCallback
{
25 ScriptInjectionCallback(ScriptInjection
* injection
,
26 blink::WebLocalFrame
* web_frame
);
27 ~ScriptInjectionCallback() override
;
30 const blink::WebVector
<v8::Local
<v8::Value
> >& result
) override
;
33 ScriptInjection
* injection_
;
35 blink::WebLocalFrame
* web_frame_
;
37 DISALLOW_COPY_AND_ASSIGN(ScriptInjectionCallback
);
40 } // namespace extensions
42 #endif // EXTENSIONS_RENDERER_SCRIPT_INJECTION_CALLBACK_H_