15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#ifndef EXTENSIONS_RENDERER_APP_WINDOW_CUSTOM_BINDINGS_H_ 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define EXTENSIONS_RENDERER_APP_WINDOW_CUSTOM_BINDINGS_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 80529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "extensions/renderer/object_backed_native_handler.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace extensions { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class Dispatcher; 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Implements custom bindings for the app.window API. 140529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass AppWindowCustomBindings : public ObjectBackedNativeHandler { 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 160529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch AppWindowCustomBindings(Dispatcher* dispatcher, ScriptContext* context); 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 197d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) void GetView(const v8::FunctionCallbackInfo<v8::Value>& args); 20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // Return string containing the HTML <template> for the <window-controls> 22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // custom element. 23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch void GetWindowControlsHtmlTemplate( 24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const v8::FunctionCallbackInfo<v8::Value>& args); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 260529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch // Dispatcher handle. Not owned. 270529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch Dispatcher* dispatcher_; 280529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(AppWindowCustomBindings); 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace extensions 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif // EXTENSIONS_RENDERER_APP_WINDOW_CUSTOM_BINDINGS_H_ 35