[Webkit-unassigned] [Bug 40997] New: NPAPI plugin not handling recursive drawRect events properly

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 22 10:50:42 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=40997

           Summary: NPAPI plugin not handling recursive drawRect events
                    properly
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Macintosh
               URL: http://www.dreamfactory.com
        OS/Version: Mac OS X 10.6
            Status: UNCONFIRMED
          Severity: Major
          Priority: P2
         Component: New Bugs
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: billappleton at dreamfactory.com
                CC: andersca at apple.com


Hi All,

Normally calls to NPN_InvalidateRect will trigger a matching call to the drawRect event. 

This is the case in FireFox 32 and 64 (minefield release candidates) and Safari 32-bit

However Safari-64 bit does something quite different.

Here there is only ONE recursive call into drawRect, but no further calls thereafter. 

Here is an example of a typical order of events.

1) a mouseDown event is sent to the plugin
2) the user starts dragging the mouse and the plugin calls NPN_InvalidateRect in a loop
3) something else is called like [NSApp nextEventMatchingmask...] that allows re-entrance
4) drawRect gets called recursively and the plugin updates the screen & continues back to step (2) above
5) the mouse is released

Normally this will trigger: (1) followed by (2, 3, 4) over and over again until (5)
On Safari 64 bit this will trigger: (1) with (2, 3, 4) once and then (2, 3) over and over again until (5)

In other words, Safari only send ONE recursive call to drawRect no matter how many times NPN_InvalidateRect is called in the loop
So it is like the message pump is not running to keep sending recursive events in response to NPN_InvalidateRect 


Thanks,

let me know how to help


Bill Appleton
CTO @ DreamFactory Software

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list