| OLD | NEW |
| 1 /* Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 /* Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
| 3 * found in the LICENSE file. | 3 * found in the LICENSE file. |
| 4 */ | 4 */ |
| 5 | 5 |
| 6 /* From ppp_instance.idl modified Sat Jul 16 16:50:26 2011. */ | 6 /* From ppp_instance.idl modified Sat Jul 16 16:50:26 2011. */ |
| 7 | 7 |
| 8 #ifndef PPAPI_C_PPP_INSTANCE_H_ | 8 #ifndef PPAPI_C_PPP_INSTANCE_H_ |
| 9 #define PPAPI_C_PPP_INSTANCE_H_ | 9 #define PPAPI_C_PPP_INSTANCE_H_ |
| 10 | 10 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 * @addtogroup Interfaces | 31 * @addtogroup Interfaces |
| 32 * @{ | 32 * @{ |
| 33 */ | 33 */ |
| 34 /** | 34 /** |
| 35 * The <code>PPP_Instance</code> interface contains pointers to a series of | 35 * The <code>PPP_Instance</code> interface contains pointers to a series of |
| 36 * functions that you must implement in your module. These functions can be | 36 * functions that you must implement in your module. These functions can be |
| 37 * trivial (simply return the default return value) unless you want your module | 37 * trivial (simply return the default return value) unless you want your module |
| 38 * to handle events such as change of focus or input events (keyboard/mouse) | 38 * to handle events such as change of focus or input events (keyboard/mouse) |
| 39 * events. | 39 * events. |
| 40 */ | 40 */ |
| 41 #define PPP_INSTANCE_INTERFACE_0_5 "PPP_Instance;0.5" | 41 #define PPP_INSTANCE_INTERFACE_1_0 "PPP_Instance;1.0" |
| 42 #define PPP_INSTANCE_INTERFACE PPP_INSTANCE_INTERFACE_0_5 | 42 #define PPP_INSTANCE_INTERFACE PPP_INSTANCE_INTERFACE_1_0 |
| 43 | 43 |
| 44 struct PPP_Instance { | 44 struct PPP_Instance { |
| 45 /** | 45 /** |
| 46 * DidCreate() is a creation handler that is called when a new instance is | 46 * DidCreate() is a creation handler that is called when a new instance is |
| 47 * created. This function is called for each instantiation on the page, | 47 * created. This function is called for each instantiation on the page, |
| 48 * corresponding to one \<embed\> tag on the page. | 48 * corresponding to one \<embed\> tag on the page. |
| 49 * | 49 * |
| 50 * Generally you would handle this call by initializing the information | 50 * Generally you would handle this call by initializing the information |
| 51 * your module associates with an instance and creating a mapping from the | 51 * your module associates with an instance and creating a mapping from the |
| 52 * given <code>PP_Instance</code> handle to this data. The | 52 * given <code>PP_Instance</code> handle to this data. The |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 */ | 147 */ |
| 148 void (*DidChangeView)(PP_Instance instance, | 148 void (*DidChangeView)(PP_Instance instance, |
| 149 const struct PP_Rect* position, | 149 const struct PP_Rect* position, |
| 150 const struct PP_Rect* clip); | 150 const struct PP_Rect* clip); |
| 151 /** | 151 /** |
| 152 * DidChangeFocus() is called when an instance has gained or lost focus. | 152 * DidChangeFocus() is called when an instance has gained or lost focus. |
| 153 * Having focus means that keyboard events will be sent to the instance. | 153 * Having focus means that keyboard events will be sent to the instance. |
| 154 * An instance's default condition is that it will not have focus. | 154 * An instance's default condition is that it will not have focus. |
| 155 * | 155 * |
| 156 * <strong>Note:</strong>Clicks on instances will give focus only if you | 156 * <strong>Note:</strong>Clicks on instances will give focus only if you |
| 157 * handle the click event. Return <code>true</code> from HandleInputEvent to | 157 * handle the click event. Return <code>true</code> from |
| 158 * signal that the click event was handled. Otherwise the browser will bubble | 158 * <code>HandleInputEvent</code> in <code>PPP_InputEvent</code> (or use |
| 159 * the event and give focus to the element on the page that actually did end | 159 * unfiltered events) to signal that the click event was handled. Otherwise, |
| 160 * up consuming it. If you're not getting focus, check to make sure you're | 160 * the browser will bubble the event and give focus to the element on the page |
| 161 * returning true from the mouse click in <code>HandleInputEvent</code>. | 161 * that actually did end up consuming it. If you're not getting focus, check |
| 162 * to make sure you're returning true from the mouse click in |
| 163 * <code>HandleInputEvent</code>. |
| 162 * | 164 * |
| 163 * @param[in] instance A <code>PP_Instance</code> indentifying the instance | 165 * @param[in] instance A <code>PP_Instance</code> indentifying the instance |
| 164 * receiving the input event. | 166 * receiving the input event. |
| 165 * | 167 * |
| 166 * @param[in] has_focus Indicates the new focused state of the instance. | 168 * @param[in] has_focus Indicates the new focused state of the instance. |
| 167 */ | 169 */ |
| 168 void (*DidChangeFocus)(PP_Instance instance, PP_Bool has_focus); | 170 void (*DidChangeFocus)(PP_Instance instance, PP_Bool has_focus); |
| 169 /** | 171 /** |
| 170 * HandleInputEvent() handles input events, such as keyboard events. This | |
| 171 * function returns <code>PP_TRUE</code> if the event was handled or | |
| 172 * <code>PP_FALSE</code> if it was not. | |
| 173 * | |
| 174 * If the event was handled, it will not be forwarded to the web page or | |
| 175 * browser. If it was not handled, it will bubble according to the normal | |
| 176 * rules. So it is important that a module respond accurately with whether | |
| 177 * event propagation should continue. | |
| 178 * | |
| 179 * Event propagation also controls focus. If you handle an event like a mouse | |
| 180 * event, typically the instance will be given focus. Returning false means | |
| 181 * that the click will be given to a lower part of the page and your module | |
| 182 * will not receive focus. This allows an instance to be partially | |
| 183 * transparent, where clicks on the transparent areas will behave like clicks | |
| 184 * to the underlying page. | |
| 185 * | |
| 186 * @param[in] instance A <code>PP_Instance</code> indentifying one instance | |
| 187 * of a module. | |
| 188 * | |
| 189 * @param[in] event The input event. | |
| 190 * | |
| 191 * @return <code>PP_TRUE</code> if <code>event</code> was handled, | |
| 192 * <code>PP_FALSE</code> otherwise. | |
| 193 */ | |
| 194 PP_Bool (*HandleInputEvent)(PP_Instance instance, | |
| 195 const struct PP_InputEvent* event); | |
| 196 /** | |
| 197 * HandleDocumentLoad() is called after initialize for a full-frame | 172 * HandleDocumentLoad() is called after initialize for a full-frame |
| 198 * module that was instantiated based on the MIME type of a DOMWindow | 173 * module that was instantiated based on the MIME type of a DOMWindow |
| 199 * navigation. This situation only applies to modules that are pre-registered | 174 * navigation. This situation only applies to modules that are pre-registered |
| 200 * to handle certain MIME types. If you haven't specifically registered to | 175 * to handle certain MIME types. If you haven't specifically registered to |
| 201 * handle a MIME type or aren't positive this applies to you, your | 176 * handle a MIME type or aren't positive this applies to you, your |
| 202 * implementation of this function can just return <code>PP_FALSE</code>. | 177 * implementation of this function can just return <code>PP_FALSE</code>. |
| 203 * | 178 * |
| 204 * The given <code>url_loader</code> corresponds to a | 179 * The given <code>url_loader</code> corresponds to a |
| 205 * <code>PPB_URLLoader</code> instance that is already opened. Its response | 180 * <code>PPB_URLLoader</code> instance that is already opened. Its response |
| 206 * headers may be queried using <code>PPB_URLLoader::GetResponseInfo</code>. | 181 * headers may be queried using <code>PPB_URLLoader::GetResponseInfo</code>. |
| (...skipping 13 matching lines...) Expand all Loading... |
| 220 * @return <code>PP_TRUE</code> if the data was handled, | 195 * @return <code>PP_TRUE</code> if the data was handled, |
| 221 * <code>PP_FALSE</code> otherwise. | 196 * <code>PP_FALSE</code> otherwise. |
| 222 */ | 197 */ |
| 223 PP_Bool (*HandleDocumentLoad)(PP_Instance instance, PP_Resource url_loader); | 198 PP_Bool (*HandleDocumentLoad)(PP_Instance instance, PP_Resource url_loader); |
| 224 }; | 199 }; |
| 225 /** | 200 /** |
| 226 * @} | 201 * @} |
| 227 */ | 202 */ |
| 228 | 203 |
| 229 | 204 |
| 230 typedef struct PPP_Instance PPP_Instance_0_5; | 205 typedef struct PPP_Instance PPP_Instance_1_0; |
| 231 | 206 |
| 232 #endif /* PPAPI_C_PPP_INSTANCE_H_ */ | 207 #endif /* PPAPI_C_PPP_INSTANCE_H_ */ |
| 233 | 208 |
| OLD | NEW |