#ifndef EXTENSIONS_BROWSER_API_GUEST_VIEW_GUEST_VIEW_INTERNAL_API_H_
#define EXTENSIONS_BROWSER_API_GUEST_VIEW_GUEST_VIEW_INTERNAL_API_H_
#include "extensions/browser/extension_function.h"
namespace guest_view {
class GuestViewBase;
}
namespace extensions {
class GuestViewInternalCreateGuestFunction : public ExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("guestViewInternal.createGuest",
GUESTVIEWINTERNAL_CREATEGUEST)
GuestViewInternalCreateGuestFunction();
GuestViewInternalCreateGuestFunction(
const GuestViewInternalCreateGuestFunction&) = delete;
GuestViewInternalCreateGuestFunction& operator=(
const GuestViewInternalCreateGuestFunction&) = delete;
protected:
~GuestViewInternalCreateGuestFunction() override;
ResponseAction Run() final;
private:
void CreateGuestCallback(guest_view::GuestViewBase* guest);
};
class GuestViewInternalDestroyUnattachedGuestFunction
: public ExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("guestViewInternal.destroyUnattachedGuest",
GUESTVIEWINTERNAL_DESTROYUNATTACHEDGUEST)
GuestViewInternalDestroyUnattachedGuestFunction();
GuestViewInternalDestroyUnattachedGuestFunction(
const GuestViewInternalDestroyUnattachedGuestFunction&) = delete;
GuestViewInternalDestroyUnattachedGuestFunction& operator=(
const GuestViewInternalDestroyUnattachedGuestFunction&) = delete;
protected:
~GuestViewInternalDestroyUnattachedGuestFunction() override;
ResponseAction Run() final;
};
class GuestViewInternalSetSizeFunction : public ExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("guestViewInternal.setSize",
GUESTVIEWINTERNAL_SETAUTOSIZE)
GuestViewInternalSetSizeFunction();
GuestViewInternalSetSizeFunction(const GuestViewInternalSetSizeFunction&) =
delete;
GuestViewInternalSetSizeFunction& operator=(
const GuestViewInternalSetSizeFunction&) = delete;
protected:
~GuestViewInternalSetSizeFunction() override;
ResponseAction Run() final;
};
}
#endif