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 virtual ~WebUIRunner();
23 void RegisterBuiltinModules();
26 virtual void Run(const std::string
& source
,
27 const std::string
& resource_name
) OVERRIDE
;
28 virtual v8::Handle
<v8::Value
> Call(v8::Handle
<v8::Function
> function
,
29 v8::Handle
<v8::Value
> receiver
,
31 v8::Handle
<v8::Value
> argv
[]) OVERRIDE
;
32 virtual gin::ContextHolder
* GetContextHolder() OVERRIDE
;
35 // Frame to execute script in.
36 blink::WebFrame
* frame_
;
38 // Created by blink bindings to V8.
39 gin::ContextHolder
* context_holder_
;
41 DISALLOW_COPY_AND_ASSIGN(WebUIRunner
);
44 } // namespace content
46 #endif // CONTENT_RENDERER_WEB_UI_RUNNER_H_