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_BROWSER_GUEST_VIEW_EVENT_H_
6 #define COMPONENTS_GUEST_VIEW_BROWSER_GUEST_VIEW_EVENT_H_
10 #include "base/memory/scoped_ptr.h"
11 #include "base/values.h"
13 namespace guest_view
{
17 // A GuestViewEvent is a wrapper class for a GuestView event.
18 // GuestViewEvents may be queued until the guest is attached to a container.
19 // This wrapper class holds all the necessary information to fire the event
20 // on attachment. GuestViewEvents are owned by GuestViewBase.
21 class GuestViewEvent
{
23 GuestViewEvent(const std::string
& name
,
24 scoped_ptr
<base::DictionaryValue
> args
);
27 // This method will dispatch the event to the specified |guest|'s embedder and
28 // use the provided |instance_id| for routing. After dispatch, this object
29 // will self-destruct.
30 void Dispatch(GuestViewBase
* guest
, int instance_id
);
33 const std::string name_
;
34 scoped_ptr
<base::DictionaryValue
> args_
;
36 DISALLOW_COPY_AND_ASSIGN(GuestViewEvent
);
39 } // namespace guest_view
41 #endif // COMPONENTS_GUEST_VIEW_BROWSER_GUEST_VIEW_EVENT_H_