158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// found in the LICENSE file.
458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include "ppapi/shared_impl/resource_var.h"
658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
7d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "ppapi/shared_impl/ppapi_globals.h"
8d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "ppapi/shared_impl/var_tracker.h"
9d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
1058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)namespace ppapi {
1158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)int ResourceVar::GetPendingRendererHostId() const { return 0; }
1358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)int ResourceVar::GetPendingBrowserHostId() const { return 0; }
1558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)const IPC::Message* ResourceVar::GetCreationMessage() const { return NULL; }
17d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)
18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)ResourceVar* ResourceVar::AsResourceVar() { return this; }
1958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)PP_VarType ResourceVar::GetType() const { return PP_VARTYPE_RESOURCE; }
2158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
2258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// static
2358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)ResourceVar* ResourceVar::FromPPVar(PP_Var var) {
24d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  if (var.type != PP_VARTYPE_RESOURCE)
25d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    return NULL;
26d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  scoped_refptr<Var> var_object(
27d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)      PpapiGlobals::Get()->GetVarTracker()->GetVar(var));
28d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  if (!var_object.get())
29d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)    return NULL;
30d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)  return var_object->AsResourceVar();
3158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}
3258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)
3368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)ResourceVar::ResourceVar() {}
3468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
3568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)ResourceVar::~ResourceVar() {}
3668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)
3758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)}  // namespace ppapi
38