1 // Copyright 2015 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 COMPONENTS_GUEST_VIEW_RENDERER_IFRAME_GUEST_VIEW_REQUEST_H_
6 #define COMPONENTS_GUEST_VIEW_RENDERER_IFRAME_GUEST_VIEW_REQUEST_H_
8 #include "components/guest_view/renderer/guest_view_request.h"
9 #include "ipc/ipc_message.h"
10 #include "v8/include/v8.h"
12 namespace guest_view
{
13 class GuestViewContainer
;
15 // This class represents an AttachGuest request in --site-per-process from
16 // Javascript. It includes
17 // the input parameters and the callback function.
18 class GuestViewAttachIframeRequest
: public guest_view::GuestViewRequest
{
20 GuestViewAttachIframeRequest(GuestViewContainer
* container
,
21 int render_frame_routing_id
,
22 int guest_instance_id
,
23 scoped_ptr
<base::DictionaryValue
> params
,
24 v8::Local
<v8::Function
> callback
,
25 v8::Isolate
* isolate
);
26 ~GuestViewAttachIframeRequest() override
;
28 void PerformRequest() override
;
29 void HandleResponse(const IPC::Message
& message
) override
;
32 const int render_frame_routing_id_
;
33 const int guest_instance_id_
;
34 scoped_ptr
<base::DictionaryValue
> params_
;
36 DISALLOW_COPY_AND_ASSIGN(GuestViewAttachIframeRequest
);
39 } // namespace guest_view
41 #endif // COMPONENTS_GUEST_VIEW_RENDERER_IFRAME_GUEST_VIEW_REQUEST_H_