Bug 40473
| Summary: | [Qt] In Carbon event model, there is no "lose focus" event | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | qt-info |
| Component: | Plug-ins | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED INVALID | ||
| Severity: | Normal | CC: | andersca, benjamin, vestbo |
| Priority: | P3 | Keywords: | Qt, QtTriaged |
| Version: | 420+ | ||
| Hardware: | Mac (Intel) | ||
| OS: | OS X 10.6 | ||
qt-info
In the Carbon event model, my NPP_HandleEvent function receives "get focus" events, but never receives any "lose focus" events.
These events correspond to NPEventType_GetFocusEvent and NPEventType_LoseFocusEvent in npapi.h.
In PluginViewMac.cpp, there is a setFocus() function that sends a "getFocusEvent" type of event, but there's no corresponding "loseFocusEvent" event sent anywhere in the file (or in any other file for that matter).
To reproduce the problem, your plugin's NPP_HandleEvent function should listen for getFocusEvent and loseFocusEvent types of events. When you click in the plugin's region, your plugin will receive a getFocusEvent event. Clicking outside the plugin's region should send a loseFocusEvent type of event, but none is received by the plugin.
Apparently Chrome has (or had) a similar bug:
http://code.google.com/p/chromium/issues/detail?id=41462
(Bug reported against Qt version 4.6.2)
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |