blob: 06da0d6534abe7a53a6bfc6d2da4058dc9ee4f7b [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_GUEST_VIEW_RENDERER_IFRAME_GUEST_VIEW_REQUEST_H_
#define COMPONENTS_GUEST_VIEW_RENDERER_IFRAME_GUEST_VIEW_REQUEST_H_
#include "components/guest_view/renderer/guest_view_request.h"
#include "ipc/ipc_message.h"
#include "v8/include/v8.h"
namespace guest_view {
class GuestViewContainer;
// This class represents an AttachGuest request in --site-per-process from
// Javascript. It includes
// the input parameters and the callback function.
class GuestViewAttachIframeRequest : public guest_view::GuestViewRequest {
public:
GuestViewAttachIframeRequest(GuestViewContainer* container,
int render_frame_routing_id,
int guest_instance_id,
scoped_ptr<base::DictionaryValue> params,
v8::Local<v8::Function> callback,
v8::Isolate* isolate);
~GuestViewAttachIframeRequest() override;
void PerformRequest() override;
void HandleResponse(const IPC::Message& message) override;
private:
const int render_frame_routing_id_;
const int guest_instance_id_;
scoped_ptr<base::DictionaryValue> params_;
DISALLOW_COPY_AND_ASSIGN(GuestViewAttachIframeRequest);
};
} // namespace guest_view
#endif // COMPONENTS_GUEST_VIEW_RENDERER_IFRAME_GUEST_VIEW_REQUEST_H_