15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/proxy/proxy_object_var.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/logging.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_var.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)using ppapi::proxy::PluginDispatcher;
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ppapi {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ProxyObjectVar::ProxyObjectVar(PluginDispatcher* dispatcher,
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                               int32 host_var_id)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : dispatcher_(dispatcher),
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      host_var_id_(host_var_id),
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      user_data_(NULL) {
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Should be given valid objects or we'll crash later.
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DCHECK(host_var_id_);
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ProxyObjectVar::~ProxyObjectVar() {
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ProxyObjectVar* ProxyObjectVar::AsProxyObjectVar() {
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return this;
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_VarType ProxyObjectVar::GetType() const {
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return PP_VARTYPE_OBJECT;
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ProxyObjectVar::AssignVarID(int32 id) {
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return Var::AssignVarID(id);
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace ppapi
39