Reland the ULONG -> SIZE_T change from 317177
[chromium-blink-merge.git] / extensions / renderer / guest_view / guest_view_internal_custom_bindings.h
blob0c29435f411e6e029cea109fe61fd3480cf7362f
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 EXTENSIONS_RENDERER_GUEST_VIEW_GUEST_VIEW_INTERNAL_CUSTOM_BINDINGS_H_
6 #define EXTENSIONS_RENDERER_GUEST_VIEW_GUEST_VIEW_INTERNAL_CUSTOM_BINDINGS_H_
8 #include "extensions/renderer/object_backed_native_handler.h"
10 namespace extensions {
11 class Dispatcher;
13 // Implements custom bindings for the guestViewInternal API.
14 class GuestViewInternalCustomBindings : public ObjectBackedNativeHandler {
15 public:
16 explicit GuestViewInternalCustomBindings(ScriptContext* context);
18 private:
19 // AttachGuest attaches a GuestView to a provided container element. Once
20 // attached, the GuestView will participate in layout of the container page
21 // and become visible on screen.
22 // AttachGuest takes four parameters:
23 // |element_instance_id| uniquely identifies a container within the content
24 // module is able to host GuestViews.
25 // |guest_instance_id| uniquely identifies an unattached GuestView.
26 // |attach_params| is typically used to convey the current state of the
27 // container element at the time of attachment. These parameters are passed
28 // down to the GuestView. The GuestView may use these parameters to update the
29 // state of the guest hosted in another process.
30 // |callback| is an optional callback that is called once attachment is
31 // complete. The callback takes in a parameter for the WindowProxy of the
32 // guest identified by |guest_instance_id|.
33 void AttachGuest(const v8::FunctionCallbackInfo<v8::Value>& args);
35 // DetachGuest detaches the container container specified from the associated
36 // GuestViewBase. DetachGuest takes two parameters:
37 // |element_instance_id| uniquely identifies a container within the content
38 // module is able to host GuestViews.
39 // |callback| is an optional callback that is called once the container has
40 // been detached.
41 void DetachGuest(const v8::FunctionCallbackInfo<v8::Value>& args);
43 // RegisterDestructionCallback registers a JavaScript callback function to be
44 // called when the guestview's container is destroyed.
45 // RegisterDestructionCallback takes in a single paramater, |callback|.
46 void RegisterDestructionCallback(
47 const v8::FunctionCallbackInfo<v8::Value>& args);
49 // RegisterElementResizeCallback registers a JavaScript callback function to
50 // be called when the element is resized. RegisterElementResizeCallback takes
51 // a single parameter, |callback|.
52 void RegisterElementResizeCallback(
53 const v8::FunctionCallbackInfo<v8::Value>& args);
56 } // namespace extensions
58 #endif // EXTENSIONS_RENDERER_GUEST_VIEW_GUEST_VIEW_INTERNAL_CUSTOM_BINDINGS_H_