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.
4 
5 #include "components/guest_view/browser/guest_view_event.h"
6 
7 #include <utility>
8 
9 #include "base/check.h"
10 #include "components/guest_view/browser/guest_view_base.h"
11 #include "components/guest_view/browser/guest_view_manager.h"
12 
13 namespace guest_view {
14 
GuestViewEvent(const std::string & name,std::unique_ptr<base::DictionaryValue> args)15 GuestViewEvent::GuestViewEvent(const std::string& name,
16                                std::unique_ptr<base::DictionaryValue> args)
17     : name_(name), args_(std::move(args)) {}
18 
~GuestViewEvent()19 GuestViewEvent::~GuestViewEvent() {
20 }
21 
Dispatch(GuestViewBase * guest,int instance_id)22 void GuestViewEvent::Dispatch(GuestViewBase* guest, int instance_id) {
23   DCHECK(args_) << "Dispatch was probably invoked twice!";
24   GuestViewManager::FromBrowserContext(guest->browser_context())
25       ->DispatchEvent(name_, std::move(args_), guest, instance_id);
26 }
27 
28 }  // namespace guest_view
29