Home | History | Annotate | Download | only in thunk
      1 // Copyright (c) 2012 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 // From private/ppb_instance_private.idl modified Thu Nov 14 08:28:26 2013.
      6 
      7 #include "ppapi/c/pp_errors.h"
      8 #include "ppapi/c/private/ppb_instance_private.h"
      9 #include "ppapi/shared_impl/tracked_callback.h"
     10 #include "ppapi/thunk/enter.h"
     11 #include "ppapi/thunk/ppapi_thunk_export.h"
     12 
     13 namespace ppapi {
     14 namespace thunk {
     15 
     16 namespace {
     17 
     18 struct PP_Var GetWindowObject(PP_Instance instance) {
     19   VLOG(4) << "PPB_Instance_Private::GetWindowObject()";
     20   EnterInstance enter(instance);
     21   if (enter.failed())
     22     return PP_MakeUndefined();
     23   return enter.functions()->GetWindowObject(instance);
     24 }
     25 
     26 struct PP_Var GetOwnerElementObject(PP_Instance instance) {
     27   VLOG(4) << "PPB_Instance_Private::GetOwnerElementObject()";
     28   EnterInstance enter(instance);
     29   if (enter.failed())
     30     return PP_MakeUndefined();
     31   return enter.functions()->GetOwnerElementObject(instance);
     32 }
     33 
     34 struct PP_Var ExecuteScript(PP_Instance instance,
     35                             struct PP_Var script,
     36                             struct PP_Var* exception) {
     37   VLOG(4) << "PPB_Instance_Private::ExecuteScript()";
     38   EnterInstance enter(instance);
     39   if (enter.failed())
     40     return PP_MakeUndefined();
     41   return enter.functions()->ExecuteScript(instance, script, exception);
     42 }
     43 
     44 const PPB_Instance_Private_0_1 g_ppb_instance_private_thunk_0_1 = {
     45   &GetWindowObject,
     46   &GetOwnerElementObject,
     47   &ExecuteScript
     48 };
     49 
     50 }  // namespace
     51 
     52 PPAPI_THUNK_EXPORT const PPB_Instance_Private_0_1*
     53     GetPPB_Instance_Private_0_1_Thunk() {
     54   return &g_ppb_instance_private_thunk_0_1;
     55 }
     56 
     57 }  // namespace thunk
     58 }  // namespace ppapi
     59