aw: Ensure fallback tick unsets |block_invalidates_|
[chromium-blink-merge.git] / content / renderer / web_ui_runner.h
blob4af80134d481e80246535e3f049dc9dceb2ea22c
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"
10 namespace blink {
11 class WebFrame;
14 namespace content {
16 // Implementation of gin::Runner that forwards Runner functions to WebFrame.
17 class WebUIRunner : public gin::Runner {
18 public:
19 // Does not take ownership of ContextHolder.
20 WebUIRunner(blink::WebFrame* frame, gin::ContextHolder* context_holder);
21 virtual ~WebUIRunner();
23 void RegisterBuiltinModules();
25 // Runner overrides:
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,
30 int argc,
31 v8::Handle<v8::Value> argv[]) OVERRIDE;
32 virtual gin::ContextHolder* GetContextHolder() OVERRIDE;
34 private:
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_