1 // Copyright 2014 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 CONTENT_RENDERER_WEB_UI_RUNNER_H_
6 #define CONTENT_RENDERER_WEB_UI_RUNNER_H_
8 #include "gin/runner.h"
16 // Implementation of gin::Runner that forwards Runner functions to WebFrame.
17 class WebUIRunner
: public gin::Runner
{
19 // Does not take ownership of ContextHolder.
20 WebUIRunner(blink::WebFrame
* frame
, gin::ContextHolder
* context_holder
);
21 ~WebUIRunner() override
;
24 void Run(const std::string
& source
,
25 const std::string
& resource_name
) override
;
26 v8::Local
<v8::Value
> Call(v8::Local
<v8::Function
> function
,
27 v8::Local
<v8::Value
> receiver
,
29 v8::Local
<v8::Value
> argv
[]) override
;
30 gin::ContextHolder
* GetContextHolder() override
;
33 // Frame to execute script in.
34 blink::WebFrame
* frame_
;
36 // Created by blink bindings to V8.
37 gin::ContextHolder
* context_holder_
;
39 DISALLOW_COPY_AND_ASSIGN(WebUIRunner
);
42 } // namespace content
44 #endif // CONTENT_RENDERER_WEB_UI_RUNNER_H_