Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(116)

Side by Side Diff: ppapi/c/ppp_instance.h

Issue 7452002: Remove HandleInputEvent from PPP_Instance and freeze to 1.0. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: copyright Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/c/pp_input_event.h ('k') | ppapi/cpp/instance.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « ppapi/c/pp_input_event.h ('k') | ppapi/cpp/instance.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698