103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// found in the LICENSE file. 403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#ifndef EXTENSIONS_RENDERER_GUEST_VIEW_GUEST_VIEW_INTERNAL_CUSTOM_BINDINGS_H_ 603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#define EXTENSIONS_RENDERER_GUEST_VIEW_GUEST_VIEW_INTERNAL_CUSTOM_BINDINGS_H_ 703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "extensions/renderer/object_backed_native_handler.h" 903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 1003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)namespace extensions { 1103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)class Dispatcher; 1203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 1303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Implements custom bindings for the guestViewInternal API. 1403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)class GuestViewInternalCustomBindings : public ObjectBackedNativeHandler { 1503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) public: 1603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) explicit GuestViewInternalCustomBindings(ScriptContext* context); 1703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 1803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) private: 1903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // AttachGuest attaches a GuestView to a provided container element. Once 2003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // attached, the GuestView will participate in layout of the container page 2103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // and become visible on screen. 2203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // AttachGuest takes three parameters: 2303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // |element_instance_id| uniquely identifies a container within the content 2403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // module is able to host GuestViews. 2503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // |guest_instance_id| uniquely identifies an unattached GuestView. 2603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // |attach_params| is typically used to convey the current state of the 2703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // container element at the time of attachment. These parameters are passed 2803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // down to the GuestView. The GuestView may use these parameters to update the 2903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // state of the guest hosted in another process. 3003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) void AttachGuest(const v8::FunctionCallbackInfo<v8::Value>& args); 3103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)}; 3203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 3303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} // namespace extensions 3403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 3503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#endif // EXTENSIONS_RENDERER_GUEST_VIEW_GUEST_VIEW_INTERNAL_CUSTOM_BINDINGS_H_ 36