| Index: ppapi/c/ppp_instance.h
|
| diff --git a/ppapi/c/ppp_instance.h b/ppapi/c/ppp_instance.h
|
| index 12ab8c089feded433462afeef5b6163db3b20c0e..0dd194cb00a7a8e2caad2e98ddd6c1cc687b0dd4 100644
|
| --- a/ppapi/c/ppp_instance.h
|
| +++ b/ppapi/c/ppp_instance.h
|
| @@ -1,206 +1,189 @@
|
| -/* Copyright (c) 2011 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.
|
| - */
|
| -
|
| -/* From ppp_instance.idl modified Tue Aug 23 11:29:06 2011. */
|
| -
|
| -#ifndef PPAPI_C_PPP_INSTANCE_H_
|
| -#define PPAPI_C_PPP_INSTANCE_H_
|
| -
|
| -#include "ppapi/c/pp_bool.h"
|
| -#include "ppapi/c/pp_instance.h"
|
| -#include "ppapi/c/pp_macros.h"
|
| -#include "ppapi/c/pp_point.h"
|
| -#include "ppapi/c/pp_rect.h"
|
| -#include "ppapi/c/pp_resource.h"
|
| -#include "ppapi/c/pp_size.h"
|
| -#include "ppapi/c/pp_stdint.h"
|
| -
|
| -#define PPP_INSTANCE_INTERFACE_1_0 "PPP_Instance;1.0"
|
| -#define PPP_INSTANCE_INTERFACE PPP_INSTANCE_INTERFACE_1_0
|
| -
|
| -/**
|
| - * @file
|
| - * This file defines the <code>PPP_Instance</code> structure - a series of
|
| - * pointers to methods that you must implement in your module.
|
| - */
|
| -
|
| -
|
| -/**
|
| - * @addtogroup Interfaces
|
| - * @{
|
| - */
|
| -/**
|
| - * The <code>PPP_Instance</code> interface contains pointers to a series of
|
| - * functions that you must implement in your module. These functions can be
|
| - * trivial (simply return the default return value) unless you want your module
|
| - * to handle events such as change of focus or input events (keyboard/mouse)
|
| - * events.
|
| - */
|
| -struct PPP_Instance {
|
| - /**
|
| - * DidCreate() is a creation handler that is called when a new instance is
|
| - * created. This function is called for each instantiation on the page,
|
| - * corresponding to one \<embed\> tag on the page.
|
| - *
|
| - * Generally you would handle this call by initializing the information
|
| - * your module associates with an instance and creating a mapping from the
|
| - * given <code>PP_Instance</code> handle to this data. The
|
| - * <code>PP_Instance</code> handle will be used in subsequent calls to
|
| - * identify which instance the call pertains to.
|
| - *
|
| - * It's possible for more than one instance to be created in a single module.
|
| - * This means that you may get more than one <code>OnCreate</code> without an
|
| - * <code>OnDestroy</code> in between, and should be prepared to maintain
|
| - * multiple states associated with each instance.
|
| - *
|
| - * If this function reports a failure (by returning <code>PP_FALSE</code>),
|
| - * the instance will be deleted.
|
| - *
|
| - * @param[in] instance A new <code>PP_Instance</code> identifying one
|
| - * instance of a module. This is an opaque handle.
|
| - *
|
| - * @param[in] argc The number of arguments contained in <code>argn</code>
|
| - * and <code>argv</code>.
|
| - *
|
| - * @param[in] argn An array of argument names. These argument names are
|
| - * supplied in the \<embed\> tag, for example:
|
| - * <code>\<embed id="nacl_module" dimensions="2"\></code> will produce two
|
| - * argument names: "id" and "dimensions."
|
| - *
|
| - * @param[in] argv An array of argument values. These are the values of the
|
| - * arguments listed in the \<embed\> tag, for example
|
| - * <code>\<embed id="nacl_module" dimensions="2"\></code> will produce two
|
| - * argument values: "nacl_module" and "2". The indices of these values match
|
| - * the indices of the corresponding names in <code>argn</code>.
|
| - *
|
| - * @return <code>PP_TRUE</code> on success or <code>PP_FALSE</code> on
|
| - * failure.
|
| - */
|
| - PP_Bool (*DidCreate)(PP_Instance instance,
|
| - uint32_t argc,
|
| - const char* argn[],
|
| - const char* argv[]);
|
| - /**
|
| - * DidDestroy() is an instance destruction handler. This function is called
|
| - * in many cases (see below) when a module instance is destroyed. It will be
|
| - * called even if DidCreate() returned failure.
|
| - *
|
| - * Generally you will handle this call by deallocating the tracking
|
| - * information and the <code>PP_Instance</code> mapping you created in the
|
| - * DidCreate() call. You can also free resources associated with this
|
| - * instance but this isn't required; all resources associated with the deleted
|
| - * instance will be automatically freed when this function returns.
|
| - *
|
| - * The instance identifier will still be valid during this call, so the module
|
| - * can perform cleanup-related tasks. Once this function returns, the
|
| - * <code>PP_Instance</code> handle will be invalid. This means that you can't
|
| - * do any asynchronous operations like network requests, file writes or
|
| - * messaging from this function since they will be immediately canceled.
|
| - *
|
| - * <strong>Note:</strong> This function will always be skipped on untrusted
|
| - * (Native Client) implementations. This function may be skipped on trusted
|
| - * implementations in certain circumstances when Chrome does "fast shutdown"
|
| - * of a web page. Fast shutdown will happen in some cases when all module
|
| - * instances are being deleted, and no cleanup functions will be called.
|
| - * The module will just be unloaded and the process terminated.
|
| - *
|
| - * @param[in] instance A <code>PP_Instance</code> identifying one instance
|
| - * of a module.
|
| - */
|
| - void (*DidDestroy)(PP_Instance instance);
|
| - /**
|
| - * DidChangeView() is called when the position, the size, of the clip
|
| - * rectangle of the element in the browser that corresponds to this
|
| - * instance has changed.
|
| - *
|
| - * A typical implementation will check the size of the <code>position</code>
|
| - * argument and reallocate the graphics context when a different size is
|
| - * received. Note that this function will be called for scroll events where
|
| - * the size doesn't change, so you should always check that the size is
|
| - * actually different before doing any reallocations.
|
| - *
|
| - * @param[in] instance A <code>PP_Instance</code> identifying the instance
|
| - * that has changed.
|
| - *
|
| - * @param[in] position The location on the page of the instance. This is
|
| - * relative to the top left corner of the viewport, which changes as the
|
| - * page is scrolled. Generally the size of this value will be used to create
|
| - * a graphics device, and the position is ignored (most things are relative
|
| - * to the instance so the absolute position isn't useful in most cases).
|
| - *
|
| - * @param[in] clip The visible region of the instance. This is relative to
|
| - * the top left of the module's coordinate system (not the page). If the
|
| - * module is invisible, <code>clip</code> will be (0, 0, 0, 0).
|
| - *
|
| - * It's recommended to check for invisible instances and to stop
|
| - * generating graphics updates in this case to save system resources. It's
|
| - * not usually worthwhile, however, to generate partial updates according to
|
| - * the clip when the instance is partially visible. Instead, update the entire
|
| - * region. The time saved doing partial paints is usually not significant and
|
| - * it can create artifacts when scrolling (this notification is sent
|
| - * asynchronously from scrolling so there can be flashes of old content in the
|
| - * exposed regions).
|
| - */
|
| - void (*DidChangeView)(PP_Instance instance,
|
| - const struct PP_Rect* position,
|
| - const struct PP_Rect* clip);
|
| - /**
|
| - * DidChangeFocus() is called when an instance has gained or lost focus.
|
| - * Having focus means that keyboard events will be sent to the instance.
|
| - * An instance's default condition is that it will not have focus.
|
| - *
|
| - * <strong>Note:</strong>Clicks on instances will give focus only if you
|
| - * handle the click event. Return <code>true</code> from
|
| - * <code>HandleInputEvent</code> in <code>PPP_InputEvent</code> (or use
|
| - * unfiltered events) to signal that the click event was handled. Otherwise,
|
| - * the browser will bubble the event and give focus to the element on the page
|
| - * that actually did end up consuming it. If you're not getting focus, check
|
| - * to make sure you're returning true from the mouse click in
|
| - * <code>HandleInputEvent</code>.
|
| - *
|
| - * @param[in] instance A <code>PP_Instance</code> identifying the instance
|
| - * receiving the input event.
|
| - *
|
| - * @param[in] has_focus Indicates the new focused state of the instance.
|
| - */
|
| - void (*DidChangeFocus)(PP_Instance instance, PP_Bool has_focus);
|
| - /**
|
| - * HandleDocumentLoad() is called after initialize for a full-frame
|
| - * module that was instantiated based on the MIME type of a DOMWindow
|
| - * navigation. This situation only applies to modules that are pre-registered
|
| - * to handle certain MIME types. If you haven't specifically registered to
|
| - * handle a MIME type or aren't positive this applies to you, your
|
| - * implementation of this function can just return <code>PP_FALSE</code>.
|
| - *
|
| - * The given <code>url_loader</code> corresponds to a
|
| - * <code>PPB_URLLoader</code> instance that is already opened. Its response
|
| - * headers may be queried using <code>PPB_URLLoader::GetResponseInfo</code>.
|
| - * The reference count for the URL loader is not incremented automatically on
|
| - * behalf of the module. You need to increment the reference count yourself
|
| - * if you are going to keep a reference to it.
|
| - *
|
| - * This method returns <code>PP_FALSE</code> if the module cannot handle the
|
| - * data. In response to this method, the module should call
|
| - * ReadResponseBody() to read the incoming data.
|
| - *
|
| - * @param[in] instance A <code>PP_Instance</code> identifying the instance
|
| - * that should do the load.
|
| - *
|
| - * @param[in] url_loader An open <code>PPB_URLLoader</code> instance.
|
| - *
|
| - * @return <code>PP_TRUE</code> if the data was handled,
|
| - * <code>PP_FALSE</code> otherwise.
|
| - */
|
| - PP_Bool (*HandleDocumentLoad)(PP_Instance instance, PP_Resource url_loader);
|
| -};
|
| -/**
|
| - * @}
|
| - */
|
| -
|
| -
|
| -typedef struct PPP_Instance PPP_Instance_1_0;
|
| -
|
| -#endif /* PPAPI_C_PPP_INSTANCE_H_ */
|
| -
|
| +/* Copyright (c) 2011 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.
|
| + */
|
| +
|
| +/* From ppp_instance.idl modified Thu Dec 15 10:30:21 2011. */
|
| +
|
| +#ifndef PPAPI_C_PPP_INSTANCE_H_
|
| +#define PPAPI_C_PPP_INSTANCE_H_
|
| +
|
| +#include "ppapi/c/pp_bool.h"
|
| +#include "ppapi/c/pp_instance.h"
|
| +#include "ppapi/c/pp_macros.h"
|
| +#include "ppapi/c/pp_point.h"
|
| +#include "ppapi/c/pp_rect.h"
|
| +#include "ppapi/c/pp_resource.h"
|
| +#include "ppapi/c/pp_size.h"
|
| +#include "ppapi/c/pp_stdint.h"
|
| +
|
| +#define PPP_INSTANCE_INTERFACE_1_0 "PPP_Instance;1.0"
|
| +#define PPP_INSTANCE_INTERFACE_1_1 "PPP_Instance;1.1"
|
| +#define PPP_INSTANCE_INTERFACE PPP_INSTANCE_INTERFACE_1_1
|
| +
|
| +/**
|
| + * @file
|
| + * This file defines the <code>PPP_Instance</code> structure - a series of
|
| + * pointers to methods that you must implement in your module.
|
| + */
|
| +
|
| +
|
| +/**
|
| + * @addtogroup Interfaces
|
| + * @{
|
| + */
|
| +/**
|
| + * The <code>PPP_Instance</code> interface contains pointers to a series of
|
| + * functions that you must implement in your module. These functions can be
|
| + * trivial (simply return the default return value) unless you want your module
|
| + * to handle events such as change of focus or input events (keyboard/mouse)
|
| + * events.
|
| + */
|
| +struct PPP_Instance {
|
| + /**
|
| + * DidCreate() is a creation handler that is called when a new instance is
|
| + * created. This function is called for each instantiation on the page,
|
| + * corresponding to one \<embed\> tag on the page.
|
| + *
|
| + * Generally you would handle this call by initializing the information
|
| + * your module associates with an instance and creating a mapping from the
|
| + * given <code>PP_Instance</code> handle to this data. The
|
| + * <code>PP_Instance</code> handle will be used in subsequent calls to
|
| + * identify which instance the call pertains to.
|
| + *
|
| + * It's possible for more than one instance to be created in a single module.
|
| + * This means that you may get more than one <code>OnCreate</code> without an
|
| + * <code>OnDestroy</code> in between, and should be prepared to maintain
|
| + * multiple states associated with each instance.
|
| + *
|
| + * If this function reports a failure (by returning <code>PP_FALSE</code>),
|
| + * the instance will be deleted.
|
| + *
|
| + * @param[in] instance A new <code>PP_Instance</code> identifying one
|
| + * instance of a module. This is an opaque handle.
|
| + *
|
| + * @param[in] argc The number of arguments contained in <code>argn</code>
|
| + * and <code>argv</code>.
|
| + *
|
| + * @param[in] argn An array of argument names. These argument names are
|
| + * supplied in the \<embed\> tag, for example:
|
| + * <code>\<embed id="nacl_module" dimensions="2"\></code> will produce two
|
| + * argument names: "id" and "dimensions."
|
| + *
|
| + * @param[in] argv An array of argument values. These are the values of the
|
| + * arguments listed in the \<embed\> tag, for example
|
| + * <code>\<embed id="nacl_module" dimensions="2"\></code> will produce two
|
| + * argument values: "nacl_module" and "2". The indices of these values match
|
| + * the indices of the corresponding names in <code>argn</code>.
|
| + *
|
| + * @return <code>PP_TRUE</code> on success or <code>PP_FALSE</code> on
|
| + * failure.
|
| + */
|
| + PP_Bool (*DidCreate)(PP_Instance instance,
|
| + uint32_t argc,
|
| + const char* argn[],
|
| + const char* argv[]);
|
| + /**
|
| + * DidDestroy() is an instance destruction handler. This function is called
|
| + * in many cases (see below) when a module instance is destroyed. It will be
|
| + * called even if DidCreate() returned failure.
|
| + *
|
| + * Generally you will handle this call by deallocating the tracking
|
| + * information and the <code>PP_Instance</code> mapping you created in the
|
| + * DidCreate() call. You can also free resources associated with this
|
| + * instance but this isn't required; all resources associated with the deleted
|
| + * instance will be automatically freed when this function returns.
|
| + *
|
| + * The instance identifier will still be valid during this call, so the module
|
| + * can perform cleanup-related tasks. Once this function returns, the
|
| + * <code>PP_Instance</code> handle will be invalid. This means that you can't
|
| + * do any asynchronous operations like network requests, file writes or
|
| + * messaging from this function since they will be immediately canceled.
|
| + *
|
| + * <strong>Note:</strong> This function will always be skipped on untrusted
|
| + * (Native Client) implementations. This function may be skipped on trusted
|
| + * implementations in certain circumstances when Chrome does "fast shutdown"
|
| + * of a web page. Fast shutdown will happen in some cases when all module
|
| + * instances are being deleted, and no cleanup functions will be called.
|
| + * The module will just be unloaded and the process terminated.
|
| + *
|
| + * @param[in] instance A <code>PP_Instance</code> identifying one instance
|
| + * of a module.
|
| + */
|
| + void (*DidDestroy)(PP_Instance instance);
|
| + /**
|
| + * <code>DidChangeView() is called when the position, size, or other view
|
| + * attributes of the instance has changed.
|
| + */
|
| + void (*DidChangeView)(PP_Instance instance, PP_Resource view_resource);
|
| + /**
|
| + * DidChangeFocus() is called when an instance has gained or lost focus.
|
| + * Having focus means that keyboard events will be sent to the instance.
|
| + * An instance's default condition is that it will not have focus.
|
| + *
|
| + * <strong>Note:</strong>Clicks on instances will give focus only if you
|
| + * handle the click event. Return <code>true</code> from
|
| + * <code>HandleInputEvent</code> in <code>PPP_InputEvent</code> (or use
|
| + * unfiltered events) to signal that the click event was handled. Otherwise,
|
| + * the browser will bubble the event and give focus to the element on the page
|
| + * that actually did end up consuming it. If you're not getting focus, check
|
| + * to make sure you're returning true from the mouse click in
|
| + * <code>HandleInputEvent</code>.
|
| + *
|
| + * @param[in] instance A <code>PP_Instance</code> identifying the instance
|
| + * receiving the input event.
|
| + *
|
| + * @param[in] has_focus Indicates the new focused state of the instance.
|
| + */
|
| + void (*DidChangeFocus)(PP_Instance instance, PP_Bool has_focus);
|
| + /**
|
| + * HandleDocumentLoad() is called after initialize for a full-frame
|
| + * module that was instantiated based on the MIME type of a DOMWindow
|
| + * navigation. This situation only applies to modules that are pre-registered
|
| + * to handle certain MIME types. If you haven't specifically registered to
|
| + * handle a MIME type or aren't positive this applies to you, your
|
| + * implementation of this function can just return <code>PP_FALSE</code>.
|
| + *
|
| + * The given <code>url_loader</code> corresponds to a
|
| + * <code>PPB_URLLoader</code> instance that is already opened. Its response
|
| + * headers may be queried using <code>PPB_URLLoader::GetResponseInfo</code>.
|
| + * The reference count for the URL loader is not incremented automatically on
|
| + * behalf of the module. You need to increment the reference count yourself
|
| + * if you are going to keep a reference to it.
|
| + *
|
| + * This method returns <code>PP_FALSE</code> if the module cannot handle the
|
| + * data. In response to this method, the module should call
|
| + * ReadResponseBody() to read the incoming data.
|
| + *
|
| + * @param[in] instance A <code>PP_Instance</code> identifying the instance
|
| + * that should do the load.
|
| + *
|
| + * @param[in] url_loader An open <code>PPB_URLLoader</code> instance.
|
| + *
|
| + * @return <code>PP_TRUE</code> if the data was handled,
|
| + * <code>PP_FALSE</code> otherwise.
|
| + */
|
| + PP_Bool (*HandleDocumentLoad)(PP_Instance instance, PP_Resource url_loader);
|
| +};
|
| +
|
| +struct PPP_Instance_1_0 {
|
| + PP_Bool (*DidCreate)(PP_Instance instance,
|
| + uint32_t argc,
|
| + const char* argn[],
|
| + const char* argv[]);
|
| + void (*DidDestroy)(PP_Instance instance);
|
| + void (*DidChangeView)(PP_Instance instance,
|
| + const struct PP_Rect* position,
|
| + const struct PP_Rect* clip);
|
| + void (*DidChangeFocus)(PP_Instance instance, PP_Bool has_focus);
|
| + PP_Bool (*HandleDocumentLoad)(PP_Instance instance, PP_Resource url_loader);
|
| +};
|
| +/**
|
| + * @}
|
| + */
|
| +
|
| +
|
| +typedef struct PPP_Instance PPP_Instance_1_1;
|
| +
|
| +#endif /* PPAPI_C_PPP_INSTANCE_H_ */
|
| +
|
|
|