| 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 /** | 6 /** |
| 7 * This file defines the <code>PPP_Instance</code> structure - a series of | 7 * This file defines the <code>PPP_Instance</code> structure - a series of |
| 8 * pointers to methods that you must implement in your module. | 8 * pointers to methods that you must implement in your module. |
| 9 */ | 9 */ |
| 10 | 10 |
| 11 label Chrome { | 11 label Chrome { |
| 12 M14 = 0.5 | 12 M14 = 1.0 |
| 13 }; | 13 }; |
| 14 | 14 |
| 15 /** | 15 /** |
| 16 * The <code>PPP_Instance</code> interface contains pointers to a series of | 16 * The <code>PPP_Instance</code> interface contains pointers to a series of |
| 17 * functions that you must implement in your module. These functions can be | 17 * functions that you must implement in your module. These functions can be |
| 18 * trivial (simply return the default return value) unless you want your module | 18 * trivial (simply return the default return value) unless you want your module |
| 19 * to handle events such as change of focus or input events (keyboard/mouse) | 19 * to handle events such as change of focus or input events (keyboard/mouse) |
| 20 * events. | 20 * events. |
| 21 */ | 21 */ |
| 22 interface PPP_Instance { | 22 interface PPP_Instance { |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 * is invisible, clip will be (0, 0, 0, 0). | 154 * is invisible, clip will be (0, 0, 0, 0). |
| 155 */ | 155 */ |
| 156 [in] PP_Rect clip); | 156 [in] PP_Rect clip); |
| 157 | 157 |
| 158 /** | 158 /** |
| 159 * DidChangeFocus() is called when an instance has gained or lost focus. | 159 * DidChangeFocus() is called when an instance has gained or lost focus. |
| 160 * Having focus means that keyboard events will be sent to the instance. | 160 * Having focus means that keyboard events will be sent to the instance. |
| 161 * An instance's default condition is that it will not have focus. | 161 * An instance's default condition is that it will not have focus. |
| 162 * | 162 * |
| 163 * <strong>Note:</strong>Clicks on instances will give focus only if you | 163 * <strong>Note:</strong>Clicks on instances will give focus only if you |
| 164 * handle the click event. Return <code>true</code> from HandleInputEvent to | 164 * handle the click event. Return <code>true</code> from |
| 165 * signal that the click event was handled. Otherwise the browser will bubble | 165 * <code>HandleInputEvent</code> in <code>PPP_InputEvent</code> (or use |
| 166 * the event and give focus to the element on the page that actually did end | 166 * unfiltered events) to signal that the click event was handled. Otherwise, |
| 167 * up consuming it. If you're not getting focus, check to make sure you're | 167 * the browser will bubble the event and give focus to the element on the page |
| 168 * returning true from the mouse click in <code>HandleInputEvent</code>. | 168 * that actually did end up consuming it. If you're not getting focus, check |
| 169 * to make sure you're returning true from the mouse click in |
| 170 * <code>HandleInputEvent</code>. |
| 169 * | 171 * |
| 170 * @param[in] instance A <code>PP_Instance</code> indentifying the instance | 172 * @param[in] instance A <code>PP_Instance</code> indentifying the instance |
| 171 * receiving the input event. | 173 * receiving the input event. |
| 172 * | 174 * |
| 173 * @param[in] has_focus Indicates the new focused state of the instance. | 175 * @param[in] has_focus Indicates the new focused state of the instance. |
| 174 */ | 176 */ |
| 175 void DidChangeFocus( | 177 void DidChangeFocus( |
| 176 /* A PP_Instance indentifying one instance of a module. */ | 178 /* A PP_Instance indentifying one instance of a module. */ |
| 177 [in] PP_Instance instance, | 179 [in] PP_Instance instance, |
| 178 /* Indicates whether this NaCl module gained or lost event focus. */ | 180 /* Indicates whether this NaCl module gained or lost event focus. */ |
| 179 [in] PP_Bool has_focus); | 181 [in] PP_Bool has_focus); |
| 180 | 182 |
| 181 /** | 183 /** |
| 182 * HandleInputEvent() handles input events, such as keyboard events. This | |
| 183 * function returns <code>PP_TRUE</code> if the event was handled or | |
| 184 * <code>PP_FALSE</code> if it was not. | |
| 185 * | |
| 186 * If the event was handled, it will not be forwarded to the web page or | |
| 187 * browser. If it was not handled, it will bubble according to the normal | |
| 188 * rules. So it is important that a module respond accurately with whether | |
| 189 * event propagation should continue. | |
| 190 * | |
| 191 * Event propagation also controls focus. If you handle an event like a mouse | |
| 192 * event, typically the instance will be given focus. Returning false means | |
| 193 * that the click will be given to a lower part of the page and your module | |
| 194 * will not receive focus. This allows an instance to be partially | |
| 195 * transparent, where clicks on the transparent areas will behave like clicks | |
| 196 * to the underlying page. | |
| 197 * | |
| 198 * @param[in] instance A <code>PP_Instance</code> indentifying one instance | |
| 199 * of a module. | |
| 200 * | |
| 201 * @param[in] event The input event. | |
| 202 * | |
| 203 * @return <code>PP_TRUE</code> if <code>event</code> was handled, | |
| 204 * <code>PP_FALSE</code> otherwise. | |
| 205 */ | |
| 206 PP_Bool HandleInputEvent( | |
| 207 /* A PP_Instance indentifying one instance of a module. */ | |
| 208 [in] PP_Instance instance, | |
| 209 /* The event. */ | |
| 210 [in] PP_InputEvent event); | |
| 211 | |
| 212 /** | |
| 213 * HandleDocumentLoad() is called after initialize for a full-frame | 184 * HandleDocumentLoad() is called after initialize for a full-frame |
| 214 * module that was instantiated based on the MIME type of a DOMWindow | 185 * module that was instantiated based on the MIME type of a DOMWindow |
| 215 * navigation. This situation only applies to modules that are pre-registered | 186 * navigation. This situation only applies to modules that are pre-registered |
| 216 * to handle certain MIME types. If you haven't specifically registered to | 187 * to handle certain MIME types. If you haven't specifically registered to |
| 217 * handle a MIME type or aren't positive this applies to you, your | 188 * handle a MIME type or aren't positive this applies to you, your |
| 218 * implementation of this function can just return <code>PP_FALSE</code>. | 189 * implementation of this function can just return <code>PP_FALSE</code>. |
| 219 * | 190 * |
| 220 * The given <code>url_loader</code> corresponds to a | 191 * The given <code>url_loader</code> corresponds to a |
| 221 * <code>PPB_URLLoader</code> instance that is already opened. Its response | 192 * <code>PPB_URLLoader</code> instance that is already opened. Its response |
| 222 * headers may be queried using <code>PPB_URLLoader::GetResponseInfo</code>. | 193 * headers may be queried using <code>PPB_URLLoader::GetResponseInfo</code>. |
| (...skipping 20 matching lines...) Expand all Loading... |
| 243 [in] PP_Resource url_loader); | 214 [in] PP_Resource url_loader); |
| 244 | 215 |
| 245 }; | 216 }; |
| 246 | 217 |
| 247 #inline c | 218 #inline c |
| 248 | 219 |
| 249 typedef struct PPP_Instance PPP_Instance_0_5; | 220 typedef struct PPP_Instance PPP_Instance_0_5; |
| 250 | 221 |
| 251 #endinl | 222 #endinl |
| 252 | 223 |
| OLD | NEW |