|  | /* Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
|  | * Use of this source code is governed by a BSD-style license that can be | 
|  | * found in the LICENSE file. | 
|  | */ | 
|  |  | 
|  | /** | 
|  | * This file defines the PPB_Instance_Private interface implemented by the | 
|  | * browser and containing pointers to functions available only to trusted plugin | 
|  | * instances. | 
|  | */ | 
|  |  | 
|  | [generate_thunk] | 
|  |  | 
|  | label Chrome { | 
|  | M13 = 0.1 | 
|  | }; | 
|  |  | 
|  | /** | 
|  | * The <code>PP_ExternalPluginResult </code> enum contains result codes from | 
|  | * launching an external plugin. | 
|  | */ | 
|  | [assert_size(4)] | 
|  | enum PP_ExternalPluginResult  { | 
|  | /** Successful external plugin call */ | 
|  | PP_EXTERNAL_PLUGIN_OK = 0, | 
|  | /** Unspecified external plugin error */ | 
|  | PP_EXTERNAL_PLUGIN_FAILED = 1, | 
|  | /** Error creating the module */ | 
|  | PP_EXTERNAL_PLUGIN_ERROR_MODULE = 2, | 
|  | /** Error creating and initializing the instance */ | 
|  | PP_EXTERNAL_PLUGIN_ERROR_INSTANCE = 3 | 
|  | }; | 
|  |  | 
|  |  | 
|  | /** | 
|  | * The PPB_Instance_Private interface contains functions available only to | 
|  | * trusted plugin instances. | 
|  | * | 
|  | */ | 
|  | interface PPB_Instance_Private { | 
|  | /** | 
|  | * GetWindowObject is a pointer to a function that determines | 
|  | * the DOM window containing this module instance. | 
|  | * | 
|  | * @param[in] instance A PP_Instance whose WindowObject should be retrieved. | 
|  | * @return A PP_Var containing window object on success. | 
|  | */ | 
|  | PP_Var GetWindowObject([in] PP_Instance instance); | 
|  |  | 
|  | /** | 
|  | * GetOwnerElementObject is a pointer to a function that determines | 
|  | * the DOM element containing this module instance. | 
|  | * | 
|  | * @param[in] instance A PP_Instance whose WindowObject should be retrieved. | 
|  | * @return A PP_Var containing DOM element on success. | 
|  | */ | 
|  | PP_Var GetOwnerElementObject([in] PP_Instance instance); | 
|  |  | 
|  | /** | 
|  | * ExecuteScript is a pointer to a function that executes the given | 
|  | * script in the context of the frame containing the module. | 
|  | * | 
|  | * The exception, if any, will be returned in *exception. As with the PPB_Var | 
|  | * interface, the exception parameter, if non-NULL, must be initialized | 
|  | * to a "void" var or the function will immediately return. On success, | 
|  | * the exception parameter will be set to a "void" var. On failure, the | 
|  | * return value will be a "void" var. | 
|  | * | 
|  | * @param[in] script A string containing the JavaScript to execute. | 
|  | * @param[in/out] exception PP_Var containing the exception. Initialize | 
|  | * this to NULL if you don't want exception info; initialize this to a void | 
|  | * exception if want exception info. | 
|  | * | 
|  | * @return The result of the script execution, or a "void" var | 
|  | * if execution failed. | 
|  | */ | 
|  | PP_Var ExecuteScript([in] PP_Instance instance, | 
|  | [in] PP_Var script, | 
|  | [out] PP_Var exception); | 
|  | }; |