1// Copyright (c) 2012 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.
4
5#ifndef EXTENSIONS_RENDERER_APP_WINDOW_CUSTOM_BINDINGS_H_
6#define EXTENSIONS_RENDERER_APP_WINDOW_CUSTOM_BINDINGS_H_
7
8#include "extensions/renderer/object_backed_native_handler.h"
9
10namespace extensions {
11class Dispatcher;
12
13// Implements custom bindings for the app.window API.
14class AppWindowCustomBindings : public ObjectBackedNativeHandler {
15 public:
16  AppWindowCustomBindings(Dispatcher* dispatcher, ScriptContext* context);
17
18 private:
19  void GetView(const v8::FunctionCallbackInfo<v8::Value>& args);
20
21  // Return string containing the HTML <template> for the <window-controls>
22  // custom element.
23  void GetWindowControlsHtmlTemplate(
24      const v8::FunctionCallbackInfo<v8::Value>& args);
25
26  // Dispatcher handle. Not owned.
27  Dispatcher* dispatcher_;
28
29  DISALLOW_COPY_AND_ASSIGN(AppWindowCustomBindings);
30};
31
32}  // namespace extensions
33
34#endif  // EXTENSIONS_RENDERER_APP_WINDOW_CUSTOM_BINDINGS_H_
35