/* Copyright 2012 The Chromium Authors
* 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);
};